|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ t# N/ l" q5 K我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 t7 \- G V$ @9 f1 @/ T8 K$ M7 r6 w
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: K3 T/ z% p' y- Q( c0 J8 B
0 p# Y: K# j- [9 G- l# k8 p0 k是不是需要在DSP.CFG中进行配置
! l( l" E* `5 z' N7 R+ G$ K) ?" o8 i7 z我现在的配置为
2 k6 C: q/ X" J7 ^8 D$ n$ V# Y F+ y1 J( J
/*
! b/ I: L t# [# d4 x# @ * ======== Operating System Configuration ========
& M8 x/ I# R" a */
: b' J' a+ B7 S: g6 k( c; [, N2 k# A7 R' l; w6 j
/* no rts heap */' R+ i% R# O/ `$ O; l' o- o7 u8 Q
Program.heap = 0;
; o* F" K- y% ^4 S; X" QProgram.argSize = 100; /* minimum size */
) w( `* ^2 U; ^2 E" w! jProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ Q) W7 W: v# x; @4 J% c& _3 B/ `8 Q5 z- f% @% @
/* create a default heap */4 N) w5 J ~1 O' F
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' L8 V0 X* J2 I) qvar heapMemParams = new HeapMem.Params();3 ]/ W1 a3 L& @# x% ^3 w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 S) I) C; H* G/ q, K. x5 n. K, A' h% ^4 X8 M
var Memory = xdc.useModule('xdc.runtime.Memory');
; S! G, H8 N( w& `0 G) jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);3 P# q- D6 J. b$ R
2 | M9 ?! {. U! s6 ?- M$ f
/* configure System module */
v; O% q' H9 N# I2 G/ A; fvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 n$ ^+ I$ K/ k8 L- I% ?
SysMin.bufSize = 0x1000;
( C* @! H, J+ F1 Y/ ?4 pSysMin.flushAtExit = false;5 i; w9 X1 L0 I
& V4 p# \0 E) i( m7 ?0 [var System = xdc.useModule('xdc.runtime.System');' w: G& t( \, l$ e8 `5 o
System.SupportProxy = SysMin;
4 [" K+ _0 X! H! E/ p
5 \+ h) M% M7 B6 Z3 ^+ U A/* configure SysBios to use the lower half of Timer 1 */
, z( d8 Y9 m2 m( K, f& a- dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');' Z6 N1 t9 V& H9 O
var Clock = xdc.useModule('ti.sysbios.knl.Clock');0 u) i) r* b% z, g; @ J
Timer.timerSettings[1].master = true;; H, a M k* X- p' w1 P
Timer.defaultHalf = Timer.Half_LOWER;& {0 x' T9 o1 G! T* p$ i; y$ \8 I
Clock.timerId = 1;
7 s! H4 s% J4 h3 L6 S# A
4 L, P2 o% e% a* q7 l2 F( L8 f& F V0 j* G* t% p' b: w
/*
; {7 U: t4 d" g0 H [2 v) A * ======== Miscellaneous Configuration ========
/ A2 Q6 p) R$ [' _" z5 \9 S5 B _2 s! w */1 s7 d! Q' L' c8 j' ?
C. q6 \+ ?% g1 x/* set default diags mask */) _& U* z8 Z+ k1 Y3 H9 g. p
var Diags = xdc.useModule('xdc.runtime.Diags');( K5 U2 {. W# V* y9 m4 y% T2 i- H
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 F* L6 R( g: S& b0 ~. u! R
2 g% ]# s* v# O" i3 s! b( K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, ~' r& U7 f. K! e5 _2 `0 [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 p4 A. T& i9 aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;( |* Q& j% ^7 N, F) Z3 L. L! T
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */$ E6 B; [+ V( I5 Y. I$ d* ~
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# g# }; g& F' R* N
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;: k) b+ T1 t3 b; ]' n8 w! \7 T
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- p, c/ Z0 o, n4 E6 c
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: { e4 A) o/ a, d+ T4 _Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. f0 y/ H9 V* Q) a% X( Q5 S5 L; R; A
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* v# _. q- c- _, VDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, S' [# L2 S9 F$ s- k% v, V! e) G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 O! \' r" g: Z0 u* d! _Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' f: Z$ K! M/ C# Z) YDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 Z+ u; ]- t. q/ K9 z v! F, g
. G1 c) H- \; s" n- x7 }/ Z/* override diags mask for selected modules */' e4 ^; }; h* ?4 e" f2 D$ s
xdc.useModule('xdc.runtime.Main');4 a6 h/ }& W7 _- x, S. r
Diags.setMaskMeta(
$ Y( d, `8 {2 U1 ~ "xdc.runtime.Main",
/ o( h0 a- {. t- ?. J6 ? Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 Z9 E! x+ }: q9 K+ } Diags.RUNTIME_ON2 H' s0 F7 d' s( o4 W! K: M
);, Z W3 J4 [2 O
& W- m/ e) S% V6 |2 q7 Evar Registry = xdc.useModule('xdc.runtime.Registry');
& ]- Q5 r. o( ]; g7 L9 F! _Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 l( m, L a5 R$ J) O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
8 W6 @% |; h/ d4 t5 Z; DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;4 [$ e2 ]# Z8 z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; h$ f0 R2 E7 v8 |. H3 P
8 [/ b f" g7 T9 J/* create a logger instance */
1 G" |8 ~# d6 A2 _: E5 vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# A, T5 N: }4 _- V& l1 m: g" Uvar loggerBufP = new LoggerBuf.Params();
; L7 X4 G, e9 G t& ~; I: {loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 ?& T% `5 l. t7 p6 GloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ i6 m% I; M/ l3 T
; i, `* D' O1 w* |" V1 Q* R
var appLogger = LoggerBuf.create(loggerBufP);
$ b$ g* t. h5 y. C$ a. HappLogger.instance.name = "AppLog_Core1";
4 a6 S. B4 e! M; Y+ e, p' g# tDefaults.common$.logger = appLogger;" |3 m3 @6 _6 M
Memory.defaultHeapSize = 0x8192; " H. m# Z' n4 n0 A8 _% a. ?+ }0 z
Idle.idleFxns[0] = "&LEDStatus";
2 m! r" K4 N e8 @5 N$ j/ R4 V1 OCache.initSize.l2Size = Cache.L2Size_32K;, R3 Q9 @# p1 D1 W
3 J3 A' R& Q# q7 ]9 i
|
|