|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 K+ L5 a0 T8 V* b, l y0 r8 U我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下1 @5 d8 E, ]# N* \& K9 f
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) {/ F1 I2 p8 A- E2 a# j/ y1 w3 J
9 O/ J) w4 R: y3 a, T3 X& a* b
是不是需要在DSP.CFG中进行配置, x' N v3 R& n. |" o7 A8 i, F
我现在的配置为
: W7 O4 m; p) |! @6 |: ?, q3 [4 P2 b& N, \
/*5 T0 w+ @% ?* Z
* ======== Operating System Configuration ========7 i9 J6 e# K$ M8 i
*/
% B9 \2 _) R* n3 G7 V3 g$ c2 g8 h% d6 A+ L x
/* no rts heap */
2 y8 \5 f1 w# q! E7 g; tProgram.heap = 0;& S1 e6 M: b/ o8 J" D/ k" l
Program.argSize = 100; /* minimum size */0 I4 a( f+ O# [
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: w& p& N& l4 C, K: \! e
" E5 F" j- @% n. S0 b/* create a default heap */
; a& c, y; h: f3 B" Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 f- V/ P; X+ q) n" qvar heapMemParams = new HeapMem.Params();9 L. o/ Q' u5 G
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' N% b& |$ u% x# d: M7 G
, c4 V' P3 w/ z2 |1 b7 M) C/ y$ Gvar Memory = xdc.useModule('xdc.runtime.Memory');
- A! M2 V* A; l- }# FMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 f9 }+ A. w/ V0 C' [
6 I% ?% ]" h/ ^/* configure System module */& I. O7 H1 b3 q# ^/ G5 G
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 D5 S6 T5 C" A% z6 D6 X
SysMin.bufSize = 0x1000;
* W; Y& j( m# D* P( k, sSysMin.flushAtExit = false;
$ l( H' B' q/ C2 e6 ]% H& w0 n6 x0 d2 ` ?; q c9 n* E
var System = xdc.useModule('xdc.runtime.System');; i) e6 |! x: F/ ^! |- j
System.SupportProxy = SysMin;
. |6 [: L( u* F6 q4 W# C2 A9 C7 P. C8 e. {/ a' Z/ ?8 g; }
/* configure SysBios to use the lower half of Timer 1 */
' R1 y. [' x0 Dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');( J% T& I5 ^ y; ` f
var Clock = xdc.useModule('ti.sysbios.knl.Clock');: a: D6 t/ ]+ F! E' {8 S( ?
Timer.timerSettings[1].master = true;
8 G% e, K3 x |6 \! i$ t! {Timer.defaultHalf = Timer.Half_LOWER;7 G, O* e% D* W( g: z5 G
Clock.timerId = 1;
) \1 X. M$ u$ ?, y# \* j7 N0 C' X5 Q3 u: S
W* m% S! z# c5 r1 C6 p5 m; r
/*
* q2 N7 r- {8 Q! o' |$ @1 N * ======== Miscellaneous Configuration ========2 ~/ w& J( H- C! k
*/
. g; r2 F) E7 m
; t. k( Y$ M# F/ Y) s& N2 A* B/* set default diags mask */
& Z. e+ g* W$ ^5 p. k: p8 |: Bvar Diags = xdc.useModule('xdc.runtime.Diags');
2 K7 t, i2 M) {* zvar Defaults = xdc.useModule('xdc.runtime.Defaults');
2 A0 p1 g x% @5 y
- m- i2 R# `" |* Z0 t3 hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ E$ W ~# }6 t6 W) f% NDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 W) ^& d' L; q; aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 U$ C/ d' o2 w9 ~0 b! y u
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! U5 u$ `# @9 v3 p7 \4 n) _5 vDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
: a2 H- P9 ?! g. o2 |! x l$ XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' i" t: W% K: b% D% m; @! { KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
3 |% @" u0 C5 B4 _$ ^Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: E4 C9 X7 n# `( u2 P6 C0 o* cDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 M& r" N3 s( F$ NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" Q, I6 m, @/ q2 kDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
4 p$ d+ p Q7 L$ q) g: R3 d; fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;0 o8 b% G$ X6 f Z! h" c
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
9 s S# w6 _" H g" ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) v# L/ J$ N- w1 b R+ D7 G
; K" D0 L" l; l7 H9 U
/* override diags mask for selected modules */0 C7 [* o# N& ~
xdc.useModule('xdc.runtime.Main');
/ q: c7 Z4 x- { W; V0 m- p! l( H* wDiags.setMaskMeta(
, A8 |8 k; K$ z" e7 s$ l/ g "xdc.runtime.Main",
! t& G9 r s; v1 F& `3 i0 F7 | Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 G* ~$ b" I3 ` Diags.RUNTIME_ON1 }' x' k2 s6 d8 H. \3 w9 X
);
1 N# A2 G, `7 P$ l# V4 N! H+ o$ Z. p6 X
var Registry = xdc.useModule('xdc.runtime.Registry');
, ?6 O1 \! T4 S* [# |7 A% q6 RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 X0 v: q6 F8 eRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ E, @9 Q6 v6 ~8 `& n4 }0 |3 U
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
: S' h& K/ M+ U$ BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;7 `+ t7 f3 Q' c9 }9 \
5 e M; X. u U& r
/* create a logger instance */
8 z9 i. Y/ h' v! f3 D, D) Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 @: l" z) D3 [# {4 R1 \" U
var loggerBufP = new LoggerBuf.Params();* F, D/ O# C$ D7 x ^6 g" L- O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
* T8 l# {, T% n jloggerBufP.bufType = LoggerBuf.BufType_FIXED;. B b0 K8 E$ o: u5 U, d
, q- k$ ?) k% }
var appLogger = LoggerBuf.create(loggerBufP);
9 @6 ~7 I! V. B- E. OappLogger.instance.name = "AppLog_Core1";; k& ?# n4 s+ ]0 V+ c4 [
Defaults.common$.logger = appLogger;1 a2 \" f! f4 O6 y5 p8 o2 M$ ]
Memory.defaultHeapSize = 0x8192; ( s1 T! x- a* Z% K, b& g% U
Idle.idleFxns[0] = "&LEDStatus";
3 q/ i+ @7 x) G/ E4 JCache.initSize.l2Size = Cache.L2Size_32K;" Z7 a% T6 ~% j, c! F7 r0 _: w1 p( D
2 R) \6 i' t/ E! m1 B( ~! H |
|