|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ D0 A9 S3 P% _, P4 g+ _# r5 _我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* O2 C. E& v2 e6 u4 k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
# n6 x* l' h3 c* @7 S+ V
. `/ r* V$ n5 z, [$ i是不是需要在DSP.CFG中进行配置; y8 c [2 X; ?' d
我现在的配置为( n. Z/ }: i( N% a
& M- z: a+ }) }% P$ F$ a( h" g) P
/*& E4 L1 z8 G1 @- L
* ======== Operating System Configuration ========
" e* n* s! ?4 m8 n+ A& A */
. B: w$ B5 N3 L" E, _
. x1 @$ ~. b) V3 Q" m6 C/* no rts heap */
) q( m- l w& [2 j3 RProgram.heap = 0;4 z u2 h+ j: e. U O
Program.argSize = 100; /* minimum size */% |( E3 l+ z9 [0 M: O3 S' ] ]* L
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: U6 z% e& v2 L6 X# y* s( T0 A) t" \2 @, U. N
/* create a default heap */. G+ y/ o* o+ O8 `/ s% i# z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( F) [6 I+ \4 E4 C5 p. h
var heapMemParams = new HeapMem.Params();$ z- a# [- Q c9 y' j- B A9 ]3 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 ~ G3 C6 j- Z( K. c( K: u& H; l( P {1 e: R, ?4 f/ D7 B0 c* U
var Memory = xdc.useModule('xdc.runtime.Memory');
/ y5 Q5 V8 P9 oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! n# f# @: t1 u; g( ^4 J8 @
0 F' t- |& `% Y: Y8 N, I, _; U+ j6 S& Y
/* configure System module */* S5 R x' R+ o. h
var SysMin = xdc.useModule('xdc.runtime.SysMin');
+ L! m6 O6 K' h+ USysMin.bufSize = 0x1000; k2 x$ Q% F2 r+ p) `+ {6 a
SysMin.flushAtExit = false;; H t! ^# o C; h
) z; s/ G& f# N5 o8 k+ h* D
var System = xdc.useModule('xdc.runtime.System');
# o* R) j! |+ W# g. l; z5 {System.SupportProxy = SysMin;
" _9 X V, H$ y2 G
. @% O }, `. \$ |4 ]/* configure SysBios to use the lower half of Timer 1 */4 S g+ ^% T2 b, O% S# E8 ?4 s; p" I( g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# w$ j/ O; [6 gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 \8 I1 _7 Z9 l- b2 u8 u( UTimer.timerSettings[1].master = true;0 G# z7 X+ Y7 D
Timer.defaultHalf = Timer.Half_LOWER;) c0 p' [6 p3 G' T
Clock.timerId = 1;
8 G$ R. E; x' E/ l1 f L9 w9 G2 f0 p9 [, J; V2 L1 U! y! S' W
3 h% ^) V4 v3 q1 }3 p
/*5 _/ K0 Z" `3 X+ _8 R+ @- v
* ======== Miscellaneous Configuration ========
4 f5 v" i0 D0 H, b7 l7 z */
( y; j- Y; Z6 c Z3 u/ j: ~2 y) N% P3 n' ^' V" y! {
/* set default diags mask */
2 |& ^% i3 D: i! x- {var Diags = xdc.useModule('xdc.runtime.Diags');- r$ P3 z( R) j1 O! l( s
var Defaults = xdc.useModule('xdc.runtime.Defaults');
x1 H: C l4 k! h+ Y! u& x4 H Q/ ? C8 \7 d" m/ ]; a6 F, P( o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
# \* y- ]0 l0 GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
$ [" h* e: A: I6 G+ @6 ]# {Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- S+ q5 N6 `1 j/ M1 ?) p
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# M. w7 P( Y' e' d! t4 U- q v
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// N w5 P7 r/ A9 \' T: z8 |8 q5 b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! i! t5 N( Z1 c* I/ w' y7 ^' B k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" w h7 R* t5 |) l1 D
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. B# N* H4 e" s" ^8 M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* Q6 p( s7 O7 n( M, g4 t" U. oDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- d( x# Q* Z6 _1 h! m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, H8 ?) l9 @* t; ]; ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' k& _' X2 m( h! y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 R; t" G. A. R6 x6 a9 y3 VDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 b1 g" B3 }! ~) o: K
r+ d1 F" \& ~, o3 L3 |3 S/* override diags mask for selected modules */
: V) X" C% l- k9 {. U% d: v1 H: @xdc.useModule('xdc.runtime.Main');3 D9 X9 W4 b& F
Diags.setMaskMeta(7 r+ m; H( n& ^. |
"xdc.runtime.Main",7 [+ T O) D5 @' m
Diags.ENTRY | Diags.EXIT | Diags.INFO,& [6 ~- P# V5 m- l. a" C- Z# r
Diags.RUNTIME_ON: B6 o4 e# ]8 Q. k; ~4 A! S0 j
);
0 o) \8 K7 V& ~$ Y
3 n1 q1 d' l7 j% J8 H( jvar Registry = xdc.useModule('xdc.runtime.Registry');
' o; C# o1 ?' c! @7 `; XRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ |! Z& A0 `6 G! x8 K0 HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 _) L8 a5 K- i3 q: J) ERegistry.common$.diags_INFO = Diags.RUNTIME_OFF;' a* U, P3 e+ G- d, t4 ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: G5 o& ` Y X! ?( P# l1 `# Q( D9 W3 v; |9 _! }* A2 T
/* create a logger instance */7 W" C( }) ^* M& ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" \0 P+ U. _0 j% P* Z. c" u
var loggerBufP = new LoggerBuf.Params();
7 @$ r& f% T" o% X" RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; ?% V" D4 g( _- N
loggerBufP.bufType = LoggerBuf.BufType_FIXED;# X' C# Q: L9 M$ q
0 ^7 r8 K" ?( A4 T5 A, a
var appLogger = LoggerBuf.create(loggerBufP);
) r/ w |7 d0 g& S% I0 ~3 z$ happLogger.instance.name = "AppLog_Core1";- L2 W% F8 O- g6 T
Defaults.common$.logger = appLogger;- o/ ]+ h6 \' B0 z9 ^2 t$ y
Memory.defaultHeapSize = 0x8192;
& }& {- Z4 m4 }! sIdle.idleFxns[0] = "&LEDStatus";. W. U; i+ L5 X2 [1 c6 c
Cache.initSize.l2Size = Cache.L2Size_32K;2 A) h* G! C( x) ?9 z& j# T
& x, h3 g& i `, Y5 }" j, M2 ~6 Z
|
|