|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 E& L9 P; |9 ]3 Z2 C P我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' _' I3 p* C: _/ T9 T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)5 u/ Y5 C1 U9 B F+ n+ a
/ p' o( t4 b8 A# ?是不是需要在DSP.CFG中进行配置
3 j. m8 P6 f6 a4 E% a: L4 t& [) S我现在的配置为4 B" G! [9 a: v6 _+ L
4 |3 n, X% p* d. \3 E6 E7 k1 T/*
0 D4 ` _9 W' T# z * ======== Operating System Configuration ========
$ a9 x8 K2 L' _% v) M( p: t */
' D; o) V; L7 y! e/ G1 z
2 e& L. v4 m4 o! e. O3 j* U/* no rts heap */1 @- N7 p# F4 j5 K. _- U, T8 A* q- E
Program.heap = 0;# f- \5 x1 h8 L, h, |
Program.argSize = 100; /* minimum size */
8 p6 i3 i* R9 LProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 f; u$ v2 Z' A; ?$ n. Z; G
6 f. b% N0 Y8 m. p% E/* create a default heap */& _$ \3 i3 w R# H9 l# I9 E
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 \7 [ Z6 Y }1 f5 k5 j
var heapMemParams = new HeapMem.Params();
' r* G0 ^( H3 I M) FheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) i- V, N; F& \
0 _/ c8 _2 {$ q1 c! ]var Memory = xdc.useModule('xdc.runtime.Memory');! F7 S. E. j% m( B9 C
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& O, ?' _2 ]; F6 P, z7 i* C% J& }* H% }) \& r/ m7 K
/* configure System module */) Q9 M! |% o7 d/ T2 R
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 M3 C0 \6 t# b0 m$ X" [' iSysMin.bufSize = 0x1000;
( T9 ]( n- J2 Q6 F5 h5 j0 WSysMin.flushAtExit = false;2 ?. o8 ~8 d: y; z* b
4 U$ e0 z D) V2 z+ @var System = xdc.useModule('xdc.runtime.System');
5 F/ w5 S3 s T" S# uSystem.SupportProxy = SysMin;
" G0 r% s* }" n
# q8 @8 B! E `3 P; W1 |/* configure SysBios to use the lower half of Timer 1 */
* o6 r+ s8 S0 x, ]0 @var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* j2 ?+ {) f: F" I4 gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');' T- ^4 q# o5 L3 @8 r
Timer.timerSettings[1].master = true;
/ ^' O7 D5 H2 X7 h; Z: t7 R& VTimer.defaultHalf = Timer.Half_LOWER;& m8 g$ e. f& M0 F2 S1 o% `1 x
Clock.timerId = 1;: N1 b' A. ~& p6 o! m
9 k/ W Q- m6 {3 X; ]
- u, t- T# m$ m3 u. p
/* M( G/ x0 d- }. C( z3 B4 b: \
* ======== Miscellaneous Configuration ========
' }" E/ \5 x8 `& B- G( z */
" e: Y# u5 d5 x& ]5 D
' n3 H6 q/ z5 \9 k- j6 K+ @/* set default diags mask */
! D9 q3 E: F5 q1 W: Mvar Diags = xdc.useModule('xdc.runtime.Diags');! Y0 W9 K% i% {8 D
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, ^' O7 U8 l& V" x3 C( y" w3 ]6 v9 `/ Q W" D. J2 W
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" n, | r4 Q q" x( z, \ N* M
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, p- M q9 M C& t7 ?
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 R& |9 f6 [0 F1 n! N% q: y
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
z- p4 \# T9 y2 H7 U) GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; u& P2 L& c" P1 i! mDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 e. a9 S' G/ T/ ADefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ c d! H9 s2 e- C" CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
! l* v8 `8 k F; S( {5 S8 r vDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) ?# L8 }2 Z1 G$ e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 q9 I( l9 R/ S/ E" M6 W3 LDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
# i, s& d/ Y; ^+ R" f* g' HDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* c5 E: S" b, N" v( c) k8 IDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 ]8 _( k/ y8 r8 X2 u0 X. }/ z- W7 mDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 N8 \. N" q& N& c0 v0 H
0 m$ {7 B( K. r# m/* override diags mask for selected modules */
9 x0 P! q6 D' i9 w+ b! O' Txdc.useModule('xdc.runtime.Main');5 ?1 a) s5 k \
Diags.setMaskMeta(, L/ z5 M6 X4 `
"xdc.runtime.Main",
g: t. D- ]& C# ]0 z" d w9 T' E Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 v0 ?9 x# X6 S Diags.RUNTIME_ON- O t* L( T, V2 a) ^3 B5 g
);7 z* O. ~7 H8 W1 T# I" J: D
& W+ \$ V; B( P$ nvar Registry = xdc.useModule('xdc.runtime.Registry');
! n6 H6 u/ F8 C' z5 \& p$ tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ y# o+ G4 j+ P! p+ P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" V; I' w* }, [9 e. Q, i
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; R/ P0 g5 L& o2 K5 FRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: l. \) _' i# {) P- s
. z# `( r9 o0 v- t/ r8 Z) w/* create a logger instance */( d/ Z2 I) L8 x& E( y4 `: T* e1 w
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' S# {1 W9 p8 [$ q/ v$ E% z
var loggerBufP = new LoggerBuf.Params();) w- {" Z# n( B& d) U' Y3 a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& B- g2 l3 q" Z9 X* F" l( X+ @: RloggerBufP.bufType = LoggerBuf.BufType_FIXED;
% I" l: Z6 R2 A8 t5 H7 n- f
5 u8 J, i; x9 O9 w9 S! Bvar appLogger = LoggerBuf.create(loggerBufP);
# `2 V* H8 N |+ ^5 T4 ^; z' DappLogger.instance.name = "AppLog_Core1";- v& D" g; C" L$ |% Z' D
Defaults.common$.logger = appLogger;5 G: l, {9 ^8 J' E+ L. }
Memory.defaultHeapSize = 0x8192;
: [' s% Z1 W# |7 U$ [. kIdle.idleFxns[0] = "&LEDStatus";* G# L+ V, v- c- g s& U z
Cache.initSize.l2Size = Cache.L2Size_32K;: X' B* ^7 H2 v/ S
5 n8 Z3 ]* X8 e6 }6 F. ` |
|