|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 X6 a0 o% R5 j+ l. Y+ s- }. p# _
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% [3 ~- y2 c, Z% L* Z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 r. G- T: G/ ]% k
* B7 t! l1 ~4 K5 E6 @" i2 ?
是不是需要在DSP.CFG中进行配置9 K6 ^: M2 r' R, ^; ?
我现在的配置为
Y, h# J7 V3 s9 r' U3 M8 D" R7 X( | Y
/*
0 O/ r3 v6 f0 f, O2 y * ======== Operating System Configuration ========7 X- s, F F8 N; v- k" B
*/
% d4 K- q/ M. m; [! X
: d: g6 v' G4 Q* _ D3 E/ }; s/* no rts heap */! u: c$ h& ?( g4 M, \
Program.heap = 0;1 v9 z: ^/ v+ ?& L1 ]+ |$ \
Program.argSize = 100; /* minimum size */5 ?5 i7 t9 M+ B' M7 I N7 t
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( o1 T4 Z3 D7 R- J0 q; k- h9 S' v" t9 V9 e# O& I
/* create a default heap */
; a y3 M" L ^, m J- rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- A9 [/ O; M S! h: L+ ovar heapMemParams = new HeapMem.Params();
. \# x* Q5 K: Z; m. Q# z% n) ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* h8 d* H3 y# ?& q+ [
- z7 F5 X- j- t* @/ {2 p9 o4 Evar Memory = xdc.useModule('xdc.runtime.Memory');
. ?0 g7 S, c3 rMemory.defaultHeapInstance = HeapMem.create(heapMemParams);: S4 N; u: [, {
8 s p- m: J: c0 s
/* configure System module */7 N, q. [) z4 v* N3 p) u
var SysMin = xdc.useModule('xdc.runtime.SysMin');" I9 n% h; G# I# r' }
SysMin.bufSize = 0x1000;5 P! |+ B( u* b$ e# h( r/ q
SysMin.flushAtExit = false;
" {( h+ x, f$ ]- X0 L3 f9 q# E' k a
4 U4 n4 B. e- svar System = xdc.useModule('xdc.runtime.System');2 }- o$ X* A0 |& o3 M
System.SupportProxy = SysMin;
$ ~; S3 X, c1 P8 {8 K
, _& E3 W* V% d6 K; X( j/* configure SysBios to use the lower half of Timer 1 */! a* Q4 H9 p2 R- p
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 ^ K; ?# P3 Dvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* [( ~& y/ ~6 ?7 c6 Z+ q; P! E( U$ dTimer.timerSettings[1].master = true;
; t- y) a3 {0 `4 C& ]6 S; DTimer.defaultHalf = Timer.Half_LOWER;
0 G% ^: N' W3 dClock.timerId = 1;
0 m" Q- S/ [9 l6 F" _9 x/ e5 ^( Z- c4 R. n. n9 s
+ s% z6 e1 w: M) V/*
8 D5 y) v6 c3 p" e5 a% v( c * ======== Miscellaneous Configuration ========
1 ?$ n/ ]# B3 l8 [" F+ V */
1 i, s/ H6 u* f. Q: A0 F! V- _
" b* d! _( Q* R, o: N$ s/* set default diags mask */; Z. V9 S c0 I K/ Z/ \6 ~
var Diags = xdc.useModule('xdc.runtime.Diags');" x" i+ h$ m" x
var Defaults = xdc.useModule('xdc.runtime.Defaults');; e2 g/ X8 ~/ S
% v' P4 h; R; S. I. j) @/ l- P2 E5 rDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% e) a+ E, Y+ C) cDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;5 M" \0 J! V& B6 s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;1 n6 S7 C& t2 w" s
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' u, i# U; O o+ }( h3 x' ~8 i4 j& tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 g+ G8 T: ], L ^Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 p4 F) _" s: w( k+ C, x
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ q4 X2 R J0 `4 ]6 _9 J
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 H3 Y/ U: {; J. {; cDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;1 L( Z1 \# P' t; a
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; g: T$ L) [6 u# ?Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 `! r7 L5 g- N+ V k2 Y1 T2 S3 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ v; ?7 q0 s! v/ EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;* P- g1 [: o8 r D# @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' ?7 F# H5 p" I0 }8 t8 `
& l, p% j7 j7 P; K* A/* override diags mask for selected modules */- r6 @* g0 y+ R; _! F# [7 z/ {
xdc.useModule('xdc.runtime.Main');' g3 ^5 r4 G5 h) V2 C( J, D
Diags.setMaskMeta(1 t4 B u8 W8 t$ c
"xdc.runtime.Main",
+ O3 {1 n K. H, e9 M+ Q) D2 r Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 V" W$ d& c& G- i& P; V0 C3 R# o Diags.RUNTIME_ON! M, z/ h+ Y6 e o0 D
);) a- F+ m& _/ e. H5 ~+ K( b
+ g1 v, ~$ j: r* Wvar Registry = xdc.useModule('xdc.runtime.Registry');$ t B& w9 A% g8 A- F& d; ^
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
/ ~ I* u E) F# ]2 GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 s5 ]* y3 j0 Y; W5 k( m$ m3 JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 u8 }" c2 b/ H+ E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: _( g( b' V+ U$ @4 n
. ~' S f$ O& B. a$ f" ]/* create a logger instance */
5 q7 U2 |- p0 L D) F& K: yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" B9 ~% x4 e& o
var loggerBufP = new LoggerBuf.Params();6 {8 g& N m$ ~
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory *// g/ E! m6 I6 ]( J/ ^$ x( m
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 w; p' g5 a/ H& Y
9 j1 @- z+ k# Cvar appLogger = LoggerBuf.create(loggerBufP);
( S1 ^4 J' f1 [8 x# |5 D; n( PappLogger.instance.name = "AppLog_Core1"; `4 `8 P+ D4 m* o* b W
Defaults.common$.logger = appLogger;. h, ^* ^ V! [7 c1 `/ }
Memory.defaultHeapSize = 0x8192;
3 [+ F p4 M( B* mIdle.idleFxns[0] = "&LEDStatus";
" ]6 T/ { A D6 g0 R1 Q$ `Cache.initSize.l2Size = Cache.L2Size_32K;
% D& @1 ^. Y; x* ]1 F# U) n2 p; j6 H8 R" d1 W
|
|