|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 B$ D1 N% O# k3 N. G
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* |2 G. J, l h2 s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
I) w A) l4 Q" h& R' @
2 X3 O7 x! v% N( T0 Q9 M$ D9 \0 a是不是需要在DSP.CFG中进行配置
) y# P) B( Z8 Y5 \$ y9 b& K7 A5 k6 Y我现在的配置为 Y& R7 ^8 h2 Y2 D, S g! P
1 {4 @+ J+ l. v2 L. d$ w! n5 ~/*: I5 t0 I/ {4 Z: [
* ======== Operating System Configuration ========
$ e/ w) I0 E( k* i! r0 G2 k */$ P$ @1 f# E6 D" d5 S
" K, Q0 \1 Z3 r/* no rts heap */
1 ?6 e# i' i- p8 I# SProgram.heap = 0;+ ?1 E% w) E: w6 \$ \. _7 g! Z
Program.argSize = 100; /* minimum size */
7 i F! P% F5 v- a. C, ^, z6 mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 T0 R" b6 ?2 G& Y) j) W% b$ Q" f9 g9 R' e1 y+ B
/* create a default heap */+ `* C" P0 g3 d8 ^& ?
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 e8 h; P6 ^$ F" @
var heapMemParams = new HeapMem.Params();- e, j$ J' _) z7 F( j# i9 G: w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' s' t) s5 D* @ G6 B
I X8 ]3 J, yvar Memory = xdc.useModule('xdc.runtime.Memory');: G+ Q6 B4 v# O# W& I+ b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
/ `' J+ _# y; k! b' {: \* ]( G9 j a; O) e9 j
/* configure System module */& h0 \& {% E- T
var SysMin = xdc.useModule('xdc.runtime.SysMin');
. z8 l2 e5 H( M% u( n. SSysMin.bufSize = 0x1000;
1 p" a: P+ V# l! U4 fSysMin.flushAtExit = false;
7 l- y2 g3 B/ C' C* ]
5 D4 M' t" q' r7 a/ g7 v6 s- Zvar System = xdc.useModule('xdc.runtime.System');" j$ R4 a6 c* }
System.SupportProxy = SysMin;
6 q% c, x0 u" S% c( T5 M7 u* Y# r
/* configure SysBios to use the lower half of Timer 1 */3 p/ {. ?2 T/ i* M9 g V# U: t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( \6 X/ L4 u0 {- m5 Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');% l' H, e |2 f) n
Timer.timerSettings[1].master = true;
, C Y3 y$ X1 k0 K" LTimer.defaultHalf = Timer.Half_LOWER;
) F, x' {# x' h0 KClock.timerId = 1;
( _. U/ m+ x$ `, X e
6 L% y$ S2 N1 d* r' p6 x4 k/ {2 w8 s# C
/* S8 N( Z& v0 s. e
* ======== Miscellaneous Configuration ========( ~( w( g# y9 J. w
*/
/ E" }: U( N' f& u! W0 y2 c# S/ e. p3 @/ r" X6 \3 k
/* set default diags mask */
* }6 \- R) o0 o9 j- v$ h: Uvar Diags = xdc.useModule('xdc.runtime.Diags');
3 m/ |) k9 u( P/ g, Z6 W9 {var Defaults = xdc.useModule('xdc.runtime.Defaults');
* t9 ]6 G9 a7 w" i9 S' W. O
. R I" a ~2 [1 P) x1 W: e7 |$ dDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, J+ h% h/ \/ A# l9 N+ o9 f9 }Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ q7 l/ @2 `" }2 ]- _) }Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 _* F, ?; K5 J6 R* z/ i
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ N$ X! b# L T5 {0 ~ oDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 e/ O) [, Z, U2 ~; F# ZDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 S9 l: V9 Q2 _) C2 E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;$ V) X( N# Y- Q2 O! K4 z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 W W1 L. y: S9 k. M# sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ _7 J' O l6 E* `
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* t- ^: n) L( C7 x7 B. qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) w& Z$ K& y2 O* `
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ }7 P7 p+ @, |4 t5 RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. L- Y" J! Z# g
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 D6 r7 @4 B8 A7 E2 n/ d
1 J$ o- _# J# v- `* R, O/* override diags mask for selected modules */
4 c1 J1 H& t+ Hxdc.useModule('xdc.runtime.Main');1 [ Z& k8 l" j7 q3 R1 q3 l1 r
Diags.setMaskMeta(0 C, f/ f4 e7 ^; z# f! p2 I ~
"xdc.runtime.Main",9 {5 `7 o: b, f7 s- u v1 g( I
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% Q/ D/ h& @! m2 r Diags.RUNTIME_ON/ v) ]. ^3 K9 N* m9 k! F
);4 k* [+ _7 t6 e. k9 B
% o- y: H: m/ s7 A! q7 c) {var Registry = xdc.useModule('xdc.runtime.Registry');& \- T1 i. |5 |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 _2 u8 C% _& v8 DRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 [9 P& }; ^4 w- X# W0 ]
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' M& i" H2 \5 X4 c( J; m; kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;& E6 [2 C, _0 b" P3 X# j, |7 U
4 i1 N8 D: q! \$ H& m/ p* b4 j/* create a logger instance */
3 @: s" ^- T& Gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 k0 V, s* R& jvar loggerBufP = new LoggerBuf.Params();" j6 c! E, p5 B
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 c4 S; H3 j) P& n$ q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% W0 V7 K j7 v
- b+ l' K# S$ [ h9 Qvar appLogger = LoggerBuf.create(loggerBufP);
V: K' c x- E6 Y7 V& H! l7 K* MappLogger.instance.name = "AppLog_Core1";
! ?7 ]& Y- M# d# oDefaults.common$.logger = appLogger;4 I- u, N& H9 ~0 J M+ y
Memory.defaultHeapSize = 0x8192;
- T/ h, a1 Y! {9 A2 r$ MIdle.idleFxns[0] = "&LEDStatus"; }1 f* z/ {( o* k0 C
Cache.initSize.l2Size = Cache.L2Size_32K;
7 ~7 b; T+ W5 _% i# p' u0 Q* d6 N! U" U& ]
|
|