|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) X: n. U7 f8 t, u* p7 r& g我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下) I) T6 Y% `4 V" W6 w4 o
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* y9 g7 u6 q3 T/ I, N' D
, h' B. C. G. t+ ^. y. ~+ O是不是需要在DSP.CFG中进行配置
7 k; o% @8 O6 J我现在的配置为2 F9 [/ v9 ]) z( U2 T' Q
2 q! y% l9 Q G- ^( `& \
/*
. s. a/ D$ g5 Z) F8 u& L3 a% S9 G * ======== Operating System Configuration ========
4 n- R( K$ j* U$ h& E4 ~ */
9 H! O3 x2 w7 k) N3 V
) t4 @) L0 I3 D+ l! y( [- f/* no rts heap */
5 a- E' l8 I7 O* VProgram.heap = 0;
9 O0 u& m$ {. G3 L- A0 s+ e8 ~1 uProgram.argSize = 100; /* minimum size */4 ]( [% w3 X; n5 [$ M9 J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 _8 j' w' p+ n! y% S. X
9 I& c4 `; M$ r
/* create a default heap */# J$ b1 p9 N' |& }" I1 @5 G/ v: M8 Y
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, V# O- A8 c% e0 b: z% k6 `$ D3 Svar heapMemParams = new HeapMem.Params();9 w9 t' f2 S! G; ~* x: c0 H2 h
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
V' P' O/ F+ t' H0 I6 t8 n, I6 w! \" c
var Memory = xdc.useModule('xdc.runtime.Memory');
2 s1 u' y# \* e0 c& t5 AMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ L) z/ ?% O; P6 H3 m: t3 `+ L$ Q3 }5 ?: @
/* configure System module */3 k2 J1 U# H$ x% f! D* j
var SysMin = xdc.useModule('xdc.runtime.SysMin');* N2 [+ @. a0 I7 g' j& `: N' V/ r5 A
SysMin.bufSize = 0x1000;0 P) |- Y% R8 o: `% y }% C* Y: m
SysMin.flushAtExit = false;
) T& c4 s h- ?! L1 O. U: |- P2 J5 m) I) h
var System = xdc.useModule('xdc.runtime.System');3 h; B, x0 w; \. D9 T& e9 u
System.SupportProxy = SysMin;4 C' ]4 v8 i( W: J/ G
- Y- w0 Z) m+ I1 x- d/* configure SysBios to use the lower half of Timer 1 */2 Z- k9 D# A3 E) l
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 F7 M5 J2 W6 ~2 `) m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ R9 l2 |# d, f# U& \# B5 H1 C
Timer.timerSettings[1].master = true;
) m# H% i8 [9 {Timer.defaultHalf = Timer.Half_LOWER;1 G8 i7 g( p `9 H' b# I
Clock.timerId = 1;* {" X, O/ n4 `# D+ @
% W# ?, o: D' Y+ E6 j- @' a& I
5 F, A7 ]) r2 i/*7 E5 }, Y( d+ C$ Z
* ======== Miscellaneous Configuration ========. C+ a: U' t2 f
*/$ V9 v* g4 G' f% `! d9 @8 D
% N$ I `" _5 s
/* set default diags mask */# {4 i8 o8 Q+ ]: A
var Diags = xdc.useModule('xdc.runtime.Diags');, u9 r) m3 B! P5 M( G, Y+ n
var Defaults = xdc.useModule('xdc.runtime.Defaults');5 S" u0 e* k1 k. K1 ?' w( C
0 L& _; K/ t% U8 m5 g2 i7 ?$ cDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
' U' K( I6 b1 d# C( zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 n) \: {, w4 O2 \7 WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' p8 w* B7 P8 {! ^2 [ |
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 p% O2 U& E4 A5 j+ h8 eDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) V* J4 D1 f N, F5 g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ `. `0 @% l& w! z( l% f8 [4 z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;+ r6 j& o* E0 m+ R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* T; O3 ]; l! i6 |
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. x( ?0 I5 f: }% L! K; Z) r8 D
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
j% i! c O a6 B, g* S# GDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- ]3 x# C0 A6 y8 M: a
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: f/ ]# [/ G+ O- ^/ w, i0 lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 V* F' F+ {6 `, p
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 [8 o1 Y% C! p( p" y; q
, p# n5 \: ?* t% R1 o8 E) @: j4 B/* override diags mask for selected modules */3 U. X8 N& K. ^! C
xdc.useModule('xdc.runtime.Main');
/ k9 N: P5 A; \' r0 V4 M+ o2 vDiags.setMaskMeta(8 G7 `3 y* s8 g' O ]& k- O
"xdc.runtime.Main",0 Y: X# H" {+ R( O! i
Diags.ENTRY | Diags.EXIT | Diags.INFO,) b1 x7 N5 @. j7 S$ u
Diags.RUNTIME_ON$ B' \$ e! |3 s+ n: X, }
);! B c& ~, ]* {; _4 F u5 e& {1 D5 H* ?# O
! J6 {% f6 f8 V, Tvar Registry = xdc.useModule('xdc.runtime.Registry');
# d5 [3 Y4 N0 S; t% VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* P$ U! \& z' C/ }9 z* F
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 I5 r$ p( c% E: c
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( h/ [; J5 G# b0 C: d$ P6 X
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ [7 y. ?" W% H- W6 Z3 ~ _ T. Y+ A( ?0 `6 H) g8 _
/* create a logger instance */
5 b" N' j# e9 n7 x1 L9 ivar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- {3 ^' [2 ~% i5 o! Lvar loggerBufP = new LoggerBuf.Params();- ]" e1 x7 z' g' Q$ o1 }4 j: c6 F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 g- a" O9 O8 s+ Y) M, b. P' vloggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 k2 G7 {2 j; \
% ?; _1 M& N' d# T: Y! z' { Q7 kvar appLogger = LoggerBuf.create(loggerBufP);2 Y- l2 Y/ J& d ]4 o
appLogger.instance.name = "AppLog_Core1";
* l/ Q+ O) Y, `* H8 qDefaults.common$.logger = appLogger;4 _8 r& Q/ c& l# q
Memory.defaultHeapSize = 0x8192;
1 J" z/ i$ {- {. e/ ~/ v( s7 KIdle.idleFxns[0] = "&LEDStatus";
! r3 _9 K' M5 u! u1 aCache.initSize.l2Size = Cache.L2Size_32K;# K, Z! o/ C2 B! Q0 r
2 ?9 ?9 T8 Y: A5 L1 `
|
|