|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
' [/ Q0 a: [, A5 a3 |; J7 L2 E我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 h8 w4 s0 u/ u(不过疑惑的是,为何单独DSP仿真就没有问题呢?). a5 o0 x7 h7 x/ D( W6 T
( x' ^5 N' T) u- Q, b是不是需要在DSP.CFG中进行配置
$ }: f) y7 Z+ T6 f9 K我现在的配置为
% O1 b" }' \& D0 \) ]
8 {0 b& k/ b& B* G9 Z- C9 Y/*) J% ^% q/ [; r& i4 \# I
* ======== Operating System Configuration ========( K8 |' l. ?4 ]: D' h% Y, T0 z
*/
( ?; F8 P* x0 l$ P3 a! \
# m. I+ p8 n- S& J/* no rts heap */
8 D ]9 _ ^' M9 N" V' E2 I' s. XProgram.heap = 0;0 D, e& u- P2 T2 S
Program.argSize = 100; /* minimum size */# ^3 a+ h0 ~% C5 U
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 ?+ o; ?7 D. P2 R3 }( }/ R% o, m8 }$ Z4 Z' S3 E. P; `4 ~
/* create a default heap */
/ R3 Y2 m" f; V3 m9 Wvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ J- ^. ?: J9 ~
var heapMemParams = new HeapMem.Params();
/ D" Y+ p8 ~: _' ?* u; h/ B+ ^heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 g3 G1 m" b% y5 ^
& i0 o: d0 r8 |# F9 e
var Memory = xdc.useModule('xdc.runtime.Memory');
# P8 k$ m: i9 WMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! A% u1 C1 y# f$ f6 r* U, G/ c* c; ?2 _! T4 ?
/* configure System module */% C L, O$ F+ g" l* ?4 v
var SysMin = xdc.useModule('xdc.runtime.SysMin');1 r3 T) l% {% a& N& @; K2 x* A
SysMin.bufSize = 0x1000;' n) @8 i, v M7 y. Q+ ^' d
SysMin.flushAtExit = false;4 r. J3 ]1 y: c; D, `
* p% Y+ _, u! O$ y* k. ?, g( `' r! Kvar System = xdc.useModule('xdc.runtime.System');
' ~- I* t8 K4 `1 o: n' ^System.SupportProxy = SysMin;. k7 q; {7 Q1 g; X3 e" n& j
7 o/ f$ i* P6 q0 n3 z4 X/* configure SysBios to use the lower half of Timer 1 */* i+ N7 N5 } I# e- J/ _) \) V
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, ^% x) E6 E/ x( p2 d; r8 Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) g$ a7 P- p" _1 w; sTimer.timerSettings[1].master = true;# Y# L7 {0 ]3 y& s& B0 K
Timer.defaultHalf = Timer.Half_LOWER;9 n2 _% A' y" v6 ?2 s
Clock.timerId = 1;: M2 _& ^2 T# D
+ G3 Y4 _0 E4 M+ J; A1 ^, V* B3 z% j3 [4 J
/*
- g& Z, e" |1 b& l, Q! l0 B- c * ======== Miscellaneous Configuration ========
9 A0 ]: Q O' Z% @* M" |* V */
# J+ k8 [/ e/ A z0 W# X; u% @7 Q) t; \; W- y v5 A g
/* set default diags mask */$ i% O% E( N( Y1 a3 @0 A
var Diags = xdc.useModule('xdc.runtime.Diags');2 P0 C, A# p, k" v3 p2 S1 A
var Defaults = xdc.useModule('xdc.runtime.Defaults');: P/ f, ~1 I% ?* F% b
! t: q9 Z0 x: o: m A- k$ `) o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 l4 O8 z4 v% J/ }5 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# Z5 ?$ Z: O# g# S2 f1 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. L# Y" M5 r: v L) VDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
& [: G8 [/ x6 y0 h' [0 }! GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 |+ Y3 ^1 \" e: P) k$ \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 h7 f# k0 E% n1 S+ y$ h
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 h4 Y% N) s' B* n* [4 z" e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 |: d: ^' g* ]3 R' X. N* fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! @( D2 E% M0 wDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 V1 b; C. A( V- j$ P) _0 vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 h! \. W1 r2 z' g4 ?' k; i
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;5 C: G! f7 o: U
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 I4 P. W' n- k" H9 m, W* YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" X* |' { M. [) R/ H2 {7 _# f
2 {) Q1 p1 j, N7 r7 W1 F
/* override diags mask for selected modules */
+ J7 ?( M2 J; P) |/ m# i! X* kxdc.useModule('xdc.runtime.Main');
$ y+ `* A, S. G$ X G0 [. j U% MDiags.setMaskMeta(" F+ `. |% N7 q& }8 s( ]$ h
"xdc.runtime.Main",
# R, q! {7 L5 ~2 y. p- v7 V Diags.ENTRY | Diags.EXIT | Diags.INFO,* e% b/ F& ~# ?9 I
Diags.RUNTIME_ON
- B+ A% _7 S# J4 v);
+ q9 l3 [5 k+ ]- a6 _1 g* V/ Y3 x3 B1 U
var Registry = xdc.useModule('xdc.runtime.Registry');' O a7 R; h/ b0 _
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& }" K8 Y2 z7 M2 Z5 k
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ m1 R7 H6 y9 c3 E: K+ U7 FRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;( u& X# ]5 h9 o) \& p" }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( E0 k) ~" M1 ^* H5 J' ^8 V" Z
' h' P. V- y1 j" Y; R- E+ i: P/* create a logger instance */& D% r3 q. @! ?! `
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# O% E8 j# G0 v9 a
var loggerBufP = new LoggerBuf.Params();
% _/ R: D% |- l0 m( c, OloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- P$ u$ r2 p) Z" K9 B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;, l( s4 D6 `4 \( c
; F' f- m/ I7 t3 P# H2 N
var appLogger = LoggerBuf.create(loggerBufP);* q* W% m- h3 M% {' j
appLogger.instance.name = "AppLog_Core1";" q* y9 |0 H& D ^& |+ i& v
Defaults.common$.logger = appLogger;
7 |* Q) q5 l/ x# y3 OMemory.defaultHeapSize = 0x8192;
5 W, {5 s+ _$ o8 a) J# Q6 ?, dIdle.idleFxns[0] = "&LEDStatus";: @/ Z4 g$ h0 m3 I& N J8 R y
Cache.initSize.l2Size = Cache.L2Size_32K;, C$ P5 P& |! W# |" {, `; `
1 V- V8 q6 X+ G1 p* f/ p) I& _, C |
|