|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* Q, t$ N2 ]; O5 G% k9 {0 X
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 D& S' |2 u2 a) z" S/ ]1 [+ T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% y" V6 U5 e( r. _. b1 ~2 X( F& {4 N; S( b8 w5 ]. P3 p5 E
是不是需要在DSP.CFG中进行配置% r* k& h) M: q5 D2 t0 n
我现在的配置为
5 [! k5 d9 C8 y# i5 `: E. Z
0 p7 w [; |5 V7 ]# ~/ M( q/*
5 n% }9 y/ S2 {% S2 ~0 ?4 C9 V * ======== Operating System Configuration ========
( N3 V/ S N) t. M */1 K. x! m% k$ {3 J! g3 p1 g" H$ s
7 P9 T$ ]' m% o2 A6 \
/* no rts heap */+ X* ^. ~9 e9 x
Program.heap = 0;
( a2 W0 n% M, A5 f4 B# e3 nProgram.argSize = 100; /* minimum size */
1 ^2 r8 D. j0 P* M8 }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 B; n4 u8 s' @ C% h! k7 m
' g4 t! a* |- @
/* create a default heap */
, o; t( r6 F1 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# N6 J' B( o% ?1 `- X9 pvar heapMemParams = new HeapMem.Params();
/ I7 E* [8 e4 O VheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大8 W5 S. w" d7 Y2 o" q8 M2 V
. {* B! j4 X4 n. v0 pvar Memory = xdc.useModule('xdc.runtime.Memory');
' F; E' ]# A4 K5 z9 _Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. }# X4 o# m, L1 [6 D. G8 N& Y5 b: M; w1 O5 ^* P
/* configure System module */6 g8 _8 ]% @" h8 \# N
var SysMin = xdc.useModule('xdc.runtime.SysMin');- t/ V" n3 k* g+ Q- U1 _, E
SysMin.bufSize = 0x1000;
0 Q. g2 J5 L \4 I& hSysMin.flushAtExit = false;
" [3 n# N( h- w. g9 M
/ i- q0 I/ L! i' Qvar System = xdc.useModule('xdc.runtime.System');
0 _4 I- F: i/ f: e7 A. X+ lSystem.SupportProxy = SysMin;) @9 b, y/ H2 G$ m2 A) g
1 m' Q. ^* \; W/* configure SysBios to use the lower half of Timer 1 */
1 Z: D( v* m7 T: {. D/ A z: |var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 B( w) d5 O# I( Vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; B1 h& G* o# }
Timer.timerSettings[1].master = true;& E. _' }) L. }5 h1 f
Timer.defaultHalf = Timer.Half_LOWER;
% @$ c, ?8 [, @5 p5 FClock.timerId = 1;! [0 `* Z J/ o" v9 @
. v* t& N0 G8 Y7 h0 N" ^; X
% v3 @3 G8 ]6 K5 Q; z
/*% u9 |- F2 o5 w1 V" v
* ======== Miscellaneous Configuration ========' Y% d! D8 L/ g) r" z3 ?
*/) D/ H* s* U, X$ Z* d H
8 D# s* z0 m& F$ ~0 D. A/* set default diags mask */# m5 [* @. i: b0 Z, H v9 p% I
var Diags = xdc.useModule('xdc.runtime.Diags');
) Z7 G% |" h" Q+ C" a' Z3 o" xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 ~ h1 h! w; v/ x& x# L% |8 |: E+ ?: c5 e* F* P
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; Z" ?: K% Y, B2 x5 q
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
! M5 \0 l& _8 Z* h% D2 j- B7 k# }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" m2 ?/ ~) n5 p& X- x4 v0 H
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' z' O% C1 F# l+ G) DDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ b* `) c5 W, }, P+ BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;! J4 m& M' |* `/ d( }: j
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: A# h; S7 H. o! T) L- E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 ]. k" \5 p5 q* ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ P; {2 i3 Q1 m: T
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% M, Z/ W$ E, _Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 K {; ]( C$ G) w; J% @9 pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 j+ b7 r; y1 [) W& I1 O" E" ?
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; d- d% Y3 l- Y8 b$ {; @
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
8 [) { C4 u5 L5 g) C( @/ n( ^; _# ~( }* N+ P, ~' A
/* override diags mask for selected modules */
2 g4 g8 E6 Q" z) t6 x8 @xdc.useModule('xdc.runtime.Main');
5 r- V& \: k4 u) ?; IDiags.setMaskMeta(& ?9 X) _ B m* v4 }
"xdc.runtime.Main",
( B# o9 J" |7 c6 }$ h Diags.ENTRY | Diags.EXIT | Diags.INFO,
# l5 x3 J/ o, y W- R Diags.RUNTIME_ON- A' G0 M1 f9 l7 Q! I/ u/ }4 |( o
);
) N6 M0 p/ y0 U7 @3 @' T5 x' j6 R1 r t' q- ]: P
var Registry = xdc.useModule('xdc.runtime.Registry');
9 N0 U0 \7 x# M ?' `* R( i# _1 kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; r0 `6 |/ y9 ~$ p; O# ?5 M0 ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; Y1 _4 r$ {3 a* H; \- Y9 fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ w) i2 f4 i' Y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 C/ y) w* E4 v6 ~9 V' r5 P; y! T8 H5 P/ l" B
/* create a logger instance */
R5 _# a2 A1 B4 uvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
6 I5 {" s( [( y- G) R q8 f, ~; Y+ l& R- Nvar loggerBufP = new LoggerBuf.Params();% r; ^5 H3 }2 }& b' F
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# m" x9 o1 t; C* floggerBufP.bufType = LoggerBuf.BufType_FIXED;
' M* n, S; h1 I0 P4 i4 q; F: G; y0 M- V
z$ u1 [7 ? J0 n# O; [var appLogger = LoggerBuf.create(loggerBufP);
- \8 |+ Q( j% yappLogger.instance.name = "AppLog_Core1";
; w0 N! y) M6 V" I/ yDefaults.common$.logger = appLogger;
) e+ s9 |! o) K8 | e3 U* v: eMemory.defaultHeapSize = 0x8192; - E8 C3 B- p* A' U
Idle.idleFxns[0] = "&LEDStatus";
1 f" C3 c+ G3 {Cache.initSize.l2Size = Cache.L2Size_32K;
& T, Q( G3 x) j9 V0 D/ X3 V) Z& E/ u7 v$ |0 \
|
|