|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 `3 N( w+ l3 e我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
`7 S& \+ E; }% V2 {* u: V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 W/ @# `! ~- B0 u5 X
0 j% Y+ F. b- R8 R$ D7 A0 n0 ?9 Q$ B
是不是需要在DSP.CFG中进行配置
; v6 v/ A8 Q7 M我现在的配置为, f/ s1 x6 H$ p* R0 s
- h& z2 s) b/ ~& b/ n9 P
/*% o n, _( V' |
* ======== Operating System Configuration ========/ w" X) e4 P2 F, z( J- w1 h( g
*/
( W G7 |. p( u6 v# C8 W
' o2 {) F! w0 o% @+ L/* no rts heap */5 K% a4 P( D8 G% h# C6 r2 l' q
Program.heap = 0;
b; S# i" Q T% J( T; \% }Program.argSize = 100; /* minimum size */
% Q$ b6 S( V+ m+ ?2 z4 j C3 ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 e3 B# h* k2 E- @* T
q2 j" F! O6 C8 j ~2 C
/* create a default heap */
- Z5 Z, R0 j7 D1 ?$ H# ?var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
- T* p: ]9 d8 {% @: zvar heapMemParams = new HeapMem.Params();* g( e0 Y. F* O/ T, B+ M! V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
X* _) |& H* ~% k( Y# M3 }5 w% ], R, w3 {; |/ M& V
var Memory = xdc.useModule('xdc.runtime.Memory');
3 w8 \4 |, L- d8 [, {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
# S: t0 ?* T5 O( T8 H0 z7 a) ]% e( t! |, t
/* configure System module */
+ q2 T2 v9 S& U7 l6 Bvar SysMin = xdc.useModule('xdc.runtime.SysMin'); w- `) u# n( A
SysMin.bufSize = 0x1000;
- D9 J* V; x3 @# m5 {* ]/ hSysMin.flushAtExit = false;- F( P ?" u5 S* C
" k" H: a ]0 l; x2 jvar System = xdc.useModule('xdc.runtime.System');- p) O; l# C2 i2 n8 H
System.SupportProxy = SysMin;
6 ^ ^! h. Z% y; v/ N: p' q, ~" X" X8 P9 d7 B" z
/* configure SysBios to use the lower half of Timer 1 */
" P3 j/ m, k; ]- _* H2 T' gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 R' z3 I& |" e: t2 s0 O+ ^* y- cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');8 J8 a0 \1 v2 Y+ Y4 I
Timer.timerSettings[1].master = true;6 v; ^) T+ j3 e* k. e: v
Timer.defaultHalf = Timer.Half_LOWER;
( O. m" j% F- U S" F4 h! a+ J6 Q1 D, nClock.timerId = 1;
+ \+ z0 X! a7 M9 }6 x0 H
4 w, I4 j8 A, w0 Z0 P) |) J
2 c8 |; _/ ]1 e, }/*: Z) c% z! d" v% R0 b% p/ G
* ======== Miscellaneous Configuration ========0 w; M4 R5 @* r& ~
*/
1 K( l0 B1 @* H8 k' P1 J0 ^; l3 @2 b' w5 f8 u. K# x, c
/* set default diags mask */
# A/ L8 V4 P7 |; o! J4 Uvar Diags = xdc.useModule('xdc.runtime.Diags');
) E2 @( K" O! i$ C( a4 kvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 s: a( u* ?" v# J
3 i: E: o! k8 J2 o' I6 W3 C+ U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
9 J; t* M) s. ^; Z: s8 M4 _" ?Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' x* Z( y3 F$ X8 Y) I3 x7 p0 J. Z+ F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- n; H, D) _6 v1 \
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ z6 v/ ^) `1 u! w! Y& G" Q4 `7 t/ z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ A: v) G- N% i, L9 t. bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* _" g0 D! P3 W3 d: r) D5 T9 I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. p, ^4 e2 y9 KDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 [$ B0 P/ u1 ^( F, W* T3 h- }/ R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! I2 ^/ J) J" gDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; a5 K8 Z2 ]4 V7 T' hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: [9 L- W: c: d# x3 N: Y/ ?6 u8 rDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
: H# y% M" }3 b4 S, ?3 e" ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 N E- Q2 \1 [4 ^ t9 g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 d9 o: R$ c' y: @3 A+ g7 o+ e
! t7 f R( M& D3 ]0 z8 w: g% Q& t% S- O/* override diags mask for selected modules *// N, l& P, ]" W4 _- {9 y+ h
xdc.useModule('xdc.runtime.Main');
2 b2 a( j. F: w. ^7 {' w& KDiags.setMaskMeta(
/ }5 P/ _# E( F "xdc.runtime.Main",( v5 F& [2 N4 F( M
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' S6 p% L# a' l, R+ v+ t Diags.RUNTIME_ON' u% R! Y" G4 ~5 L) O
);3 m& K. u. m' ^5 [; K; r2 n
5 [. p; G( m2 i i8 Lvar Registry = xdc.useModule('xdc.runtime.Registry');. M' G8 s3 W8 g% ~, H8 a
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 L% V2 |; r2 A4 SRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
5 ?% j1 u" \1 r. P) @# t f: |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;1 r: \' e4 B M g' Q6 R. n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: m; b9 g' v" d; ^8 `5 C, X% w6 }: u9 ?1 i/ @& N
/* create a logger instance */( i) u. ]% ^. V+ G. O' L4 s
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& M/ D c8 o" f0 e( t7 B! `: u
var loggerBufP = new LoggerBuf.Params();
) r- W) O4 B0 JloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" {. s2 Q! T3 j; O* @8 HloggerBufP.bufType = LoggerBuf.BufType_FIXED;4 S2 g* N$ [$ j
7 ?' m2 x5 G2 [
var appLogger = LoggerBuf.create(loggerBufP);# F' A" ~. E! e/ c' V6 x6 G
appLogger.instance.name = "AppLog_Core1";3 o( J* X% L# V+ H* l5 T S8 e5 d
Defaults.common$.logger = appLogger;" d7 v `2 A# V& J* m
Memory.defaultHeapSize = 0x8192; 4 W b5 k' A9 ~* L2 W4 L$ v+ }4 C
Idle.idleFxns[0] = "&LEDStatus";! ?8 _7 Z/ u( u1 M* R" i' m
Cache.initSize.l2Size = Cache.L2Size_32K;
! R+ p, H1 s# y/ B3 |* h0 @5 \/ Y3 ]% n7 Y0 }4 f, V$ g" m
|
|