|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' r* J" d5 W# Y; @/ e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; c8 d7 W, z8 `, D- }8 ^+ n
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 I1 W' M. ]! N, o0 u
# x; l+ o0 c b+ y. l, o是不是需要在DSP.CFG中进行配置
) W+ D: H8 M3 w5 H) A9 F9 H我现在的配置为
1 L2 a' E1 u) v& M+ B9 O7 s
2 M; J& Q0 @/ Z% ~9 @% D4 E. w/*
! t# P4 @: l4 }4 y" V: F * ======== Operating System Configuration ========0 B& C1 z- t$ b3 z# U
*/
9 T. }: }, K% e, s8 x- g8 i# v7 i
9 l2 U5 {* q, [7 N/ y/* no rts heap */
' f' }& x2 ]' h% V, E4 t! v+ yProgram.heap = 0;' p9 a' W) m6 N* C. ?7 J
Program.argSize = 100; /* minimum size */& F ?6 ^* K" h7 T6 h8 n4 H7 X2 B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大# n! c* Q S5 U- E$ @9 K
8 Q2 T2 b+ E; a- e" r) B8 L7 q+ n
/* create a default heap */+ l- R/ h: R2 z- _$ P) J8 ~
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
& n% w! \& ~8 G6 C1 P$ O0 h yvar heapMemParams = new HeapMem.Params();8 ~) s* P8 T* E l H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) D. Y& s# K( J5 Q3 d4 |
0 x8 p7 b# \$ [, J+ w+ p ]6 z% Yvar Memory = xdc.useModule('xdc.runtime.Memory');
; }* i2 E( _0 E/ N1 vMemory.defaultHeapInstance = HeapMem.create(heapMemParams);. X7 Q( g& Q% t2 V" S5 C
3 V4 R/ @. u8 {& O3 ~) |4 W4 V; \
/* configure System module */
% [- m" O5 b0 j9 U$ W0 V# E# Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. y1 s0 h5 A9 e0 y% |# r* `* uSysMin.bufSize = 0x1000;
9 k; B) f. }" w; `) Y' d, W5 R# PSysMin.flushAtExit = false;/ n: s9 s M9 A9 ~
V" s( ~; e" o
var System = xdc.useModule('xdc.runtime.System');
: R3 A1 A# z$ K l# y2 zSystem.SupportProxy = SysMin;: P5 p9 h. V$ N/ \
6 D* M* d7 d7 H3 I) @$ X/* configure SysBios to use the lower half of Timer 1 */6 V5 S4 N, p8 T( o2 s
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( `+ t f" u. v7 V# }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');4 z/ C* K$ Z ]: m
Timer.timerSettings[1].master = true;
3 H( E# e, t) |% t5 q/ a/ T W7 KTimer.defaultHalf = Timer.Half_LOWER;
- D6 E* [, W, X L$ [) n( yClock.timerId = 1;5 G7 m; m0 S5 z2 {+ c4 h% l3 o
7 O2 W5 y; o, v7 H+ v a4 l/ E$ Q% U
/*4 J+ P( W I. \" `
* ======== Miscellaneous Configuration ========' R2 S6 D9 \6 E9 j; {; f% N9 J1 \
*/
; X. ]* N7 x, z) @% [( E' G& j: n2 ?6 G$ Z
/* set default diags mask */4 b" ^" b5 u3 T' W6 Y
var Diags = xdc.useModule('xdc.runtime.Diags');$ P; D, r9 g/ S x
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 D/ [, W$ I+ f! a7 e
& b: c# k8 a- r4 hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
3 j' K6 `- e/ i }+ R% CDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 l& g+ Z+ V6 c7 n' B
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: J1 s2 b( F! z# q, MDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */% n5 i) v8 U! [% Q' Y6 q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( T& n4 }. J8 V$ T/ F9 I: |Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;. P4 U' z# _, N2 \- _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 K6 g! |' u! I$ U+ F: E3 a' qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;! u' u' M5 c( [$ ^. ^* b* W! a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! N) E: ^$ B4 zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! ^: W# p: Z; P8 H
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- y% u7 k* Y0 B9 Y m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) [& f+ F) O& ]* VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' K: W9 \ u* \+ d5 LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 o9 q$ M" O- @
8 P; W' }5 E) u; Q/* override diags mask for selected modules */
% M! n7 o+ J$ `xdc.useModule('xdc.runtime.Main');; J( h, K4 o7 [+ A- A5 E/ n P
Diags.setMaskMeta(
w" e2 A5 E; j; O+ A& ? "xdc.runtime.Main",3 s; S7 m |/ o+ p H* }# A+ P
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 o, \3 Y; b2 H; [# ^- q
Diags.RUNTIME_ON9 t4 X) Q+ G5 m+ p! S6 D
);
: k6 A3 y5 N9 \" q! f w/ Y; I [8 T" g' L
var Registry = xdc.useModule('xdc.runtime.Registry');
8 x7 C5 k0 B( G9 l6 T& h& r. NRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ f* l& T8 f0 j/ t: F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 r' E( Z: D9 tRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; j+ [% m9 J( g$ i( bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;& _. Q0 O0 r1 U
9 \: l% B. [5 C& R" C* w
/* create a logger instance */- N8 K t+ i, s4 m# x+ q* j8 ^
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');; s7 E ^8 a- z4 }% L
var loggerBufP = new LoggerBuf.Params();
4 N3 Y2 m& y% mloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 `" o% ~- e4 _loggerBufP.bufType = LoggerBuf.BufType_FIXED;
: o/ N4 x/ _& _0 q o, p- I$ F! p* W( G9 w
var appLogger = LoggerBuf.create(loggerBufP);
% U% f) U. _ PappLogger.instance.name = "AppLog_Core1";
: e# ^5 ~ k% i4 L$ A" T' cDefaults.common$.logger = appLogger;
$ z) A$ p. I# ?. m2 N0 k6 B$ sMemory.defaultHeapSize = 0x8192; % g" r n* e& A5 V7 G3 r: f S% O1 P
Idle.idleFxns[0] = "&LEDStatus";. i7 g7 K8 {2 {7 z1 j0 g$ X
Cache.initSize.l2Size = Cache.L2Size_32K;/ P6 q5 S9 K/ F1 n- v+ Y* g
' ~$ _9 b2 b: l& ? |
|