|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; {6 |. y! `5 s0 x2 r$ {6 b
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
( w$ A0 ]) n* z8 ^; s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 _) n; Q- U5 T& u
# b k: E( r" P4 _是不是需要在DSP.CFG中进行配置8 L; D; a" \' X
我现在的配置为
! O+ R; ]8 I- o( P) i2 L E# N- X
/*
6 y6 X/ i q- _ * ======== Operating System Configuration ========
4 ~* u# I1 X. `) }/ N: q* L */
8 i' ^ {9 F; ?6 z' M9 z) E* j9 }& y- c9 \) t
/* no rts heap */! q2 J( ?0 Z7 l# F& z& B5 C
Program.heap = 0;
% N0 V6 {6 @; s( Y0 oProgram.argSize = 100; /* minimum size */. f' Y4 |' s/ P
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 ?# v0 w$ V9 B, |5 n
' i* k0 M0 @$ b" l/* create a default heap */
. x4 w& W9 J3 I) q! k# evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
a9 F. C: q& e: Tvar heapMemParams = new HeapMem.Params();8 q% B/ B3 z; u" d: R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大& r* ~* f% h. E5 `. k& I0 j
7 i4 I# s- ^4 n- T2 wvar Memory = xdc.useModule('xdc.runtime.Memory');
! W( U/ c0 Y6 TMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ A2 }* l- `7 M
& V/ f+ ]4 K; f {. z2 R/* configure System module */, e& c% b& [+ Q! @
var SysMin = xdc.useModule('xdc.runtime.SysMin');0 ^7 I7 M0 | d* N+ v% I. N
SysMin.bufSize = 0x1000;
- g0 K. b8 y. O! h) x1 n/ V+ N3 Y8 ASysMin.flushAtExit = false;
) |- L8 n1 r- c3 ^- O) z
# A" s# l/ t7 Y/ {var System = xdc.useModule('xdc.runtime.System');
) |& o+ O. r4 D# O/ ?5 hSystem.SupportProxy = SysMin;
8 f5 g) l* S7 K- G% l3 x* L
5 y! W Y0 q5 O) u9 ?/* configure SysBios to use the lower half of Timer 1 */
# H9 R: h( D* k1 _$ u4 rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 p0 j5 K" n; O, j) R4 Y# C$ Xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
& ~( d+ n. M4 a7 O0 v/ v; a5 b7 S/ bTimer.timerSettings[1].master = true;9 |5 n* r3 r6 I5 E+ K
Timer.defaultHalf = Timer.Half_LOWER;
$ I: f9 {/ f6 d hClock.timerId = 1;; c! Y, D" S) y" R
/ o, y! L& g0 @% q9 P; M7 P1 n' w+ Z
/*1 Z4 u) P* u5 J
* ======== Miscellaneous Configuration ========2 W0 [9 ?# x: A% ~: U/ l
*/
8 Q7 D- E$ J: j) u: e$ J: w' P7 G" v7 _
/* set default diags mask *// \0 V. ]. A; E/ |/ @( k" c( e6 l
var Diags = xdc.useModule('xdc.runtime.Diags');% g ^/ A; n& i" d6 F6 C( q' I
var Defaults = xdc.useModule('xdc.runtime.Defaults');) r7 x' y; Y: h1 a$ d' _9 ~
1 K9 E. R+ j1 i7 f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 M- H; W5 s' A; n& @
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 W. H- x _0 l8 Q8 V1 m
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# ~1 Q$ W* |+ J- o; gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* z, H/ l3 ^ L& g. e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 x" p3 x* u) A: l$ _* {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% T$ o/ B1 u) k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 u3 q4 Z$ j" |2 l7 f* R( y1 iDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, U2 U' U; i. Q x" ^. KDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' Y% o! Z) R2 h5 G+ O/ R, f- O- w
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
, B0 h5 Q6 T. T7 F o% f( [Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! S4 W" }% {* d# |0 j! _7 E8 jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 S% {5 F8 M) q9 xDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 { a/ B ^9 d% }2 I/ Z1 dDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
! S( G( A* { G& X, r& g6 i) p% C: E* o# i% _
/* override diags mask for selected modules */) l5 J# M( A n# f; L
xdc.useModule('xdc.runtime.Main');
! d9 g- y3 R) P5 @. ZDiags.setMaskMeta(
- M, f$ i! Z$ A0 Y0 {0 w1 | "xdc.runtime.Main",
4 p; a- t. u: m# b3 Y9 T- h1 q Diags.ENTRY | Diags.EXIT | Diags.INFO,
( a6 I( ]$ J* P5 E9 D Diags.RUNTIME_ON, |5 w. W$ Y) l* z3 G
);
6 i* [7 L. S# P5 m# t. S9 f$ [9 p
" A% Q) |6 P7 v& [var Registry = xdc.useModule('xdc.runtime.Registry');, U& X- K Z8 D% B' I/ x* n* n# \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;9 x/ M. F" i. j( c
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( J# Y6 V$ \. uRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;+ _" p+ @5 j. F, [' S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;. B3 H+ M& `* t# _
: `: s T" E6 A0 p N/* create a logger instance */( d, e, @( ~' E* u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');) i. W7 ?0 ?+ S4 Q
var loggerBufP = new LoggerBuf.Params();6 F# P0 d$ A; G/ T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- W5 g/ b7 f% s0 G; K0 A) p/ y9 Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;% _ T! S+ J1 O9 H, f. }' s9 B8 g
5 w; O$ S& H- n8 W
var appLogger = LoggerBuf.create(loggerBufP);/ Z! g9 X4 K. ^8 S0 J5 h6 A
appLogger.instance.name = "AppLog_Core1";6 Z1 D+ z; H- `4 D4 [( z; D
Defaults.common$.logger = appLogger;, ]0 b' C" a4 z2 {, b
Memory.defaultHeapSize = 0x8192; . u7 ~ [/ v1 c8 ^( U' f
Idle.idleFxns[0] = "&LEDStatus";! I& Q! M+ ~ ~! r; V- [5 C- f- Q+ p
Cache.initSize.l2Size = Cache.L2Size_32K;7 G5 J. m! O; M: \
7 B! J" r( A" k3 O( N2 N
|
|