|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, Y0 i& A% H$ _, B f6 F$ U我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! W7 ~* m: n3 d3 n% M/ @" J(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% ^; u% F" m: P" v* Q( V! U( g3 O- q. R6 L
是不是需要在DSP.CFG中进行配置
# d$ \$ B8 i! D+ R" |' U* m我现在的配置为8 k* L, w/ e$ b* z& X
6 [% l, E" D. w8 ]% K# I7 Q& X/* Q) _; x0 C2 [
* ======== Operating System Configuration ========
9 N, T/ D0 L" @ */
) @+ `, b) M3 T( R4 K1 _6 C% x+ o0 W5 m: M3 o" f
/* no rts heap */
4 f2 s5 L; G. ]( lProgram.heap = 0;
/ G2 F& t& K! e5 A5 D0 B+ q2 DProgram.argSize = 100; /* minimum size */
3 C/ J& r* b! ?% B6 oProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! G, y+ h: @( I1 ?
' B+ k% F, ~0 N2 p& m2 A/* create a default heap */) {1 N7 v) b& o8 }* v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% r) U; s0 Q4 [6 F+ pvar heapMemParams = new HeapMem.Params();
* t$ ]4 z1 C8 J: y" NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. y" r! p5 ?. W5 l( R- s7 G' l
% x% [6 E0 C3 ], i3 ?4 z3 c, avar Memory = xdc.useModule('xdc.runtime.Memory');
r. M) @( Z9 m% E2 eMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
( p8 {" m3 G J& @$ j2 j* I% n8 L- p+ X6 h. q! @& s
/* configure System module */: `" ]$ Y) f9 Z; @( Y7 U! W
var SysMin = xdc.useModule('xdc.runtime.SysMin');# | A2 Q/ f6 s/ {. @9 _: r b
SysMin.bufSize = 0x1000;
6 }& g$ e: d4 X' s, X- s: e/ b* }SysMin.flushAtExit = false;
" T7 w+ E' D$ Y9 Q+ P
/ n% `# s$ e% C4 p1 T0 e) L, Z2 R' f* I/ Bvar System = xdc.useModule('xdc.runtime.System');! L% a I5 V: m* M3 q
System.SupportProxy = SysMin;1 y$ R3 J+ L& P j5 d' M
% H+ g/ B" a$ V! r
/* configure SysBios to use the lower half of Timer 1 */
1 H2 F7 ]0 N6 A1 m$ Y. xvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( v; r- d( I% f' @3 f1 bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');, S1 j- Q* c j, }7 a$ c5 b
Timer.timerSettings[1].master = true;
$ w V2 E" j4 GTimer.defaultHalf = Timer.Half_LOWER;# I( |5 }7 H. e* ^# ]
Clock.timerId = 1;
+ Q* @3 M5 w+ m& t9 i$ [
3 \2 P6 }/ c' B) I- v4 I) b3 [, E% J/ b; d; k/ p$ }
/*0 i) R ?( |& ^7 H4 e
* ======== Miscellaneous Configuration ========
+ O' o" U' B9 o. L! P( j2 g */, i, Z- ^1 o+ D/ A7 L% |
: A6 X& s l# p& P
/* set default diags mask */
& ?* N. w% N, P: X3 {7 l: _var Diags = xdc.useModule('xdc.runtime.Diags');
4 N* c) i( d5 A$ `1 t/ U4 hvar Defaults = xdc.useModule('xdc.runtime.Defaults');# Z m, j8 q; a, w
0 N3 l4 @5 b9 u) n. |8 }Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
1 d' ]8 [+ L2 A# [- `1 |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 {; }) ~* T6 W' y, j( P+ I
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 B" F1 K5 C5 v% X7 p( CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 U+ y( L5 w% M0 U( s0 C5 T! uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 t2 z8 P( |3 r1 x3 H1 D/ W% O
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 H+ T5 k( ?$ e1 g' I- V( xDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 a& w5 L e% h* C; qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
* C4 s: ^' ] q/ z4 W+ sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 i6 D: h. k% C0 X0 Y% sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; U I+ T" u* E: D9 W6 iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' G% S7 o: R5 X4 r+ cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' L" C& {/ u3 F3 J: }# UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- e2 t. c% p- }" B9 lDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;0 V% d, u) L8 c, R8 g- `7 z% b, E* E
" B r# i' n ]/ w) p4 k8 F( I
/* override diags mask for selected modules */
5 y/ I& W( M. ~xdc.useModule('xdc.runtime.Main');
8 |+ |% N8 v) T* {! jDiags.setMaskMeta(5 L" H0 X- v/ y/ a
"xdc.runtime.Main", [" D$ k6 J8 w1 {9 D: Q" ]
Diags.ENTRY | Diags.EXIT | Diags.INFO,6 W0 Q9 @9 h9 I* c7 l. ]9 t
Diags.RUNTIME_ON o9 M# Y$ @6 W5 @
);$ c& l5 ^" ]- c7 x; w
# F( t! T9 b' Z! @var Registry = xdc.useModule('xdc.runtime.Registry');
1 B0 Q' B% H7 U F# aRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, S3 k2 N+ T( {6 V3 H) GRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% I8 f% I* s8 d' C- d. qRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
, u0 F! j: l' k/ m! H. B( m! x4 WRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
5 \) p: m$ d. k5 h. B5 T! |3 k7 `9 D% f
/* create a logger instance */- |2 v8 l3 ~3 g3 X1 H. G5 |
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& H `4 m8 f# k ]& p$ y! j
var loggerBufP = new LoggerBuf.Params();
( S8 P4 W( A9 [' g# f- jloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ v/ ~5 @& u( D2 b' V* v0 q9 EloggerBufP.bufType = LoggerBuf.BufType_FIXED;
, P+ B$ f6 J/ r. C
0 d/ z! O- H( | M/ Xvar appLogger = LoggerBuf.create(loggerBufP);3 o; Q3 a1 N0 Z, y* T9 n" t- E% {
appLogger.instance.name = "AppLog_Core1";
. U, @/ s- g; @Defaults.common$.logger = appLogger;
1 z6 Q/ z0 }+ H0 b9 y8 wMemory.defaultHeapSize = 0x8192;
8 {* G2 \; n) ]5 V5 q# LIdle.idleFxns[0] = "&LEDStatus";
5 @' y. K+ P5 D8 r7 x5 s2 a" ?Cache.initSize.l2Size = Cache.L2Size_32K;
1 S; D/ T$ v+ u. s. \3 L7 G; v5 `: Y1 \
2 K; P/ p3 J# a: X6 ^9 |9 o# s |
|