|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 d% D9 h. e% J6 |8 ~3 w( J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 E( p& v0 ~6 l5 Z/ b1 s/ }
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( P5 @0 u. Y! N2 ~- q- S3 l
7 p' |/ a/ g b# ^5 b6 M
是不是需要在DSP.CFG中进行配置
) r( e% [ }. I7 |& B6 S我现在的配置为
# c7 Q$ T4 h! E- T+ N0 m; ^5 Y( u6 q; C1 [. ~9 k% B; ]" j
/*
& x3 x6 O9 j, Y* j4 z! w/ ?1 p * ======== Operating System Configuration ========
0 K3 g0 i7 F0 ~2 `) F */
: l( @% {; H7 V$ k4 q) X2 f. y2 I/ }; e/ C) j, ~: r
/* no rts heap */5 A8 n; E U7 b8 ]; D) V# Z
Program.heap = 0;2 ]5 w* i# [3 u7 ?
Program.argSize = 100; /* minimum size */
% B, k1 e: _6 `# v lProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大% i/ B2 \- N9 T8 A: ~6 C+ b
4 U0 n9 a p$ d: r, B) L, `5 P9 ~4 _4 l
/* create a default heap */
/ ^) Z* m3 V L7 F$ vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 G1 m. J# x+ ~; Bvar heapMemParams = new HeapMem.Params();) A6 i4 N0 z; D0 i) E
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. s( s2 f8 X- F
' ], K6 N/ y5 z# r; A& svar Memory = xdc.useModule('xdc.runtime.Memory');4 _# q" H V! T9 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 H' M( i# k* A/ @2 ]# M- x$ I z7 m! n1 Z+ b c7 ?
/* configure System module */& U( [6 ^: P' u) o2 L& a
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 [4 K" |/ `5 P. x# R
SysMin.bufSize = 0x1000;5 [( R9 Q, [9 e9 ^
SysMin.flushAtExit = false;
$ \2 V- k2 W2 y( x5 u1 M& S* f4 [3 |3 e2 r: s8 z- L
var System = xdc.useModule('xdc.runtime.System');
. }" ?* g% D: ?# sSystem.SupportProxy = SysMin;
5 _/ H: t) p1 J( a
% c7 {( \# u2 Q k0 @/* configure SysBios to use the lower half of Timer 1 */
' g% V( C* x7 W. x- ?! Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& M4 M: j/ N! y: u" Gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
# x9 F0 y# D( i8 A" _2 S% p9 GTimer.timerSettings[1].master = true;6 X' \, T0 N# g
Timer.defaultHalf = Timer.Half_LOWER;
8 r& n h' n# P* W4 y3 a0 DClock.timerId = 1;$ l' X0 p4 B+ |
$ v' d7 I3 V& K- @7 I5 N+ p
# Q* F/ e: J: b/*
" T( z; Y6 R8 c7 M; k( X9 ^ * ======== Miscellaneous Configuration ========1 U. d" M- p3 u' n( W9 n0 s4 C
*/
) N& e# |! s% e
" T+ a8 A1 b8 \1 ]1 h/ w/* set default diags mask */2 h# j2 S# I# J/ q
var Diags = xdc.useModule('xdc.runtime.Diags');
7 p' P- t K! ^var Defaults = xdc.useModule('xdc.runtime.Defaults');4 z/ G* \9 d. u% t
4 d& h8 R9 Q6 m' g: K) ]Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
; b! Y- } e8 n% @Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" U1 ]4 f! X1 C. w) l% mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; E2 i7 ]; |7 wDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */+ P% \& S7 ^9 z) }5 C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! y5 I, Y$ C0 L9 \) fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 e& N, l& V w. S7 U% a- sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 D7 w; P' D# ?6 q. aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: ~ [5 d/ J* D, [6 Z( k
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& d+ W, }+ a5 H% c- y% ^" {Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: f$ f B. }( O- F5 o7 E- W; P; bDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
- K6 A0 F' J4 [ v( }/ ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 c3 X9 w# y9 Q+ Q1 _% C' @Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 q* g' F0 n; n9 yDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
% Z1 d5 }9 ~9 D; E9 L T3 Z! W
7 W# w& T. }( z/* override diags mask for selected modules */
: y& S8 X3 u5 ?& oxdc.useModule('xdc.runtime.Main');+ e9 E2 z' g: P g
Diags.setMaskMeta(3 J' _0 ^: I' G7 g
"xdc.runtime.Main",
+ Q8 n: N- v" E( S5 Y! v Diags.ENTRY | Diags.EXIT | Diags.INFO,1 o6 Z" x. [5 }$ e8 r7 v+ v7 u
Diags.RUNTIME_ON" e6 O' K* G. U6 O/ \
);
6 l( k c. u* }+ m1 [- W. `6 _ H; p. R; `- g; @
var Registry = xdc.useModule('xdc.runtime.Registry');) F/ S6 t/ ^ ]# |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: y- a; Y' [8 I. I$ n/ |- y* [' pRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( U. z J9 s2 }* V& F/ yRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;7 x! x; W% I: a, M3 X9 G1 E1 D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ v! k( f( Y5 R
' X1 ]0 P* Y7 J4 S _" T5 p& k/* create a logger instance */
, V0 n( b* i _, Y$ rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 D$ i4 s. m5 a
var loggerBufP = new LoggerBuf.Params();5 w, @; T( U4 p. a( T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */* Y c& \3 z, Y9 ^7 h0 a0 \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 [0 X2 M. B# W- `' M* o
0 x1 Z3 Z7 q8 c7 h I2 C$ m- Qvar appLogger = LoggerBuf.create(loggerBufP);) U* J( P0 L0 X3 q) i8 Y
appLogger.instance.name = "AppLog_Core1";9 d' m; `( W1 X, }2 p( d
Defaults.common$.logger = appLogger;
$ B9 _3 {% `/ m4 V& eMemory.defaultHeapSize = 0x8192;
6 m8 _: |* S i% R) b; BIdle.idleFxns[0] = "&LEDStatus";3 I/ v7 o0 O+ |2 D, f
Cache.initSize.l2Size = Cache.L2Size_32K;6 @) w7 \2 x1 c T3 ?5 ?
/ j% ^$ U' i& c. r' Z6 ] |
|