|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( |" F- l! ~1 c我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# k' j5 X; {) W' _) v0 V6 r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 h' E1 W5 R/ f$ K0 o
: @& x5 Z w6 Y0 w: k& M7 `是不是需要在DSP.CFG中进行配置0 Q5 `/ [6 @* ~/ i" `1 g; T( J
我现在的配置为
$ h+ J3 A2 s7 r, U: f; |3 \' [" G- J8 q* t
/*
8 o0 z0 P' C8 A3 ^; [/ @ Z * ======== Operating System Configuration ========
! Z, a* }: W1 [9 l# U9 Y */' Q% S/ O8 m0 s& K
) V/ A/ D2 o- t6 p z$ m
/* no rts heap */( R( ~( F! Z6 V% g7 x4 u/ x6 G5 x
Program.heap = 0;# L. v4 K* k6 p$ l5 ~
Program.argSize = 100; /* minimum size */. }& ^1 i1 t, o& l% w% M3 C
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大$ N* d% H$ T ]$ ]' e b2 r
& s. v5 y9 G2 f4 r/* create a default heap */
3 l/ O% ?. X% [1 c) j0 N3 C3 ~var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 O) r8 S: x" n5 U, k# c8 O, j
var heapMemParams = new HeapMem.Params(); I/ K% F& x7 I! p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* o! Z# h; U; @/ n/ F+ q8 o7 B: r
" A- [7 m( r% R' k
var Memory = xdc.useModule('xdc.runtime.Memory');( e0 }, ^6 K* \/ ~& g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# F2 O( z/ r5 y, M
9 f% G+ A( k6 R8 g
/* configure System module */! {- M0 J; \# @( E4 j* n9 i4 R: i T
var SysMin = xdc.useModule('xdc.runtime.SysMin');. M# l) g2 s9 s
SysMin.bufSize = 0x1000;
" m6 g( x, u" R* q- fSysMin.flushAtExit = false;- y2 W* ^7 P' d4 I% {6 y1 _- Q
- N' n3 p6 N' d: vvar System = xdc.useModule('xdc.runtime.System');9 W# L; o! l: f" B0 z
System.SupportProxy = SysMin;
7 }: ^0 w* T2 x1 [. P
: U6 w# Z: X! m4 t6 J: M1 `3 K/* configure SysBios to use the lower half of Timer 1 */ ] R/ Z1 ^* u0 a1 A
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ T" f# U) f: zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ w+ ]: E/ f* p, t
Timer.timerSettings[1].master = true;
, q6 X5 Z! a; }2 WTimer.defaultHalf = Timer.Half_LOWER;* \- t$ c/ W( I4 s' f
Clock.timerId = 1;1 |" \% a9 x* t; ]$ h
3 S( b. G5 g' t s2 ]$ y$ U/ l
/ T3 F# |) s$ g/ |2 \/*
) N5 k( |! Q. s- | * ======== Miscellaneous Configuration ========( T5 s& v+ k* i- i# }9 h
*/
) ^7 v E" M8 B& H. Q
* v4 n8 F1 M0 N, D- S2 \/* set default diags mask */
, B. X6 j1 Y0 Q7 A/ G; r- {var Diags = xdc.useModule('xdc.runtime.Diags');! p1 `8 s# @2 C# K3 }3 [0 E) Q
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 I8 w; y( ]0 t/ M, _
6 \% {- e4 `3 P, J; Q4 }7 n5 LDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 h* |3 R( j. W: c% r* t# ]4 uDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. ]( x: Y4 \( w; X" e- hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 l( v: v* ~ C9 C
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 q8 e5 d. q; {! P: @. TDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 Q9 [: ]0 u) R0 e* E/ ~5 xDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 _* z* L' }: x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) ?6 a. D. B" ~9 p/ @Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 A8 I) w9 y4 i4 r6 G5 [
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 b+ H- g. _, }2 }1 }3 I/ s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 ?: V# F; n* y' B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* U% ^7 T* K: [9 S) y8 n
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" ^' p; f! ~& `0 O8 R" P/ H4 ?Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; f. v7 \% r! b4 [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" D" f. s! K+ c; q z Z
; v# e# r# ~5 O( Z' k" O* `, Y
/* override diags mask for selected modules */, S- _9 E& m0 b% R
xdc.useModule('xdc.runtime.Main');
: a4 W+ n: x6 q/ }Diags.setMaskMeta(3 j3 B2 K: L h7 u L( l8 j" i
"xdc.runtime.Main",
; }: p0 B& T' r Diags.ENTRY | Diags.EXIT | Diags.INFO,! l Y/ b: A6 d$ Y7 l' |" O
Diags.RUNTIME_ON& T o7 A* z% `1 H$ ~, O; B& t
);
' k& z9 d$ G7 ^3 V
* V; k# M# b* p2 r. C( bvar Registry = xdc.useModule('xdc.runtime.Registry');
" j8 I/ }) U/ m* X6 j) ~Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# c/ l, f2 P. C$ bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# { {7 }- y+ E( W& _6 b% `, `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ j ~* X, { @0 c8 ~; ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 K' W7 M& T( H0 j
5 N2 [6 {4 K2 E, |
/* create a logger instance */
# p8 L( M, ~ V B5 c/ _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 D! H% Q5 T# o7 o. R: Uvar loggerBufP = new LoggerBuf.Params();2 T) V# V, O; F! O/ O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 ~7 b4 o, a' V/ PloggerBufP.bufType = LoggerBuf.BufType_FIXED;
, y1 ^% {% }- c6 u0 h
: ]7 ?( q) X' o- J5 {% wvar appLogger = LoggerBuf.create(loggerBufP);
T3 Q) H6 Q# d7 F6 _; y7 a' TappLogger.instance.name = "AppLog_Core1";* T3 ~& w' X' C# q$ N5 O, l6 F+ Z
Defaults.common$.logger = appLogger;
& [5 c$ Q1 \, H1 ]0 N8 Z9 HMemory.defaultHeapSize = 0x8192;
7 q! r& O; p0 H8 q, f) \Idle.idleFxns[0] = "&LEDStatus";
8 \" }8 Z5 q9 \$ F. gCache.initSize.l2Size = Cache.L2Size_32K;$ T! S+ x8 k1 H3 j7 R! C! V
- u: c- g. h3 u2 F( k/ t |
|