|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 p' k. [( E- {. A1 c" Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
* F6 c4 x- z: j y(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 ^" ^) D2 U- D* k% y- [4 i" H
是不是需要在DSP.CFG中进行配置) u3 g! c; a, q, N, e
我现在的配置为
( ~2 m1 S0 K( D- b) ?3 L2 F% _( p) }' d* t0 c
/*( ?# p8 T' m% A$ \: r+ x
* ======== Operating System Configuration ========
: w7 @' |+ p2 J, A( m) D */
8 F9 s- z# }- o, F9 @9 b9 _6 J0 r+ F9 Y9 ]$ h: f
/* no rts heap */
) @+ U2 P9 Z5 TProgram.heap = 0;
. `6 F& E& J; U- S' zProgram.argSize = 100; /* minimum size */( c. F) x) {# G. c4 r" B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大: u7 ^5 B [: i3 M. M; B( b
* ^* Z0 v# Z& c
/* create a default heap */: _0 q9 Z5 l) U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( e- O" _& ~/ ?& X, J3 _
var heapMemParams = new HeapMem.Params(); a+ B. d: |/ v7 h+ @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% M- W# U4 B+ q& K( G) C! V1 V" O" f
var Memory = xdc.useModule('xdc.runtime.Memory');$ e% Z' {$ q# Y, z7 f$ l
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);, M: u, b* W: |
& K$ u5 F' v) z2 S3 A- ]1 Y! F$ T
/* configure System module */
! l9 |2 Q7 R; E0 T# k }var SysMin = xdc.useModule('xdc.runtime.SysMin');+ k3 O8 `' l9 v7 F8 d
SysMin.bufSize = 0x1000;
+ ^; m5 C! d; M! jSysMin.flushAtExit = false;( k" j. t; f6 d* C& y# k4 U
$ {: E/ M p6 `" f5 ~) k, Z
var System = xdc.useModule('xdc.runtime.System');
5 Y3 I/ I) [, t; CSystem.SupportProxy = SysMin;9 |5 U ^, v* `4 f$ c6 O! `1 Q0 }
* U, H9 I7 x2 s2 O
/* configure SysBios to use the lower half of Timer 1 */
6 U( C0 D+ c7 m8 R2 D: q$ K( F; ivar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 ?% [$ ^! t% k# {
var Clock = xdc.useModule('ti.sysbios.knl.Clock');$ N1 T# ~ f1 t. Z J2 T
Timer.timerSettings[1].master = true;
% E" t" D3 D }+ kTimer.defaultHalf = Timer.Half_LOWER;
! U; \+ |" n+ G. N3 l5 v- G9 }Clock.timerId = 1;. @8 E4 Z( ]* B/ l* i: w- q+ r' E/ |, l
. t: o8 _# U% Z s" \
6 r$ m2 m( Y: H; P& J7 l$ e7 B/*
! K4 L( S, N$ a; { v * ======== Miscellaneous Configuration ========
. p. z$ P% D! S" `) T5 h# J */
1 v E. f b' f/ |* g! ] `8 U
% X, l- @: t* Z6 }! l) J/* set default diags mask */
8 Y7 |6 C) N, k( pvar Diags = xdc.useModule('xdc.runtime.Diags');
1 G3 c- [+ f7 T$ b- W+ \2 o& avar Defaults = xdc.useModule('xdc.runtime.Defaults');' |7 h; m1 U, S
! j0 A( N7 v n/ @
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 ~9 i, }, u2 u' w9 k- hDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 S* A. S5 u3 a4 lDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
. H3 J9 ^. F v; I4 I5 e; QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ p n* c7 w2 x( q/ t
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( _0 {4 I a' ~, j) y. ]
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% Y0 Q4 z# `( `0 o6 C
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" \1 U8 b* S _6 a! Y1 D- }
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 V, U, M) Q0 B8 |
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) S) F4 l9 Y, KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ R" Z; K! z: z+ Y4 _5 kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; |7 n/ f' v" y- c
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ u, r+ U) M0 @5 j6 R
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# j7 d, c5 p1 J% ~3 v- gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ d$ @* T/ z9 C/ `2 X/ g
0 h3 C; m3 v. `! W, I$ l. ?/* override diags mask for selected modules */
1 ? J% Y4 G0 A) O7 D9 exdc.useModule('xdc.runtime.Main');4 L# B7 [# j: C$ M
Diags.setMaskMeta(
( d5 E3 L" j$ P) E$ z "xdc.runtime.Main",
3 V" \% t9 ?8 L1 q Diags.ENTRY | Diags.EXIT | Diags.INFO,& E8 h. r) l8 I) d# I! d
Diags.RUNTIME_ON M) j2 D1 M; h! e b( t( ?
);2 K& T Y/ q) L' w3 v4 |; w
' N& _1 f! i ]3 Svar Registry = xdc.useModule('xdc.runtime.Registry');
6 D0 G' o' Q) V: O( u0 M9 {0 QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 N7 \4 k5 b8 R# ~+ G* bRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% l" M5 U- X) W4 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 f# k1 u! G5 xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 L ^# r+ F! y f/ N2 m% ]8 d% l
, _% V5 q$ E: M8 p5 E9 P/* create a logger instance */0 s3 I/ D' S1 W% M; }1 H, M
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
4 g; A9 s u( j6 X( H+ yvar loggerBufP = new LoggerBuf.Params();' W- i# ^3 a6 o( h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* Z( L! L; M+ WloggerBufP.bufType = LoggerBuf.BufType_FIXED;# Q0 W/ X) F" |5 |( O/ d
, p F* Z c/ K8 ~5 S: {% z Xvar appLogger = LoggerBuf.create(loggerBufP);1 {! \( k0 E; C* Y2 G' i b
appLogger.instance.name = "AppLog_Core1";
+ e9 x! x: R0 |6 Q* P9 c ODefaults.common$.logger = appLogger;
1 ?: H4 v2 n) @" h, A0 M* t: ZMemory.defaultHeapSize = 0x8192; 8 c" r z/ R6 j4 z/ J2 A
Idle.idleFxns[0] = "&LEDStatus";
; D8 O! v- L6 y% A/ K bCache.initSize.l2Size = Cache.L2Size_32K;5 _: x! e k2 r! \2 }
' I, m0 H h* a$ F! x
|
|