|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 F4 i: X3 z. T8 p- N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- j1 e: `( [2 t" U/ F( Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 \' K( |3 x' G! o* x
$ F* Q& ^) A# |% o2 l
是不是需要在DSP.CFG中进行配置+ q7 w- |$ R X& A0 t( D
我现在的配置为. ?4 m( d3 p" g+ s# C# d b
% {9 Q- `5 w2 G& h8 G8 V/ t
/*
3 z& J: g3 i; |4 [! j * ======== Operating System Configuration ========
+ p& D+ X5 x% ? */
8 Q9 d) J, ^% Y, a" [$ ^2 [
0 a1 ]: A. h* }) {, t* F/* no rts heap */
3 V) F/ ? m6 H! D1 R6 M2 ~Program.heap = 0;& @; n8 V. D5 K
Program.argSize = 100; /* minimum size */
1 ]" D( \' Y# X/ Z* X* }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
% H1 s( z& J% W' v; c1 l' I% K$ d& O L N4 F
/* create a default heap */
. c, X( o' R; F( S% Avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# P3 l# E0 A2 l! V# P j8 s
var heapMemParams = new HeapMem.Params();
* L! w' z& M- y5 _, ^- UheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
* b7 f7 m" P2 I2 ?% e' n+ i. X) D) {1 q5 }2 o
var Memory = xdc.useModule('xdc.runtime.Memory');
5 I2 p" C0 o4 A! wMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 F& W8 Z1 Z0 [" r+ n1 Y- I u' x/ z; a! B/ Z$ q( d% S6 |
/* configure System module */
0 @2 A( C8 w8 vvar SysMin = xdc.useModule('xdc.runtime.SysMin');
. u+ |- m, p4 @' m6 o L# FSysMin.bufSize = 0x1000;6 Y: W O( M/ [
SysMin.flushAtExit = false;
* \7 U9 h8 p: b* k- Z, ]+ O+ X; q* {' q2 I1 c
var System = xdc.useModule('xdc.runtime.System');
+ P( ` u; e# J. L7 vSystem.SupportProxy = SysMin;1 n0 w$ q. U' m$ X' }. H- E3 [7 a
6 v' ^' q2 ?3 A% X/* configure SysBios to use the lower half of Timer 1 */
8 ~) \/ L/ _1 }, H7 ?var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');, r* `6 C- F6 M! H
var Clock = xdc.useModule('ti.sysbios.knl.Clock');9 x# ?$ t- x9 G) M9 U3 }# k
Timer.timerSettings[1].master = true;
4 I$ X2 N( d' d$ QTimer.defaultHalf = Timer.Half_LOWER;/ B' t/ m. ^4 @+ u$ P m Y
Clock.timerId = 1;
; f3 M8 | S8 O3 M3 m7 P! ]" c' i/ B* C% w+ ]! k) d8 w
5 v6 ~+ _. z% O" K" H
/*; y7 N+ d, g: V2 m4 k
* ======== Miscellaneous Configuration ========0 i( L! c% O) H' ~( V$ ?% T4 h1 q1 t
*/0 {5 b& o' V0 n* ?$ r8 @5 r
% C. `( Y/ J9 X/* set default diags mask */* A' l1 ?9 I- e7 p
var Diags = xdc.useModule('xdc.runtime.Diags');3 l0 z/ L- C) r" {9 X; i0 w
var Defaults = xdc.useModule('xdc.runtime.Defaults');6 B9 U7 k! {7 l2 m p8 A8 W. k
- B8 | ?/ T+ I* ?Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, M5 k! `4 B( G5 v( W, E2 FDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% r) {. \5 B Z$ O/ k: e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% S; n$ o2 J: IDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
# {7 ^) B( I$ `* ^, G* lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' h8 c4 w7 r, i# W2 [; J% jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% G9 S7 D& U- T$ \6 EDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' Q5 ]7 i( l4 ^. b$ e) iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 ^* X1 g" S, p5 P q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! D" U- X2 @: g8 GDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 c5 F4 m7 Z1 o, x- J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 N# @$ g/ y, h4 H6 `Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ ~; I, Y8 @/ G0 x! n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# e$ c( k/ s& b! L! H" N, M
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 P5 p4 d3 J5 {0 M
; a$ O7 U' C9 U8 r S/* override diags mask for selected modules */
9 r+ w6 W \0 b+ \: j6 Exdc.useModule('xdc.runtime.Main');4 {, u. |6 p" [8 I. a+ l) K
Diags.setMaskMeta(
4 c4 M6 }9 Q9 i# _* o8 b+ N8 L "xdc.runtime.Main",
# d7 [$ G, t! {+ o5 W Diags.ENTRY | Diags.EXIT | Diags.INFO,
5 l, w* N% e- Y/ [: _ Diags.RUNTIME_ON
9 @5 |, T) {/ i) T);
$ L' s6 @- C; f' O6 C- e' X/ ^# I" ~& b O7 l$ `, S* ^+ C- [
var Registry = xdc.useModule('xdc.runtime.Registry');
' r; A. K- p: n6 DRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% F+ {+ e; {. w+ i# |7 {5 U# d7 }6 ^
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" |1 g5 @8 x0 D5 m. QRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;+ ?7 J0 Z ~* I% V) [# T
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
a+ B, @! X! \+ h
9 q+ N D0 D/ l# k- ?/* create a logger instance */' k% C4 _7 C0 R( D
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');: P! F `7 C$ E8 Y$ Z2 \5 A2 b
var loggerBufP = new LoggerBuf.Params();
( ?+ F( G" ]! {& z% K+ x( I, }$ @& DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ F) _# c( d4 Z1 YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 s* Q; A9 o8 K( ?6 r, q8 P- b& z+ R% q+ w
var appLogger = LoggerBuf.create(loggerBufP);
/ Q- { t! _2 {% q/ Z1 {2 x9 Q* n- o1 |appLogger.instance.name = "AppLog_Core1";5 b- I- T+ U1 t: U
Defaults.common$.logger = appLogger;5 ?+ {, Y9 y5 U" d' x8 V" E
Memory.defaultHeapSize = 0x8192;
+ Q5 V; T3 \' b1 g2 f* XIdle.idleFxns[0] = "&LEDStatus";
7 N- D! Q, ~" b9 ECache.initSize.l2Size = Cache.L2Size_32K;" K7 c1 d4 n! k& K
4 M: m @1 ?. M! p, Z' c, Q |
|