|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 D+ @! j) K. B$ R6 F' q4 r% I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# E- x3 K- Q0 ]( n6 y8 \# Y6 L
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% g; s% S. d |: E7 I Z' O! I j/ H k8 G8 c6 o' V! B
是不是需要在DSP.CFG中进行配置
7 [3 n2 h% K( y5 |我现在的配置为
5 A! Z) P7 Q# c2 e, d
3 s- b: _% N- f. f* v0 l2 m! U/*8 {' t: O; E. S0 K6 `' P
* ======== Operating System Configuration ========
) A7 O4 a0 N& J/ r */
# p' p3 f/ v, q
' h. c5 t9 k# v" l/ a/* no rts heap */
6 ~2 ~1 g. ^$ C k2 QProgram.heap = 0;
1 }9 u, L. C; Z9 F- O5 UProgram.argSize = 100; /* minimum size */
6 W) C9 [+ c ?1 eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大- W2 _/ G% E$ h% a
) b8 N6 _0 f) {- Y/* create a default heap */
% S% F7 y4 @0 t% D: zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* E- d p4 s! w; \' F3 s7 q
var heapMemParams = new HeapMem.Params();' T1 J' [2 A' M: |& K" v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' ^0 n& v i5 d
% U4 L; ]2 s, {7 ~4 g4 ]4 s' _var Memory = xdc.useModule('xdc.runtime.Memory');
/ s% I/ B1 H) z0 T1 `5 mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
6 B/ v/ \3 Q6 s" p, ^* r0 G9 ^! T0 \. _) K5 G: Y. U
/* configure System module */
2 ]# r5 q6 X2 T. V/ ?. L# dvar SysMin = xdc.useModule('xdc.runtime.SysMin');" v o2 P) T" ]
SysMin.bufSize = 0x1000;
4 F# P( G( J7 _8 s8 X( eSysMin.flushAtExit = false;" w/ W0 `8 Q1 B1 M
3 p5 @, p8 U" L, t, B- B# rvar System = xdc.useModule('xdc.runtime.System');
p; `; ~9 L, ZSystem.SupportProxy = SysMin;
7 _2 t, ?. x3 h( t6 }
" O$ x% t' T* X: T. {3 y# x+ u' D2 F/* configure SysBios to use the lower half of Timer 1 */
, e8 L, Y9 w8 r! jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' g/ U1 h/ k* J% l( `. _9 w
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" T5 L; Y4 B: O6 ?3 ?2 s, XTimer.timerSettings[1].master = true;: j. ^% v8 z) e6 \
Timer.defaultHalf = Timer.Half_LOWER;
9 n- [: t) K6 C. R' Z; KClock.timerId = 1;) v; V: c5 w3 i1 _+ j' Z0 V
! C( X7 Z$ V0 _# }; N% h; }
2 d# k, Z/ w; m6 z( o! J
/*; a# A! t& p/ Z+ \" a
* ======== Miscellaneous Configuration ========
1 D+ Y8 L* D$ k: [" l2 I4 z+ g */ Q& {% W9 o! \2 U8 @
. l4 \9 v: l. H: z/* set default diags mask */( Z( w0 D, b- R1 Z5 @6 E4 F' b
var Diags = xdc.useModule('xdc.runtime.Diags');
. p) g6 R0 E; g0 ], |: fvar Defaults = xdc.useModule('xdc.runtime.Defaults');# t8 Y4 U) P7 w% ^
% |6 i! n: w8 r9 @. L( [% B/ p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' G* f; m! T5 M( F
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 K, v9 O0 X6 ?; s& P" c! Z. h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 c& n- Q n% W
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 z; {: _ d! {$ E- aDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. p; a" H- Q8 \0 KDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 {5 j0 x% X, D+ V- \! MDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- Q. D) [; w- g. g& A6 D% A% X: pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 C! g) ~8 O6 c$ Y: c
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ O, G+ a! Q( j7 i* l3 ~# l; ]
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# P4 l' k" Z1 e ~7 F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, O0 c" H! ?. l( t9 v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) d8 x) y1 }* T( pDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) ?* g" j- |7 rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ |) n+ e6 Q% t* O2 u9 X- u
& `* V' r( x* S( `% q
/* override diags mask for selected modules */
+ G' w6 `- Z; dxdc.useModule('xdc.runtime.Main');
' I' h% g' e5 ?+ J2 @! oDiags.setMaskMeta(: } M' G- H2 ] R4 H; p' _7 N
"xdc.runtime.Main",
" p4 B) e+ x; ~0 y Diags.ENTRY | Diags.EXIT | Diags.INFO,
- _: Z4 Z* B. D Diags.RUNTIME_ON
* z5 u+ {; E5 H/ z0 u& o! });9 ~% O# R* Z' h1 R
3 Y W: U- b' Dvar Registry = xdc.useModule('xdc.runtime.Registry');( M$ B6 h8 r2 L( `! t, q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;/ D+ {4 |3 X6 k y% N3 I9 [3 o& }
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;. |$ ?9 V! l) w! }# M$ A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 n; T5 Z% A7 b6 t" |5 q4 uRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% E! b6 i& Q- p/ N. s1 s
& Z( z$ p+ P* {/ p$ N5 u
/* create a logger instance */$ r( z' A7 E0 y& Q
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& p; l, g& x5 V- G+ ]8 u ^var loggerBufP = new LoggerBuf.Params();
% y* O9 K, x8 r6 U, m6 W L0 L4 }loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# U/ o2 W* J! Y4 I) L( U- ologgerBufP.bufType = LoggerBuf.BufType_FIXED;
1 \+ G' U* f* G) f% ~1 Q, N. G' E" q: p; m$ c: B
var appLogger = LoggerBuf.create(loggerBufP);( E. i- a9 q3 R( ^7 S' b* \' P
appLogger.instance.name = "AppLog_Core1";3 w' p: a9 e* f% c! k
Defaults.common$.logger = appLogger;' c/ \: s; N! h. X+ G
Memory.defaultHeapSize = 0x8192; 5 o( ~" ] O+ B
Idle.idleFxns[0] = "&LEDStatus";
# Q3 s7 n% Y b6 ^- MCache.initSize.l2Size = Cache.L2Size_32K;
7 _; x; g: J% z5 O; c7 H" ]" o0 ]5 g& x* n% ^+ I
|
|