|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 Z* g" R% v" G# h/ Y7 q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 }( U+ [' j8 \(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ U/ M+ P b( b' ?7 j. h; q& E
; L4 m$ b5 o, y; w9 h
是不是需要在DSP.CFG中进行配置$ e8 g+ Z! c6 Y4 D2 Y G7 @
我现在的配置为
$ R, @% c& @) m5 H% f0 x+ P% {/ p6 b9 t: \8 W) S; E: F) u
/*
- v9 t) i2 r; [( C A * ======== Operating System Configuration ========% S9 N. S# {' h) v1 m6 o
*/8 d* g0 g7 o% b. Y
0 `3 i. F7 }, y! \- [0 H1 r+ T
/* no rts heap */
6 r0 e" h# d8 X0 SProgram.heap = 0;! J* M; j/ I3 D3 @; [
Program.argSize = 100; /* minimum size */2 T8 V; C/ P, ^8 u& `" z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 [; Q1 l6 z& z% p
1 e: \$ z- G" V/* create a default heap */1 o9 T! ^2 @" r! w& l
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' u) s$ F4 `) h6 ~9 w9 `) O% Svar heapMemParams = new HeapMem.Params();, l3 l/ {0 q; v6 C" q- P
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
+ D* U4 l0 p: h( u7 P, U X' i/ [; ?1 P F/ ~' {
var Memory = xdc.useModule('xdc.runtime.Memory');
" I' h+ e0 J/ c8 E0 W: uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! Z! M8 {& v) v2 W6 {
- j+ ]/ a! I7 Y8 \; ]9 C/* configure System module */
3 e7 z3 \' S. c" A2 Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');
2 f' O$ H9 s% }: I3 U( z3 M3 NSysMin.bufSize = 0x1000;
# |- _$ d' q5 N+ ]SysMin.flushAtExit = false;- F" r+ Z. V4 U; i& q0 b8 r
- l( K7 U6 U, K- g2 r( q+ O! z! _( W
var System = xdc.useModule('xdc.runtime.System');
" W& y8 e* @% y2 C( m1 W& u! m- ~System.SupportProxy = SysMin;/ M; }9 F- h) k3 _
8 e- g, o! ^/ U, L# k2 u
/* configure SysBios to use the lower half of Timer 1 */
/ N6 Z* Y- I( L |! V; k2 cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: `0 V. ?" u; }6 T, N; d! A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& I+ \! i6 x6 H2 QTimer.timerSettings[1].master = true;
. g; n, {3 @8 B. C! _Timer.defaultHalf = Timer.Half_LOWER;1 S) g( C( ~: | J/ E
Clock.timerId = 1;/ p' m! ^9 Y3 a- i3 [5 L u: m9 D
$ f( V% L& u0 m% G. i. t0 t! _, E8 f* N7 F8 v/ m
/*1 A, e: S4 y- z W
* ======== Miscellaneous Configuration ========
$ M# S: K9 P* Z5 I! V- M */
0 l2 m% ?0 z, _3 A
' g: g' n- f6 N& @$ L3 y/* set default diags mask */# m& O6 g) W" a5 C
var Diags = xdc.useModule('xdc.runtime.Diags');
' G+ \+ P3 a- r+ ] Qvar Defaults = xdc.useModule('xdc.runtime.Defaults');" D4 R/ _) u8 F c9 V7 s+ ~
- L. L/ T9 a! E8 p& o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
u5 ~1 d) M6 E" tDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
W' ^5 ^7 s E" Q" q. E. h$ cDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# v& f4 n& u" Z( G; M% {$ R; bDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) h4 m. ~7 J# I/ E% w; a
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 ~: G! ~6 K) u4 T# w/ T7 A0 B0 }7 K; J
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON; ^1 H' {6 I/ X* e$ {
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) ~ F9 f& z0 V3 q1 _1 ]; ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ C! J% T# U7 B3 ADefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;* M" j' H1 k: e: p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 \ P$ }! u; D) X6 X4 b% u N6 m- u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ g" u D' e7 J0 @' _% u+ `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. b8 f; {3 v9 q& Y. ]- mDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;( Y# R! a6 y. M- [7 A! \1 [- h% Q
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( [: f J5 b. B5 K% l- Y
! _) a( g- Q4 b( G/* override diags mask for selected modules */
3 d. B4 T3 Q: g7 T) exdc.useModule('xdc.runtime.Main');+ R, w/ E, L$ |
Diags.setMaskMeta(
5 c. Z. n( g$ q "xdc.runtime.Main",7 l$ G+ X7 c8 k5 q7 q( \
Diags.ENTRY | Diags.EXIT | Diags.INFO,! k& [& D2 x9 b& G/ ]
Diags.RUNTIME_ON; C/ x0 Y- n9 E
);8 k9 [' N. [0 d0 j
8 d) g4 ^" d& o6 ^7 avar Registry = xdc.useModule('xdc.runtime.Registry');
: a. v& j, x* V' s- x& }2 A& \: VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 s: }. B m6 C8 J. n6 x
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;) V9 A7 i1 X* t* W
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
* e" U4 r6 i8 X9 {" {7 u# R0 B5 JRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- ^9 K1 b% }& B, z: E& Z7 F
/ ^/ x: _$ ^. D. [/* create a logger instance */
3 ]# S5 }. Q3 \( {1 N, I' cvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; }; K/ N$ A( k. _5 {5 gvar loggerBufP = new LoggerBuf.Params();
" Y1 a; z; l7 y: y! O$ o! X! DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* \1 l2 ^2 @! w
loggerBufP.bufType = LoggerBuf.BufType_FIXED;* P+ S! `. q; O* n& X
; w( ]! Z# d6 n w
var appLogger = LoggerBuf.create(loggerBufP);
5 B# }* t7 ~4 W: X/ y9 f. [appLogger.instance.name = "AppLog_Core1";5 i0 i6 e5 ^( w- C2 B$ ]
Defaults.common$.logger = appLogger;) i! I$ j F3 m; u
Memory.defaultHeapSize = 0x8192;
8 a) x L2 }2 _. EIdle.idleFxns[0] = "&LEDStatus";
% `! B' i* z I# Z! K' t9 e# zCache.initSize.l2Size = Cache.L2Size_32K;
7 v% H& H6 z$ o1 j
9 _5 `, ?7 g3 ~ |
|