|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% o( X6 g/ d' Q5 G% M3 x$ d% b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 W6 n e1 p7 n. x$ q/ l
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, q+ q R& S! N1 ^4 m$ u& Q/ `+ y2 N% j8 g7 S+ j
是不是需要在DSP.CFG中进行配置0 d3 t& U& m z U1 i' v! w
我现在的配置为2 D' n) M, r, o( t
! f0 Y/ S5 E; ^3 C
/*
( K! {( @9 h7 \ * ======== Operating System Configuration ========
4 p6 C# A, x! _8 r- c& }* B( g */$ S- K: J' m: }( u8 H4 S( j
2 _, V/ U W0 p0 b8 K3 q3 u/* no rts heap */0 S9 f) w3 N2 D, f! g3 M
Program.heap = 0;! E% L4 f- w$ v4 J
Program.argSize = 100; /* minimum size */5 M$ A& g9 I1 c. x& G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 q. ~0 w( w3 J9 B& a! O, `, _) s! m' P& [2 q
/* create a default heap */
) s( X+ F& [1 G( d5 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
* N' u2 n9 A$ `var heapMemParams = new HeapMem.Params();+ W5 d( y: o; s! r% J( @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 z' y/ a. ?, s) {2 x+ U% P9 S+ U9 H/ @: i
var Memory = xdc.useModule('xdc.runtime.Memory');
, ^) I% ], }6 v. uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; \7 l4 Y1 y4 g4 y! _0 e! A# ~( n" x3 ?
5 S$ i P" e2 f) k* t' a; ^. C, F7 H/* configure System module */
6 l# v8 m; s* e ivar SysMin = xdc.useModule('xdc.runtime.SysMin');6 m# d1 o. v+ \6 F7 y
SysMin.bufSize = 0x1000;& N, R; e$ R1 W: z( Z S6 A l6 |3 q# B
SysMin.flushAtExit = false;9 F0 O8 X8 F. G/ y8 W% E
8 j1 s) F9 {+ K5 U6 E
var System = xdc.useModule('xdc.runtime.System');# G- \; Q5 E/ [+ r7 C% G/ K, R# [' H6 g
System.SupportProxy = SysMin;
" T& I/ Q" Q! w) ~3 k+ h# \5 P/ n- [$ ^( E. X: g: a
/* configure SysBios to use the lower half of Timer 1 */9 p2 u; d! p' z$ J+ y1 H: g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 Z% o3 p$ a; w8 u5 g/ Cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 b& e% m" J! m4 g, b2 m# hTimer.timerSettings[1].master = true;
X9 G* p( D' W7 ~& KTimer.defaultHalf = Timer.Half_LOWER;
3 j3 e6 F- h! h2 P4 M4 M, B1 CClock.timerId = 1;
" f/ Q0 ?7 e% O2 V, M3 n! g7 M2 c) L) L
3 |% j# W! X8 Q% B$ c
/*
! k, ]% w; v) t- U$ t! p * ======== Miscellaneous Configuration ======== d' p' V, c" _
*/ Y+ j7 O8 A6 r6 D% w4 A& I
5 I0 b5 {; J) K' k
/* set default diags mask */
( a9 C- ]4 z" M( `( j' u+ Avar Diags = xdc.useModule('xdc.runtime.Diags');
+ `) z1 @1 C! z. |var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 y* e q( L0 @ W; E! T, ~- a, j' `$ Q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
! n. c# E- T; o- S, a6 SDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;2 c8 I, J/ R+ l; E3 E& b
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- Z( k* v1 n& O* i) CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 x" h5 g, O4 w% [. tDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, r% z% m8 B1 D- S' WDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ C2 `, i) D( o
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! R) R! [! J+ U7 r% gDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, d* l; l6 L2 a# A% Z- O+ n' R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, |+ U' S$ ]% ]
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 \( M( ?3 E& z* o. e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 Z/ _5 f% s' ~: SDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
^1 m1 f. f0 Y( dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! J; @( c% s4 G5 h" Z& o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 B; k/ k9 j0 U. w V8 b" ^
, o- _# o5 x2 n( o$ c# Z/* override diags mask for selected modules */
8 f7 T$ |2 J" wxdc.useModule('xdc.runtime.Main');/ k( H1 Y1 J$ U) H/ \: J
Diags.setMaskMeta(" D7 u6 D. U. \5 y5 S
"xdc.runtime.Main",0 H' }# |: ~$ x; b# N5 o
Diags.ENTRY | Diags.EXIT | Diags.INFO,8 ^' H2 b; `6 s. J3 S( `3 z) p
Diags.RUNTIME_ON1 |$ R: g/ v7 _% n2 S
);
: Z% X( X( f4 {$ E
7 ~+ G( o! }, [var Registry = xdc.useModule('xdc.runtime.Registry');
4 q7 o; a' N% r% Z+ k3 ^Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, N: K) s' t0 ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 f$ y( ]3 K$ o; L5 X: aRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ Q' h4 B6 Y& R3 O0 m: \& _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 l& m7 m( p" [- T
3 A3 m* z |+ I" ]3 M" B/* create a logger instance */" F+ l ]6 z- g+ r% S8 l8 o, R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); P! m: k' k0 N
var loggerBufP = new LoggerBuf.Params();# f* V( E/ f b6 Y: Y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& m" l# i* w2 ^7 \* y! F2 _$ B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% H5 J3 ^( E6 i* Q4 U6 S
; N, Z+ y3 [8 _' e: @- Cvar appLogger = LoggerBuf.create(loggerBufP);
3 V4 }) U' t/ V& A3 WappLogger.instance.name = "AppLog_Core1";
& }- G4 G2 j! \Defaults.common$.logger = appLogger;& U" z( a1 m6 X
Memory.defaultHeapSize = 0x8192;
6 V9 a6 l4 {3 T% W8 wIdle.idleFxns[0] = "&LEDStatus";
( i& R9 b0 z) r+ ?; J9 [3 p2 nCache.initSize.l2Size = Cache.L2Size_32K;
7 A, H3 H2 p. Z' c0 i! c7 [0 X) S5 l3 p5 j9 S" Q, C
|
|