|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# L/ ~8 }# p) r/ H% M* @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 O3 W3 M4 \; Q1 m6 }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 S4 @" z# U5 z m
- u/ B3 s$ A3 Q& v# ~* @+ ~1 K
是不是需要在DSP.CFG中进行配置4 p' K T! H% Z' E0 I3 h! t
我现在的配置为4 o; C& P3 t7 U! ~4 G
& d+ M3 J4 t# @& v7 U
/*
' P& b2 E3 Y9 S7 N1 m * ======== Operating System Configuration ========! ^" B5 @+ i1 ^8 O6 `$ Q
*/
8 Z- e# B! ` ?/ E) I; J
6 O9 E+ l3 g" }, k8 y/* no rts heap */
6 U7 P% {! B+ k- e" F# J+ B$ rProgram.heap = 0;
/ p' H# o8 ~5 y* YProgram.argSize = 100; /* minimum size */
- K& q# x8 _9 A& |* o; V( o( [Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ C/ m3 s! [- }5 h) H' g
: F: ~( s( K/ g/* create a default heap */
( W$ K8 [3 [) dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 y; r& w; a& z! Dvar heapMemParams = new HeapMem.Params();; m# q* o2 J5 j7 m/ `
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 I" F1 f! v" |: }
# Q5 m7 j& k+ C( {# J" N; zvar Memory = xdc.useModule('xdc.runtime.Memory');
v5 V3 M% `: o) W1 @/ FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);5 U9 b1 X1 I4 q6 u* v m
% B: E% Z( [+ J) ?$ O- K/* configure System module */. ?: H. C/ _! C
var SysMin = xdc.useModule('xdc.runtime.SysMin');! t& ?! x$ @: o& I( U7 o/ ^
SysMin.bufSize = 0x1000;6 Q5 \/ X" D. J$ F/ |2 v/ o
SysMin.flushAtExit = false;7 s* {4 a6 s9 C4 O. G: d3 `2 B
5 y( l. G" A- N& O5 K( b! i7 F; \
var System = xdc.useModule('xdc.runtime.System');
; W6 r" @: w% s' ~& u# z& MSystem.SupportProxy = SysMin;
' r# i& ^5 p1 c4 z; J3 ^; l3 z j* g. x+ r+ o: v
/* configure SysBios to use the lower half of Timer 1 */; F A8 n6 u" p$ Q( U
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' Y9 f. F% M" Y- A: uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');5 T( R* b D! ]; x
Timer.timerSettings[1].master = true;
H( j! q) q3 w4 f" |! ~/ `Timer.defaultHalf = Timer.Half_LOWER;3 [. H& a, _: W2 `! T
Clock.timerId = 1;
& w7 ?$ ^, Z: {6 \' J! _
* A4 ~% w8 Y F# Q2 l
* n! e4 S$ n, m& h" ?/*
& U2 p& n" {1 f0 j. \ * ======== Miscellaneous Configuration ========
& [7 z6 L) R* I" M* s8 S */
) o3 V0 n& j6 }9 Y6 Y9 |# |6 J" ?9 `) ?% _! O1 s* e5 l' Q* K0 Y* E
/* set default diags mask */
# ]8 V: y1 j1 m7 Jvar Diags = xdc.useModule('xdc.runtime.Diags');
z* o0 f" o, k/ ]9 Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 j9 f% ?3 x2 n: N4 C
8 C$ e5 _$ H- X8 R1 M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, g1 L3 h0 b4 m: Z5 PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 x9 g$ v( F9 m& H+ rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" t, ?4 C6 F% g0 `7 K' HDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 q2 k6 `/ `2 Y5 V5 V" ^
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# W" M, a/ V0 [' b" t+ Y' t# `3 K) e
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
+ c8 }; H ^' I/ hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ E3 _( \6 P7 C4 U" y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. ^; c% M7 Q0 T* W, T, YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ u# n2 ?" ^: q5 g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* f, n+ _" Q, F! d" p0 k8 x0 ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' D3 S7 @) ]1 X: N0 j% e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 R7 `6 R' g& N; m; lDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;1 b7 b, u: d% y- D9 U' n
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 I+ Z1 D! G$ d% |) U/ P0 y* y j
) V0 V3 K- Z0 s a/ }. N/* override diags mask for selected modules */
8 E+ ^. O" q$ Z8 o4 ?, lxdc.useModule('xdc.runtime.Main');% ^5 H7 e' E" A, L; [. F
Diags.setMaskMeta(
! a3 y8 n# Y. |) F" E3 X; R( t, K "xdc.runtime.Main",* O1 H' n4 T3 d; ~& u
Diags.ENTRY | Diags.EXIT | Diags.INFO,- O/ {3 e- {$ T3 x0 @
Diags.RUNTIME_ON
]7 U2 `1 J: r# W5 I: j);& n- l2 f3 F$ g% o: e/ f' Y
- k) s! U& U% D% K0 A3 n$ E" H
var Registry = xdc.useModule('xdc.runtime.Registry');
6 i" V5 |! n0 X B0 ]1 C- H0 ERegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: t9 b& e/ H# H* X+ U( R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ u X. y* n4 D8 \2 Z8 l! I
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 Z9 B/ T7 O/ A, n+ `
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; t, ^! R6 n& e" C) U0 _$ j$ S# B$ h" ^4 T+ p( G; T
/* create a logger instance */
' W3 o7 `8 L; F1 w) p7 u8 ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); _- U; x/ ]- Y t3 U
var loggerBufP = new LoggerBuf.Params();. i+ R/ i6 V# {/ U3 T, ]* G
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
( S5 P: z/ t7 z) k) ?& PloggerBufP.bufType = LoggerBuf.BufType_FIXED;) }! q, k, ]. t' \& z
3 R& z0 @* i* v; J2 p7 [+ M* \
var appLogger = LoggerBuf.create(loggerBufP);& G! v& M& Z3 \, x3 O7 a
appLogger.instance.name = "AppLog_Core1";
7 z* n$ A' v! }) K8 Q# V" x9 LDefaults.common$.logger = appLogger;
0 [# w! Q2 @' M, PMemory.defaultHeapSize = 0x8192; " _7 S' O, L3 G [+ r1 ] o
Idle.idleFxns[0] = "&LEDStatus";
; t2 D P0 m, M- g0 n8 VCache.initSize.l2Size = Cache.L2Size_32K;
( b2 y- |9 t6 I/ [/ R1 }; d# q T7 ?6 F0 F3 G U
|
|