|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( d$ ~, @5 A/ b# J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. @ _" R0 ^7 H8 n8 V9 s: y6 c
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: q4 M2 R4 _" `# [6 v) l, d' F& f' |/ O( g! c
是不是需要在DSP.CFG中进行配置
$ s$ u' Y n7 e$ F1 n我现在的配置为
& F+ d4 d2 `/ l2 {! W" ~5 H ]: Z) v0 J0 p3 T
/** D7 O* J) L4 I* S, H% s
* ======== Operating System Configuration ========
* ^7 l! j4 P$ l8 G( _6 m' }) S */
/ l) R. B9 B! R
" ~% \: _; L3 \4 N/ r/* no rts heap */0 j9 q5 ]6 D% [, N* L. C' S
Program.heap = 0;; U1 C: G$ n1 ]' j+ N, |# j( {
Program.argSize = 100; /* minimum size */
4 Q* \4 e, ]# n1 `% @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" l$ U( `) g; d6 ~! o- e/ ~' }% v0 J" @
/* create a default heap */3 E1 c& K' Y- d% _
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 x; d! {- I" |+ M+ L7 Q- F
var heapMemParams = new HeapMem.Params();
- x9 P2 G& Y5 g* O* jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 i8 ]! t n# j. t4 _
7 S; {7 V* D. {' |var Memory = xdc.useModule('xdc.runtime.Memory');) u! O- n" `0 d. `4 y# \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);3 E) @$ p, P* [! S6 I* q
1 n- V7 q/ b$ W3 o: h/* configure System module */
( D9 P! @. C$ D' yvar SysMin = xdc.useModule('xdc.runtime.SysMin');4 Z+ T6 O% j+ q5 H L' @2 y. e
SysMin.bufSize = 0x1000;
1 R' i+ b2 n0 u5 h+ wSysMin.flushAtExit = false;
# T9 W( M5 {* h
8 z3 L7 e( w: U6 g! s! ` Dvar System = xdc.useModule('xdc.runtime.System');
0 C8 d& ~8 x: n1 ]! c( I u9 ?. ?System.SupportProxy = SysMin;4 l4 E- H7 \8 B+ m7 R' V
; w, O2 R/ R; L- O
/* configure SysBios to use the lower half of Timer 1 */
) f7 ^4 E. _8 s: u2 P3 D9 hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');; w; q/ }( F) E6 m0 A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 {2 r- P5 o4 F$ N9 CTimer.timerSettings[1].master = true;* w0 `1 u' P- {# ?8 i& j
Timer.defaultHalf = Timer.Half_LOWER;
* v; ?* @% P3 d0 o( S, Q2 n- B% P! `9 oClock.timerId = 1;
) C3 \2 C8 R2 V& T7 x% E3 c/ [5 [( i+ R) b: |
8 f, }* A2 e! W" E+ @/*( C0 o8 ?6 c B* L V% u
* ======== Miscellaneous Configuration ========
* B2 f2 m. C) N5 @" E */
( z: o4 j% v; Z1 P2 z# E% b2 Q B" s+ N4 q: ]5 C; s: ?
/* set default diags mask */6 [0 @" ~4 {3 [+ k
var Diags = xdc.useModule('xdc.runtime.Diags');
) [0 ^6 T' s9 c, s# ?/ \; Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');
3 y) n0 L1 x7 K* D r4 f \
I3 R* L# y% O1 hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! T, m- u% x1 z6 t+ ^" r
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: _5 @# t# t8 h, gDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 L0 {; f, d% W) a* U1 r* CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 ]& a" ^) Z6 \+ a( t
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 y+ |- n0 L7 N. k6 L/ E; g9 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 |1 b" L- U8 R% o9 V$ n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
i, n* j: F8 n- P* \9 rDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 L( N& g3 V( ]( QDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% c+ u3 `* t- l- X: V; q
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
) {( v0 E( d9 k; T& q" P) N7 T' aDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ d! ], O0 n: {& w- W1 Z2 ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) F' Z8 S2 T7 u2 l6 t* MDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;: Z5 ~. c" T1 s3 l$ W# g; C2 G# ~) _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* X9 Z, A6 C* @# |& H& f
' J. f2 x& H, J" i: H/ A$ z/* override diags mask for selected modules */
2 I3 M# t- b. B7 q4 V0 s. B6 ^! r4 Axdc.useModule('xdc.runtime.Main');( H+ m# j4 T) z& h K+ l6 O6 {. L
Diags.setMaskMeta(! g8 j! {' s' e
"xdc.runtime.Main",
/ A! x' e* g6 w5 L: {9 r8 d Diags.ENTRY | Diags.EXIT | Diags.INFO,/ i! ~- T# B3 }/ a
Diags.RUNTIME_ON
: o# x3 [+ e/ o0 ` O);: r$ B# n u2 p: e5 Q# t4 ~) w
2 K, k4 H' H6 I9 b% u
var Registry = xdc.useModule('xdc.runtime.Registry');# Q3 p4 G* s2 y/ x7 F6 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 Z- ]* K+ {) l. |( @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' y6 C; D! ?' }; r1 BRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 P7 {" B* v' x/ t) {Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;, z+ p0 C6 x! ~
R+ Z v9 |9 Q! U5 P. i
/* create a logger instance */
2 o+ q( m! ~& y. U3 Avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
V4 G- z9 T4 t8 b" D9 Fvar loggerBufP = new LoggerBuf.Params();$ G, l! U* Z8 r1 `- I! }
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, z- `7 m1 a4 L- I8 n2 P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- I! C8 `% s$ V; ^
% H( [) ?2 B8 h. n, C& G. v nvar appLogger = LoggerBuf.create(loggerBufP);
" s% g X1 \5 q$ SappLogger.instance.name = "AppLog_Core1";% g3 I! s! v+ O8 r3 F" ]0 L7 j
Defaults.common$.logger = appLogger;
' C, t, ~) k. wMemory.defaultHeapSize = 0x8192;
, H$ y2 |/ _% l, m; V* vIdle.idleFxns[0] = "&LEDStatus";
6 C0 M7 N2 g4 J; L; ?+ x3 j% b( oCache.initSize.l2Size = Cache.L2Size_32K;* ?& Y9 J8 y& m
* I: o( J1 Q- b l, }" e |
|