|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; A/ Z. G8 v. U+ O8 _) a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 S) ~6 \0 x4 S; ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 c# M7 ]* ~9 `/ I: _5 p5 S* h" N6 W# W8 \, E6 L# A' U' e
是不是需要在DSP.CFG中进行配置2 I- F8 F, e' M5 @0 A8 f/ F [1 ~
我现在的配置为- U' U9 N) A, K. Z) @' I
f& x9 c$ E8 ]
/*
$ z- S" _& M% D+ m3 P * ======== Operating System Configuration ========* y& {! m3 M( c* R' `
*/+ E/ {) e: ?. ?! v
7 u; }; q0 k/ R8 X- n
/* no rts heap */
( F+ k6 T8 ~6 IProgram.heap = 0;, @" Q- E* I7 K( K
Program.argSize = 100; /* minimum size */7 W0 W( ]1 x& m1 a* g! `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: _9 H) ?5 r' ?& W: u) h6 ]
" c, L: Y- @- C; I+ [8 J
/* create a default heap */
( g: P! C3 D4 ^: E& ~( }- y- B0 Ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 V! o+ i/ c# B, n; Fvar heapMemParams = new HeapMem.Params();/ q# C' V2 r8 m$ N/ n: [, h% w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; w+ r* P3 _' a
0 q: _( i. W0 i* p
var Memory = xdc.useModule('xdc.runtime.Memory');: M) w ?% v) r9 y& E9 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 A7 B6 `( r+ T" H% p
; H8 v& l. G- A/ k/* configure System module */
7 U7 P) U. Z: Lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
4 ]# N; _5 f( _# e$ G" F' [( CSysMin.bufSize = 0x1000;$ _+ ?* J& G% ]. b# C; T
SysMin.flushAtExit = false; \7 Z; T4 {3 I0 p& k
+ A5 S8 A' Q3 g( x
var System = xdc.useModule('xdc.runtime.System');, ` H' U' d) t8 q
System.SupportProxy = SysMin;! O- g% } i$ t! V/ X- B* v
k0 }: {2 C, Y# ]1 ~; X/* configure SysBios to use the lower half of Timer 1 */9 \: C0 }3 u) f8 N
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% Q0 i9 t* t/ I U) K. x5 a/ l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' e! M, p' A& h. f ~( _1 ?
Timer.timerSettings[1].master = true;7 Z6 `3 s; U$ D/ Q
Timer.defaultHalf = Timer.Half_LOWER;% q2 y$ n0 w) w# n
Clock.timerId = 1;- q, b. Z a7 X6 l Q: z1 [: l+ e0 l
- `+ Q5 E3 I. r% _- U2 q
& `2 M' Q# j6 J4 e/*) Y% z% C& e0 K" U
* ======== Miscellaneous Configuration ========
) o3 c2 g! }) D3 O */
6 ^2 Z5 n1 n" q4 N% a( G( I Y% h# [: X
/* set default diags mask */5 n% E3 }, q' l) S% B4 R% O, ]; }
var Diags = xdc.useModule('xdc.runtime.Diags');6 e: x- X9 M2 {; x" V& B
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: E- B; F9 W' a5 c O; B6 F& u2 a) [! T1 K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' S; i& H: W/ _! c+ S
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
& t2 }7 Y5 l7 P; vDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ E; u4 N. K" z; ]Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 s- s0 x. k" E+ ]; n; o# J- j! E
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
G! c5 R# V7 V! J- ^/ BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' C3 c5 J+ x" r9 K* H6 h% _1 m( e# ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 a X# H; {4 U# C' sDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# M; F& J( g0 n$ @- j* _( aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ i! k& j3 ]$ y3 ADefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
y( l" P. o$ i/ E! c% iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: s5 j$ B4 d) X; iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# k( C+ u6 \$ e7 Y7 H& t2 G5 Y1 d
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;: ~- v. p4 C; }% G5 f
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 A& b8 ?5 F7 q8 C% a) n' r! j" @; ~# _ n$ N9 i$ W. t! G. g6 L
/* override diags mask for selected modules */
% K: n, d. ~* |8 k8 @xdc.useModule('xdc.runtime.Main');
, J, T1 I' ]$ B8 c! Y) q3 @! MDiags.setMaskMeta(3 G' g4 b `4 X& N+ n
"xdc.runtime.Main",
2 }7 r$ E( S$ y) V Diags.ENTRY | Diags.EXIT | Diags.INFO,
( m, i; ^- a6 r8 L4 p" I Diags.RUNTIME_ON. k" L$ m! b* s# |5 z# ~( B
);2 U5 ?5 G: N! R3 c
$ [( O6 \. ]; P/ Ivar Registry = xdc.useModule('xdc.runtime.Registry');
6 y o0 w/ c+ w7 D) E& ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 @( X2 z0 l J5 K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ [7 N% @3 ?2 U0 b2 KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ H6 x) ~4 _% i. ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- K8 }' X: W# Q E
6 S& E# U# H* G, a
/* create a logger instance */9 S2 K5 ?8 \0 C( i$ e
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ P! b8 U7 C2 q' J9 l
var loggerBufP = new LoggerBuf.Params();, K! b0 G+ F! Y. R
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& d) g$ W5 _: i) [) T: sloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& a) `" Q: c3 o4 O( U% F9 [/ Z& ]% U) u2 x. [! C
var appLogger = LoggerBuf.create(loggerBufP);
8 v+ [% U# n& g/ K" q1 \5 rappLogger.instance.name = "AppLog_Core1";; t" a( Q, ?/ C
Defaults.common$.logger = appLogger;
& I0 y+ R4 N @4 pMemory.defaultHeapSize = 0x8192; # Q8 t6 d: r/ }$ S7 e
Idle.idleFxns[0] = "&LEDStatus";
e& r# A, n7 x& q' W# Y# S/ ^; C, k2 ?Cache.initSize.l2Size = Cache.L2Size_32K;
- }0 c: ^! R( i9 z- |
3 s! R9 g* \! ^. ^3 n | |
|