|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, }: o$ l" o. N8 [9 B& Z; R8 [7 {
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下& l! ?( s. ?5 q, P
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 P7 K* U; _' R' a" }# d) m) h
! f, g, ]1 A J6 k是不是需要在DSP.CFG中进行配置9 z2 b) F D8 @" K0 I& i1 K8 [& C
我现在的配置为
i; B# ?4 z; e6 o* K2 [
& P0 x. \, S& S8 t* L6 S/*( f2 U4 j2 Y# N* u G# k& C
* ======== Operating System Configuration ========8 Y: A5 t i: ]* \( x ^: @
*/
6 y: M, f# v7 S# m. g' h% W; N/ v+ ~5 N- P, t: p3 ~. v, t
/* no rts heap */
/ L9 @) `' J" uProgram.heap = 0;
6 _5 b }9 |7 f, K) ?+ ^) e, HProgram.argSize = 100; /* minimum size */) p0 R0 c* @& @5 x- w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 V% e# _6 |$ j
+ p$ a4 r% _+ E6 V/* create a default heap */$ k' ^/ H* F6 h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% t4 B( j) T6 xvar heapMemParams = new HeapMem.Params();
! c* k5 `5 [ p( IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 c# ~2 q1 K/ @& y, d8 P% o- F) ^& Y3 M* x) m. G$ v" ]( a
var Memory = xdc.useModule('xdc.runtime.Memory');
1 }% f& }' g2 s6 d- z' q* R+ rMemory.defaultHeapInstance = HeapMem.create(heapMemParams);9 w: _+ G/ T b2 Q7 R
7 [" V% @) n/ l" E: a* y* Y
/* configure System module *// b, T* k' l$ U4 H- U0 M* c5 r8 z% W
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ y: G1 ?0 h R7 Y! Y$ e
SysMin.bufSize = 0x1000;+ s# D- r! b3 J4 N3 t
SysMin.flushAtExit = false;3 \1 a0 ?4 _! M' y3 I/ L# O9 E
) E' r) V; ?7 K: x+ q
var System = xdc.useModule('xdc.runtime.System');
) {3 P3 M' R6 s! k2 q( zSystem.SupportProxy = SysMin;
- s# y" G% Y9 X5 T* R: R0 r9 {3 }6 L. @/ W: h* O1 }; u
/* configure SysBios to use the lower half of Timer 1 */% Q- Z! i9 U$ h- {1 G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) y' P" u; t" D/ ~1 W" Y0 E# m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 W( `- b. X0 J
Timer.timerSettings[1].master = true;
( ?3 L1 n- E! {Timer.defaultHalf = Timer.Half_LOWER;
6 w* H, f$ T: h# AClock.timerId = 1;
4 `* v# c* s5 b: z0 C- V5 _" \) C, S5 v. ~( \9 f
& V' {9 F# U7 g/*
7 m3 a. Z; ^% G. h5 Y8 [$ w3 J6 [, ~ * ======== Miscellaneous Configuration ========: e$ I; {4 v& E- W
*/
! e' D: u/ C$ J: y- s* F6 y7 S# u* O, _) X! x3 A
/* set default diags mask */
5 K$ O3 x- y8 R- G' Jvar Diags = xdc.useModule('xdc.runtime.Diags');
/ T e6 r) l7 U% O* f! G. P. m( Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
! o" i5 M+ c j j% E* n3 K8 X. e/ H' t8 ]6 d* l- w5 g/ F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
) g; i; b( ]7 g' c. j1 K/ @/ { ODefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
O5 n0 W( y. r. C T+ f; D( CDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- q4 \3 w' e) RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ B/ ^: ^( Y) {8 i' J! uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 `& n8 M$ y( M) Y2 s0 K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;# d$ ]0 [$ q, }0 v* O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;; r% o& t5 E9 U. i$ b0 z8 z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. N% w5 ^# @- ?, q6 u
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 b. @1 A' W, M; q5 w$ N2 j
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ \; s) _8 X- t8 l3 y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; r# Z+ M( S# A5 o e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;! e2 U3 t/ |* `3 @ A8 C( C ~9 t/ k
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;$ p k# N* A/ m$ s3 P
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 }8 m: W7 n: s0 j4 F. k6 ~+ q) }( M K6 V
/* override diags mask for selected modules */
' ~. \3 W0 f0 \; |xdc.useModule('xdc.runtime.Main');
# j7 n% l+ W* g, S4 w+ ]Diags.setMaskMeta(9 [) n7 i6 K: X, p
"xdc.runtime.Main",
- M9 x% G9 d: J6 y4 M Diags.ENTRY | Diags.EXIT | Diags.INFO,
% K0 A- _9 X- O3 F5 ^0 P" e3 \ Diags.RUNTIME_ON
}( m) r2 B% l$ j);4 ^+ X1 |; o4 T" J
& O) Y" |6 S8 ^& ?2 G! @2 H' k
var Registry = xdc.useModule('xdc.runtime.Registry');' [) M. L0 E# z9 R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# y- I Z6 S5 i+ ^
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 w: j. {' ]* E! D
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
9 V: c. Z( A$ i4 t9 B8 {* s4 V f5 lRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, J+ o/ [3 G) C6 J9 e
+ G {5 B$ ?# S0 e, M3 e {/* create a logger instance */
]' p; r% x4 |. L5 W2 ^" Pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 V1 H) h' S5 y" @8 C% k
var loggerBufP = new LoggerBuf.Params();: S6 X9 \: c: @9 }6 k2 X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% q; M# A/ a1 d( H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
8 n. w, K/ ^1 i
+ r% h% _! S1 U+ O. Gvar appLogger = LoggerBuf.create(loggerBufP);9 ` B9 d( K# j8 f
appLogger.instance.name = "AppLog_Core1";
6 h7 U) j) U2 {; h! Y5 \ }2 gDefaults.common$.logger = appLogger;
' s( H7 O8 B9 e+ R6 D! tMemory.defaultHeapSize = 0x8192; {8 h. L1 K8 o( }! w) v! `& G& G
Idle.idleFxns[0] = "&LEDStatus";/ I! ?+ r7 {! [9 N# ?6 ?
Cache.initSize.l2Size = Cache.L2Size_32K;$ `. L) I( Q6 J; z
5 m5 S8 x; A$ r+ P |
|