|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ p" a! Z& E' `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 g7 @& K: h6 h* ?4 t/ \/ w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, j* o3 a L2 s1 |( C- J- b4 i- \: |) n8 ?4 d3 D! Q7 Z
是不是需要在DSP.CFG中进行配置
: E" D& X8 ?3 d我现在的配置为0 r; |5 x$ L) O- _ j! [/ \
# ~/ M. |0 B( F! k& X1 T2 A+ W* L6 P0 Y
/*$ r4 B t, y- }0 ~5 N
* ======== Operating System Configuration ========
8 n) X5 ~2 |6 F0 C1 y */
3 r9 d j J. U- i4 p# _# t# d5 ~5 d& U5 R! o+ `
/* no rts heap */
' M. l8 }$ r2 oProgram.heap = 0;+ O) t, i4 h7 {) f2 U$ Y4 `
Program.argSize = 100; /* minimum size */2 K- ]9 |- X# }) ]# R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 P' Y' ^7 E4 r6 `5 b
* o( h0 q' `% M% V/ ^: D' j
/* create a default heap */3 C6 `: t! U% o0 x) X; _
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; p8 l7 D! z: g6 pvar heapMemParams = new HeapMem.Params();
: i: Y# y$ ]& U o5 {4 UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ j" d% a0 i8 }! D1 H t
4 \- }3 ~4 F/ m4 H& P1 D. v
var Memory = xdc.useModule('xdc.runtime.Memory');
9 k( F/ ~5 O! y# ~% u* jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ Q4 s2 ~, {2 R, y5 W- l! X
* c! c# q. L9 S5 T# M/* configure System module */* ?, D+ s* m7 K
var SysMin = xdc.useModule('xdc.runtime.SysMin');) u5 X3 y: b, j" B
SysMin.bufSize = 0x1000;& q+ b9 }0 o% u+ p" r; N) X& _
SysMin.flushAtExit = false;/ ~. [# f7 M1 A! k7 `3 D
- P5 x* ~. z* ^: D
var System = xdc.useModule('xdc.runtime.System');# j. N" H# ]/ C2 C, M* }0 d7 t B, t' B
System.SupportProxy = SysMin;0 z) |0 ]* c* y1 I/ r
3 J' K, n7 U0 y: u4 S! s/* configure SysBios to use the lower half of Timer 1 */
! Q4 B5 }, f! ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ t( c. [: p( o* ^! R/ I7 U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 _# l* d9 _" |$ Y% OTimer.timerSettings[1].master = true;2 l% t* j, i7 o5 q# g# ^
Timer.defaultHalf = Timer.Half_LOWER;
' W# I$ J0 M4 U5 P! fClock.timerId = 1;
4 f/ p9 O0 d+ _* M8 V# L4 O
$ X. K, A$ G) ?
, i/ ~. X4 M9 m2 I5 k/*
6 H" r8 \. O; Y * ======== Miscellaneous Configuration ========8 J! Z9 `2 z1 \" b# V
*/% \/ y- c: C# P, F( v, X8 C
* m5 _0 j1 h, L7 Q
/* set default diags mask */) r' t# o' @8 \$ p
var Diags = xdc.useModule('xdc.runtime.Diags');
2 |& n* S: {7 c* Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
6 M: p/ d+ Y' e* W4 L
" r! } y* Q' I3 e, E# l+ XDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; z* i/ g/ G$ J, V( W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 a! F: x6 |! E" x+ Q$ o2 u* F# i" C
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
8 N# D) D0 e% K hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */# U2 r% K) x8 h4 v8 e9 T
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! Z4 n; p6 f, r- T& ]* CDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
d' j6 a, B; |/ v9 k* }2 Y8 |5 {Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 R7 N3 u& D: e% W7 N; S4 D6 EDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ @0 W" S% B/ b
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, A2 E5 H- B1 b! s- s$ F5 N# lDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ i; h, K9 \5 d4 ODefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;! x# d5 V2 ` }, \4 L0 h
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ M2 {. b, Q3 wDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 p6 n0 |; m* E% ]+ d. r8 U9 ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;6 U3 d1 H8 e0 b" U" u4 n) ~( w
2 b$ p+ K/ l/ D: Q! m/* override diags mask for selected modules */
# ?: v" r. y: i+ G9 x8 z4 r0 ~( Mxdc.useModule('xdc.runtime.Main');
/ j& D3 G: b: A6 J, gDiags.setMaskMeta(, J- z, U5 K& T; D
"xdc.runtime.Main",* n3 @0 p) ^+ F
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 m/ H7 [3 Z! A( I' ?8 G: A ?* L Diags.RUNTIME_ON) E( |* ^# u/ |' J% g) w
);* x/ q) `; ]$ @& I
* h% i* ~( O2 G0 ~7 Nvar Registry = xdc.useModule('xdc.runtime.Registry');
" F% c! w4 X9 T( {# ?' S1 p. jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' L/ o S6 B, D( NRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: f- p5 ?' m* ERegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: W0 v6 k; w( n1 c* L' i, ] I3 C
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ r7 r* i0 O" p% `# _2 Q( w* p
' v, w3 b2 `3 G r9 l2 r$ V6 c# l9 _/* create a logger instance */. D4 K ?' M" e) K8 ]- X
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) ~* [2 U3 n, Z; C: U F U$ Yvar loggerBufP = new LoggerBuf.Params();
) H: P* S' G8 \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% P& |) b6 M7 F D) R7 v
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- b% }; a3 x7 |3 ~( u! v2 K% V5 B$ x' o8 X8 g h4 E
var appLogger = LoggerBuf.create(loggerBufP);
- F/ j1 S. J4 OappLogger.instance.name = "AppLog_Core1";
" m# L: R5 b& ]; N7 yDefaults.common$.logger = appLogger;$ ] `: x; n% H* d) {" s9 u! ?1 e
Memory.defaultHeapSize = 0x8192; 1 P( |; x! F8 j% A2 S
Idle.idleFxns[0] = "&LEDStatus";
, Y$ {9 j/ ?3 K7 aCache.initSize.l2Size = Cache.L2Size_32K;3 R% ^8 _& K( F; J: l8 Z
) s5 Q; J; ^- G! g9 S0 W2 a |
|