|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 l! u& Z3 E& W }0 c' m# l8 a
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' C; M$ t/ y7 I) r2 |% O. Y
(不过疑惑的是,为何单独DSP仿真就没有问题呢?). I. w. ~' a9 @3 e, m/ Q1 a
; W0 I+ I |/ h6 O
是不是需要在DSP.CFG中进行配置
2 k" t7 q& h0 t" G% V我现在的配置为
) o& Y& y+ @* \
6 k1 q/ k8 D( @& K/*& T" l7 [! x1 h8 k
* ======== Operating System Configuration ========
I& @3 F9 K2 m# d$ y$ W* @; |0 [ */7 |3 m- m( P \* z- [9 }2 K
! @1 |! r! {: i! g1 L1 |/* no rts heap */! ]2 Z. G, K% v: d1 Y
Program.heap = 0;, p; C6 T1 K% C; S( z% L
Program.argSize = 100; /* minimum size *// }. \8 Z( R2 Z% w
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ j& G/ i3 ^" f4 e$ f+ ?2 N6 P6 M% H
2 U3 Q, K% h! R4 K, K, B6 _) P/* create a default heap */
8 l- M |; z1 ~1 j& h- ~& N0 Nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. E' Y, H8 g/ o$ e7 q1 `% q
var heapMemParams = new HeapMem.Params();) i6 g7 i3 \# u2 I' t! u* }% ^
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; X: K9 ]3 ~! E" |: \8 N! A4 z
6 n7 R2 \/ P% J+ r$ k0 R _# ?var Memory = xdc.useModule('xdc.runtime.Memory');" P! y0 s! ?5 v3 J5 [, f% p, t/ b
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; m$ Z0 x; L5 A
4 j) a- _! q, P/ s" ^/* configure System module */" E- J& O6 F4 Q" k# r2 n
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% G: G# b0 z0 l3 dSysMin.bufSize = 0x1000;0 [) V- a$ ^9 ?9 x! l
SysMin.flushAtExit = false;
2 x O a( {" u
6 o4 ~5 m* K9 j! M |var System = xdc.useModule('xdc.runtime.System');
6 h5 o$ b+ D4 TSystem.SupportProxy = SysMin;
' }' k% j. Z( g3 [5 E: _/ D: e% F9 \, C% s8 q$ H; m& `# D8 c/ L
/* configure SysBios to use the lower half of Timer 1 */
7 l" u4 S: i) O, m; b/ q9 ~* Jvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 q0 v' ` B0 f/ ^6 Cvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
0 M7 e2 F- ]+ Y" W8 _- \Timer.timerSettings[1].master = true;
8 \- r& G# z5 p8 T" i0 T9 ETimer.defaultHalf = Timer.Half_LOWER;: V& W4 q7 z8 l$ R
Clock.timerId = 1;
* [8 k0 R1 r; T0 I" s: D% u: R6 F% ^) X! J( h8 j! `% k" j1 }
0 t# v' d: @- c: P$ E2 ^/*( K" o) h* E* M& d9 |
* ======== Miscellaneous Configuration ========9 g' y2 b; n3 `( F, {# [2 l8 ]! b4 K
*/
: t" h( N+ b# H# K" ^( F$ B1 l- J) Z6 W% w0 D- d- i& o6 M L
/* set default diags mask */
+ r1 s) F: O+ m; Tvar Diags = xdc.useModule('xdc.runtime.Diags');8 G9 g3 h' ^; S; c, W
var Defaults = xdc.useModule('xdc.runtime.Defaults');% ]- h5 x: X O9 G( ~ i& N
3 T6 J$ }* C& V# GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;( C, G0 `# I- N
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) j' @8 ^- H+ A; K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! D) y4 _3 |$ R& D! A- [5 }9 BDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */1 \2 c+ M: S/ J2 a1 ]& Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 t7 l/ ^% T# N- \& t5 Y( ODefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* c7 `3 t8 Q. yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ h: {, D! l- oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;( A6 Z& e/ N# F; l
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* I5 W6 V; i" g3 L+ F2 G t) G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 j/ O. w7 I; a
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 |8 h( f% k+ X7 c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 R( T5 w% b6 |. V) \- i2 yDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 V2 n6 H h+ v5 s8 zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& T; ` w" y1 w% o. |
# y9 ]4 ?2 o4 {/ O \5 ?+ v; m8 F/* override diags mask for selected modules */% d0 p- D4 A. U3 L) j5 V0 i
xdc.useModule('xdc.runtime.Main');6 } O* c# K: H5 ?0 Q
Diags.setMaskMeta(
' m- [- w- |1 Q, A+ N2 a0 G y: Z "xdc.runtime.Main",) U& V7 D5 y( [4 N" o9 E
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 W' l' p2 ^, A" J6 r" I1 Z Diags.RUNTIME_ON6 m- N$ W4 _! `# Q. Y
);
5 \1 B. m1 T4 g6 Z# t9 `% ]; R8 w
var Registry = xdc.useModule('xdc.runtime.Registry');0 P8 a* Z# ]- n6 w8 p( ]
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& S$ W# L& ^+ V0 `0 u4 ?Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;: j' E' Z X, _9 D% z6 n
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
- P* V5 z# r& i$ rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 z5 p. t3 J- @# h3 z- w+ w- \
3 b0 }) v5 r4 V! d* Z$ [/* create a logger instance */* c- y* l: g# t
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 @: c. b. K& j& z' X# m3 E2 f
var loggerBufP = new LoggerBuf.Params();, m6 `( k, M# c* ~! s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 }* V+ ^8 C+ o/ z7 BloggerBufP.bufType = LoggerBuf.BufType_FIXED;
; f1 U( l; q6 |" ]7 p
, @! p; X9 D4 R9 l( Cvar appLogger = LoggerBuf.create(loggerBufP);* F' r% K; X+ m! {. f
appLogger.instance.name = "AppLog_Core1";$ e2 i, o2 U8 `. B7 R' K
Defaults.common$.logger = appLogger;- j l& N: J" c- F3 r* L% {
Memory.defaultHeapSize = 0x8192;
; R/ k3 q, i9 f1 [- d" S3 MIdle.idleFxns[0] = "&LEDStatus";
* q6 g* B, l. M2 X& U& r1 m( gCache.initSize.l2Size = Cache.L2Size_32K;
5 v: P# |1 }6 Y! L# V7 c4 Q% P2 x u7 y+ i
|
|