|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- d! L# E2 {' e/ a- y' |. I% h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
- F, C9 l& O9 ^* c/ _5 B(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& E; s7 }2 ]% x2 ~
. R& @) Z( ]& P! Z, X0 @是不是需要在DSP.CFG中进行配置
# C5 a5 W, R6 R3 P! `& n1 t E我现在的配置为
2 T* n; I" r9 _4 |' X+ S+ E0 t+ {2 k/ e$ o/ ?; D& s- g3 E
/*
' B. L1 L1 {9 @& X0 R5 H* ~4 ?: r * ======== Operating System Configuration ========
1 W1 e+ p; J3 L- { G- i _0 {$ { */
* J- z3 N( d: J* G8 w: P4 k, U% c, j( ?8 T1 P& t
/* no rts heap */, @6 n- ~( Y9 _( W( G9 U6 @7 y
Program.heap = 0;
. Q5 l0 S8 B; ^8 h# \Program.argSize = 100; /* minimum size */
, k& k8 M: W9 |: X, R. l& D: }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 x% `8 p* g8 P0 y. {9 K+ ?' P8 o+ r) q! L5 Q+ Z
/* create a default heap */" i ^# E* z" L, ^
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 r* {! K* ^( v( e5 }$ dvar heapMemParams = new HeapMem.Params();
* O w n; k7 P0 W! q- e3 c. kheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' i! i& w2 t0 L* l* c* U; M7 |) t4 H0 H
var Memory = xdc.useModule('xdc.runtime.Memory');
0 _3 u+ P6 q1 t0 }8 f: n2 P9 w8 MMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' @3 N6 _6 W+ b2 n, D; J ` ?
. a+ t! p4 K1 e/ P. x" x/* configure System module */
- X) j& m% G# r* q% y0 Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');6 Q" l3 l; R8 H$ R
SysMin.bufSize = 0x1000;& A- p- M* Q6 V5 u9 b2 r2 o. a
SysMin.flushAtExit = false;
0 n5 B" S" o0 z/ k; t4 q# U3 _) E7 {5 q! J* W8 y) |1 V, N
var System = xdc.useModule('xdc.runtime.System');( C+ C1 B* c, t
System.SupportProxy = SysMin;
( D5 f: b# j$ w* T" B" o9 v! w9 {3 \( o
/* configure SysBios to use the lower half of Timer 1 */
+ p- f c0 R; q8 K, C, ]0 {7 Cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');" c/ U$ M' g5 h% T5 Z; N+ w/ v5 h9 B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ [9 R8 k9 v8 G) T% u
Timer.timerSettings[1].master = true;1 z3 y" Z8 R: S( E5 ^4 Q9 U, v$ v* t' V
Timer.defaultHalf = Timer.Half_LOWER;. W, D4 ~+ Q; s: [! n
Clock.timerId = 1;
1 S8 {/ \; Z# m7 _- Z+ H. a! e8 `7 E& ]. _1 A/ b; q' l
3 c3 L; B! n/ P! a2 o" G
/*9 u. I* `& ?4 _ w
* ======== Miscellaneous Configuration ========
- c5 e3 ?2 K) j0 b" s, P% y' X0 t */
5 |' N* w \: x5 J4 Y
) p5 S3 C+ j! o0 q9 g# v+ Y1 b/* set default diags mask */' T' J3 U+ O5 |: G V* b$ {0 G
var Diags = xdc.useModule('xdc.runtime.Diags');
- \5 m4 K! }/ {5 A( @var Defaults = xdc.useModule('xdc.runtime.Defaults');1 R0 G n) a7 G9 O; W0 P, @& J
# z. M; V. Z# ^! }" D1 NDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 M5 Y# C) l3 z; u Z ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( n$ G+ q L' X1 c+ o: H5 D
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& O' q8 C+ d% o+ rDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, H' ~' g* b! I1 ?! P
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 @$ j- L6 x: A1 M" J$ s1 BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
c3 b5 c% Y v+ ]4 {. w1 BDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 N" m& w' V: Y8 ~& [. y( PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
( r/ T/ E3 H1 ]( LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& ~* w- N4 u4 a7 D* r( b/ {
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;# Q2 {: B+ ?$ h
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
0 m% V# h, C) x CDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ q5 a) P5 K1 {% eDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 X/ N: l) t& [0 {* a; t' b) G3 TDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
+ N8 C& z) D! V/ e3 ^" i& H4 z9 q% m/ O* e. q) R7 x7 @
/* override diags mask for selected modules */( T0 b/ C, H% b% l2 F$ R
xdc.useModule('xdc.runtime.Main');! A+ y( r0 R; r( v
Diags.setMaskMeta(/ `: G% F4 J. J4 I* c
"xdc.runtime.Main",
; m V- T+ O8 z0 A$ D9 g" D Diags.ENTRY | Diags.EXIT | Diags.INFO,: j1 ?* M. b- f3 L( Y/ M
Diags.RUNTIME_ON
" A( ]! ?* G- l) o" ~5 @2 Q! b! T);: N& O F" \ _% V( I: }# p
5 }( ` n9 s# n& G! i# Q: h+ D
var Registry = xdc.useModule('xdc.runtime.Registry');# Q9 z- }) G" C; k8 L3 ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! Z4 I% V7 Q4 J8 ~3 G3 n6 T6 C* |Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( s/ a, h4 p% A. C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;7 A% S5 ]6 V. {% p
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 x9 D5 C* J' L Y6 h$ Y
4 e$ V+ [* }' ]/* create a logger instance */+ { l, w6 {& w! |% \- K( f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% X2 `/ i7 D% ?+ W; d% b* p! ~7 wvar loggerBufP = new LoggerBuf.Params();( b8 n* ^. p3 L3 b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 M* n( G6 U3 w/ T z, [
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
, y. Q/ y7 }, A7 r$ S9 s: G# P l+ O% Y7 ]+ b2 c8 M a
var appLogger = LoggerBuf.create(loggerBufP); Z D/ q, j7 J
appLogger.instance.name = "AppLog_Core1";: z/ y# C& Z& w/ U# G
Defaults.common$.logger = appLogger;4 z+ l3 T/ `; |5 r
Memory.defaultHeapSize = 0x8192; & C4 f, M, o8 a h/ b
Idle.idleFxns[0] = "&LEDStatus"; P1 l" E- a7 l+ z+ c5 ]" u9 `1 m
Cache.initSize.l2Size = Cache.L2Size_32K;2 f- h4 E; ^! E
% k5 ~; P( n+ q" {4 v |
|