|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 _6 ^0 {5 D6 J. C9 b3 H5 E我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) p1 ?# @6 q: `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; X0 A7 L! m: J2 v. |6 X. W
x6 [" m( j9 K( H7 l是不是需要在DSP.CFG中进行配置
. B) W. e0 R1 q. n$ I我现在的配置为
. S4 J+ f- W; T' H! L0 J% R% ?* B* @5 z
/*, J- ^5 s! w( Q& A4 e) ?9 }
* ======== Operating System Configuration ========3 F* n" c; l5 I$ f J1 i1 A
*/ C% x8 ?6 z7 k6 L3 v/ q$ ]
5 D! D1 n4 O3 j+ H/ H) `( x
/* no rts heap */
# k- n, c3 `/ p8 F$ D8 kProgram.heap = 0;
$ ]# B3 k0 n" P9 _9 W& eProgram.argSize = 100; /* minimum size */2 {( }$ [* j# ]" q' h9 n' K0 s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ r( G) Y) G" W) O
, ~! I' Z2 w2 Y, r/ A( k: v/ j/* create a default heap */8 B: S2 w& a6 g8 A% ]9 w+ L3 ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% G. i. E; B' T1 n S$ R
var heapMemParams = new HeapMem.Params();# ?7 v9 o0 T- t/ m
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, I3 A+ e# I( S0 K3 R9 s) Y
; \1 Q4 P+ G" T( |' w! ?var Memory = xdc.useModule('xdc.runtime.Memory');
8 F" y* c" V4 w) N8 fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
* A% ?: p$ k1 b+ ]" k5 }
2 \; o, { ]/ q' k! t7 @+ l0 y: T5 O/* configure System module */5 {1 q7 y4 X! D3 D. E
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 t' }, K" K4 ]1 h X! qSysMin.bufSize = 0x1000;
! q0 d3 }+ A4 SSysMin.flushAtExit = false;- M/ a" \" N# F/ C, _$ U- @
- K E" Q8 I( C3 u1 k. d% A) Q( Wvar System = xdc.useModule('xdc.runtime.System');
, z7 g7 V U' HSystem.SupportProxy = SysMin;
6 I7 i8 h0 s, B6 r' x0 n
/ T( {( k( }9 c% m* K3 }/* configure SysBios to use the lower half of Timer 1 */& u( ?* @$ ~/ B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: B/ u1 R1 p: ~% ~. e: @var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& w) F/ B" `7 r2 D5 kTimer.timerSettings[1].master = true;, @# {. N# i# m
Timer.defaultHalf = Timer.Half_LOWER;8 h8 T0 h( \/ S0 [
Clock.timerId = 1;* b. e; I5 Q) E, p" o9 y% N
! Z) ^- N9 g9 t- m! T4 x6 W ]9 A! C P {* J
/*% v5 o$ q0 I7 K) i
* ======== Miscellaneous Configuration ========
& s! F& V0 l3 H$ a */5 L- a& e% f' Z. C+ Z4 }* K
, M6 i+ B6 x3 N# ?/ j8 G( K/ T: W
/* set default diags mask */
. ` v& e6 a8 svar Diags = xdc.useModule('xdc.runtime.Diags');
0 w( W1 h/ }6 h4 A3 ~' \* g5 Lvar Defaults = xdc.useModule('xdc.runtime.Defaults');( h; P& O& I3 f3 t. u
: w/ p6 N( `7 `1 O7 @% xDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 @# z# |$ l7 i7 n9 _8 `& ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 q P( Y3 K* _5 n' dDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ B6 R4 Q$ _ JDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
i/ U7 h) m" Q' z8 LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) [$ B& m' v$ S$ U2 x- Y1 e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;" H F! W+ b+ m3 {! w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 q! a6 ]4 V E) e* y# B9 |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; t* c$ o0 k2 t1 bDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( \' m! q6 I# [$ C. e" X( P1 w- x K' ]5 GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 q5 f5 c+ { X
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' T) C+ q. t- P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 e# w6 _$ m% L1 a- r$ ~Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; M1 ^" P! W" B6 Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) C. ]) ]1 k0 i% J4 \& ~
' z0 g+ S5 G$ {7 u/* override diags mask for selected modules */
& Y- P6 c: f: z- R! j$ Z% Xxdc.useModule('xdc.runtime.Main');+ j) [4 U9 ^: p( k" u# f4 S
Diags.setMaskMeta(
2 G4 X: d O4 _# g! I; H "xdc.runtime.Main",
0 p) q0 c# h' G5 ~' z4 o4 h9 F Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ L5 p5 m" t1 m; d( E: e Diags.RUNTIME_ON. R9 f; q) u4 T" x" F
);
. Q* L9 U2 Y! \ P) B4 j6 ?& \$ w5 l7 K$ i/ s* D) A3 w
var Registry = xdc.useModule('xdc.runtime.Registry');8 ^( n) j" ]9 ~- l9 W, M
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
E; E+ a4 U; aRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;: d) K# Y5 E$ `
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 ?: Z& m+ \! ?6 H( O1 H% A1 BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;, _$ n1 j, s0 }. a4 V/ `# O
* A( }* W/ E" ~, `0 x
/* create a logger instance */
5 d/ J% |1 N! u$ H$ q9 |2 ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ e+ W# r; G! O5 i; Y7 ?, nvar loggerBufP = new LoggerBuf.Params();% P' g1 Z' j, I& u$ L( _
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 T( }6 b. K: p/ q4 B3 uloggerBufP.bufType = LoggerBuf.BufType_FIXED;+ N" F! F. T. K
* i3 W8 Q; i& m" Tvar appLogger = LoggerBuf.create(loggerBufP);# C' _' L7 K3 F" E) B
appLogger.instance.name = "AppLog_Core1";
1 y( M" u, x W2 }" H' lDefaults.common$.logger = appLogger;5 |3 p* s' d4 |
Memory.defaultHeapSize = 0x8192; 2 V, p" T, j5 W* t' J& a
Idle.idleFxns[0] = "&LEDStatus";0 d' H. N' B" l- E% h. }; B& `0 ]
Cache.initSize.l2Size = Cache.L2Size_32K;
3 w' K+ s; F- O6 f$ v' u
/ v7 x c+ k+ T! ? |
|