|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 g% q/ Z7 I. b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ x# E6 |6 `2 m
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) f* W. W; } t' |
/ w& r1 ^6 R" D是不是需要在DSP.CFG中进行配置
( m6 R' D4 b/ H i我现在的配置为
; x1 v& R5 C$ u U3 D, e" B
& R+ H( s' r. t) ~6 B/*
/ u4 P- g$ w$ W/ m2 M! Q * ======== Operating System Configuration ========. ]' P( g8 i. T d& b8 Z9 S
*/+ h, j% U8 m4 f8 T
& x2 t p+ _$ J. z3 `
/* no rts heap */9 y, k- A2 E" d
Program.heap = 0;# E( i, I) c) k5 c
Program.argSize = 100; /* minimum size */3 G+ {: v8 L6 W5 e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' Y( _* C; S. K5 S
# @' r) X8 ]8 d+ a' V
/* create a default heap */
# y) \ |( g m8 f. Z( J$ Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 E7 B( c) C$ R. g
var heapMemParams = new HeapMem.Params();! o) f4 F5 F, z# ?- V+ D3 Q5 m N
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 Z; z: B5 ]! q4 l
: b; }' f5 W( G7 Pvar Memory = xdc.useModule('xdc.runtime.Memory');
& F, e+ h( F) ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" y0 P/ A- r% ?
) {9 e [. ]0 q7 i/* configure System module */) e+ L- n) i% C7 m5 @% L1 D
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 }' a2 J' K1 N7 ]) ^9 U6 ~
SysMin.bufSize = 0x1000;
; b& w, j2 V7 Q3 tSysMin.flushAtExit = false;
# G, u9 C, f* s( h! t: R% o
; g8 J& R# }6 {) z( m% n2 uvar System = xdc.useModule('xdc.runtime.System');
! h b1 p# \* ~' a% s Q( t* ~* TSystem.SupportProxy = SysMin;
+ P; F* @! m6 Q4 q
, P2 U. X* u! W$ W6 k& T% {2 h" k! B/* configure SysBios to use the lower half of Timer 1 */& d% G' |2 G% u, @6 F8 K: _
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 H/ u& z7 X; H# Z( n5 Yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');1 K" X' F) Q5 X: p' Z8 u- ?
Timer.timerSettings[1].master = true;8 L' P, ~4 u& ]! o
Timer.defaultHalf = Timer.Half_LOWER;1 m# f. H! X3 X3 C& I7 n w
Clock.timerId = 1;
- O# b' N1 t2 c7 v! V/ Y1 l
. B* M/ ~9 q" k; W
4 K: W) y! X# Q) _8 H: f/*, C. Z& J; V* \6 A4 k* y! y
* ======== Miscellaneous Configuration ========& }" p$ j) T$ f
*/
3 |- w: ^6 d# L2 F* `! t9 B1 j, t6 z& M5 N4 i! e
/* set default diags mask *// U/ {+ I2 ^5 l* Z2 x5 _
var Diags = xdc.useModule('xdc.runtime.Diags');$ k4 L- n% r1 U. ]- X2 y. }
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 V, T; C, L& J- D" Z/ E
' N4 P3 v/ ]1 h1 h: S% g! JDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, g$ I5 s* V$ v) |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. I# F/ S9 L! n; H1 tDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ ?! |0 D' i, FDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 E3 [* c% c, y5 \! \
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
8 e! Y3 h6 D$ i# i" FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;/ R( H; j. Z- e' e; O2 m5 [) A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) W2 M1 z! a( {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, A* | N, U7 E2 |9 f9 w' N1 KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
9 x' N$ M% \- |6 kDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 E/ a, k: w# w4 u6 I2 e; }Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) ]; p* J, c" h9 [, R9 G6 m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. E$ e7 D& I0 ~/ H( K) PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
. R) X7 W- z7 U9 h5 [Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
t2 S4 A: ?2 |2 v9 @% M( h5 |" L% O2 a2 G. v, w1 x1 I3 o, Z
/* override diags mask for selected modules */* p: K( M4 }8 p1 ^$ }! G
xdc.useModule('xdc.runtime.Main');2 V) j' }$ d% P! T0 c0 B9 m
Diags.setMaskMeta(
2 P) ]3 j% }% c1 j "xdc.runtime.Main",
3 }* S. K1 t$ w5 P" A! Y3 U/ \/ O! m Diags.ENTRY | Diags.EXIT | Diags.INFO,
: w- z1 Z! E; y) r I$ I0 { Diags.RUNTIME_ON$ o% O0 V8 Q ?# |3 w# C7 @+ a
);- K. ?8 R, ]! b+ W3 w* l
& y W- B4 P' g
var Registry = xdc.useModule('xdc.runtime.Registry');
$ p) k7 T! o* E5 } y. ?Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; W# J7 _3 v6 i/ M# I5 ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ b* F8 o8 Q6 n% j! jRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; X& Q. T8 U5 J. h2 Q; f3 sRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& Q! U# R+ [9 I& c2 b# c2 O1 G3 c' r7 c9 r2 e( G
/* create a logger instance */
& S* l. i% l0 \5 }: Fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 c+ q7 G/ ]2 U9 uvar loggerBufP = new LoggerBuf.Params();) j% V1 Y$ |: P& h( f* w
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 u* K6 ]# L$ L9 ^loggerBufP.bufType = LoggerBuf.BufType_FIXED; K; O. R) k1 h/ N3 U9 {: z) Z% p
; y8 h. o" W, C/ ~var appLogger = LoggerBuf.create(loggerBufP);5 m4 y/ d$ E: m3 h% w! |$ M
appLogger.instance.name = "AppLog_Core1";( X e1 r: j0 o% H# g5 s [0 g
Defaults.common$.logger = appLogger;
x! x) q" u' b, l$ U: d* RMemory.defaultHeapSize = 0x8192; ) `! Q4 N8 M: |0 q1 X1 c2 J- h) K
Idle.idleFxns[0] = "&LEDStatus";8 {# t/ c5 s. i4 e
Cache.initSize.l2Size = Cache.L2Size_32K;
7 |7 {- m) A" N! ]$ O' R% g$ z' m Q! ]1 H& _7 P; Z* o
|
|