|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: e6 Z8 y* C) M- u$ ~我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 c# ]1 b' U5 l( _* u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 J: z" ~7 K+ @! [- [
0 g C) H2 f6 s2 N* v是不是需要在DSP.CFG中进行配置 t9 I& Q6 A! \
我现在的配置为% [3 c/ C; ]+ E; G; z& E7 {
2 N" r$ k! f/ d- t2 ~9 z5 d/*
2 N8 d+ C0 M& d- n( v' D$ x4 \+ H; L6 I * ======== Operating System Configuration ========9 W* Y& \8 p# P6 i9 g0 c* x0 r) X
*/+ W: P' t' Y% q" B+ O. N
2 F3 [( M F* r' s5 x' N Q
/* no rts heap */
1 v+ J7 q2 Q4 } k hProgram.heap = 0;
% Z1 ]4 {# v- j% C2 m9 q4 |; pProgram.argSize = 100; /* minimum size */
/ h+ g% _( ~4 ^" u, SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 d' b& G# W0 k" S' |
# X5 Y' T. N0 b; A8 P/* create a default heap */! A# B0 g; }/ M( d9 W& o
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 H" P+ Q: F- G6 Lvar heapMemParams = new HeapMem.Params();
. u/ m( d# h4 x8 ~; U- @heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大, A: X& z' Q/ m# ~8 Z" Q
# v$ \, ~. y' \6 g3 Q' Tvar Memory = xdc.useModule('xdc.runtime.Memory');
& M5 P5 e9 P( Y, w+ f' TMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" t/ A! J+ X" x; P4 |3 D2 Z
/ L5 Z3 m% M ?" q! m/* configure System module */
5 h3 E2 L* ~7 y: S+ m8 y5 Q, N% bvar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 K7 B! B. X1 g# j+ n% l+ ]: ESysMin.bufSize = 0x1000;+ r& k% K8 ]/ H$ v) Q: j4 e' C/ J- ~
SysMin.flushAtExit = false;0 `4 G) {. w% |3 {' ^
5 `1 T8 q( G- G/ fvar System = xdc.useModule('xdc.runtime.System');
h$ L' T3 p0 V- W' FSystem.SupportProxy = SysMin;& }% S0 r! e% P3 z6 F9 Q
" _; }+ C& c* h
/* configure SysBios to use the lower half of Timer 1 */
- Z% y# ?* x& j- C8 H- Pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' g' E! n9 D" ?# g% ]8 _var Clock = xdc.useModule('ti.sysbios.knl.Clock');7 B8 d2 h0 O G& d4 N. r1 [0 z, O
Timer.timerSettings[1].master = true;, X+ v- A. s; \* O- c. l
Timer.defaultHalf = Timer.Half_LOWER;+ E& S: b1 Q0 y' p
Clock.timerId = 1;
$ t5 K2 T3 F# C3 B: _1 U4 a4 b* }
4 m1 _. i5 c! Q/ A! l
; P" e' _, S% m5 }5 C! R5 }/** ~' T6 o, P+ E( H9 ]; C- ~
* ======== Miscellaneous Configuration ========" F+ q$ @/ _' _/ ?& T
*/
( n+ p/ M3 W" y; Q- V
8 G* K) O6 X; m& q$ j/* set default diags mask */! S' D/ v2 ?6 @
var Diags = xdc.useModule('xdc.runtime.Diags');/ W0 S. O; [1 U4 o* w5 H: g
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& t' r$ [/ B* S D2 s1 N; R* K5 ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; R0 k: i3 ?! N6 {. YDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% D* b5 N0 g: Y% [7 I7 xDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. H4 F+ `3 L) D2 v& gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' F9 W# y' V1 O! `; R1 A9 kDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ v9 ^7 r5 |* C4 |( J! b% \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- u8 p9 P$ G- w) U j0 {, @& D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 D8 h/ a0 Y1 l' w+ P6 w( c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 h- c- O' y4 eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 ^$ `* c3 p2 d ], g6 KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: j8 Y" V7 s u+ M. \: fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, V: x+ c6 w1 V8 `3 rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 |. a+ q4 P( S+ |% d, HDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 e: Z7 B3 B$ u0 g4 c3 kDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% p, s( ` S* S# f3 k' N8 B# d1 a
4 Q1 b9 x9 s9 m! z/* override diags mask for selected modules */
, J! a: @# L4 lxdc.useModule('xdc.runtime.Main');- @3 ]( p1 n% x5 A
Diags.setMaskMeta(
# z; V& j! |+ S/ o "xdc.runtime.Main", p2 ?- p" Z9 n% I* r
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& ~- T$ w P+ r1 `" P Diags.RUNTIME_ON
+ M; F! s" q7 f' T) {* G);: Z {7 ~4 E! {/ l
3 x8 }2 }; u. ]& K) _var Registry = xdc.useModule('xdc.runtime.Registry');( i- z* N3 Z& G
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 J& Z& S4 M8 x6 }$ ?3 ^3 zRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 I7 N1 U- u3 O/ pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ P& j. E G7 p, Q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;( S0 V5 r7 Y# R" j9 f9 \ K; g2 Z" f
( e/ N; ?! M, _: v) u/* create a logger instance */1 o3 m! ~$ r; H* X( ?$ g6 T7 ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 ]! X, ~" d' F) H8 Jvar loggerBufP = new LoggerBuf.Params();
% t3 m$ H9 }6 ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" o% O+ ^3 m* e5 w ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ E# ~& A6 N8 T0 v c8 a
1 I+ U) T7 a9 Z7 C! D" q* @6 ^var appLogger = LoggerBuf.create(loggerBufP);6 R9 J1 m0 ?/ @+ U; l" j
appLogger.instance.name = "AppLog_Core1";6 s: s$ y i+ y0 d4 m; T
Defaults.common$.logger = appLogger;
8 o& Z! b" Z# ]9 p- D0 f$ Z/ f0 HMemory.defaultHeapSize = 0x8192;
# G/ E3 `% `2 o) QIdle.idleFxns[0] = "&LEDStatus";3 O p w6 U. A7 O
Cache.initSize.l2Size = Cache.L2Size_32K;
0 E3 b0 q% y/ a' f# J; ?) U6 c' [6 M: a9 `* h! G
|
|