|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 U# j4 t4 a3 }3 s6 m L/ @我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" g% O( S6 d0 c7 k: B5 h
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: J: e: ]: m" U: c* y6 q* o2 P* b: U$ w
是不是需要在DSP.CFG中进行配置
2 `3 K& R; y( b: w' _' C) r1 B我现在的配置为
. ?4 ?6 N' U. m& X
$ ]9 m. P7 o# [; L" |$ j4 y/*5 J* @# }6 p8 m3 g r/ m
* ======== Operating System Configuration ========
% k9 k& r5 d0 u! j. ^ */% }! l$ S; N, e4 _' C4 v
+ r2 U$ X) u2 O' n" t2 R
/* no rts heap */
2 U5 V2 ~. q, a \# o/ w# M7 VProgram.heap = 0;
2 k6 _2 C* D3 Y3 C: `! L! LProgram.argSize = 100; /* minimum size */
* L. a& n3 X. H4 D0 i! {. EProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
; m9 @. ] L* h8 `3 u8 T! {; [7 B4 N, |
/* create a default heap */
- w8 }7 w, p+ J7 t# T! b# Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ {* T# [4 S# s1 B6 {$ O' m; d
var heapMemParams = new HeapMem.Params();
! o9 m2 D$ f% J; [4 HheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& ?$ H& I1 M! \' [7 u3 v8 w
9 m% y6 ~- h9 }) @) jvar Memory = xdc.useModule('xdc.runtime.Memory');% s8 }3 G" v9 ?2 q5 \+ E" F
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! u8 u6 u2 S5 x* _* @8 ~% T
' ^, J+ m5 P+ B! @# b; I
/* configure System module */
7 e! x0 f8 H) [1 c7 K9 nvar SysMin = xdc.useModule('xdc.runtime.SysMin');
1 B- N, I7 i& v2 P$ DSysMin.bufSize = 0x1000;
, l, e4 U( O& u) h; b) V9 ISysMin.flushAtExit = false;9 q$ }8 A1 ^. |( B
, j5 c! ]# ?% X
var System = xdc.useModule('xdc.runtime.System');+ _! y) v- T9 f0 A! z) d
System.SupportProxy = SysMin;
# O. ~9 ~# W* s8 P3 { m+ z5 E& t
2 ?# s6 X5 R/ K+ v: L/* configure SysBios to use the lower half of Timer 1 */: {& x- M) `4 ~# z1 [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) L$ A ?% k x- I5 L# z% L
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' v2 ^4 r: U' u/ r7 ]) g2 }! R* D
Timer.timerSettings[1].master = true;6 }/ O0 }$ F& }6 [
Timer.defaultHalf = Timer.Half_LOWER;0 j8 ]" o% M" C% q) o. S7 u& J
Clock.timerId = 1;
, @. }, b3 o( G& m' u5 w4 Z8 u, C8 e1 Q9 H& H
" M" O, o k3 S8 l5 t8 M' V3 J/*% R/ X" ?6 L$ o: E8 M- O1 y7 o/ ^ y
* ======== Miscellaneous Configuration ========2 m8 f0 ~0 N4 t+ F
*/8 \9 ]0 y* i) B/ c
1 G* O; `. Z' Z+ e R
/* set default diags mask */
/ R0 W+ g+ N2 ~4 t1 N4 Fvar Diags = xdc.useModule('xdc.runtime.Diags');
( h% S( y* W4 K: e6 J5 M1 Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
1 _ T* u8 j9 d4 Z( W' i$ Z4 j/ Y6 c8 A& _7 r
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 Q- p! k1 K% P, d1 `/ o* ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% @& z( U4 \2 d" F- |2 sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" j2 d8 L# [2 e7 u5 [1 hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% q8 [5 V1 U& p6 gDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! u, O2 ]; s' ?0 E/ B3 @5 j
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 {4 M# N1 n# O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 _7 ^& g0 W' u- jDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" ]4 @6 \6 n' d4 E
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ O6 C: g4 ~2 E2 E) G: UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 ]0 _# | d- H. p |! @9 z
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, V# H; @4 l9 g0 J( u
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ B% _0 A* A7 @4 U
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;" c( g! w1 t0 [- ]" h" F, H
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 x% b: J0 D" j2 A, j; R
% u) B2 W0 A4 m- x. ~1 I; p3 t' P
/* override diags mask for selected modules */
2 [) h! o" Z4 N) A- `3 H( K- K3 kxdc.useModule('xdc.runtime.Main');1 c7 V- p- {6 y& G
Diags.setMaskMeta(7 z5 v6 u8 U) g! U; i# ?
"xdc.runtime.Main",
8 T9 a# `* Q. R7 J0 K Diags.ENTRY | Diags.EXIT | Diags.INFO,
, K* A I/ M% L Diags.RUNTIME_ON
0 m G$ P7 s, e( j);
6 X `2 ]/ U6 N c `# T; J& C& o1 F' i2 U
var Registry = xdc.useModule('xdc.runtime.Registry');0 o* @$ B. h" f' g; E5 ?) m
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
$ j0 h0 @$ U/ k8 kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! H& g; U/ q$ t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' ?" O1 y) `; d, P4 R1 ^
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) Q' G( R. z4 Z" _) e
# M6 ?0 k* S/ h, L# F/* create a logger instance */% I2 ~: l$ n; |: U% ~
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- ]' M3 j$ z4 o8 Q8 S: q2 [
var loggerBufP = new LoggerBuf.Params();0 r, M7 `6 A2 s/ k& D! e( h2 Q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 a$ S G5 E0 F" U$ G6 q2 L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ v' ^( p9 Q F% L: K, W, G4 }6 Z) W- t$ _! I
var appLogger = LoggerBuf.create(loggerBufP);
- E: N6 X. m7 x) K) k7 t2 g7 _3 I1 xappLogger.instance.name = "AppLog_Core1";
( u% s6 a, Z$ [- cDefaults.common$.logger = appLogger;
. v- h. H0 G4 h" y' i3 Z: PMemory.defaultHeapSize = 0x8192; " ]& ~( L& b) L+ g. t1 R% e* E0 a
Idle.idleFxns[0] = "&LEDStatus";3 V; T: e: D5 B! @3 }
Cache.initSize.l2Size = Cache.L2Size_32K;, |9 e5 L) c: H! E h7 @& g
; K* s0 p/ E/ T8 R" W& v9 n
|
|