|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 N9 O. h/ m' M1 Q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: V) X4 R' g) A6 A$ j+ m4 A: j) d(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 }. g& x6 |" m2 [
$ G! V9 f; J/ w$ Z6 P2 ?
是不是需要在DSP.CFG中进行配置" L- D1 v; P9 ?9 t4 k+ X! ~' ]
我现在的配置为
8 X9 n8 \1 o) `. l; u9 J2 R( }2 }. ] n0 I- ]
/*
. y0 i* W7 {- v! n9 m* i * ======== Operating System Configuration ========" ]- T6 j3 h) y
*/
; o2 {* t- U+ k, P. m
# M# _# E( w4 D: \, e/ D/* no rts heap */. h5 n- v! n/ Z$ A- Z1 z9 @# Q
Program.heap = 0;; H/ f! L2 G0 Q) m8 L
Program.argSize = 100; /* minimum size */
+ t& _; W4 |+ b2 ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% E: `% M! i0 Q6 T3 X/ F: R; K+ F0 \% H, h0 s
/* create a default heap */
/ h1 t" F; o4 I( Ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 H4 Q/ K" o8 N$ [$ c
var heapMemParams = new HeapMem.Params();5 w. N7 [1 x* d3 ?) x
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 q! y: R5 d! v4 n4 ^1 Z4 _
2 n E! k i: q2 l& G- F; Pvar Memory = xdc.useModule('xdc.runtime.Memory');
% s0 j3 r# y2 W& w9 H' V: pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
- e9 l2 u: _# Z* [2 F- l" C4 B' W! @0 @1 Y. F- ^7 C2 O- H
/* configure System module */. m) w# y( y, q$ h* y
var SysMin = xdc.useModule('xdc.runtime.SysMin'); P2 L$ |, A6 O! D+ V2 y! h7 b
SysMin.bufSize = 0x1000;! ?1 M1 F3 s% D6 }: z" n/ a7 E" M
SysMin.flushAtExit = false;4 ]! J# M" e$ f! H8 M1 y) p, G
3 L- {6 c0 [, I
var System = xdc.useModule('xdc.runtime.System');
8 g+ w( U- @# xSystem.SupportProxy = SysMin;
# h$ C& q9 q6 Z+ d& }* ^9 W2 H! u# X \0 U: t7 b# {, N$ L. q
/* configure SysBios to use the lower half of Timer 1 */1 ^9 j6 N: Z( H3 K+ N. V
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 f$ T; S1 ?# Q4 c- _3 _0 w5 x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 T6 x* k' b! U/ @Timer.timerSettings[1].master = true;6 U) s8 U5 n' |. E+ U- b
Timer.defaultHalf = Timer.Half_LOWER;
: ~$ }$ ?. p* \$ AClock.timerId = 1;
h" H% ~! x' b `+ X e2 k8 y, G' T! _1 ~' [' Z
) r- E, Q6 V+ W: D6 \/*
) O* W4 X1 Q! C& W: g0 J$ U; }; M * ======== Miscellaneous Configuration ========
* D4 ?5 |3 G% N6 F1 I& d8 H2 t */
& `. m6 A3 b2 _: Q6 c: Y& m, ?, \, A4 L1 X! p
/* set default diags mask */
& n; W$ }% b1 T/ F! Gvar Diags = xdc.useModule('xdc.runtime.Diags');
( |; o! n4 \6 L* B& {) p$ wvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 |0 U+ z, x- w7 U: v: O+ t
$ z' S* O5 p; j7 V0 L& W6 T4 r# BDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: U) j: ?6 o! p- ^/ p6 ~9 z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 ?, o7 p4 I1 O' IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
, m; B; }1 J* |+ l* O, zDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 E( ?$ _; Q" [$ fDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */: j; u& D/ \9 D1 L
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ o3 t: I% ^5 X7 ], Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 S- B, }6 b: p9 r8 G! i
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# l, x9 n! T# _
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- [; H5 h/ I2 [. a) r0 w9 s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 t1 }$ T/ I' {! [: B
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* u. A# e- h1 L8 @$ rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; _# w) d- j) \2 G& ]0 Q+ D# ~9 C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; I7 U" y8 D6 {' ]2 A; TDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 I% y& P( `5 A0 t6 N$ i3 F5 L. L/ d7 S1 U
/* override diags mask for selected modules */
# D4 l' `9 L2 P' |/ {: Oxdc.useModule('xdc.runtime.Main');
! H% p1 ~7 t7 _3 D$ e# WDiags.setMaskMeta(
) U1 m! F. j0 m "xdc.runtime.Main",
6 d1 ~; P3 c/ a3 h6 c, m4 G Diags.ENTRY | Diags.EXIT | Diags.INFO,
% @3 |) l* t+ O/ b& E3 O- ]# B5 S Diags.RUNTIME_ON
( Q; t7 r' @& `- w! A2 P);
- x/ `1 x3 }* t# ~' A7 R( s3 D
8 j( j7 p3 K. w+ Z* x: Q4 S& A- a5 Pvar Registry = xdc.useModule('xdc.runtime.Registry');7 j$ r3 Z: T1 B1 |: c
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* p( p Q: K) c/ m& U) n# m+ n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% i0 y3 |7 R$ p- P9 SRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: Z" s. F2 P: R" k4 i- Z( u
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;9 b6 C/ f* |; B/ G2 p; l ]
: o% L2 d! z: z+ E4 g/* create a logger instance */% ^8 \* [9 f+ L: y# T) z5 ?" j1 Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ \/ f2 K$ F9 B$ k4 L( i1 _1 {
var loggerBufP = new LoggerBuf.Params();' u% m1 _ c# {5 Z: T& W
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 B* g# z! Z: UloggerBufP.bufType = LoggerBuf.BufType_FIXED;+ I, A# \+ q" A9 V
7 t6 T: b6 L; d
var appLogger = LoggerBuf.create(loggerBufP);% N( A: ~ {4 Y* N
appLogger.instance.name = "AppLog_Core1";1 w& w1 l5 J4 N @( G) I3 F
Defaults.common$.logger = appLogger;+ H% ^$ p; E# ^4 E& ?' k/ Z" a
Memory.defaultHeapSize = 0x8192; & ~8 g8 }$ d8 {3 G9 ?
Idle.idleFxns[0] = "&LEDStatus";1 u2 G2 b; g. e2 ], `, l7 d) Y
Cache.initSize.l2Size = Cache.L2Size_32K;. \1 N, V/ r- [4 h0 P
5 @( X0 A8 x3 h% B& d8 U9 q% t
|
|