|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% ^9 x5 E4 s1 j1 g! U我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( ]8 a* p' C; E. R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 d: Z2 C3 L- L0 X9 I! Y, j6 [7 Z6 y- b( y- k9 r
是不是需要在DSP.CFG中进行配置& W4 W/ l) F1 M9 `) B' \
我现在的配置为
- {& j) F% [# J5 I& r. p6 A4 y
5 j' E# z! U" b/*
/ F/ h) |: B2 A * ======== Operating System Configuration ========% Q7 ? y* b, I) {% P# s
*/& U' y9 Y' @. |
D* p* V$ O1 o$ ]" w* C/* no rts heap */4 C, e% ?. u7 q# V
Program.heap = 0;
0 _4 M& u- U- J& x/ QProgram.argSize = 100; /* minimum size */
R6 b% h9 l6 Y8 K; P3 A& @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" X# O: h( D. C% e& Q1 Z- l5 y1 T
% y% ]: R% Z/ ?4 g9 }2 t/* create a default heap */
. s+ p; s# O8 E. p) ~0 b0 g+ Hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');4 I# ]6 w3 Z- F) x/ x
var heapMemParams = new HeapMem.Params();
3 R- s" W% H/ A; ~( j, bheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! Z4 `/ R( H5 s5 s& b
6 L% @9 |. D) Vvar Memory = xdc.useModule('xdc.runtime.Memory');3 V( [# [! A" ~- y& \2 [9 f7 X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 k/ p }" ^/ b7 l( \/ Z. |; Y. w, d# r
2 t4 K9 m$ g( L4 t! ~/* configure System module */
1 @$ t* B7 D: p3 @, Pvar SysMin = xdc.useModule('xdc.runtime.SysMin');9 g8 W; n. x( w. p% i
SysMin.bufSize = 0x1000;& h! K& J; Q5 T6 n6 ^2 Y! y
SysMin.flushAtExit = false;! c) i, r5 H F; |+ T9 \0 u. I
( I) Y3 N; i; X( |/ z2 d6 rvar System = xdc.useModule('xdc.runtime.System');
' P6 n( n& K; ASystem.SupportProxy = SysMin;" ]2 F: j \; e/ d0 ^
5 k( n7 u6 C) l$ B7 d# {1 n/* configure SysBios to use the lower half of Timer 1 */
# k0 [: I/ ~0 Z$ ^/ j1 ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 {3 }( P2 e% {, ]/ _6 d9 {7 u1 X3 fvar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 r& Y! ?$ t& P+ Z
Timer.timerSettings[1].master = true;1 a9 {6 f Q0 N2 H& e
Timer.defaultHalf = Timer.Half_LOWER;# Q( D& ~6 r, }0 x, w
Clock.timerId = 1;# H- X2 s1 c) ~9 j+ x, A
8 _7 z3 O& V+ u( n Q/ U! |+ g
) g3 ], Z+ J; X, R0 D0 D4 F3 U. y$ F: L
/*2 H# j; ^- i& x
* ======== Miscellaneous Configuration ========
5 [' y) W1 [ [8 M6 Y */
0 n8 j e. G5 p% r& X3 G$ t' s, ~/ F
1 g' W/ v: Q0 C2 d9 o/ y/* set default diags mask */
% A1 \7 N1 J1 K8 Y. m& ?% ivar Diags = xdc.useModule('xdc.runtime.Diags');4 J, }3 c4 {: l
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% M/ H9 H4 z& \5 ~. f
+ F0 f0 [- g, H' a, QDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- E Z- B3 c* E& M! {# K& N s
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
5 P' Q! B; d, sDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! Z4 R. S3 J. L% P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
3 q' d: q5 o8 h; y$ f' [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ [" ~2 ^( H. u& P- BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;, Q" A" @" G+ d w- z; N, i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, B! J- p1 }* p$ V7 m( |
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
- a! @3 p* u& RDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) b8 o5 T) S' |6 l4 @, g1 d# yDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 A, R8 ^ g) |5 U
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' D% }9 _4 n& D* j g
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
% p$ a8 [# @; v QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 g! x" c: z2 I& I6 O1 yDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- ^: _) ?# ^; g/ s
. `2 o1 t' v5 p& d( `
/* override diags mask for selected modules */
' S' \* B: @5 W7 rxdc.useModule('xdc.runtime.Main');5 G C1 y9 V/ `. u$ C
Diags.setMaskMeta($ N1 f' \/ [$ ^3 o# D: R+ r) G0 ~
"xdc.runtime.Main",
4 D/ _: |7 ~# N! ^8 @5 T/ [2 i Diags.ENTRY | Diags.EXIT | Diags.INFO,
& ]2 y7 K% N5 _* ]8 y. a' O* e+ W9 J Diags.RUNTIME_ON* {& {0 y2 J$ [
);
% G5 P5 g0 S4 s6 g8 c+ I. g
& I K7 ]) S# g2 I6 d* Kvar Registry = xdc.useModule('xdc.runtime.Registry');" A6 L0 m3 y: q+ y" R s. k8 [- h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 Q6 I+ M$ [4 J, n( K( s' r x0 U. c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 u# V; S D7 E# W3 ^$ Y
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;- B* T" {! B, E( a( j
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! Y( w6 p/ [- \- n* h
6 ?. M* z" I1 F7 b* ?; F/* create a logger instance */
; ^4 a& E, h2 `: `! o/ Gvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, q* G9 Q/ f$ q" P, k t" {2 dvar loggerBufP = new LoggerBuf.Params();) z. `" j4 z: k; u5 T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */( V; n4 h% T2 g: Z+ y- I; I+ Q# I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ L3 f, V- g3 I/ U
8 P& A; g) x: M0 ]; r4 \var appLogger = LoggerBuf.create(loggerBufP);" u+ Y/ _, ]0 U" h0 A
appLogger.instance.name = "AppLog_Core1";' h; y( b5 R- G. u' A) y
Defaults.common$.logger = appLogger;
7 y" h& ?! G- R; ^# j( r. IMemory.defaultHeapSize = 0x8192;
& B: V3 v' S6 H( IIdle.idleFxns[0] = "&LEDStatus";4 k J, ~/ }3 d: g4 n
Cache.initSize.l2Size = Cache.L2Size_32K;
$ q9 B7 W4 R' p+ n% t. T6 B/ C" P5 x; S' `4 u" Z
|
|