|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* L0 U0 N7 N$ R' {3 R
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ F# Z$ g- N7 V: t: q" @(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
$ E& r( j7 q% ]9 {0 z3 a: {, L% r" I; [- N% i) t# B( {
是不是需要在DSP.CFG中进行配置, Y- p' X6 [! h/ S
我现在的配置为
9 H6 a% ^2 {( ?4 z: ^* w
5 p, f$ \# I5 r. K- T( Y1 f+ r/*
& A! }: G) w9 B2 y( X * ======== Operating System Configuration ========
9 n- Y8 I( I4 `* e */. a+ B' H4 x* K
3 j" |" c9 d7 k9 {7 G
/* no rts heap */
! F: q( k2 Z* F, N9 s% l4 z+ dProgram.heap = 0;& M( ^* m+ I. Z' C9 `/ U
Program.argSize = 100; /* minimum size */
6 \ u/ ?9 x& J$ n+ x+ r' PProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; ]; M0 ~% @0 m9 @3 V# v& r
9 h% F- H2 i1 W4 [2 I" y# d
/* create a default heap */) u* C; Y# S6 {+ _* C
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( I5 T9 U% o. B* n
var heapMemParams = new HeapMem.Params();
( N6 l9 _7 {0 h: j) f+ HheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大2 w4 k4 c) Y% G9 G
1 A! n" W2 y$ P) \5 `( Tvar Memory = xdc.useModule('xdc.runtime.Memory');
3 [1 s6 k" Q/ z* J$ HMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
. t2 l% l: X1 L
( U6 C6 M! H! Q. o% h3 C/* configure System module */6 y0 R" R+ T* Q N- U. f$ ^
var SysMin = xdc.useModule('xdc.runtime.SysMin');) e2 T+ U3 O# o% P' I+ C
SysMin.bufSize = 0x1000;1 R3 u0 ^% k1 ]+ z! V* d! e( l8 ]
SysMin.flushAtExit = false;
, s F2 ?& b# _. y6 f2 p! T o* N" G; G+ u+ y4 g& W8 [
var System = xdc.useModule('xdc.runtime.System');$ g, [+ M! b- p7 I
System.SupportProxy = SysMin;1 B- A' C. I& } e# o$ s: S
/ U# U) o: @5 @; |4 a
/* configure SysBios to use the lower half of Timer 1 */
8 ^- c, T9 B2 J3 Kvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 ~9 C7 A: x% b6 \% jvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
. ~% U }! P7 RTimer.timerSettings[1].master = true;/ u& Z1 Y$ I3 M: P4 C6 c
Timer.defaultHalf = Timer.Half_LOWER;4 P7 b5 @$ C; j$ E/ q
Clock.timerId = 1;. p) F. s( ]+ W0 ~% E
; C! k" q2 F. w2 ^7 t A/ o5 I9 V4 ~' l# S6 N$ J" O
/*
! |3 b9 i. L" N# B. u * ======== Miscellaneous Configuration ========
$ n/ q) ]5 s- o0 h0 Z */
- U2 ^) \+ T) x; L
q% |$ j! I2 {( a3 n! E! F3 v/* set default diags mask */
3 s6 ]( b' \+ E4 ]# fvar Diags = xdc.useModule('xdc.runtime.Diags');
: D$ g R/ G2 @" R! Dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
: L2 R/ U/ i% e O+ U; c0 m
0 }- `" b8 i! vDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 n* t: |- V4 }5 v8 g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, X5 ~. B) ]3 t F- y' e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;4 ]- B5 [# `" ]* O( h/ o0 O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 a/ N5 S; s) y4 j% W1 j5 FDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ @6 `/ f3 g0 |5 S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 t" I" D+ `% D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. z9 [0 z5 r1 a( }6 u- k
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ I$ [: x6 [& R) m; YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;0 V% p7 m* ~. b4 _* i$ `1 P
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 R+ {4 j4 |- S7 D) F( W
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ f4 N; p2 P: V/ L! o! FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 ^: ?4 E7 H$ k5 n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* p. ^- k5 @$ N' o' x* h. G! P2 rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 z: w* o. C0 I, o1 t, V
8 P! `3 Q$ J _, r+ s6 L5 B8 i/* override diags mask for selected modules */
8 i8 y, t* R4 k( exdc.useModule('xdc.runtime.Main');
1 p f# F8 o5 Z; o: \, X/ TDiags.setMaskMeta(
- G# v7 k2 l. G/ B" k "xdc.runtime.Main",5 ]/ i8 h# g) i* d
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% N! f, u- g8 y9 Y r Diags.RUNTIME_ON; V! B$ h* J7 B% O0 x n) ]
);
( v' g: S v) X: n( \3 d5 x% W
1 u) E! u% C/ E! v+ }2 b7 Evar Registry = xdc.useModule('xdc.runtime.Registry');9 w! Y0 P: L o; C0 `7 R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. w; t0 c$ |0 ?1 {; x0 ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
A! V* b8 |: KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;4 f) Y+ p8 a9 ] N6 G
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;* `5 E5 b. w; k% r$ ^
# c0 ?+ i0 ]9 p/ J9 O; S6 g8 y$ X
/* create a logger instance */
6 _4 D8 u+ V( `5 T( X. \2 j4 Tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" o/ R8 Q% h' y. e+ H* B' G
var loggerBufP = new LoggerBuf.Params();
9 F2 M0 Z# n- Z& j+ n- RloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
: \: K& t* j5 t; hloggerBufP.bufType = LoggerBuf.BufType_FIXED;
& C: i, x& _- p; b; L
0 C$ F* w4 b* A+ V( xvar appLogger = LoggerBuf.create(loggerBufP);
# p% D8 {: v% U1 u( z2 ]/ BappLogger.instance.name = "AppLog_Core1";
8 c4 L, b+ c! W uDefaults.common$.logger = appLogger;
0 @, N6 p1 Q3 q! _7 CMemory.defaultHeapSize = 0x8192;
. k/ i+ R8 w7 o& gIdle.idleFxns[0] = "&LEDStatus";- @' v7 x" D6 K2 C! n
Cache.initSize.l2Size = Cache.L2Size_32K;
2 z, z* J! u, A; @: V0 b
" T5 S6 K) k; O/ W1 x# g1 c |
|