|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 K4 k3 t- I3 D) _ C1 G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 n3 a: t: s- I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- A0 r% \1 _1 X8 i V& v( {, A. f( M: `9 ~' U4 F: I
是不是需要在DSP.CFG中进行配置
+ S* w: A2 M1 e# F7 {5 U我现在的配置为( i! H. x8 [( D7 ~1 W1 f" E
0 w4 v7 A4 t6 ]8 z9 \7 m ^/*$ N2 O- e% B+ j/ }6 {/ p- @. J; w' z
* ======== Operating System Configuration ========: ?& l* @) o" }, a' _$ h7 X' ?1 ]
*/
! z! @- \& \ d' a% ?+ v K
' W2 Q. M7 m/ @/ _9 J, k: y/* no rts heap */
4 A$ X. V( k0 T1 ~( \' E" g. qProgram.heap = 0;
% B: J& e( `1 s4 NProgram.argSize = 100; /* minimum size */* m5 [! K4 f7 ~# F7 m& m4 r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 y7 H1 I% s, j- x5 e. q
' \) h- u" J# s: ` r/* create a default heap */
0 _3 ^" T2 z* j1 g1 t. rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, Q; y2 |6 n; i ^- z# jvar heapMemParams = new HeapMem.Params();
, ~! I1 T% V' d* T; C/ e8 c! iheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 I8 i8 T5 B, F9 q) Z1 m; e
1 W [& l% ?& d' f2 F2 t; Xvar Memory = xdc.useModule('xdc.runtime.Memory');
; P; S* k' F$ p& w( QMemory.defaultHeapInstance = HeapMem.create(heapMemParams);8 K3 Y3 w( x" J1 c
/ H! G6 A2 m, M+ ^1 j
/* configure System module */
7 N+ F+ }" H) M. B( J) mvar SysMin = xdc.useModule('xdc.runtime.SysMin');3 B. [; c- Q7 [; K- c
SysMin.bufSize = 0x1000;8 g$ V& b- R2 t' f6 W' ~2 N6 P) M9 c
SysMin.flushAtExit = false;
; J( R8 b o$ s, n5 Y& ~1 X! |2 z$ F5 U! [' M
var System = xdc.useModule('xdc.runtime.System');$ V9 s8 i. Q/ D
System.SupportProxy = SysMin;; M# J; c' I' t6 I. ?
( o7 ]! G3 ^5 D$ p2 z6 _% C `/* configure SysBios to use the lower half of Timer 1 */
1 Q( G0 g; h5 ~' Z: T& O' c8 ^var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');- V+ [* L5 R P$ R
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& ^- S' X% K; eTimer.timerSettings[1].master = true;
5 [# e( ~3 L5 d$ t% {! t7 @' [Timer.defaultHalf = Timer.Half_LOWER;( t0 }3 W) V' c& m8 X
Clock.timerId = 1;
$ M- U0 k3 c, G; k* i; w, O( w ]9 Y7 K( a/ Q @7 x9 [
0 v+ }0 y8 _) e* e3 d5 X. }/* o4 B' t% R: k- E
* ======== Miscellaneous Configuration ========) g$ W5 i/ J) F, Z+ B0 M U
*/
# A8 j+ D: \( Z" l/ H% ~: m$ l( E# S1 u* y. A
/* set default diags mask */5 u/ u- U7 ~4 t4 a5 \) y; d
var Diags = xdc.useModule('xdc.runtime.Diags');7 A* ]$ c$ t& l( e& s
var Defaults = xdc.useModule('xdc.runtime.Defaults');/ b, R* n+ c$ |3 E: M& h
2 P- T3 W4 L4 _1 a! X
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 L$ Z! x) F; k) y/ l( S4 N$ t- H
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) a# |5 M+ b% p. Y- w9 o% ?, ZDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 v6 x! _$ X: t9 h: B5 ?' ?Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: y& ]2 ]3 ?( _8 e) `- b N5 }% M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 X/ M( z. z1 M# E
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ k, u+ |4 k4 C5 B, T+ p
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) N: o, z$ @/ L0 @! xDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;8 s: i! j1 `+ @1 d* X
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 [/ F2 l) y, z' g/ Z) j
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;+ V( _9 i+ N5 r$ q s; S }
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;8 @( E! u* x* B1 W. P
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) S* g Z% C4 W) H& o4 e6 L
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ C4 r; A, p3 FDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% ~$ z# n. ~7 f. w" Q
2 ^) u: h* R, U+ k* M/* override diags mask for selected modules */) b! L' g* V& L, V9 \2 Z
xdc.useModule('xdc.runtime.Main');2 ~0 C6 t% D9 a
Diags.setMaskMeta(
( O V7 n/ V% W9 T& ^8 R& f "xdc.runtime.Main",
7 U3 T) N9 m: w% d Diags.ENTRY | Diags.EXIT | Diags.INFO,+ b' B" n3 d7 d8 V1 _. P2 w
Diags.RUNTIME_ON/ w5 ]$ H7 E4 k) |( ]
);
G1 J: D( h8 Q7 z# N9 x3 N9 L1 w' W: r7 W4 h, v4 f7 W6 o
var Registry = xdc.useModule('xdc.runtime.Registry');. u2 y+ R; Q) ^: T7 p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( F: X4 }' u/ W( Q4 K& j" F# H
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 j8 K. O a9 M; \% W ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;" S0 B1 G$ y, q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 |% x9 D( \8 n+ l# R" ?
1 n& A; D2 d+ L/* create a logger instance */
4 o1 p' g% y8 @$ f. Mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& j" r2 S' L7 @
var loggerBufP = new LoggerBuf.Params();
- j( ~0 l- W) ?. k4 LloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */: L4 k* ^1 M4 d/ V# Z3 X7 S
loggerBufP.bufType = LoggerBuf.BufType_FIXED;" K! R$ }0 h; k/ D
# {5 F) Z/ w6 B$ h+ ^var appLogger = LoggerBuf.create(loggerBufP);
3 W, G! b0 C% H9 N/ j, YappLogger.instance.name = "AppLog_Core1";
; `3 B v3 V, g8 }' ~9 FDefaults.common$.logger = appLogger;4 h# w0 a. J( c# o: | j1 I! m
Memory.defaultHeapSize = 0x8192;
: b4 G0 o# M& X6 EIdle.idleFxns[0] = "&LEDStatus";7 [- s% L2 a$ U5 [
Cache.initSize.l2Size = Cache.L2Size_32K;
: x4 Z1 Y4 X8 k8 ]! @
# {- C b* M( o% ` |
|