|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ b M H$ Y6 w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 r# @$ D& ~7 w9 J% G(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" A" P0 b8 Y& S. x$ d# T9 @, v
% r3 f0 [5 ^% X h" O d* s& E
是不是需要在DSP.CFG中进行配置% w/ d4 [: f& a3 ]1 W
我现在的配置为. G; C* O' G0 f: T, I% F& E8 \5 i* [
) ]7 k- B' l5 {8 P1 j5 I
/* L9 `8 `" v3 V# f; A9 ~2 w
* ======== Operating System Configuration ========
3 c. J7 H9 m/ ]1 J */
# S) h, H: g: _% E, j+ b! }3 X! a! Q
/* no rts heap */
: e4 Y1 P/ g: j' e' c% w* i& HProgram.heap = 0;
/ v/ J) Y5 v7 Q; @3 M$ ]Program.argSize = 100; /* minimum size */, r# p% G% c. j3 H
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 k4 ] e5 A0 s& m& g
& J. P4 D+ \# _
/* create a default heap */
& @) v5 I) B0 ~1 V" ^- lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% G) X I0 F& @. e' p3 yvar heapMemParams = new HeapMem.Params();
. h, c* _1 _- v3 Z+ a) S: q) bheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. B+ Y% Y+ M- g
2 U% q9 \3 g$ G uvar Memory = xdc.useModule('xdc.runtime.Memory');
4 x: z8 X/ b+ e5 z- X5 _1 cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);# t6 Z3 d; V1 ^0 F
; c- h: e1 o- w. v: ]3 q- S v. r/* configure System module */& M0 |) Q9 @* T2 V6 u/ b: T' y
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% E7 t7 {+ l+ m" n: Q! M' JSysMin.bufSize = 0x1000;# D( v* `6 z4 ~3 u; K
SysMin.flushAtExit = false;% U# @; N+ |( R' v
( i; g; ], A# f9 ]: j$ z
var System = xdc.useModule('xdc.runtime.System');, a$ ~7 |, Y H6 z j3 O2 X' @
System.SupportProxy = SysMin;
5 b6 k4 ^$ l' J B7 d) [0 [
' J- u2 O0 S+ D6 e/* configure SysBios to use the lower half of Timer 1 */
4 }- a1 x1 i( `# e2 s, C+ [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
_; T6 L5 i0 @5 U6 Q6 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
: W3 c, z" I8 p w0 n5 yTimer.timerSettings[1].master = true;5 H( u/ R7 u* C, v" `& O
Timer.defaultHalf = Timer.Half_LOWER;
- L! }9 w7 c* N& ~. c% ]Clock.timerId = 1;
6 e1 R& j7 ^. W( t X
1 G* K( i5 k8 h+ K% m5 G
: D: Y2 S$ i$ ^8 \8 Q" K( Z/ r/*
; {( g1 ^1 ^: z: Q * ======== Miscellaneous Configuration ========
& k# a+ u. Q! H */4 {& L3 [) c) _
& g W6 ^$ n' M/ H% N: `) e- X/* set default diags mask */$ h2 q) x# Q/ ?
var Diags = xdc.useModule('xdc.runtime.Diags');8 P( _( \9 Z! g
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ L: ?& G7 L4 X% f
) X) T. Y. G8 H% u3 X2 |Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 I$ l8 Q6 i7 X0 O; [, z0 U# q7 s9 S: UDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ O4 R* `1 J/ y* q! a* _
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ U% ]& P8 _0 Q, D% V* A
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 L4 y! O5 C; z9 [0 d% B( qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* y# p4 @. g# }& T+ MDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- I1 }; @) B8 I: IDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! b- T; W+ V1 Y% W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, b0 d7 i/ W* }( R$ W2 {! s5 i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 D( x3 X- B7 z: C+ | |
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 \- S% o9 i! ?7 U+ A: F
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) B' F) }+ D- C7 oDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: u1 E1 K! @4 @* Q0 }Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! l( g9 q6 G* h6 hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' c9 g2 D s- v D
2 m. p, u5 a& D; L8 [3 x/* override diags mask for selected modules */7 s( S( G @8 M$ c6 {4 t. s+ {4 r5 _
xdc.useModule('xdc.runtime.Main');( O7 z5 C9 A _1 \& t
Diags.setMaskMeta(; F( s8 h+ Y2 R/ F2 h, F
"xdc.runtime.Main",
" N. w' m& x$ L2 V Diags.ENTRY | Diags.EXIT | Diags.INFO,8 n% j* X' D" h ^
Diags.RUNTIME_ON
& D6 `. `' W( B- O. {);
& Q0 {2 g- N2 R1 N
3 U e1 ?0 x4 W z+ Q5 f- Dvar Registry = xdc.useModule('xdc.runtime.Registry');( v$ S1 F9 \! h' `; j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* c/ r) f# q6 u& j, C) d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 B$ c% K8 Y2 i/ n* HRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 E; R: W7 N1 n% L& q/ p2 lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) |( j& T3 d7 _; ?) N8 w
4 D q; t! w( _
/* create a logger instance */0 h3 s8 {) {) N @) r
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
8 X! E& K" @. U8 b% mvar loggerBufP = new LoggerBuf.Params();
1 g) n2 ?! h' l4 H4 BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
, j1 c! l+ l* Q3 r$ m! _; uloggerBufP.bufType = LoggerBuf.BufType_FIXED;
* a' @# J& k/ V/ r- w9 q% |: [$ D3 x M
var appLogger = LoggerBuf.create(loggerBufP);* Q$ ]4 ~ S2 x) C& r
appLogger.instance.name = "AppLog_Core1";+ W4 ~0 A6 C7 b! M$ `, B) i
Defaults.common$.logger = appLogger;- _& s6 K# v8 h- w2 m; q# ^1 |
Memory.defaultHeapSize = 0x8192; / A8 C& H, V$ p4 @+ W
Idle.idleFxns[0] = "&LEDStatus";1 s3 Q) y- U/ m9 m$ A
Cache.initSize.l2Size = Cache.L2Size_32K;
# T) ]7 s4 `* {4 ]+ U/ a$ R0 n! z8 l% G7 w6 o/ N
|
|