|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 d; N8 ]" ?! O! V6 I* H, w, b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; u* V( z4 J. V& _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 x4 `8 b b, r+ j y
( o0 p1 I! W9 N9 j' }- d* A
是不是需要在DSP.CFG中进行配置
4 E2 c7 Y9 M, S我现在的配置为
. G$ h3 I+ ?% [: ]$ o5 W3 a4 f6 ?/ `4 ^
/*
7 n, w% x9 _7 k K* G: P f/ K. k * ======== Operating System Configuration ========
/ x% i [( O* R- F. }$ k* L, w0 z */9 X; N0 ^2 B( k1 Q. H% Y9 }" q
# e7 \3 {4 b. n" o7 q. B
/* no rts heap */
" S& U1 d8 A8 p1 o8 g8 ]- A: |Program.heap = 0;
6 F1 c0 b; L8 m6 Z( qProgram.argSize = 100; /* minimum size *// ~& s/ R- n" [3 @) }
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 U4 H1 _) F# j( \. g
: e& s* H3 Q3 p( L3 v6 _/* create a default heap */. G; F+ M5 {7 n! A* N
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( g# ~" B8 C/ q" ]5 ~1 P4 O
var heapMemParams = new HeapMem.Params();0 o" I ~0 K" F4 n% N4 v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
E+ V$ W# ~ S9 z1 p$ b" e( Y+ e- C- p. [% ~4 x; B0 ]
var Memory = xdc.useModule('xdc.runtime.Memory');+ B& P3 P$ ~6 m7 R/ b8 F% g T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 O. [" C! Q6 C; H/ U# W7 s: @1 W P
2 d+ C+ U: r! l) t" D- d+ u; E
/* configure System module */
2 g' ^6 O2 r- C6 bvar SysMin = xdc.useModule('xdc.runtime.SysMin');
, H6 c w( M) @! L# u" WSysMin.bufSize = 0x1000;
0 m# ^8 W7 A1 `+ B9 SSysMin.flushAtExit = false;
' F3 ~8 @, q3 L* c& S# }, s9 {, C8 L
/ r* U2 L( p) ? @0 F7 f' uvar System = xdc.useModule('xdc.runtime.System');
5 S: a- m/ A. {1 p/ OSystem.SupportProxy = SysMin;
6 @7 i# j2 u; r( P7 t; d" C8 E* o0 C$ v# o
/* configure SysBios to use the lower half of Timer 1 */. }1 \( Y3 z y( M( J$ R3 i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: n4 V; x; M5 u. ~0 y' l
var Clock = xdc.useModule('ti.sysbios.knl.Clock');" ~4 V4 C6 b3 l! h* r3 s8 T
Timer.timerSettings[1].master = true;1 f# W& _5 ~% f* ~9 T8 @, l
Timer.defaultHalf = Timer.Half_LOWER;
- v7 g5 G) Q7 V K+ n- n7 r( e: jClock.timerId = 1;- T |4 h+ [" M6 e Q m
& k- x( S7 E2 {* A6 C& K4 b3 f8 b' _! M
1 N9 H8 a9 z3 Q/*5 g' p, s0 c$ x0 w
* ======== Miscellaneous Configuration ========
+ V6 J0 }7 {0 S: z4 h% i' \- t6 ?2 D; W */$ }4 f4 I# e0 X) p$ Z( t3 v
$ G* q% b) B/ E8 H- g, }$ Y/* set default diags mask */
8 J9 c, n; F4 H% |var Diags = xdc.useModule('xdc.runtime.Diags');
1 A7 d% Z# D2 e9 gvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 x( [; w+ ]" v& n! s f9 {
/ m5 w9 T% ~3 w: ? f# SDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: }1 U7 a6 B9 T; [% u+ W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& {' z/ h% D' @9 |6 s7 L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 q* J0 n L3 L, e+ I* W8 [8 ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ _1 p! g# u# r3 z4 v4 zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 X3 i/ b1 G/ x# U' `$ |) j% HDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ a1 v4 W" H6 q9 F+ D; rDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
% K, T0 \5 `9 v# E# ?) m# pDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* d9 o( I0 `* S* z* p5 a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ T x/ `& _/ n a4 m' T4 G% ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& |5 p9 J% Y5 P- f9 X' e3 | l! w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 p8 ~0 }* d; D9 V: @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 _; K6 m: u( n. N$ v% o1 } _- y/ c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; U7 u4 g% B' x: \
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 O! C: Y( q! J- y' i$ n3 _
8 C: a* }) o7 g3 O/ z/* override diags mask for selected modules */0 \6 a# k, D# y) j# ]6 @
xdc.useModule('xdc.runtime.Main');
& J4 \) \; x. ~3 f: eDiags.setMaskMeta(
5 }, B" }% C9 f7 | "xdc.runtime.Main",
' X8 i1 a! Y& Z' f9 U) C }9 a Diags.ENTRY | Diags.EXIT | Diags.INFO,
* b, z+ N+ {( R, ^+ \ Diags.RUNTIME_ON
7 n9 y: S/ l1 E g1 K8 c);
( B( i0 M. J7 r3 Z$ p7 E. f# m
* D# U) u `; E9 rvar Registry = xdc.useModule('xdc.runtime.Registry');
1 ?7 g2 H4 C& J- ^0 E& K: eRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ w! R: O" u" VRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: t) U& J7 O4 E- _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;% d' G3 h, G! }# F
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; K& N" @0 I. n4 V) _3 }* I
3 P, U0 t* G5 w" Z' u- Y9 s3 d5 K/* create a logger instance */
" n( _5 Q$ y `7 }0 H( j: Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! |3 [+ n3 T3 {var loggerBufP = new LoggerBuf.Params();' l$ b8 \; e0 t- i1 u1 h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) I5 X! n, Q( @' s: ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 O: i u, H1 u3 j8 R$ l3 N
' C7 Q- r7 A I6 ?; r
var appLogger = LoggerBuf.create(loggerBufP);
7 n/ Z z- \ ?7 ~3 C6 TappLogger.instance.name = "AppLog_Core1";% B0 Q. N! c: d+ o
Defaults.common$.logger = appLogger; U% \: ]. D+ J2 }( x8 i0 s
Memory.defaultHeapSize = 0x8192; ( `# r K, n) x
Idle.idleFxns[0] = "&LEDStatus";: a, \2 w7 f- h) t3 b6 @5 z
Cache.initSize.l2Size = Cache.L2Size_32K;
6 [: _! L6 Y+ j: w* b
& Q! p( n% v. ^) `; M1 c7 [ |
|