|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- I1 B* g4 z w# t. X8 N" n5 u
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ M4 n8 n' t' Y9 j" B/ C
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) y# o/ n7 G& o4 \$ F* h. e
& ~# g/ f! V: e. `5 R5 W. s h是不是需要在DSP.CFG中进行配置
[/ s+ @& R5 }3 M' }我现在的配置为
+ [/ o. e k, x; h; a7 x4 E
3 u/ j# |) \2 P1 G) @3 I6 p$ w) z2 j/*9 y. C1 y: W- p" y; ]
* ======== Operating System Configuration ========( R" F3 o0 p( G+ Z* w O
*/
( v( x6 w e v: m% o, V
/ y8 u8 }$ T" q: z7 J8 m) y2 t/* no rts heap */
( T& P# h* _4 \4 ZProgram.heap = 0;
: W4 `7 x% K/ r+ x: K$ s! L/ X! JProgram.argSize = 100; /* minimum size */. M2 m; D7 W) O- N& g
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 b5 \2 b" a3 l- t5 [' s1 M1 Q$ a5 K$ f8 k' R5 N
/* create a default heap */
/ Y& j5 R/ G) ], h( o+ _# b! W5 Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 L( v. `- G9 Rvar heapMemParams = new HeapMem.Params();
. D8 Q, U: q( M& _. DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% v/ w' ?" `+ ]2 N5 o9 w. q3 u: z3 l! I+ O# S
var Memory = xdc.useModule('xdc.runtime.Memory');
9 d2 I% [( u3 c, r( z7 ^+ M% p, XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 o& F0 p9 Z1 E3 i. `( n( ?% w8 i! n5 T: i* e% \- @0 m% g
/* configure System module */5 L7 N4 U) V; ?+ U$ ^$ A
var SysMin = xdc.useModule('xdc.runtime.SysMin');, U U5 R8 q% c0 Z& D7 m9 r
SysMin.bufSize = 0x1000;, n* G. H) ]2 S& L5 Z# ]
SysMin.flushAtExit = false;% J" X$ i8 |. s2 M
! v5 f( y, l$ @/ x% kvar System = xdc.useModule('xdc.runtime.System');
) y5 d0 [( m0 I& m- a. LSystem.SupportProxy = SysMin;
: N% K* L w% Z- ]9 r* O# o! a6 E
/* configure SysBios to use the lower half of Timer 1 */
8 v- g2 g# h3 F hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');5 I' ~/ n3 l7 M* x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) U$ s* t, B0 x! b( g# TTimer.timerSettings[1].master = true;3 K0 Y7 b3 @- |* O1 f# L* `4 s7 J
Timer.defaultHalf = Timer.Half_LOWER;& Z, G" S# _; z1 v' I- e& @
Clock.timerId = 1;* g7 B3 h7 y+ K9 v" y8 d
4 h# K1 S0 S T7 e9 x& d
- z: R8 A( R/ ]6 t1 K/*
S% M" K/ h! [, F1 x * ======== Miscellaneous Configuration ========
/ r* J; K6 b: S4 \ */
+ I. O2 A5 {% m
# Q5 B$ I2 P# B; N6 ?/* set default diags mask */
$ \5 |& C1 t7 V" Q/ S U& a) }. ?, Qvar Diags = xdc.useModule('xdc.runtime.Diags');8 G+ _; H% N& C. `* N2 n5 b r
var Defaults = xdc.useModule('xdc.runtime.Defaults');
1 X/ O1 j4 M' h! C8 H" ~% @; V
: `7 Q' |# T. R/ k# p' K2 NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 w4 N: p/ K$ c1 N& _Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 l: G2 v* o0 [2 d/ oDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 v4 \0 Z' O- EDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 a8 Q) B1 X) W. W& \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */, i1 K% @+ u' O) W$ ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 [" ^. Q$ l S& ~/ b& kDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, R; i* K6 h: g I7 `0 G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 |' ?( q# `9 J5 c* b
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! e" v9 s8 E. C5 KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ d+ e, u1 |! U! H8 C; FDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;3 a0 I% F, Y' @ T& k2 ?, M
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 V D: l. p d3 ?8 h5 S% ~: L* |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 z2 [% |6 V0 V; a5 B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 h" \% U+ D7 s: R7 l& L% o
& Q- w5 u3 N% P6 Y4 A- \/ O1 p/* override diags mask for selected modules */4 M- V+ ^: L2 B' m
xdc.useModule('xdc.runtime.Main');1 |! @ d7 {3 |1 V4 p3 R. r9 Q
Diags.setMaskMeta(
( P L6 |2 K7 ^: u, {0 r "xdc.runtime.Main",
3 g8 R, u! q! a/ t Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 I$ g# J/ E: Z$ R1 U) \ Diags.RUNTIME_ON
/ ~3 j m9 S) K);4 ~- {4 n# Q6 X6 _" }3 l
9 g: m6 l& h' S0 y4 P- l; xvar Registry = xdc.useModule('xdc.runtime.Registry');
4 k( f5 D* d2 B4 vRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF; N& |: O0 l# V
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. _0 P' q$ J' s# K; h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- n) y; ^' A. B4 p' |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 S$ P- z' n' H, h% X" I/ B' M1 Q
5 F/ _% y6 B+ L% Q) D/* create a logger instance */
; t. G! }5 ?: U/ G5 z. qvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 B4 ~" K9 I0 L* v: W/ ^2 Yvar loggerBufP = new LoggerBuf.Params();6 x6 q2 t" A m0 J% E/ u% }
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 N' s+ B5 X8 h% Z1 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ i! |' ]/ ?% l5 j
/ U2 o6 r0 V/ ^. uvar appLogger = LoggerBuf.create(loggerBufP);
) q6 p K7 S4 r+ UappLogger.instance.name = "AppLog_Core1";- T! T5 \( I$ D8 ^; m- p3 d9 m
Defaults.common$.logger = appLogger;6 z9 ?, @5 Q4 y% Q
Memory.defaultHeapSize = 0x8192; 8 D+ m: r9 X+ j8 ^
Idle.idleFxns[0] = "&LEDStatus";+ \ d) K- I; L; p2 J+ e
Cache.initSize.l2Size = Cache.L2Size_32K;
1 Q1 O. w6 ]9 C M d3 [6 p. f: S# V3 Z* e; N! B
|
|