|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 _6 [- v9 h7 l) r. ]/ ~8 Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 B- g# Z5 h/ m/ Y2 J& |2 N! @(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
; N$ f. t* o; X5 l# }! |& j4 f1 g* z7 L5 n/ f7 k3 f9 h
是不是需要在DSP.CFG中进行配置
1 G( A! @2 f! V v我现在的配置为4 R, k& r6 f8 _, p, k# t
: ~! [. T- ~) L# K7 S
/*8 V/ y2 b% E2 L# w0 i$ [8 q
* ======== Operating System Configuration ========1 [ C' F- p1 Y7 |
*/
+ P' z; C/ r8 }1 t: m* a- ~* g# I; V4 R8 F/ H
/* no rts heap */1 l1 K/ C3 a* g9 i" N% ~; k. m
Program.heap = 0;, p) f# l' w) }7 |+ z& u
Program.argSize = 100; /* minimum size *// J) K7 a% i' \! y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: C, ^. @8 {& m6 {( {
& L% j& @/ O/ W/* create a default heap */. @$ g" B7 L4 f, v. M1 m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* ?! B" V" r& E; hvar heapMemParams = new HeapMem.Params();, `5 H8 Y% K$ g# X7 J0 [
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# f d( \. S7 q) S& H V$ N1 }6 p
8 m2 m% I8 s: ~( I. h- E! cvar Memory = xdc.useModule('xdc.runtime.Memory');3 d! M" X; l& x
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% K6 B, ]" ^2 c0 s
$ E. W1 q: r: X+ K8 O/* configure System module */1 C/ ^$ ?$ b( g5 X ~0 _: x+ z. V6 D
var SysMin = xdc.useModule('xdc.runtime.SysMin');. A, r1 S) C; n7 ~9 j' A
SysMin.bufSize = 0x1000;
9 }- d" n \& D4 ~' wSysMin.flushAtExit = false;9 Z: x. p$ E2 i. g
0 R6 y, i& |4 Y8 P" @1 C Qvar System = xdc.useModule('xdc.runtime.System');$ |: O" t) E$ y, R
System.SupportProxy = SysMin;
$ U0 h. x3 h0 j2 f7 J S1 r2 G( w# O& P. M/ H3 k- Z- G
/* configure SysBios to use the lower half of Timer 1 */) Y9 ]+ ^+ [4 T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 n* U7 U& J3 f V5 i7 yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% S5 I2 M1 |0 J) y) `Timer.timerSettings[1].master = true;
) M5 E2 u0 B7 l4 ^Timer.defaultHalf = Timer.Half_LOWER;/ M5 B, h' W7 E
Clock.timerId = 1;8 {4 i, }9 O& m$ p( N8 l
- B% m8 o' M3 P! t
. u) x: N$ L- @' }7 T
/*
3 s# y r# {4 a& T- E9 @% w2 j6 h * ======== Miscellaneous Configuration ========
5 B6 \6 W0 z+ x( u- ~ */
9 G1 o. Q: {/ s1 t5 n0 ?+ m0 X& F1 y i- x% Z0 T$ c
/* set default diags mask */
3 ?4 M/ }$ |/ P# ^* [$ Ovar Diags = xdc.useModule('xdc.runtime.Diags');
+ O2 A# a9 _4 e4 {1 Dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
: `# p; ?& x) x( B! w' _5 V7 D7 ^$ k) a2 Y- E6 \" `8 x: ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; ~8 n% {- S1 CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% s9 A& `4 j: }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 N+ r7 G. w9 b7 |+ u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 e* C/ \3 H+ O$ H: I5 E
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 F/ `# k; o% U# ]6 R* c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
# ]- d- T& c9 g1 TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* L6 `- t5 I9 n, i7 o* Q3 JDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% I5 b( x& E6 D! D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, s( _2 _6 @) R+ k) C1 s# G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 M0 n7 n. x2 s0 w7 |
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
( L- ^) }6 b( B6 `# qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 n; \7 b4 A Y; vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;/ I0 j% Q: k9 o [1 J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 Y5 E2 K) p" y Y! E
6 V6 |- x9 l2 } J0 |- |/* override diags mask for selected modules */( l0 Z' j1 w; ~7 W4 N
xdc.useModule('xdc.runtime.Main');
1 ^9 x/ y F7 T0 Z/ \& qDiags.setMaskMeta(5 u* Z8 O7 ^+ N+ h- G7 w5 z
"xdc.runtime.Main",
3 w2 E/ C {% ?2 L4 B. E& W Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 G. J2 [- B/ t! g Diags.RUNTIME_ON
4 ?$ j0 C, X* t' o. C( k$ m' U);
9 o! m6 w/ t5 g: O, [; ]: s8 S3 S8 |/ ^5 w) ?4 }$ R, k% ]) @
var Registry = xdc.useModule('xdc.runtime.Registry');/ A* K$ X) }. H7 x& S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 f" n% C+ l8 x! ?% N$ M3 D4 n9 HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;' r3 h8 @/ O8 ^
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 i: W3 K' Z$ K3 HRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, k" `' `/ F& }5 E1 V0 ~
2 P2 j3 b' ?( P B' O/* create a logger instance */+ j, Y1 Z8 o% U" _' M* V7 z
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ b0 v$ L( \. A
var loggerBufP = new LoggerBuf.Params();
% P7 s2 k, y7 h# d2 H# m& n" p& OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 z/ U3 a0 ?, Q; T. s! q$ GloggerBufP.bufType = LoggerBuf.BufType_FIXED;0 W+ W4 L. o0 f; b3 T
0 o3 q1 ~: G+ l/ {var appLogger = LoggerBuf.create(loggerBufP);3 r) D' {9 ]* B! r; |5 k) y0 \
appLogger.instance.name = "AppLog_Core1";
% k- T& D0 G: X; o# CDefaults.common$.logger = appLogger;2 r! R. w3 d2 \7 h! B' K
Memory.defaultHeapSize = 0x8192; 4 V+ d1 Y% S5 W6 F# W, E
Idle.idleFxns[0] = "&LEDStatus";
" p4 J ?/ I8 j# _0 aCache.initSize.l2Size = Cache.L2Size_32K;
# ~( E! g6 u! A1 M* ]: ^7 e
( M% B3 K& `3 B. z5 @! ^ |
|