|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( j ?; {& {0 e! `6 D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% f+ b# @: H; s9 h* U(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 o# p' Y" c0 O* J3 y
# G0 g- A: v# U6 t" u9 V* W是不是需要在DSP.CFG中进行配置
3 D5 d# U& z+ \) ]3 I3 H我现在的配置为
$ M2 I: h% h: P$ Q% z* f9 P/ Y3 S5 m' k5 \1 m' w1 h: U0 ?9 I
/*# J! E. f0 k, W1 h
* ======== Operating System Configuration ========. z. ^9 t1 T* F8 w3 `4 a
*/
8 s6 c1 r) }) E. A6 X9 l) T5 K8 l( M8 Z
/* no rts heap */
. ^- B; Z( u/ J2 ^6 \4 L1 ZProgram.heap = 0;
' }4 z. n$ ~4 l/ T4 ?9 E/ w% [7 c% XProgram.argSize = 100; /* minimum size */7 K. H8 A' M# \/ [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! Z- I$ c0 F! i/ u# Z4 I
8 \; j) E: J9 u1 A
/* create a default heap */$ s {* d- T6 V/ q' C, n2 e- N
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% z- Z0 @; l U- R; I9 b8 {
var heapMemParams = new HeapMem.Params();
; j$ I0 P) ~6 e" `% d* nheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. z1 ?% {0 @/ I: I8 I3 I$ O0 `# ?+ J: G) N
var Memory = xdc.useModule('xdc.runtime.Memory');
0 i. E$ G4 a! l. I- d, RMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 L+ d: L6 R5 q7 I; ?# h
' x; M( b; o- A) s9 d/* configure System module */
o$ R4 r7 g5 [. H" T) h0 ?var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 m* |/ j$ m/ }% t7 ^" @8 P; l& iSysMin.bufSize = 0x1000;
W' w$ X% _$ r: p9 M% [7 l5 b, VSysMin.flushAtExit = false;
+ @2 U, H/ b' N% t# w/ x1 S
* M" C5 h, s4 Z. tvar System = xdc.useModule('xdc.runtime.System');
6 ~. c& y, x! P, B& z0 Q; G- {; JSystem.SupportProxy = SysMin;
% ]9 G2 g$ ^) l3 ]1 w% b
) P. ]( L3 S3 F% Y0 M( X- H/* configure SysBios to use the lower half of Timer 1 */: t, P% r4 x" ^, ?- H/ e+ L. I
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# v* u6 n; E# d( p% svar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 [* [ p! B; S, R e$ T' t
Timer.timerSettings[1].master = true;' l) [' C- y/ ^ ]
Timer.defaultHalf = Timer.Half_LOWER;; f% S* x7 K0 w4 |' c; w
Clock.timerId = 1;
: u2 w; v; ]% i' W) m9 z; \8 w, s: [9 W
9 ]8 E- u$ ~( s/*
6 g& d7 S* ] j( P3 N1 k * ======== Miscellaneous Configuration ========5 F0 V! z+ r' p' [6 d( y: Z$ f1 ?
*/
; V3 E. I4 Q6 f7 b: w1 Z5 O9 z/ R) N+ C3 x& Q0 a) T$ _1 {
/* set default diags mask */
$ l, c" F8 i+ Y: c; Z$ ~% V5 ^7 qvar Diags = xdc.useModule('xdc.runtime.Diags');( K. Z8 o# _) v/ @# }% I
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 Q' @2 T' V- x; ?5 e9 O% o" u: u" A k! {5 N) {5 H
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 }2 c& a9 r: }3 J0 Y7 w
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 W) | |% H: PDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
' C; ]" g+ A1 A1 @( IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% i* l% E) m/ d/ v7 |Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
e# P% K! q# Y kDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 H, I5 N! N/ Z0 R% {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! a! P6 F7 ]$ P0 U8 A& O$ F( u: A lDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" q) B' ~8 }; u Z, zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
o2 I" Q. ^( g' j( }9 o" LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
9 ^; B& i- a, d$ _; G1 S' d( `Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; N5 M: Q3 ~% R8 k: {Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" o9 S6 I/ C% e7 B/ c ^" l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 G4 Q% E7 O1 E; B5 W
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 j. `# ~+ ]+ [" q5 u. d& [1 [
" [/ V$ u. W) W% g/* override diags mask for selected modules */
* U( p6 @1 p# q3 ~- Q zxdc.useModule('xdc.runtime.Main');
9 R) u. \+ U' Y4 |Diags.setMaskMeta(
2 {2 i9 ?: o$ `9 b- m "xdc.runtime.Main",
5 G8 V5 g9 k+ F/ I' N8 A Diags.ENTRY | Diags.EXIT | Diags.INFO,
: P) k/ Z7 n0 q: b* ~. O3 L Diags.RUNTIME_ON. ^9 q6 h: j: y- f1 U x. p
);
2 \$ ^8 `) c0 v6 x+ ^$ F' z9 \; O7 K, S; g+ ` l2 d
var Registry = xdc.useModule('xdc.runtime.Registry');& D' D0 S1 u/ k7 ^/ [/ |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 f8 c1 F7 [/ q. X+ O3 w3 @Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 L% s) f) A0 f$ A, J& d) B. MRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;6 c1 c0 f! x ]# Y/ b
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 X9 ^: Y! |6 R" [; O
) I7 M1 @1 f) O( L3 Y e/ S4 b
/* create a logger instance */3 s: m) A' q0 \; C5 n0 W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! w0 W# [# L7 m7 J. { l# D
var loggerBufP = new LoggerBuf.Params();
) b! _3 l( @5 m: Q/ m: C6 DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 H! d' H4 ^; a3 ^3 H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ _2 F6 M0 V) f
! t6 k8 u. X, vvar appLogger = LoggerBuf.create(loggerBufP);- Y: @ o$ s5 t7 S5 k. L
appLogger.instance.name = "AppLog_Core1";: x1 B! p. s- g& O6 s" s3 N
Defaults.common$.logger = appLogger;5 r8 x$ L' W+ ~5 G( t
Memory.defaultHeapSize = 0x8192;
4 U* o2 r9 O! P b$ `" J# Y# dIdle.idleFxns[0] = "&LEDStatus";7 D' {. C3 v% E( T3 j
Cache.initSize.l2Size = Cache.L2Size_32K;( Q: I/ V6 u' Q" z; _( Y
) R& ]6 v J9 @$ |) o8 U, X
|
|