|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明! @ s$ k: s/ ^' l& N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 M$ p( \* `1 |! G U
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 \- o# J- i0 S$ q' s/ k# J9 {
+ H( c3 a4 D$ V! a# Z i是不是需要在DSP.CFG中进行配置
; ^" Q" }0 m0 R我现在的配置为
% @9 M, N. k! [5 L: G4 I+ ^4 r: {' @& o. O) \. Z
/*# l+ C; |6 Y1 |" P3 u5 q3 N) _) `
* ======== Operating System Configuration ========4 q0 p0 O5 v5 @9 j7 s$ I
*/
2 }( o5 L0 e3 F7 t( D6 i) }& m5 u4 j) C* i9 s F6 w
/* no rts heap */0 K$ o: U8 U2 \) f$ R( f2 F$ i1 v
Program.heap = 0;0 n0 o( f5 b5 O: E( T! d, e
Program.argSize = 100; /* minimum size *// z- u- h0 c" v( W+ N3 a& P6 j. M; r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 x# x1 J" l. S T
3 Y4 u9 I/ z: L# D9 L- g0 S/* create a default heap */
" E7 K# k% X. Z2 N% jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 W2 A% i. l8 r) T8 ~5 U) f
var heapMemParams = new HeapMem.Params();) A0 F1 M+ t4 m/ _1 @: Z- {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# H$ x* T2 q& H& J8 E+ k4 w
$ L* k: H! \; E' Uvar Memory = xdc.useModule('xdc.runtime.Memory');
$ ^4 }$ ]( l# @- M9 sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
. j& D! E! B) D( W S
- h$ L3 t. ~6 v/* configure System module */2 A; o3 o1 ?, g
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; _" _; V. b- I1 n e7 s7 ]( T5 n, ^SysMin.bufSize = 0x1000;
+ Y, s1 J" \" xSysMin.flushAtExit = false;% r* i B: j. r. {7 C
, q: ~9 t, S% k' n. m6 Xvar System = xdc.useModule('xdc.runtime.System');
2 ~) K5 }, U, c5 ]) q1 e: o( wSystem.SupportProxy = SysMin;
- F7 J( ]# S, P. C" D: ]+ q) y. T' S1 Z$ o* e% }7 Y3 D5 k- F z( K/ j
/* configure SysBios to use the lower half of Timer 1 */1 S0 [3 E o- [% U" x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( F5 Y2 \8 w6 Y$ X/ E
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 t3 X) ?4 ] _( {. K& P
Timer.timerSettings[1].master = true;" Q( J P: d) u, n& j- O
Timer.defaultHalf = Timer.Half_LOWER;( U# l7 j4 f7 N' ~! A
Clock.timerId = 1;9 y4 P5 R" H0 \% ?
- n( ]% A* u1 A' G. X& ^
" h' A6 t9 i# \6 V D/*3 ]+ u. ^) @; V7 k" W& P& L2 I
* ======== Miscellaneous Configuration ========
/ d# w; d) o" z5 b4 u0 B3 H */9 i6 d$ @4 ? y2 T* o; g
9 Z* e6 A. L" p k6 G6 Q4 C M/* set default diags mask */( l8 D( Z$ H2 A' P( Y
var Diags = xdc.useModule('xdc.runtime.Diags');1 X( _% q$ D0 k4 T; m& W9 w
var Defaults = xdc.useModule('xdc.runtime.Defaults');
c! u; |; j5 |% r: H/ u5 f6 [- `" U5 d `' ^+ H) k
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
H% e) w/ j% F2 TDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- e+ D2 ?/ }" I
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" t* _- b) M. M' a# [4 j% U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 D1 c9 y; `* r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- F+ P* B1 K! v8 T+ q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;- B5 L6 e! b' q* K( s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 v5 g" `5 q+ A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* a$ t( t n- G7 B
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
1 o+ k5 s" Y% }3 `0 t, Z7 zDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 k( d/ t* r8 h! G9 ]9 D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 _3 Q N& j3 x4 N* {( h, @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' O6 M& U: C( S4 {; C+ n$ nDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 u8 ]9 f% M6 QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ K- j( {# T" b7 n
/ y# [1 \$ H5 Y0 H0 O& ]/ O
/* override diags mask for selected modules */9 p; W+ n o9 Q- B/ W( u& v" h
xdc.useModule('xdc.runtime.Main');5 Y" g# A) |7 q* H/ J+ i6 d" D* o$ d
Diags.setMaskMeta(9 m: N; H; K8 T! u6 f
"xdc.runtime.Main",
/ w( ~- w3 T3 g) `6 Z' G2 K* G! t Diags.ENTRY | Diags.EXIT | Diags.INFO,
" `! v4 N/ X o4 q, | Diags.RUNTIME_ON
, W% O. n9 f$ R7 Q* y1 S" I4 Q);4 n) [7 }* N" n/ d
/ T, y3 D q) ^, Y3 b) g$ bvar Registry = xdc.useModule('xdc.runtime.Registry');
7 y3 G7 O2 h# }) c+ W! b- n) FRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 @6 G7 Y9 v( l& [* S* {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ f9 h# C) b3 I" A( C( V6 |
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- a# W1 x" @8 T7 h7 M6 f: qRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 _! Q# s: }9 y5 g: q
- c' f5 F5 X$ a5 g. @4 _9 D a$ x/* create a logger instance */4 {; `' B* W4 e' {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 N0 a/ s8 V$ j6 Z( ~; xvar loggerBufP = new LoggerBuf.Params();6 x# E& o* d8 H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 W+ f2 ~, P: R8 t- `8 ^& i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ n: d8 W- J2 s; k6 A$ i+ d i1 A) O: |" F3 H
var appLogger = LoggerBuf.create(loggerBufP);
6 B1 f- r8 S( CappLogger.instance.name = "AppLog_Core1";" H! m& y0 k- @% C" k2 o6 A: E
Defaults.common$.logger = appLogger; A4 S' l( D# B! v+ Y! M
Memory.defaultHeapSize = 0x8192;
6 a; [& _! q" R" rIdle.idleFxns[0] = "&LEDStatus";
' i; r+ t8 T/ i* U) {Cache.initSize.l2Size = Cache.L2Size_32K;
" O4 Q- R* f/ B9 ]
4 I+ Z# o, T2 z8 X; [/ B: _3 U |
|