|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 y* ]+ @3 b) @) k i7 o) ~我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- _& M" ?2 Y N7 _: u(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& v- G% x' B& {9 s! l7 T f& Q" B( m1 j( l
是不是需要在DSP.CFG中进行配置
3 A0 Q' Y. R+ s, c我现在的配置为$ v/ [) u/ P$ S; Q3 a% E( h
2 H6 |" n0 Q( I" Z9 P/*
, n, v1 D" n: m2 T6 v * ======== Operating System Configuration ========1 x6 o: Q. u$ ^) L' }; Y' U
*/
( h; ^2 A. u$ q* ?; G: e, z3 q1 p& l+ [, q
/* no rts heap */4 v v' E% P4 `8 n G
Program.heap = 0;
3 ?6 ~9 q1 N* X; I( fProgram.argSize = 100; /* minimum size */5 w* c) C4 z. z, ?9 s* ^2 N
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 \. j' d. r0 h" p# [
I/ ]4 m8 A% t" [( s$ @/* create a default heap */# p' O) y- o% w! M# o' \9 a! [
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( ]0 R' E0 d: \
var heapMemParams = new HeapMem.Params();* K+ h' x- S, \* ]: U" y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! r3 b b0 |, |' L3 u% v
3 B& ~/ H1 o# W/ I. ovar Memory = xdc.useModule('xdc.runtime.Memory');
6 T* G6 ^/ V- r* b: qMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ G4 o. r; n+ J6 I2 ?( U W# u( `2 T0 A3 P/ B/ Y( y. x" f
/* configure System module */
( O6 Q; Q Q8 Z2 f0 \var SysMin = xdc.useModule('xdc.runtime.SysMin');
6 E/ b) b" Q8 q" [% z4 tSysMin.bufSize = 0x1000;
& s6 a: k& v- LSysMin.flushAtExit = false;
2 Z# `# e3 S0 p" T4 F. Z9 W' u0 s2 `5 x1 _; M: z# B; o
var System = xdc.useModule('xdc.runtime.System');/ V0 T5 d+ E( y% Y+ P$ _+ C
System.SupportProxy = SysMin;* N! j% W% F* L4 d
! d/ h, A6 j( m3 ^3 h2 z8 u/* configure SysBios to use the lower half of Timer 1 */0 n8 p0 ` A& T* K# }* v% O4 L
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 H# }6 h* ]. e) h% V! U3 O0 q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
7 n: v% k" V( \, x- Z g* W3 iTimer.timerSettings[1].master = true;6 _. V, d2 w# ?7 E8 P
Timer.defaultHalf = Timer.Half_LOWER;/ w2 z5 X- k) `+ V3 B; O
Clock.timerId = 1;
+ H- b# v% E) T+ \: d0 u) w' T* m/ ^# Q% d, W* B) h
k/ @! K' R: B; t+ `" T/* P; V' N7 B0 U# Y) [( d* F; Z
* ======== Miscellaneous Configuration ========% m* g; z: {& ?. P1 k9 z$ ]
*/
/ ]1 K) U! T6 M y- _+ w/ Z. J! Z: k9 [9 {3 ?
/* set default diags mask */
% i, I% {0 _# Dvar Diags = xdc.useModule('xdc.runtime.Diags');/ A0 H- b* ~- [3 b% J9 }
var Defaults = xdc.useModule('xdc.runtime.Defaults');
& }5 m* Y' f5 ^/ e- F! O4 z; d" M! h# g! j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: S1 u# u& b, x" C# I- T0 \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 X' ]" A% }! Q3 |, s1 o3 E4 q, g1 UDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;, q/ t0 h' f8 ~; s
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ {* h9 f: K+ H4 z* {" r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 T) I! q/ p' g3 c+ K* {% c0 WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON; [3 ?# b# p& c) T3 z0 W. R; P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 n0 l. |/ ~/ ~8 G0 y3 aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, ]* M/ g% U% H+ GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 u1 x' t- L. _
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& J/ V# f' S9 R2 J* |+ V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* Y. l' C8 h6 A" N' M
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, x( j1 O5 M8 C; }- Q
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 b4 n" @; e% D& F0 N- w& RDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 y2 Y, ~6 d* x" z. A* s( A2 N& J' s- z" C' _
/* override diags mask for selected modules */, o k2 t* E, P# m2 L
xdc.useModule('xdc.runtime.Main');
?) x3 K/ O( C* _Diags.setMaskMeta(
, Z' A1 E0 P+ r" g% } "xdc.runtime.Main",: Z, L7 _" l/ R8 H: o5 F# Y) ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 q' v' |1 ]% ]7 V2 u2 c
Diags.RUNTIME_ON$ S# j" p4 S' i, k
);
4 A) I% {+ n# J* d! c
8 n; M0 V3 E; p6 a7 |. Bvar Registry = xdc.useModule('xdc.runtime.Registry');% Q$ i+ R) t0 Z7 |# k
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 B+ e/ z+ {3 m: k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ a- [" f5 r6 }9 I5 H
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;: ~2 D2 [& G1 j& |! U
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 p1 |8 i( C) [* G: E. A
5 u, c. `+ [3 _$ |8 P; ]/* create a logger instance */
( @- f/ p ~2 w2 R. } o/ s uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) o- {8 J$ q( z; E
var loggerBufP = new LoggerBuf.Params();2 g+ E, F- S, u' z: c! ~
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* Z( X. R) o0 x0 V3 c
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! a; N' {7 W' k+ N3 y. K; ? K: c, p6 s
var appLogger = LoggerBuf.create(loggerBufP);
0 m4 F4 b% L# A( n% x' dappLogger.instance.name = "AppLog_Core1";
8 f: K# \+ q' q) `9 @0 jDefaults.common$.logger = appLogger;% Y" e4 e+ ?0 C& G
Memory.defaultHeapSize = 0x8192; / m4 U) T- |8 S( X" j
Idle.idleFxns[0] = "&LEDStatus";: w6 m3 M2 o, X$ W% o% O% w1 t( L
Cache.initSize.l2Size = Cache.L2Size_32K;
5 C. a. Y$ w8 X& R2 c
* u0 s+ `8 Y$ C1 y* ]6 | |
|