|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ O/ q/ N. n# G7 H% ^我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 T5 x* h) l; j5 q. d6 S(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 Q) m/ s* I3 o
! v6 u" E( q! N0 o1 S1 ]8 J( n是不是需要在DSP.CFG中进行配置
1 y) J/ p% U3 s1 f# {我现在的配置为6 I+ ?+ U8 e Z% X2 L
! w+ o, f2 V' S- D6 Q; z/*
7 i1 @, b+ I; X# A * ======== Operating System Configuration ========7 u- S# n7 {$ ~$ U7 R: w2 @
*/' c$ s/ a# h. ~6 A ?. c
" j, j- B' D7 I u1 {! e; d/* no rts heap */ O, K$ F/ i. z- n( J O4 q
Program.heap = 0;
0 P: z4 A8 @( lProgram.argSize = 100; /* minimum size */
, T' H, A' N p. @" G8 wProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ E N0 s! w5 {+ L, t
# x! o- b6 r0 u! i% G8 U* `/* create a default heap */# d) |7 `, e, m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');" m$ g- Q( }# F( S( k
var heapMemParams = new HeapMem.Params();( Z' r8 Y( i9 y5 T2 K; ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大5 `, M0 M. l+ r" {# X' @
) i- W; p& y J
var Memory = xdc.useModule('xdc.runtime.Memory');% M' n" w0 n$ x; D
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ ^& H- }: N+ O& p, {$ A5 ~
/ h& W# ~( P7 V' s4 l% \6 [/* configure System module */
8 c; d. ]( X! ^var SysMin = xdc.useModule('xdc.runtime.SysMin');
# V2 D7 b3 T/ Q! ^SysMin.bufSize = 0x1000;
) ?7 N3 G7 I* f" a& [5 G zSysMin.flushAtExit = false;
# c/ j; j8 N! _9 K2 [, h- G! j; o" d7 v
var System = xdc.useModule('xdc.runtime.System');
L" l9 }. z; Z8 @4 R% X9 C- c/ aSystem.SupportProxy = SysMin;
4 J B K$ }* y) S, m
' ~5 ?5 w" Q% y2 s4 L/* configure SysBios to use the lower half of Timer 1 */4 i$ L& j2 T$ S: g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" M1 G0 X2 C4 c& B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ Q. P0 ^8 N$ o7 C+ \7 w" \; oTimer.timerSettings[1].master = true;
2 Q( _$ q' U' L2 P/ iTimer.defaultHalf = Timer.Half_LOWER;4 K p7 F# m; S# [0 c; ^8 f' T* O; o
Clock.timerId = 1;* ~9 f, r) \( A4 o
! H ?! P# q! K6 O" c
1 b! S& p' u& ^6 C2 z Y7 M/*
% r& C2 L3 Y- K& j * ======== Miscellaneous Configuration ========# ]' x% Q( L. d( Y* k& A% y
*/; m7 `# v; t3 V7 p& p1 W0 _
' a7 s* \3 `( E; j/ }) R
/* set default diags mask */4 e5 s( j; ?9 j" b6 N7 N' n2 R; V
var Diags = xdc.useModule('xdc.runtime.Diags');
2 `' ?' I9 z( {; M- R$ ]" Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
8 T3 y2 g+ u Y7 K! m1 O5 g' T, w7 J' T) T& f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 H# [5 n1 q6 I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF; ?/ t% y9 c! t1 }" ]3 z* w c; h1 u* r
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ q* Q9 p6 Z( A9 M8 \9 S
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 O: I A8 B3 @/ f0 A" LDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- L+ f/ F- R/ w1 _! a0 jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 U; h* @- y0 \
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# v+ Q6 r2 p$ D: vDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, J6 {% ]1 n! [; [: i- v7 b5 KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 ] I: f9 ^* K" D3 B" w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 |4 |4 T/ H: C3 t
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ f) p6 w% S+ R% ^" \+ a' eDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 v0 S4 h5 v7 E; m. \6 CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 c$ A* C$ i; [ i" s' rDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" M4 ~! ]' E, i0 u( _
1 W7 c2 B4 `# d, ~
/* override diags mask for selected modules */
3 S1 p( _! `, U+ hxdc.useModule('xdc.runtime.Main');
* p* D: d# P" p* N7 }& ]$ WDiags.setMaskMeta(; y w e3 S/ }
"xdc.runtime.Main",
$ s. i1 b7 G, r( t2 U F Diags.ENTRY | Diags.EXIT | Diags.INFO,8 E; x- [" a7 E" R+ B9 A
Diags.RUNTIME_ON# A. S) r* v8 c( M" W" ?/ B) Y
);9 ?, E( z2 _/ T: N& y8 }! d- e6 G: f% N
, Z' @3 V5 r0 E1 `
var Registry = xdc.useModule('xdc.runtime.Registry');1 w ?- F' X3 s0 W, _& J( H
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 \8 H9 u8 ~* M4 ]2 b1 cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 Y" z0 X! @) e! b6 T$ t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: b; a( h! K8 f7 Q: |3 Y# \! PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ L3 j$ u1 L, w3 o" E4 E; R
0 e' c8 {: D6 B1 n8 X0 ?( ^3 ~$ v/* create a logger instance */
0 z2 a3 o, z9 @6 ~( ^3 ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) U3 [4 E$ V0 _7 S9 jvar loggerBufP = new LoggerBuf.Params();/ C9 Y! b0 t7 [4 }. }
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 D4 o/ W) h$ @+ f% [/ SloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 X2 G1 ^3 @: i& `/ i
8 k7 Q7 U" K: A8 \var appLogger = LoggerBuf.create(loggerBufP);
$ T1 L+ W8 b, J( |appLogger.instance.name = "AppLog_Core1";5 p4 L% J! @* g- A$ O
Defaults.common$.logger = appLogger;
: K, K3 k7 t0 x# j( J: X5 C" F* B; E, DMemory.defaultHeapSize = 0x8192; . H Z2 H$ @' K+ z" k
Idle.idleFxns[0] = "&LEDStatus";
. C/ A; T2 o$ a8 iCache.initSize.l2Size = Cache.L2Size_32K;# C+ }9 h8 M; `3 U2 J
$ a$ l) g3 Q* D& @) q |
|