|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 B$ V9 N& s2 ?4 y9 b! c. Q7 h+ R+ o
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! I7 D& [( G2 g" j; X(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 z6 ]. B7 O; k; o* V) N0 F- {, t, J, H( x
是不是需要在DSP.CFG中进行配置
3 N) N/ o- v" ]3 ]7 _: s8 y我现在的配置为
7 C: b7 ^' }- \4 E3 q4 M
5 m j( V6 J, H/ a* \4 a+ Z/*% U/ Y) c0 {) J* k
* ======== Operating System Configuration ========
3 z% l6 D; A [" Z) G */
# A& w8 [$ Z7 ^ j% G/ ^1 s: E, j
8 N" I t$ n3 b1 c/* no rts heap */9 ~7 S1 y& `8 ?: @! p$ m" u
Program.heap = 0;
8 u3 D) R. C5 J% iProgram.argSize = 100; /* minimum size */3 s4 s+ u, u& {1 r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大) n0 ~$ `, g9 P0 ]5 l
& V; c! T/ T: ?9 {6 N" [
/* create a default heap */
, g. z' V! c6 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); k+ y0 l" E6 g3 i5 w4 g, B
var heapMemParams = new HeapMem.Params();4 b: K @5 S1 \& e6 y4 ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& c; t- b5 F% e0 C* M5 J: L9 r: ~
# X1 P9 P' I8 Q' W/ o
var Memory = xdc.useModule('xdc.runtime.Memory');/ {! X" e5 ^" o' Z/ q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# e$ }1 h9 t9 c n4 r1 I+ e
' j# t9 j% U ?, |+ l3 t
/* configure System module */% |7 U2 C4 l" j# f" |
var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ R6 ?! X$ X( ~0 N8 Y8 fSysMin.bufSize = 0x1000;
' ^2 s( b! m0 FSysMin.flushAtExit = false;
, [) h1 n9 G. h6 @
* t! \- \0 U+ u- x7 Y0 o$ z$ yvar System = xdc.useModule('xdc.runtime.System');
# @( f- z+ ?+ J ESystem.SupportProxy = SysMin;
5 N3 x6 x4 L% Y) r) K0 l" X2 K5 y
# Q; `: `, b1 ^6 e# o3 ^/* configure SysBios to use the lower half of Timer 1 */- V8 z, V' j) C5 `+ p/ J2 L4 E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 t8 E* `; j1 e: P- I7 s5 o1 i
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 v' N7 N# M% @% W7 H6 {
Timer.timerSettings[1].master = true;
' B* w$ s3 H s; s3 P" R* G( }Timer.defaultHalf = Timer.Half_LOWER;
& y9 W9 K; v- oClock.timerId = 1;- a |$ x0 k9 a& R9 l' }
2 u0 B. k3 r. y
! [! G* v& i! l7 U, N$ d
/* E3 `1 _ l* [
* ======== Miscellaneous Configuration ========
1 Y+ b+ I$ `! ^ */' c k- h& W/ q& |
+ F/ e( r8 g; P) W, N: r
/* set default diags mask */) }; i5 ^. Y) x% s( k8 G0 Z
var Diags = xdc.useModule('xdc.runtime.Diags');: s/ }2 U0 o I' `
var Defaults = xdc.useModule('xdc.runtime.Defaults');- ?9 @; X4 e, c0 t
_9 a, ]2 h- t8 M8 p4 c
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 H/ \- G z6 d5 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, I3 ~) m* O& N7 E0 H* g6 t# K) _; m6 zDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ o1 D. q! u/ H" A7 v9 x) tDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
@4 l/ [& p, ]& i# R- @% o) ~2 m0 `1 cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% x& m2 Y7 |% h8 i- c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' ]9 ^+ l8 m+ @6 f, y9 ^
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 w" O N+ a; }2 |9 fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
1 ^6 [% e8 [2 U1 c) C4 m7 FDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' q0 ]* n9 D. m7 K
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& W* I! Z" z5 m2 a( ]; z- oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: a) S; B& p0 s' C2 y* P2 O
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( V& c p% J. A' e8 lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. [4 R* U8 l# _5 M* YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 H& N$ |0 [3 C& t& A* l
7 ^0 i+ t& Y; n0 {" w- ]% z4 g/* override diags mask for selected modules */
8 ^( X8 M: F0 s* d s0 Sxdc.useModule('xdc.runtime.Main');5 `8 r6 C3 ~1 x8 z3 x1 w7 j
Diags.setMaskMeta(& x! D% X3 i2 t8 D ?
"xdc.runtime.Main",$ L" [3 g/ E" M, \9 A5 p+ C8 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 _5 j3 _+ { c4 h Diags.RUNTIME_ON+ X. T+ j& b6 c% c, C5 I1 E
);
6 C3 t3 F7 f2 K+ W! T% A3 [- Q$ \8 g- i" K
var Registry = xdc.useModule('xdc.runtime.Registry');* R. i$ \( G' r6 k1 ]$ v3 K- z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;. T, _7 w' }0 f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" d- @) x5 M- s' M- }/ R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
, j( {2 N/ ?% N+ O0 V" F* |, _& {Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- N9 ?/ }0 W4 n% X1 Q
- p) }/ J" F9 B4 F9 L. X
/* create a logger instance */
+ p* K y' } X. J- Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 L1 F. @: M( Q
var loggerBufP = new LoggerBuf.Params();
* n6 I, W T4 qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
9 h. J$ {/ K2 m+ eloggerBufP.bufType = LoggerBuf.BufType_FIXED;" O5 k: Z6 w2 X( n& G3 }
4 J5 e' e9 N2 cvar appLogger = LoggerBuf.create(loggerBufP);+ n3 u3 a; K# t. \
appLogger.instance.name = "AppLog_Core1";6 v8 @* \+ `$ z. ^( h( n
Defaults.common$.logger = appLogger; q5 s4 c9 A' c0 d- |
Memory.defaultHeapSize = 0x8192;
4 E! b( q: j0 e7 I5 P7 x EIdle.idleFxns[0] = "&LEDStatus";! Q+ b$ M, @% V; h- ?# B# W' ~
Cache.initSize.l2Size = Cache.L2Size_32K;
7 C8 W; _/ [, E' l. s- W' P5 z8 } E1 A4 B: q
|
|