|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) v @, e! X; V2 Z1 H+ ?6 W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 [% }2 l% k( Y9 A% p) c(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 |. A* J" ]2 K& F% ` A5 E- n0 A) A* C7 e6 W$ G" W! k" \
是不是需要在DSP.CFG中进行配置9 {+ ]) D$ D5 T7 Q+ C
我现在的配置为
9 A6 E# W2 ~- ?8 o( O6 v4 @7 i: ^% U4 ^
/*
) U3 U" a1 F) f9 w* k; O * ======== Operating System Configuration ========
7 L! [5 V) R0 Y- G/ X4 I) A */" b5 \" H/ o. h. {$ I- a" L( {
) r4 i( ]' m' L( M
/* no rts heap */ J8 v5 _, H- Y! ^# E
Program.heap = 0;
g; \% f, S3 P' i( O0 H' T G4 h8 a9 xProgram.argSize = 100; /* minimum size */$ h- I4 E1 v1 ?$ z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, l( _. Y% t4 w
& n h, w' L! T* i* _# ?( B/* create a default heap */
$ o/ a8 D& R/ d& }2 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ u4 @& y2 P! |" e5 F+ I
var heapMemParams = new HeapMem.Params();9 T1 s; I; z. o; {$ X, a
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' C; O. f2 P4 |. W4 |) q1 N' D3 v0 z7 P j0 l; J0 l
var Memory = xdc.useModule('xdc.runtime.Memory');
. \4 ^0 _+ P# s+ x! ]# ?Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
3 C% h8 p/ d! E* Z
0 S7 `# t6 |: s6 _0 l/* configure System module */+ a6 ?- t; s# G' T% k' N
var SysMin = xdc.useModule('xdc.runtime.SysMin');
d0 e( R- Y% u" ]5 ISysMin.bufSize = 0x1000;
6 E* T z7 J2 u* d9 g7 H6 lSysMin.flushAtExit = false;
& ~) l+ i2 b4 p, G: b# f* E a# V% U
var System = xdc.useModule('xdc.runtime.System');4 f# v" o8 K9 `5 g# {" }% Z- _
System.SupportProxy = SysMin;
& ~7 }8 N. ^: h O4 u' f( F
& d6 }+ O, i) U6 E) X8 L% ?) x/* configure SysBios to use the lower half of Timer 1 */
- D) P+ c0 [9 z7 Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');! J) o, b F, S, Z1 r4 k0 f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
4 Z9 b! A2 u( @' LTimer.timerSettings[1].master = true;
; @7 n# Y3 G- G7 ~+ c5 YTimer.defaultHalf = Timer.Half_LOWER;# }: h2 k6 f) F% {" w: P
Clock.timerId = 1;% e6 u, h' R0 ~
& W" L/ S- ^: B' V
! R# D6 Q: W: y9 T/*( t1 y$ h6 r F. i4 g# Q
* ======== Miscellaneous Configuration ========
7 e* r% h& ^+ p' v5 T5 r */
* n8 c) D% K `0 ]# P0 K$ K3 v- S% ^6 {5 v3 J5 Y
/* set default diags mask */# c' @; y @ C" E) t
var Diags = xdc.useModule('xdc.runtime.Diags');7 V4 v' I& L% i5 O
var Defaults = xdc.useModule('xdc.runtime.Defaults');7 e2 I0 U1 r% V8 U3 d
3 \9 ?. x* e* F3 a# z' N! R) B3 A! A
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; O3 v' e: c/ @8 y+ W2 Z8 iDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 N4 l( {5 U5 l0 s: Y9 a8 }, z+ o
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 R; n4 i2 H, N7 L! E
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; f8 \4 T$ ^) ]4 GDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, y. M; F {" y( aDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* E0 G8 T6 E* O* h& LDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;& }/ p, e% e& }# Q& C3 i% \
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 Z: T5 ]) _7 f) GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;+ R1 V& y' J y' I
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 j$ O/ n2 n+ j# W% a7 a: {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, i& a7 ]8 ~: X$ Z
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 ~% [! }( G' c; j( _9 g% t& WDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;' p) P }- ~, A' I5 t3 P) D5 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 e; q* |& s( x: V( \; L
+ u2 N9 n9 _8 s: u/* override diags mask for selected modules */& [7 r& }! a) f& \& U
xdc.useModule('xdc.runtime.Main');
/ A1 @+ K( w7 T) N" R4 yDiags.setMaskMeta($ S; I7 W+ V3 m, |% ?, \. F% N9 B# i" K
"xdc.runtime.Main",
5 Y( C9 j( M0 v( D R5 w" v Diags.ENTRY | Diags.EXIT | Diags.INFO,$ C0 O/ O3 O6 R) L0 ~& {, \
Diags.RUNTIME_ON
( c' _4 f7 f1 ]3 }1 [9 M);' Y$ c6 G$ n& U( L
# n$ ?, G' j0 ]& l
var Registry = xdc.useModule('xdc.runtime.Registry');( X8 p8 g! `* ~% Y+ D1 u. D
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" r! P( q4 a; I5 i T. JRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;; A+ I+ Z: N9 h+ E. I3 [
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;# M; D" `- \ p1 g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;. U4 u) ]/ A% x9 \1 {' Z( W: u
9 } g* G( w( g% O
/* create a logger instance */
9 ^# h8 r& ^- J/ y" d; d' q5 _var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, K$ |! ?% T9 U$ \, @8 T1 {
var loggerBufP = new LoggerBuf.Params();; A; ~0 I6 H. B5 s1 L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 C, f+ I9 k% f
loggerBufP.bufType = LoggerBuf.BufType_FIXED; h. g( ] T) T
( U4 K5 h: S4 h. u9 j( M* e3 k1 w! u
var appLogger = LoggerBuf.create(loggerBufP);" T1 l1 [& O) L
appLogger.instance.name = "AppLog_Core1";. b5 D5 x8 T/ {& T0 U5 a3 O
Defaults.common$.logger = appLogger;( Y+ D7 Z( Z' ~, g) [3 n: a0 N
Memory.defaultHeapSize = 0x8192; ! G) E ?; X4 Z& L0 L! e5 y( l
Idle.idleFxns[0] = "&LEDStatus";
$ i2 ]1 I7 s2 s% U9 R- q) C* eCache.initSize.l2Size = Cache.L2Size_32K;# \1 V# \% r( c. n* l
6 v- B7 A! n* F8 F ? |
|