|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; H9 ^: C$ w! K
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
1 c4 ]* Q0 ~$ m9 p(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 x+ R1 ]* Q C5 A: t( s; {7 y0 w- M
是不是需要在DSP.CFG中进行配置/ G7 @+ O! n$ A6 `
我现在的配置为) j1 R, B; k. z+ p8 n) y
5 F1 w& `6 Z6 t9 U/*: x' H7 J y& r
* ======== Operating System Configuration ========
6 c9 L4 @ }/ w* f' i# u */# g2 G8 X! x& d0 q
: F* Q$ l6 g9 F4 z, o' {# F4 p" Q
/* no rts heap */
7 ^9 G7 M0 U: B; ?Program.heap = 0;
- I0 K; n! d7 E( K3 }- r7 F9 PProgram.argSize = 100; /* minimum size */0 s: e0 G* G' T
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: K/ \, W$ K, t p/ y0 Q o6 {
& k. S! D. H0 ` [6 D0 b5 ]& t/* create a default heap */
& E9 E# r3 _! xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
/ T) x* ^; f9 P% c2 vvar heapMemParams = new HeapMem.Params();
5 E% |$ |) b, |. ^heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ ^3 `1 y$ S: o
' r: E7 V9 D( Z* }* vvar Memory = xdc.useModule('xdc.runtime.Memory');0 ?- J1 E4 m0 A1 Q) F$ U$ A C/ X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
+ r7 o* g1 L, ?; H6 r
3 @, {$ E _" V$ r: i* A/* configure System module */
/ n6 X2 C# W1 [! B! d1 q$ P- Evar SysMin = xdc.useModule('xdc.runtime.SysMin');0 o! O- x% i3 N' t% l
SysMin.bufSize = 0x1000;% H& ~0 q( h/ ~9 z/ k4 g8 a- k
SysMin.flushAtExit = false;
4 n8 M* t- T# B. B8 [9 M: g k3 {9 s. i! @) t+ O
var System = xdc.useModule('xdc.runtime.System'); w8 W2 p' C; D# m$ N1 C g' U
System.SupportProxy = SysMin;
% @3 d+ R$ T3 ^
- }: g5 z- r8 u3 a7 F3 e. P" Y/* configure SysBios to use the lower half of Timer 1 */1 I9 R a" e% a T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
, ~/ ] U# i9 a G: v3 {: Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* P9 s4 K8 H+ ]$ l0 |4 ]1 `Timer.timerSettings[1].master = true;
& R) m% E, a+ V7 V7 u: g# |Timer.defaultHalf = Timer.Half_LOWER;0 [* o4 H5 |, {/ ^5 v
Clock.timerId = 1;
' ` @/ u- x8 u
: v/ b8 @* A0 v6 x+ d
$ u6 Q) z2 G5 ^: O z/* i" U2 @* U: E1 p
* ======== Miscellaneous Configuration ========. ]4 |! Y, n! f
*/0 o9 l. c, O) {% \
n; g5 q o. G% f4 n) Y& q
/* set default diags mask */4 t, G2 a1 A3 n" ?3 V% r" c7 g
var Diags = xdc.useModule('xdc.runtime.Diags');
. ~4 G' q2 F8 t/ g0 r! p5 Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');- B* h+ G% [& O2 R9 i
. P O l1 Y2 R1 g; J o, ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 R, L; X7 r8 ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' v Q+ g! A# P( A9 @- a- jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# u* q; {0 c6 ]3 fDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) _" H" V0 o, ~; EDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* P/ v) Z0 m) e* `# p# vDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* H$ i3 l6 F' l+ R' A' O; X9 V8 w
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;* P9 m" Q* Z! H. E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" Z! |- m E' }2 l) P8 f4 D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;7 [) E+ Z0 Q h( M# y! `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;& ]' x a, `1 P" d7 K' D" c, ?% ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 z2 V3 k. j1 d/ ~5 J8 pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' l% N: D$ g) ]7 C% T1 n5 y yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 i: o) B6 b) l; B8 f# U; tDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;5 I. K6 C; _4 e5 \) t
- A5 z4 @1 Y# s/* override diags mask for selected modules */+ s2 Z* T8 S# K% w
xdc.useModule('xdc.runtime.Main');& B, K* ]) Y) j+ K, _ N1 s4 A
Diags.setMaskMeta(1 h$ \. b3 Q6 Y: l. N4 g+ f
"xdc.runtime.Main",' I; C" Y1 e& G; A# A
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% W9 a& f4 Y: y Diags.RUNTIME_ON
& ^! y/ z8 @+ x) u1 `" A);$ _5 s4 Q7 k3 ^) ^
" H& i& v$ u. ]3 tvar Registry = xdc.useModule('xdc.runtime.Registry');- I+ e# J% U+ j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ p- W! f5 C# `0 h- ]
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 g* R6 ^7 U/ N- \, A9 s+ O
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 J2 ~3 I3 d9 ^/ K5 V" N- d
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 M$ S, E0 u1 s6 l
# a# R3 u9 ~9 S5 I8 V, n3 c% F
/* create a logger instance */
- x# m: F. ]5 X" Avar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 f& t- ]/ `3 c3 }3 svar loggerBufP = new LoggerBuf.Params();
% {4 j! \2 a- l/ f( qloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 E& h; u$ a# B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& v' ~- `' X2 H# n
4 k0 }0 L: D# H0 m; X: W$ S9 _var appLogger = LoggerBuf.create(loggerBufP);; K" j% G$ W. U5 [
appLogger.instance.name = "AppLog_Core1";
4 E7 J$ N5 c) D# V9 }; XDefaults.common$.logger = appLogger;
5 ?3 F5 b; _9 Q( p( WMemory.defaultHeapSize = 0x8192; 2 Y' q: m, v* X; ^
Idle.idleFxns[0] = "&LEDStatus";3 q8 G3 w. ]* W- v) \
Cache.initSize.l2Size = Cache.L2Size_32K;2 c/ a/ b# w' F, @' t2 c# w4 G
6 s- r: B6 r P- C/ Z5 A- |7 G |
|