|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 _4 N' q' m- v' A/ ~) [我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# m# d! C9 [% }/ ]; M! @(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( {# o' c: Y2 r, A- {# a9 l
, }7 `4 p1 V& r
是不是需要在DSP.CFG中进行配置( X7 f P, @0 h* P0 P+ o# y* M
我现在的配置为
# g; n" A6 E, _+ Y3 X
& d3 n- j5 y. j+ f- A/*+ P6 C1 b/ ^# N* ^
* ======== Operating System Configuration ========
/ w0 m/ e. q# J1 e */) `9 L) I k* O* N5 N: _3 B& O0 _: T
# N8 s2 s/ K+ N! |9 G/ _1 }8 I. K/* no rts heap */
8 b. m4 t% y4 Y$ BProgram.heap = 0;
0 l+ j! B4 o& T% S" m$ T' wProgram.argSize = 100; /* minimum size */( Q7 ~9 [; M! m" p7 p, S
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 ^( y2 B4 }, ~" v; Z* i
i' {8 o1 ?) _' ]$ ~: M/* create a default heap */
7 S$ @1 @& W+ D! Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% u% N+ `& C( I6 V4 c" O
var heapMemParams = new HeapMem.Params();
6 q- Z O; n" R) p; @; CheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* {" S+ F- D# y8 ]% t0 [# Y# \2 X# Y: }% l9 @8 q
var Memory = xdc.useModule('xdc.runtime.Memory');* J' Y$ ^. D; X/ u$ [ b U
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* e. L% {4 k( I; l/ B/ b4 t7 k1 l4 X0 o5 e0 F$ f5 K
/* configure System module */8 c% U, M0 H% l& z2 P0 s
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ }% {2 S! ^, U/ \+ H
SysMin.bufSize = 0x1000;1 l0 K0 P8 N$ }7 X
SysMin.flushAtExit = false;
' p9 \5 E- \% I/ q! A
' H" L" I$ o7 A# m- Hvar System = xdc.useModule('xdc.runtime.System');
4 H K& D1 j) N, GSystem.SupportProxy = SysMin;
3 F) ]% b# U7 s* [% j9 ?# c9 F9 `1 B0 g
/* configure SysBios to use the lower half of Timer 1 */
8 N& J' V9 M& @$ g9 ?0 E& Dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 ? a5 L- F3 `% l' M- d. U: Z1 }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# F+ m2 s Q+ @. Z/ h& M5 aTimer.timerSettings[1].master = true;
5 v& C0 J/ z- R& q5 a) s# q1 a* \0 {Timer.defaultHalf = Timer.Half_LOWER;
0 A, r# B, {; Z: xClock.timerId = 1;' M i- h+ \ r3 \ ?9 v5 }- o1 W7 \3 U3 ^
% W. c. x- P- M1 W, i# g: R- ~
* Z/ a4 Z: B2 |' f ?
/*- i; n, q! q! }
* ======== Miscellaneous Configuration ========3 q9 d1 S/ q- B9 q4 F4 _+ M
*/
; q* p4 G3 ^2 Y0 B+ x0 D1 d% M2 [) r' s! U0 I( @7 K
/* set default diags mask */+ B( I. I+ Y9 w( Q; D- I8 e$ Q7 `
var Diags = xdc.useModule('xdc.runtime.Diags');' K1 C- `+ K9 Y! Q" @
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 F7 c/ V7 `# o$ b" m
4 L' E' ]! ?# @$ e3 D: g# PDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 `* @3 U# }/ V, q3 B: n" Q0 L
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 H4 j: _7 y, {. b" N2 n9 h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; _: P$ y: T% _/ E# a. RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 @: _5 h( {* l- N& W4 @+ }' _Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
C1 T, O7 P5 E) Y3 g gDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: [' \8 I4 e3 J& g3 g4 U" j( }
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 w& G4 Q4 M' b `' C6 F
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; t }) r% s2 P
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& }$ Q' o! |/ J0 F
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 Z& r+ R- R' ^/ d- o
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* z8 \! B; X" `* P; |; s; f8 z3 nDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, P/ Q; z" v$ f9 L9 H+ ^$ Z% tDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 r1 j& i' I' Q! {; _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ k' \' m& q) P1 m, I; t5 r# H" F( c% ~
/* override diags mask for selected modules */
6 y$ _5 N2 Z* F+ M! V8 f( cxdc.useModule('xdc.runtime.Main');9 w) U# O( P T& E1 R
Diags.setMaskMeta(
# L$ I% X% {1 ^ "xdc.runtime.Main",
( [0 W6 I& n8 y* ?. I- b Diags.ENTRY | Diags.EXIT | Diags.INFO,
; L' t) n' E7 j. E# m! w% \ } Diags.RUNTIME_ON( D e; R( A( V; |
);
6 O! k, E6 N6 l1 m: }4 \9 u4 Z$ @9 {) |: u) v2 O( K6 Z4 \5 S& Q/ e
var Registry = xdc.useModule('xdc.runtime.Registry');
. g4 B' w/ ^1 \4 j: DRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 a$ ]8 g) ]$ g; s4 o" X* c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- a; ^2 p4 G7 _0 _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;9 W$ {4 G6 p! N7 t }, t! M4 A, @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; h0 f D9 _0 f0 m( t6 x ` J
7 @6 {% c9 _ a* s( r0 O/* create a logger instance */
( b( u f) w0 ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, V% k0 i$ E) s, j: d2 y" |! Y. y$ pvar loggerBufP = new LoggerBuf.Params();
7 |0 h3 \( p/ l# N+ H( r2 xloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 u4 m3 N) s; q( X8 uloggerBufP.bufType = LoggerBuf.BufType_FIXED;( }1 k8 g1 Y# m" p* |0 @6 h6 b
4 u5 ], H" Z1 T/ o
var appLogger = LoggerBuf.create(loggerBufP);
" Z. l( j! _8 A6 e0 ~0 h9 K- ^appLogger.instance.name = "AppLog_Core1";: \9 P8 \) n" C7 Q" z' A% T
Defaults.common$.logger = appLogger;! j E& ]& o3 K% a' {
Memory.defaultHeapSize = 0x8192; 5 }" }# \- x' l
Idle.idleFxns[0] = "&LEDStatus";
3 k. z" s* Y5 c% H* b$ T6 QCache.initSize.l2Size = Cache.L2Size_32K;
N* x" t5 X4 p( M# @
" x* O& u9 d% S |
|