|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 h# H/ n+ H" v我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 M0 b6 [) M( E! q2 ]+ t4 s J- V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) |# h) [6 C2 \5 `' \- X0 f2 K7 m [$ C: C- J6 S
是不是需要在DSP.CFG中进行配置
3 H; R5 G) W: d3 y8 t3 R0 ^我现在的配置为: d+ f. A8 J/ i
) t# x( C9 @( n" X, R
/*6 p' S8 o& i9 {8 C3 k" {/ @7 {
* ======== Operating System Configuration ========
$ b* _, T5 z! A; x */
0 B1 e+ U; \- R, @
: `6 X; G/ H0 Y) N1 J/* no rts heap */: w# V* A& X' b' z+ {2 g- J1 ^
Program.heap = 0;
! F8 J6 R% Q' O8 `7 ]& m2 xProgram.argSize = 100; /* minimum size */
: D7 V8 u5 T8 j+ }% |1 e! bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
* a: ]7 X4 @9 W
6 W+ N$ n& W: e: {/* create a default heap */- \6 M& z+ ?6 R% ~. `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 T/ G# Z& v5 x% q9 lvar heapMemParams = new HeapMem.Params();
+ W: J6 T" D* K4 eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- `: H: E" k1 i
# v9 k2 [) B+ }0 {0 U7 o2 }: wvar Memory = xdc.useModule('xdc.runtime.Memory');
0 D1 T) }! O" Q `# R8 @* KMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
; z& ?8 A$ y/ \; K7 z& H2 z! p. ~+ r
/* configure System module */
S% ?, [- ?, q2 \: t1 ~var SysMin = xdc.useModule('xdc.runtime.SysMin');8 p: Q! i' U, l& @- g% a) x0 L
SysMin.bufSize = 0x1000;# i$ G6 W0 X$ J% [* q8 a( E
SysMin.flushAtExit = false;
" g3 K/ I9 q5 J' }. i
: s+ l& V, Q0 q6 H$ nvar System = xdc.useModule('xdc.runtime.System');" I6 b& K( b# i9 U5 M) ^8 D
System.SupportProxy = SysMin;2 Z& Y- Q+ n# i+ }# N& U3 z/ C
/ @; d |6 x( v; F1 \% E6 s1 h
/* configure SysBios to use the lower half of Timer 1 */
3 t% \* M6 v4 D" Y6 Pvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) g9 v4 T- U. H5 Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
/ O9 t1 H0 B9 A% }9 ATimer.timerSettings[1].master = true;3 h+ d2 s4 b: d! N& T
Timer.defaultHalf = Timer.Half_LOWER;: f' V0 d. g1 I; l5 ~
Clock.timerId = 1;- w+ u2 ]* l$ [) f- w7 k T
* G! T" Q& G2 h
! T. M) m$ b" P/ X [' [/*
" O! z( Y' x. W( C6 V/ N' C * ======== Miscellaneous Configuration ========2 S) \& K6 d$ L4 k2 O
*/( C: O* K. Z2 y: s8 w
7 A' `0 s d* Z3 g3 k6 w$ [4 V/* set default diags mask */; n* J) d: }0 @! [; B# h
var Diags = xdc.useModule('xdc.runtime.Diags');
4 b; f P. e! a5 ?5 vvar Defaults = xdc.useModule('xdc.runtime.Defaults');: g0 B. [! s W$ G! [0 @* I/ [
' |7 g7 T8 `& ~( ~5 t- ~! K o+ F( w
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 d% O7 C- `8 q( aDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; z! ^# x( t1 r& O9 D0 R6 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
R9 G/ k, l3 J# Z; x3 L3 }4 `Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 K0 P; |8 g4 n$ ?% P
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 e% G+ T& j+ u$ u( y/ W+ m1 l
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
0 N; c; Y# n5 V$ g) q3 {' s" EDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 ~& c1 D( J& m( q% h5 ]Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- G5 @# A: L8 S' G' K/ v i
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;" p7 f" i" {3 X6 w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 [& A( U5 u+ B$ p* S$ b2 k
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF; l2 q+ L9 e: d0 Y/ c" o
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& g" q; O4 i% R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
: G8 }) W. g$ M& J2 K! r* M3 oDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* n7 ?5 z4 C% y' F. q
0 W# R q. j! L/* override diags mask for selected modules */
) v9 n0 Q. i# L/ cxdc.useModule('xdc.runtime.Main');
+ F) n6 C. z/ kDiags.setMaskMeta(& f' [& ]7 j+ [5 c' ?
"xdc.runtime.Main",+ [, W% n* u/ P. H, _
Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 F( ^+ E9 O! h7 l Diags.RUNTIME_ON+ f8 I. f. p0 Q; u6 x" a( y
);+ Z. [ m* {0 m# n u9 U: ~
2 X8 [# l# O; R i z1 Ivar Registry = xdc.useModule('xdc.runtime.Registry');' U Z) M) a; S
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
* @3 I. j4 Q* S! J' W1 A9 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& }4 M: k$ n% [, w# q$ B+ W e: lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
; A8 R7 Z- i& T* Z* JRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ l" |" ^# J+ g4 i; S6 {# _& v1 i/ T9 K# x( x% n
/* create a logger instance */" \) a- t4 v$ d" R# Q& W2 ]. V
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& v# ~8 `0 g; P" `/ e$ a
var loggerBufP = new LoggerBuf.Params();0 N9 s! A1 b6 {& }$ i
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 u6 _9 p* W! i( q$ g; F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 o' N. `. F" i2 }6 M+ ~1 t6 h
8 J/ `* j* Y! [5 j
var appLogger = LoggerBuf.create(loggerBufP);* N& ^# e. |+ H2 _* {
appLogger.instance.name = "AppLog_Core1"; D7 {* }! c* G' S6 M
Defaults.common$.logger = appLogger;! {2 z4 Z; q9 k$ v1 `* P8 K7 k! A
Memory.defaultHeapSize = 0x8192;
. B7 [$ `! E1 U/ C, v. aIdle.idleFxns[0] = "&LEDStatus";
' }2 A$ ?1 A, } UCache.initSize.l2Size = Cache.L2Size_32K;3 C; Z3 |; Z" \# J1 T$ f$ R0 f2 q7 n
3 t, _! _# G/ L |
|