|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- p q5 E; Y0 l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 G2 ]( L% x7 k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); W' v; Q$ o) a( W4 W0 |4 L
: d: } U# k( s是不是需要在DSP.CFG中进行配置! h+ @% |. r7 r, W3 @( {! _
我现在的配置为
6 m5 V# S3 l) O) g |* ]% P3 [' ~3 l% U! \4 @: Q
/*' r4 U7 @4 s, ]; U. W: b4 s" D
* ======== Operating System Configuration ========( Z" Z) a6 k4 n4 a% |5 I
*/) Z, `% y' \; S2 k# ~
3 W& z+ f) {% F! I/* no rts heap */$ A6 k- I* H: B& u. g" W6 I c5 x
Program.heap = 0;4 Z: [( ~/ r( v: j1 @( R- _
Program.argSize = 100; /* minimum size */. N% h# J. k {1 Z$ y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
R9 S+ A- ~3 C+ f4 U3 v0 |4 w7 c. ~; O+ d5 ]
/* create a default heap */
5 s1 L7 J4 w6 I' m, l! Hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* m" c# [' |* H/ d
var heapMemParams = new HeapMem.Params();
3 r1 x; H2 l- v9 ~1 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
m' Q2 k) L2 p
/ y4 `+ I, e1 O4 v9 rvar Memory = xdc.useModule('xdc.runtime.Memory');1 f' f6 p5 c, }; [* R' D& ?
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
% D# {( q s+ j+ B! O4 ~. W9 e
- p+ } ^2 A$ v* E, s' e4 S/* configure System module */! K* I1 @% u* a2 m: _
var SysMin = xdc.useModule('xdc.runtime.SysMin');* q k, q, x F) s, H/ K
SysMin.bufSize = 0x1000;
' Q, ]! ~1 | {9 b% n8 W, cSysMin.flushAtExit = false;: A0 a6 R, b* o! ^3 z3 D
, W. ?9 A! v/ A5 G
var System = xdc.useModule('xdc.runtime.System');; e1 e+ _6 V' z# m
System.SupportProxy = SysMin;
; t0 M* K' \+ n" H& S. X) |5 p7 K |/ s$ s5 Z+ t# X
/* configure SysBios to use the lower half of Timer 1 */1 [+ |/ l. ^# M
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ i" c8 ^2 c1 ~) l8 Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');* _3 r6 Y2 g" {) R7 M$ A) ?6 n
Timer.timerSettings[1].master = true;" P9 ?3 \5 e6 `/ H; ?& q3 f& u4 V1 ^- u& H
Timer.defaultHalf = Timer.Half_LOWER;9 m3 g1 V( t/ ^; N5 J. l3 I8 F5 E
Clock.timerId = 1;3 A) d* g# F( a. m l2 A
a. }! t( Y/ B) M9 C, E3 b/ t% ]1 Z3 V' {/ k* r& R7 F% ~( @
/*
* C6 U! o! a/ m- P" \6 z * ======== Miscellaneous Configuration ========2 y7 h7 G! q; q' P) i! `8 t
*/
+ ^1 `: C/ }2 T0 l _9 V3 C
9 J4 G' d3 A6 s% p/* set default diags mask */
- W. B6 O* y0 Q+ v Pvar Diags = xdc.useModule('xdc.runtime.Diags');
1 D' B1 v& D2 [var Defaults = xdc.useModule('xdc.runtime.Defaults');" ?) s [1 Q* a2 m: D4 Z/ I4 m
- q' ^$ S% }3 w4 ]! H T' I
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: @! D& k) P8 Q6 N" \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 ^/ c9 V' ]6 [3 D8 O9 W" M
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: s$ i/ W' Q) v6 _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 j* ^9 q1 M- B! b% ?$ b& a/ O
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; b! w' m) y: R$ i! F# T
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ S$ Z6 k4 {* W: G4 yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 z1 F0 m* n6 SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 {1 t2 F, }' l; P7 _( Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 o7 O* l, s4 W8 n; xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ i6 H: s/ G0 i6 a& \0 f& u: fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) h; \4 \" \5 w5 V5 n+ k! q" iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; ^! ?" F/ C2 c5 i: C, {7 I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 p# j N/ q% D1 w( v5 n
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" K- ~% L7 k8 ?- V! l& P3 B- ~- c$ y) O* G( p6 d
/* override diags mask for selected modules */( D7 m) @- @3 G' {& D
xdc.useModule('xdc.runtime.Main');
7 Z% k6 X( a6 T+ J3 rDiags.setMaskMeta(* c. @# w9 L" h$ D* E; T
"xdc.runtime.Main",7 u+ o$ g3 R6 T. q# ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,
3 D4 A0 D: n' X+ c& f Diags.RUNTIME_ON! i- R7 v0 h/ C. D* d! K
);/ ~9 n; V) d, J8 w; X# _
) p: e' [2 }# ?+ K1 L; h0 w$ I& F
var Registry = xdc.useModule('xdc.runtime.Registry');1 q: J/ ~ Z# b" _; B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 z: u4 }( M, c8 pRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;9 q' ~8 l/ B/ t3 `. F4 h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 Y& l8 f% [9 y+ kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;, V @* V+ d( t4 n+ F
* S, l- L$ G' i& R& W: R+ Q: f4 _
/* create a logger instance */
/ @% \& u( _; T/ L% }7 L' Q1 h Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) B- y1 y* O" }: o) L
var loggerBufP = new LoggerBuf.Params();/ K0 n: k+ W4 x, i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 x# |5 h4 C" dloggerBufP.bufType = LoggerBuf.BufType_FIXED;
" ]+ r/ J" F4 R( Y) R9 U; I2 s0 J( ~
var appLogger = LoggerBuf.create(loggerBufP);
6 v8 `) ^+ a6 l- F) ZappLogger.instance.name = "AppLog_Core1";& t: v" G* e/ B) H- \3 l, r
Defaults.common$.logger = appLogger;
7 `- T% g- I% }& ~; RMemory.defaultHeapSize = 0x8192; 3 I9 s. N- r; i
Idle.idleFxns[0] = "&LEDStatus";* ]2 [: L7 N: g# G5 b, |/ ~: f
Cache.initSize.l2Size = Cache.L2Size_32K;- ?9 {" {: j# [4 p9 y7 W
6 W7 B# ~: Q+ C, C G4 o8 S" E. I
|
|