|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, B8 [* Y/ T% b8 h" h2 i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- c) u* l' c4 e3 W3 J2 A# i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" e' J% O# _7 U; z+ k" t
6 T1 j+ _9 G n& f5 o2 `' m是不是需要在DSP.CFG中进行配置8 Z1 z7 r5 y- T! r5 B
我现在的配置为
/ g' w- G* O: L% {+ o) A! `8 c5 S/ P# V- e( a
/*
5 }: r4 r! _6 {, X1 r2 A' H: q r, e * ======== Operating System Configuration ========
9 |* {! D; v- ~: E */) [: Q& Q+ b9 Q; T0 ]3 V" v; E
- D) I" ]" u& u% d/ p5 X- Y6 H/ [/* no rts heap */2 ?: n8 e, \2 Y: y5 o2 {4 k$ ?
Program.heap = 0;" |, ?2 Q8 h* o3 r% R9 \1 N) o
Program.argSize = 100; /* minimum size */9 Y: I- a- p0 w# H; c
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. j4 k0 `* V& x9 N& U* [% { j/ m; F
/* create a default heap */ r' o0 J) P; z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 n0 C4 ^: U7 R/ Z7 ]
var heapMemParams = new HeapMem.Params();1 W D) [6 F, Z5 y3 F2 R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ k( |4 i9 R. @) w. p& M& `
0 u+ l. Z+ C* p' E" O
var Memory = xdc.useModule('xdc.runtime.Memory');2 R. m$ Q/ `4 \' Y, F! G
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 j; T5 E7 `& G' ~ U
0 n/ p- r9 Y* E* B( Q) A/* configure System module */& m* x1 R) O- }" q, u" N
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 x7 X ]/ y% l, g% X
SysMin.bufSize = 0x1000;
. @) d) B2 G; @4 n* USysMin.flushAtExit = false;; ]: w& v3 |$ j0 b
+ g( x0 z) s/ o* q* L3 K/ uvar System = xdc.useModule('xdc.runtime.System');# }: Z% V! N: H8 ^( }: F
System.SupportProxy = SysMin;
: p. K' V' r R5 d7 ^' [2 v/ u. ]0 L6 n7 o' P' A2 ^( y) A- A
/* configure SysBios to use the lower half of Timer 1 */, y* |, Q3 R! F+ H" u5 B$ c' [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! J. J! j! q$ U1 u' {; Kvar Clock = xdc.useModule('ti.sysbios.knl.Clock');$ T$ R( N' q6 ?, p, L- ^
Timer.timerSettings[1].master = true;* y' B1 y- j- I+ s( a: `
Timer.defaultHalf = Timer.Half_LOWER;
7 W5 p u' d! ^; H Q/ ^Clock.timerId = 1;, n: b6 a; s$ r/ A
0 E/ h7 U, {3 s+ ~. |- }" p
9 }2 k' ~; I8 i/*# a6 u6 q% V# j9 D" k
* ======== Miscellaneous Configuration ========/ t+ ]1 p7 \9 q6 [
*/
9 x" _) Y2 q, m. d# J, @5 K" i
# Q; s: ]' F8 c5 W9 C) R/ m# k6 v/* set default diags mask */
2 [3 l+ o) k" ~1 w% I$ vvar Diags = xdc.useModule('xdc.runtime.Diags'); a" U+ [2 b2 H0 h1 I5 L
var Defaults = xdc.useModule('xdc.runtime.Defaults');
* J7 Q8 Y8 d: j R P
$ ^0 K/ k% l7 p' ]$ O. Z' ZDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- G3 [4 O& g; Y" z# C5 `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! X5 ^. I; ?% I8 O! S. oDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 e& [& l9 S7 e% s2 G+ G% H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- P" F) G: r& h0 I; IDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: ^7 e# K9 x1 r2 D+ fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 g+ G; Y; X9 h; N. O7 R; Y1 K0 EDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF; ]* k% i! x! L! j) F L
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 m6 W9 [3 a8 r: j0 Z$ M7 I2 tDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 t4 a- G* ?# ~+ M9 J6 z/ D9 XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' ^& U6 i V! U: o+ Y* Q' B9 e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
X7 X- b' C" A+ dDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) H# b. Y# |9 A6 D! L7 s% C6 \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;% E' a! V- L( v7 C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& U7 b) @0 `- x$ N3 u$ X# B, E
( ^3 |+ r8 a! e& V% O
/* override diags mask for selected modules */
4 Z" H5 X! P/ N. Rxdc.useModule('xdc.runtime.Main');: R' [, w% H- u0 D3 X3 J" L: @
Diags.setMaskMeta(
7 j- Z$ b, ~$ S+ f4 m& y/ f: s; y "xdc.runtime.Main",
. c- w* i1 f \' u8 w! Y$ v$ | Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 @ V' b- L j% O Diags.RUNTIME_ON$ n! R! X; x7 D, `! N
);
" @2 y7 N# C0 b/ E, P* q+ |
& ?( C7 n3 [9 @& Fvar Registry = xdc.useModule('xdc.runtime.Registry');8 h# u9 u( r4 C9 s
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
I4 e H7 g8 U3 ^ x$ z3 uRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 k3 t) i) m; y! S# y3 b8 ?
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
4 y4 O- d, b3 D+ Z7 x" h. o& LRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) }* }+ t7 J+ |
8 `5 h5 l7 |& T6 _2 s
/* create a logger instance */, N: S) S: `4 _5 N
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
+ v9 U( T3 b5 l mvar loggerBufP = new LoggerBuf.Params();
8 S( Z5 e& r1 }; B! IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( ^6 Y1 o. N- x- r
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 K) n! _, ~# W' H, c8 a8 j R9 Y
3 C- h# k% g5 m1 O! o6 Y5 Vvar appLogger = LoggerBuf.create(loggerBufP);
) @ B7 p" }# [& BappLogger.instance.name = "AppLog_Core1";: X! @9 `9 D5 R' _! v
Defaults.common$.logger = appLogger;
8 {. G9 C9 U: q" F' \( d9 L5 V0 ]Memory.defaultHeapSize = 0x8192; + K0 V4 z8 g7 p u
Idle.idleFxns[0] = "&LEDStatus";3 a4 s( t/ F8 {* D: G0 A
Cache.initSize.l2Size = Cache.L2Size_32K;; n' ^' Y( b1 L
5 r( z6 D( l# _# J L |
|