|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 J$ ]5 m: W3 O/ x! [- N& O, E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% H0 m( v! Q4 v2 I5 ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
9 C( H# A9 U& G* U$ p
9 @6 g& L/ _ i& E: @7 n' g是不是需要在DSP.CFG中进行配置5 ?1 X& [4 m) P) F6 Z
我现在的配置为
' j% ^: w1 ]' U& ]# I* u. S! N. ?8 }- y7 N' `7 w3 |$ q) Q: L1 M
/*
, `8 F( E) g5 b& \ * ======== Operating System Configuration ========6 \( ~8 d- F1 u0 l
*/
) b' L1 s: t* {# b0 ^7 x' x8 m; U e- g. U8 m# C- n3 s ?
/* no rts heap */6 i) x9 W( u" D. j
Program.heap = 0;
( ~& f( e- N( iProgram.argSize = 100; /* minimum size *// r. M: h, i3 o
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* i8 P! s& }' X3 [( G$ r4 |
G9 s: ~. b4 b7 z/* create a default heap */
9 d2 d W( b/ Y( ~4 ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; T, u& K& _& A5 c' ^. z+ Gvar heapMemParams = new HeapMem.Params();1 J$ X1 _! o( U
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大 L6 W/ A* c' P4 N
- p% k) |; H" S- H3 R' e6 n; gvar Memory = xdc.useModule('xdc.runtime.Memory');7 z8 P W/ L- m& m
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 l" l7 a0 r$ b. J
7 _% g7 T! M4 N: P/ Y/* configure System module */" ~0 f! _1 E3 l1 r1 g5 t( ]) v4 w) A, j
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 w; T! p- a9 K3 C9 U
SysMin.bufSize = 0x1000;/ ^ m3 T3 T5 H" x! D, F# Q# d
SysMin.flushAtExit = false;
3 Q3 V9 b7 [$ Z! n9 E9 g3 Q
2 D" N, j3 |. Q) z! h6 s" ^var System = xdc.useModule('xdc.runtime.System');
) ?1 R- G1 B# U. V6 _" l7 USystem.SupportProxy = SysMin;4 G) M. ]7 Q/ _" f6 q1 b1 K
0 B6 H, H# d( v+ l0 O4 p% @: G" g. a
/* configure SysBios to use the lower half of Timer 1 */
, ?" M. `6 K2 d1 o+ @7 o& {9 f6 _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 J+ a. _1 ]0 n( L/ dvar Clock = xdc.useModule('ti.sysbios.knl.Clock'); h9 W- t. @2 c* S
Timer.timerSettings[1].master = true;
l" N& U5 Q3 w1 z7 v- W! d( iTimer.defaultHalf = Timer.Half_LOWER;4 Z2 _8 Y4 S% {; m( U
Clock.timerId = 1;7 }' |) m4 |: W$ y/ B7 E
, s" q" A3 G1 X" Y# S; G6 l- y( f# T$ s
/*
& u9 Z4 R( X& r8 U9 k1 K * ======== Miscellaneous Configuration ========
. J" S1 e8 {+ @8 _0 X/ n */
8 o( h9 }8 P' S+ V4 n$ d/ {1 o
9 q1 H, L. p5 Q; o! H5 B/* set default diags mask */4 Q( S: L( A; t
var Diags = xdc.useModule('xdc.runtime.Diags');; Y5 |. C8 q, i# B7 U1 Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
# q! N6 C& ?( t. J! Q' A1 c- I. @/ J; X% T% s8 n0 D
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;& W9 p% q3 c# w! f6 c/ G+ N. `9 t. E$ Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ ~" c4 J+ m5 N3 d9 {# GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
0 |& v5 O7 Q. Y' a/ D3 D2 V2 J" rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
D. U6 O7 M2 @* c7 tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ m U. V. R% S! Q2 c0 V- jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 _6 m( ^" Q, ?, [' }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# _$ r0 e# L3 J5 z- E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( }9 C! W$ {) L: `) TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
* W5 ]) c; }: J0 p% L% SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 C6 w. g" o/ r- d" [% A. yDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;( o1 t2 y9 Y" C1 o& q7 V8 b4 k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ H, I2 Z P9 w- |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 j6 k' W7 X: O* k8 YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# Y! \8 h" l: p( R/ y. y5 L" ?1 k
% [; ^$ l. v( F+ a# L! J m/* override diags mask for selected modules */
B& n+ N1 u7 ?8 R' Xxdc.useModule('xdc.runtime.Main');" B7 A5 e, }- Y' d/ v: e
Diags.setMaskMeta(
* F# S& o7 @$ }8 t$ X+ B z \ "xdc.runtime.Main",/ M/ ^" K+ Z$ c9 g0 _3 V
Diags.ENTRY | Diags.EXIT | Diags.INFO,3 d; R* c1 o" I" ~7 f- u
Diags.RUNTIME_ON. ~, _" a2 i4 @& _8 X* S, V
);, ?$ C" W' L. a8 e
$ v& N; e: ]% m: f7 x pvar Registry = xdc.useModule('xdc.runtime.Registry');0 N9 L" N; e# ~& e. x5 {: \7 j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 |3 ^/ m% I* j2 ?0 v
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;# I# @1 t' C* v
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 p: V/ `6 Y/ w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# V8 l5 ~0 c8 \! k% X3 U; d& D6 G
/ f% N8 ]3 @) P! {! Y' B/ }% l3 X/* create a logger instance *// y5 ~9 j- \* h. V" s* B, a- o" j
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 R5 b" E9 _: nvar loggerBufP = new LoggerBuf.Params();
% \+ p7 m( O$ o$ |/ {" p8 O$ tloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- n4 _8 u/ p9 B* }- d" J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ y& W7 e! Q% F4 g. ^3 a' A; ^
% h2 N* x' n0 x) H" M1 U1 C! a
var appLogger = LoggerBuf.create(loggerBufP);
6 r& s" C5 S: H% cappLogger.instance.name = "AppLog_Core1";
: d' q6 y% l3 ?% v4 e/ bDefaults.common$.logger = appLogger;" m; v6 A* Y! y- e
Memory.defaultHeapSize = 0x8192;
+ F2 }! V4 x+ f& ?3 OIdle.idleFxns[0] = "&LEDStatus";$ ` C; _1 q: K( X' ~. T: g9 z7 K7 k
Cache.initSize.l2Size = Cache.L2Size_32K;/ `6 x6 O& C* `9 R. L# e5 A
4 x. U" P. T2 T/ \3 I9 x j+ W |
|