|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 G9 w: B+ p% q0 h; C) k
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下6 L; g" _$ r( m/ ^5 f+ }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ M! m/ v6 u3 \( t0 @% C
& M4 h, ^7 _2 ~6 A ~; H
是不是需要在DSP.CFG中进行配置% C4 ~+ G5 {, c$ h
我现在的配置为& k, E) G" S0 a2 A' W l r& F' W
& B9 h" e6 X4 V8 D+ {5 Q/*( `6 o2 I6 z% g6 p& v, l
* ======== Operating System Configuration ========1 q! \1 {6 P) u0 O* E) I, M
*/# f) z) w) [$ Z! Q8 E3 U
& h5 c( t/ u+ M* ]/* no rts heap */6 R! ~- W/ o [* L
Program.heap = 0;
5 b% A/ r) G$ b& @1 z2 n iProgram.argSize = 100; /* minimum size */
6 K" p2 d' s% i/ w) n3 V: b2 dProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大# F# K! K1 c6 D0 \7 s
4 r# D+ o! u3 Q! J: G/* create a default heap */# _5 w; B0 a" C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# u0 v, j: x" I! M/ N+ I% r5 ]var heapMemParams = new HeapMem.Params();
7 [1 p5 ^) B( u7 DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& ^& F# ?- @0 R
; X7 P& t9 p) _- S: Kvar Memory = xdc.useModule('xdc.runtime.Memory');
( w) [5 d3 g. L# RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
. _) Q; b9 L# F" H* Q5 J. K; _: @$ @7 o' a3 y
/* configure System module */1 ]& a% a- w) S
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 c" A8 h! {0 C \4 T
SysMin.bufSize = 0x1000;9 \6 d1 q) f+ G- E
SysMin.flushAtExit = false;+ w( t7 _' t1 a6 R7 m: K
, p9 g8 h/ N$ ^- v$ m$ [" K: Y
var System = xdc.useModule('xdc.runtime.System');
' s9 O" N/ J8 @. Z. J' U* d* QSystem.SupportProxy = SysMin;1 a) z0 f/ F6 h1 q2 }1 M
' m* ]! W' v/ Y3 u
/* configure SysBios to use the lower half of Timer 1 */
9 B6 S: i7 p& b) o! k8 E( e- Zvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, E& @/ H5 |/ r; Y9 G4 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');" v! U M* f- V0 L: a
Timer.timerSettings[1].master = true;0 a; b1 s+ J5 v2 c& x, V
Timer.defaultHalf = Timer.Half_LOWER;
! t P& j& W' d& M1 YClock.timerId = 1;6 T/ f: U5 P% p
, z F' s8 ?3 r. I
6 Y7 h9 Q' v1 J+ p& Y/*
; [0 u" T/ P% Z1 A( u4 r: z, G J * ======== Miscellaneous Configuration ========
- n- d! W/ r0 L. B% z' i */
4 ]1 J2 X5 u8 f) m$ ^( I
" O: T& M: ?& ?! A* P' v# d/* set default diags mask */1 F3 Y8 B6 C. S
var Diags = xdc.useModule('xdc.runtime.Diags');
. E: x3 ]9 ?/ y6 J! W! z5 svar Defaults = xdc.useModule('xdc.runtime.Defaults');. _" o; M/ C# K0 V0 S
* K2 a7 p# L& t DDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, e0 t2 k: w5 E3 t. q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 C$ ~/ O0 ~/ g0 gDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% k) W5 l) M$ e( d( j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) |3 |% W$ w( R; O) n' {; aDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */% R9 C! Z/ i) k# N8 t X
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- A5 C1 H) ], h; |' n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) N* t- a; t6 O% y4 A5 y0 H- F- ^Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* [* P# o. O) k0 B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! S5 l7 p! ^9 V4 C p" y& I: r
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 u- r" w; [) k
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 A, n3 n: Q' }: ]Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 }) s1 H6 A2 a& v# o$ F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" N) O; ^" t: g8 u C! `" RDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 W0 h7 A' |/ T1 W0 J* ]
, t% Y1 P# G* v* D2 U
/* override diags mask for selected modules */6 d6 Z; t- Q" C) s3 l' I2 Z
xdc.useModule('xdc.runtime.Main');- `+ j- L! G# ^4 @- R6 Z) @: Q
Diags.setMaskMeta(
; j2 f% G2 c0 ` "xdc.runtime.Main",
' P6 ?; V/ z3 M: l& ?. K8 | Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ J/ x7 j2 H9 ^9 L6 f; v+ B' f Diags.RUNTIME_ON
- K; i$ o7 D( u+ [ d( O5 N);
3 t/ t+ e1 z. I! i, M1 r
5 k& G$ b7 A& L; @var Registry = xdc.useModule('xdc.runtime.Registry');4 U3 e0 Z \. ]5 X1 u3 O0 O
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 }0 L" `' w; `1 j) c+ U- O) x' zRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 `8 B( Y @5 O8 f, ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" i; {) ~2 z9 O, o0 R0 xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
. b3 N- Z: l+ r" p! o! L5 X, b
+ t! N6 {' w' K9 ~5 H+ e+ u2 `/* create a logger instance */
* P9 P* F9 q. a& t, j6 m4 Wvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ B+ X8 O9 r ~9 Tvar loggerBufP = new LoggerBuf.Params();$ z2 Q' [& z# ?( m. g5 p# W
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 m' f% S" X1 A% X, CloggerBufP.bufType = LoggerBuf.BufType_FIXED;( O3 a+ o. P* C" F( Z6 n: \
- M8 q' A& h ]# ~
var appLogger = LoggerBuf.create(loggerBufP);% U! d5 X8 Y3 G4 b4 E+ }8 a l
appLogger.instance.name = "AppLog_Core1";
0 U" x# q6 F, G! g' ?Defaults.common$.logger = appLogger;
" Q5 B- Z/ u4 d! k$ C# QMemory.defaultHeapSize = 0x8192; ; W6 k# m( e# A8 w
Idle.idleFxns[0] = "&LEDStatus";
/ o5 W2 y3 j) _& I! RCache.initSize.l2Size = Cache.L2Size_32K;
& r, w* I7 [" ~4 P) w7 }
9 M0 M" Y" b4 G; X2 r5 y- B |
|