|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明) ?9 B' U) d$ W; S/ w% d7 I
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" }" }: t( C0 ^% k& _ P8 b(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
6 M6 x0 M+ z _4 ?1 j( B
0 s/ s* K. v& A6 ^' d是不是需要在DSP.CFG中进行配置' `! B( N8 n! I0 n% r" f- r
我现在的配置为
& \3 |7 ?# |: s2 s, S! w( [# Q. {
/*. j6 [4 ]0 B( {
* ======== Operating System Configuration ========
& t4 y* `3 j- K8 D& ]6 M */1 A! n5 \- p! F8 J3 ^
+ e4 w/ T# w1 L L: B$ I0 n; E$ B. y/* no rts heap */
) w) P0 h3 Q3 R5 c4 i+ F0 l' F7 lProgram.heap = 0;" N7 j4 U# n9 X) Q/ G
Program.argSize = 100; /* minimum size */
1 L) F: ~8 A- `4 [6 k0 v" e% _9 @& OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) {" I% G' G0 W/ a: B
. m4 a! u! N! \9 q1 Q0 `/* create a default heap */9 M4 H2 |/ r. c. ?* ~6 e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( N$ t" Q3 {( S( {/ cvar heapMemParams = new HeapMem.Params();
' N \ p& K, \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) l8 [# e& U2 N+ o; q$ O. w) v$ ]' d7 c
var Memory = xdc.useModule('xdc.runtime.Memory');
7 V% V: q7 u; _# n* K8 mMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, C9 H& }0 S5 y5 a7 X' M
: \4 W5 w3 f z" _2 i) r/* configure System module */. ^& X2 v( A5 S2 |) |
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 n( J C- O2 k1 |SysMin.bufSize = 0x1000;; a3 A8 F' L1 Z% b4 e6 `6 j
SysMin.flushAtExit = false;) z7 B) Y: Z3 H0 t8 M Y4 g
: Z/ g2 E& ]2 M" O5 Y. g+ f& nvar System = xdc.useModule('xdc.runtime.System');1 D0 @. B* ?# L P0 F
System.SupportProxy = SysMin;% Z7 t2 L {; H* p5 q
; Z1 n+ }# I+ y) `
/* configure SysBios to use the lower half of Timer 1 */6 ?+ w; G' I; M, H3 T% z
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. [4 I+ b9 z+ D2 Y) j( N2 tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
% x& n, G3 P+ I. dTimer.timerSettings[1].master = true;
' @, p" D4 W8 x- qTimer.defaultHalf = Timer.Half_LOWER;! `- P# a# P; G
Clock.timerId = 1;) \/ r% k# N2 p8 G; d. h, i) v
2 h3 ?7 W# s/ Z0 B% d
_6 _: s9 R, J2 n: ~/*
6 I5 }9 {1 K/ t6 J% a) T# e" B" ]+ v" ? * ======== Miscellaneous Configuration ========
) c# n; v# E. n! d. T! x */
0 g! Z; h# e' n8 U6 Z' }! S9 O& [) F7 ^& J9 f& ^& w$ s( u
/* set default diags mask */# s! a0 A% S) t$ C/ H7 Y
var Diags = xdc.useModule('xdc.runtime.Diags');* Z, Q0 C5 w1 w) F+ P5 j& i
var Defaults = xdc.useModule('xdc.runtime.Defaults');" n" M8 Q8 ~7 b& W1 j( n
0 q/ p1 J0 V* X# t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 X4 X2 ^) |) k% C) F5 ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;: A7 G# f1 ]0 m$ j- z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 q1 |" c9 K8 ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 |+ |5 K% R: @* K8 `6 r+ b0 rDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
# i v# ~+ C5 X$ ?& x- }Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 r7 A1 X. `) C: O- y P5 TDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! Q p4 R3 z: K2 L' s( u
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF; |7 r) c6 d$ A2 ?3 Q4 M3 O( L4 k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% I& \/ b- A7 w4 MDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 g$ W: l- N, E4 d E9 [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 f/ j% C3 J+ g, E! y W8 L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 k g+ B8 B N- o# k, k/ h9 p& L# cDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
]; z8 m, k( }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
4 _, q+ G# p) p1 B. L
7 ?1 q3 y7 o2 A- R/ ? s/* override diags mask for selected modules */
* b+ `5 n; T' h0 ]/ u* n ^' i* fxdc.useModule('xdc.runtime.Main');# y/ O1 r- d% Y( S
Diags.setMaskMeta(
. ]8 E. g5 G7 ^% i% M8 P- d "xdc.runtime.Main",
% u% v% N* V2 L0 N/ a" c* Z Diags.ENTRY | Diags.EXIT | Diags.INFO, t g! ?- P" e$ D2 u$ A/ U
Diags.RUNTIME_ON& K) e- w% Q! x0 A
);4 E' N! l0 X" H/ t9 I
. R0 r4 M+ K: @7 \$ q4 ?, Svar Registry = xdc.useModule('xdc.runtime.Registry');
) v& ^: O) G& jRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) [3 n' D! Q* w8 F1 t) aRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;0 Y5 _0 O5 U3 J; b4 Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 F# ?# ^4 L0 t; W* MRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 t3 E! r* N1 T& }
- p: b, S% V$ A% t/* create a logger instance */
1 \3 X: J, _. z* h1 \2 nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 ^' R* v$ w/ |3 O# y" @
var loggerBufP = new LoggerBuf.Params();
6 |, k$ N. p7 O$ r2 E: ^loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& w8 ]' W2 ~) nloggerBufP.bufType = LoggerBuf.BufType_FIXED;
! X! v; e- V H2 U6 Y+ [) @
# S+ j# p8 ~7 T! A; Z& X& Ivar appLogger = LoggerBuf.create(loggerBufP);3 T1 a- j+ v7 f
appLogger.instance.name = "AppLog_Core1";- q2 p) b& y$ l% }, i
Defaults.common$.logger = appLogger;' z& M8 l, h" }3 T2 P, B
Memory.defaultHeapSize = 0x8192;
) }& j# s' Y* b2 ], FIdle.idleFxns[0] = "&LEDStatus";) s7 d' I& M0 w; o) l! T- d
Cache.initSize.l2Size = Cache.L2Size_32K;
* {' x9 K5 f' @/ M2 n
1 {' _4 U! _0 C" _+ x k |
|