|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) C8 O. ^) O/ d- E5 d4 h我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
3 x, v" x3 F& h! I0 u8 D- B(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" ?4 ]! a! X" P' ]. |! u4 W! J; T) E/ j
是不是需要在DSP.CFG中进行配置
) k/ d0 K0 ]0 V, _, I3 t$ V# ]我现在的配置为+ P9 u" y) @1 n7 V& x
3 E: c; l7 Q" }, \/ l5 a, I# b, l+ b
/*
* I& r' Z/ ]. P1 J * ======== Operating System Configuration ========# ~& p+ a- i L# L; k2 A5 J
*/4 T7 _, _' K" Q( i# P
3 ?+ @: h2 E8 Z/* no rts heap */
2 s# o& Z7 Q. _( D- t) zProgram.heap = 0;
7 l6 x8 g3 W! ?& j0 y+ hProgram.argSize = 100; /* minimum size */1 w4 \$ ?, \3 E5 z$ }! r1 t) Y
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大& B2 ~! f8 w: v4 c' h3 d" S
- V: _3 }$ a' e$ V+ l* R
/* create a default heap */7 n0 B- C7 j8 ?" n a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');2 a. {, ]: R3 o
var heapMemParams = new HeapMem.Params();
& s# R! L3 z9 `# p2 hheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
! U4 b/ E6 y4 D6 _" ~4 K, {$ I+ Q; \5 [& ?
var Memory = xdc.useModule('xdc.runtime.Memory');4 E6 ]4 f- o: w; z* k, c) y5 ]4 Z2 ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);# l: O! `+ H& Y" L' j
2 n. L% }9 v2 G9 C% U/* configure System module */
- E5 F6 V- o- j X; @1 wvar SysMin = xdc.useModule('xdc.runtime.SysMin');: S# n9 E9 o: [$ c8 w+ D
SysMin.bufSize = 0x1000;1 _2 J* l3 g$ s: v/ ^9 n6 O
SysMin.flushAtExit = false;
3 M* W# v* A$ V% Q$ R% J* I! H- i2 Z. Q$ J+ z
var System = xdc.useModule('xdc.runtime.System');
8 h. }6 s& z4 [9 j% }System.SupportProxy = SysMin;. O7 ^) @/ b. w, T
' A* r R1 y* t/* configure SysBios to use the lower half of Timer 1 */0 E# J3 {- q! M8 b0 s# x1 W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 h2 X0 q) Z) L0 R" F7 Wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 y" R+ q' C e! U/ K" C
Timer.timerSettings[1].master = true;
* o0 ]+ l. J% _$ s! V% R/ |Timer.defaultHalf = Timer.Half_LOWER;
5 w. p! @. [ JClock.timerId = 1;
B/ ~4 K4 |( t* ~
' z4 d' k9 f& C# N
9 M' h$ r4 o" A& J( z F( w9 r. b/*
0 e6 }& o( h0 M( p- F5 Q' o1 c * ======== Miscellaneous Configuration ========
, y8 N3 z# o' Q& K ^* a( Y$ l */
( @ }$ I, u# O1 n/ \: I1 v* L l/ r, {
/* set default diags mask */5 I+ I- z% `# F7 x8 U% h* {
var Diags = xdc.useModule('xdc.runtime.Diags');
9 Q. c, R2 q" w2 o$ Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');% i& I& T; s4 ]3 O, n1 O7 ^( @# S
0 _- T5 X1 K k3 Z; Z2 wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! ^ x; J2 h7 k* E, g8 }7 H: X
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 J+ C1 f$ m2 D# S6 y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* d. Q. o3 X: k9 eDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 L* Z \1 N8 K7 Z
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
m, e6 {$ W3 C6 s1 U5 F5 _- \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 C8 G- S( l- ?# S; H0 Y. | zDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) W7 P3 a2 _: G( h
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;$ P: g" g4 O, e) j0 L n: D' o& v
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 T0 {) T9 G8 @ k/ i k& g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' Z) F* x) o) R% n
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. X" \* ~4 U/ v- y8 N r" o( W% @
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ r) E' ^9 N! E* ^1 B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- O/ h: }1 j7 Y% ODefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 Y5 }5 _- _* j5 q" m
2 [3 h+ t! [9 z! b' t/* override diags mask for selected modules */
; I/ E0 i5 L2 E5 L" v$ w4 E) vxdc.useModule('xdc.runtime.Main');
, S( f- X/ @' a% e1 f$ [2 E) tDiags.setMaskMeta(" ]& O- r3 C& d1 C1 N. F
"xdc.runtime.Main",
6 c6 ?0 \* O& p; a& A Diags.ENTRY | Diags.EXIT | Diags.INFO,& B% D, [4 ?- N) T1 D
Diags.RUNTIME_ON
9 y) z$ y5 H5 }/ r( c+ l. W);' U: K M1 m. E$ c" T1 h+ M l% p
5 _9 y- w0 D1 y2 Z: |6 d0 h) Y
var Registry = xdc.useModule('xdc.runtime.Registry');" E {5 I" e: ]( X$ `; n' {: ?
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
4 k1 ^* k0 c# |/ K4 l B0 eRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 h0 n" d1 t C/ ^5 ~Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% E( x, j' T" u- S$ nRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;* N* r" W8 X) ]+ e5 a7 V- |
. ]' i! M i, B8 x W0 i% \
/* create a logger instance */
4 d# x, n3 Y1 B+ b8 P* Lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# i& H% j% a. x! F2 v evar loggerBufP = new LoggerBuf.Params();) ?9 u& ^' z8 @# c+ B$ A
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; C) X. O" N) J/ F- `9 \' [& N5 qloggerBufP.bufType = LoggerBuf.BufType_FIXED;
' f% J7 b% P }3 U' }% { q
5 V" Q! t/ e$ dvar appLogger = LoggerBuf.create(loggerBufP);3 g) G a) P- D; W* G" g4 k" c
appLogger.instance.name = "AppLog_Core1";6 h& z5 j- z$ G7 i, n A
Defaults.common$.logger = appLogger;) ^( Q$ j% D# ^ ?
Memory.defaultHeapSize = 0x8192; ) j( B [' |, [+ B$ Q
Idle.idleFxns[0] = "&LEDStatus";+ _/ y( U+ p% l) L8 r8 e/ ?
Cache.initSize.l2Size = Cache.L2Size_32K;8 l- ^. k! p# M7 [" V* l
# S% ~& P3 J/ S1 w, K, x9 E# O |
|