|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 ?8 F% ?* y- g- Q! G) @6 O+ ?
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
' r# h& I* I5 g1 N/ V(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 ~4 z/ F, U6 M# n, @
5 ?7 L! j: ?0 y% C8 N# n7 E是不是需要在DSP.CFG中进行配置" b6 i* o; q# F* O
我现在的配置为# ^% S& Q; |! i* a0 R, ^; P
& j8 _0 S8 Y( Q6 ?# f l
/*
+ `5 U) `( K4 D$ D3 N * ======== Operating System Configuration ========
5 l6 U" o5 u) f8 j( i. G4 a */* A) Q8 |& G( \( N* Q* _
# ^5 E' ~" ?1 N' ?. Z) s' t
/* no rts heap */. Y) {% S' H+ [. M( o/ I
Program.heap = 0;
. H+ u E$ l/ y4 NProgram.argSize = 100; /* minimum size */" V: S9 H0 F( l/ }
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
6 k; v2 U0 B, S% p( f5 z. e# F% `5 ?
/* create a default heap */. H3 Y' P* }6 c8 F
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% ]. K. v) v& vvar heapMemParams = new HeapMem.Params();
x6 m% f: T) q0 ]( e: o% y8 F2 @, YheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大: E+ [# w7 k, _4 |. M
, X' E7 U4 [6 T3 \
var Memory = xdc.useModule('xdc.runtime.Memory');/ s, t. ? t, q) e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
; N( G4 V% r8 t4 W ]/ h" B. d. \6 ]7 l; U% S7 r0 n
/* configure System module */# A* g* ^% ]" \: a& J
var SysMin = xdc.useModule('xdc.runtime.SysMin');7 o" }' b5 s& Q g7 }* x9 {' v
SysMin.bufSize = 0x1000;
, \. W2 i/ X& \ \3 iSysMin.flushAtExit = false;
' z9 O. Q- z' R: h% N# m- M" g9 a% p; }
var System = xdc.useModule('xdc.runtime.System');
" O5 K+ P. b5 ?6 p- p. D, rSystem.SupportProxy = SysMin;
7 E# d3 f% Q1 [$ Y' P4 F) Z; o3 w: O" x2 P! o. p# x# i4 s
/* configure SysBios to use the lower half of Timer 1 */ k7 t0 {" T- l6 P4 K/ ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 L; B; c: C0 Xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');& ~1 {/ x% h1 f! Y
Timer.timerSettings[1].master = true;0 h9 r @2 Q( k
Timer.defaultHalf = Timer.Half_LOWER;
/ \4 }: S7 X% p6 p. Z7 \+ oClock.timerId = 1;9 v) T; F0 F- s% `) [& G. L
$ B% e. G% o, O/ Y1 t; c; O" q+ Q$ B4 B! {7 Y. z- k& {
/*
4 H( S" G: d* Y * ======== Miscellaneous Configuration ========
, P- n3 X& H( L+ {# z9 E */
, t# Q2 G, S, {# A
1 j5 z, C3 c% Z$ l/* set default diags mask */
8 l" m% ~6 F* V+ O- M% {var Diags = xdc.useModule('xdc.runtime.Diags');
" {" H6 @" d! \var Defaults = xdc.useModule('xdc.runtime.Defaults');
- f- W( I) \! T0 ?7 K E$ y) o$ E6 k6 X
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;3 }- A; e% O( Y% m) U9 H/ Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 C- t' b* I: r3 u9 q- V# K/ ]
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
/ M' C; u" b5 S2 o' ^$ s- UDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 k; F4 x/ V/ j/ }1 D
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; e9 T: p# [, u7 y4 R/ v% ?; F
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 Y+ ~: V8 o2 W5 z( w% n: ^' E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 B: d/ Z. u; V+ }0 l IDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' ?; H! Z A! D
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; D- O& B0 s1 f& i
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
# }- N1 b0 C( C3 ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;+ H K _: t& ?; j8 k' N
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# W9 t: y: H/ `2 Q _+ P
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- ?) `4 D9 g d. _
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;8 c2 t2 x5 Q5 b) ^; f9 B+ W; { X
! I! N0 i3 D3 v# E/* override diags mask for selected modules */
! Q. |0 V' s6 m6 h0 vxdc.useModule('xdc.runtime.Main');
, ?; o' \+ b3 S- n# UDiags.setMaskMeta(
* j7 f9 p5 a) b! s* V "xdc.runtime.Main",) F% l* A* ^1 _6 [
Diags.ENTRY | Diags.EXIT | Diags.INFO,: h5 e5 c2 q7 y4 G, s
Diags.RUNTIME_ON) d. N" j, S u& J9 E( l( S
);2 C. k# u6 j h8 `+ `3 W: {
) C9 i) S1 I) a* Hvar Registry = xdc.useModule('xdc.runtime.Registry');
# Z2 [- ^. ^& O+ QRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" c( R2 o: L* e5 ]& D/ H) |% N3 G
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, i$ ~7 c. K0 J' m) U8 B5 K' _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;* U) o! ^% p4 z) w; s0 k& }9 V, O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; n; q. o7 @$ B. I0 K$ K
6 W- _) T/ v' D5 f
/* create a logger instance */' ~% P2 }! S/ p+ H: |5 ]
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 L" Q' A- c, R- S
var loggerBufP = new LoggerBuf.Params();. Z f5 c8 X; c6 e K! H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
f4 u; m( h, G9 w& I4 z1 G0 |loggerBufP.bufType = LoggerBuf.BufType_FIXED;1 |' O8 u+ n Z; V" {
% k& N6 ~2 `& r5 E q0 G0 uvar appLogger = LoggerBuf.create(loggerBufP);
2 w& T/ V3 Q- E" e, ?: `$ i9 K6 u- WappLogger.instance.name = "AppLog_Core1";( m( W6 S8 u2 Z) z0 x% E/ S) q# X
Defaults.common$.logger = appLogger;5 N$ j6 `7 V; @, _% e1 v/ k
Memory.defaultHeapSize = 0x8192; ) H, w \* X" c" }5 c
Idle.idleFxns[0] = "&LEDStatus";
" G( Y4 n' y# f% b7 Z8 @7 Y0 OCache.initSize.l2Size = Cache.L2Size_32K;
) [8 \) Q. N3 i- y- r4 f6 d) b* ?1 P8 |; f
|
|