|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 n0 }1 _" N' n2 d$ z; T
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- h# p; s `: n# R8 U/ @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)2 T7 k+ M. Q0 s. O; t
! N6 h/ g; C9 F5 |- z, h是不是需要在DSP.CFG中进行配置
' j. X( b( x) b. N我现在的配置为
4 v2 | c+ Y7 `; g0 e& J. Z4 ~+ B: [, Z$ j1 P' @9 z7 U1 C$ o
/*; q0 o* ]2 C1 r- i- k: E( o
* ======== Operating System Configuration ========
' B) K" E; a8 Q2 n */
( Y5 l" Y, E" j2 U1 [) J! Q6 Q% v2 i5 _1 `5 b1 z* f- I
/* no rts heap */7 x2 N& h1 g+ G
Program.heap = 0;/ N/ J0 F! Y' B S
Program.argSize = 100; /* minimum size */1 i' c6 m, x7 _: I; N# @/ O7 m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大, P9 z6 f# Z3 O6 a& c3 @
/ Y1 T% m" ~+ L* ]/* create a default heap */
F6 _6 }9 b: q7 e# ]var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- j" d( S2 a6 A6 M
var heapMemParams = new HeapMem.Params();$ h2 H; e5 j7 X2 D0 q* f
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% m9 k6 {& m5 ]6 K
, D4 W# i% m7 t+ |
var Memory = xdc.useModule('xdc.runtime.Memory');* A+ |, M6 o) Z2 z7 W# I. j
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); l8 V4 N+ r4 Z/ q9 D
; g8 j8 C7 Q( |1 M3 ?. y/* configure System module */
& T; Y$ R% ~. B1 Rvar SysMin = xdc.useModule('xdc.runtime.SysMin');* n' k% @$ H* q* x9 I
SysMin.bufSize = 0x1000;
4 c1 ~+ o! W. {/ [SysMin.flushAtExit = false;' j- r' A" t% i d4 R7 u0 l
' n. V4 P. G% z2 i. i! Xvar System = xdc.useModule('xdc.runtime.System');: u4 z5 v' P Y& S
System.SupportProxy = SysMin;' I1 ~/ u/ e' F* n
7 s" O- o. {, i$ T( m* w, Y& i
/* configure SysBios to use the lower half of Timer 1 */
& }8 H( f% G- L' q9 v3 \+ Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; O' x2 F4 `/ A% W+ ~' tvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 W: ?# [" m* H; dTimer.timerSettings[1].master = true;
$ E7 P2 o# ]# C( S `- h) rTimer.defaultHalf = Timer.Half_LOWER;% o+ S5 F/ p4 r' b, F1 K$ [) U
Clock.timerId = 1;( t' S5 A L' o, _1 s5 f
# A* o9 A2 H0 ]* X% x
+ R- n( C! C3 A" I/*$ q& Y( v) _3 A3 f; n" M" y
* ======== Miscellaneous Configuration ========/ V7 B' K3 N, }; X/ N/ ^4 H2 @
*/
5 U1 n- ~1 n* w; r% q1 c- E7 H( } M
/* set default diags mask */3 v# b! H9 H9 @2 f m; _$ w5 z
var Diags = xdc.useModule('xdc.runtime.Diags');
, a! x4 r& m6 {6 P qvar Defaults = xdc.useModule('xdc.runtime.Defaults');/ _! t' q% x$ o% i0 \
$ o! D0 ?: L; {, L1 j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 i6 u( B+ }& U/ u: y: ]
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( I& z( S1 v' B" d0 hDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; b! z; Z8 \* _* mDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' B+ u$ c, k* ?Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */- V' J* ~) j# I1 H. |
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
l6 \, J4 S4 B! x1 n* H: gDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: \- l0 k7 y* c7 S) l2 GDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ _! R) Q3 t, o1 O0 wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& L; k$ z0 L- x# o2 {1 S/ LDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;) x7 T9 ], ]) u" C' H4 n3 w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;- X1 }% P0 z0 A1 m' k5 L3 W
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. p5 ]# E" u! u9 r8 ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; f6 a: }8 D. J! D( F+ d. E( J
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; T) X/ a( t+ |. I* O
k: y% G3 u+ l' u/ c: {8 D/* override diags mask for selected modules */
6 R, X5 y! y# Z0 X* g/ L; Xxdc.useModule('xdc.runtime.Main');- M2 ~, U( N4 B) [
Diags.setMaskMeta() e) q8 V7 R+ R$ E5 ~7 m0 X
"xdc.runtime.Main",4 ~0 Z- v8 U7 h2 O
Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 g+ ]7 Z! [; k z) D0 a4 y0 { Diags.RUNTIME_ON
" y6 d5 y% A0 I8 I3 M: K);( D& V5 p* { y; @, j- G8 t
8 v( E I2 j! M$ c, l( jvar Registry = xdc.useModule('xdc.runtime.Registry');
! i/ s) o. [; q8 ^0 F0 h6 X zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
9 E- L* S3 y! F/ }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;6 v0 ?9 V! K9 o! ` K* \" b1 G
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& K3 a) L( w1 d" Q: @" \: }Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% h4 z& I: {+ G9 Y; g( w
* K$ j) F* N, T6 C! x/ A2 B/* create a logger instance */2 n1 E3 h& y# y1 B" {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 K& ]1 ]1 I/ V& u3 i) p: Jvar loggerBufP = new LoggerBuf.Params();
2 Z2 t% q9 \7 L( B; Z7 C) KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. F4 f+ j3 Z; [. K- f, aloggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 W0 e6 S- J# X% T5 z7 O% K
; M1 O' w/ r+ |* |5 ?var appLogger = LoggerBuf.create(loggerBufP);: W: p: L0 p! f3 y0 N
appLogger.instance.name = "AppLog_Core1";
, V& {0 H- M( d; s/ d. M9 t, ?Defaults.common$.logger = appLogger;
0 O* C' `+ j$ u eMemory.defaultHeapSize = 0x8192; 4 i3 U v; j- D; a4 |7 F! A+ n- C
Idle.idleFxns[0] = "&LEDStatus";& T2 x1 Q, @& d7 R# ~: H* i3 U5 [! D
Cache.initSize.l2Size = Cache.L2Size_32K;8 `" S% `7 A% U6 G: @
* j9 N3 f2 a8 q! D6 _2 @
|
|