|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( S5 I5 N' d2 b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 G1 M c1 H- j7 ?8 E
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' Y- w# B5 f/ x5 ~5 y$ E
; T0 O+ w+ J; A是不是需要在DSP.CFG中进行配置( m" F5 T- Q& Y1 e/ G# T; _
我现在的配置为
+ E1 K; X3 n# l% G
7 |$ u- `" F J6 t/*
- T6 a o) b: i+ o * ======== Operating System Configuration ========. H. c% @* H' Y
*/3 p6 f, g+ \, T# y1 C$ |% _; _
( o! Y( I% i9 e/ Z1 a3 A; x* i
/* no rts heap */
8 O+ O& e+ f5 q, q: r; w, LProgram.heap = 0;, c3 O# R% C; P' N
Program.argSize = 100; /* minimum size */+ ^+ J/ C% W$ R5 z" ~0 ^4 {
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大 R9 ]2 J. i5 X* v+ X
* K8 E$ t" A& L7 e9 G
/* create a default heap */' {+ D7 Y$ v& q# a, I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& u* g, n3 X8 N T7 n
var heapMemParams = new HeapMem.Params();
- z6 U& i7 [) ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大0 N8 a M* S4 ~$ ~ W
( S+ }, a, u/ c: Evar Memory = xdc.useModule('xdc.runtime.Memory');1 m& `# F4 u2 [' G( L( n$ g. I1 T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);* E! R! w) {1 N4 A; ~' W
) x9 P( ~& n/ i/ r7 d) o! R0 e: G/* configure System module */) N+ p0 ^! V* T+ ^* N
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 w3 T; @; f) U
SysMin.bufSize = 0x1000;* u$ ]* }9 R/ N' V1 C* O/ \
SysMin.flushAtExit = false;
+ y O) x! v- ~' m3 N) A3 M, {+ {2 W2 o) Z3 z, {
var System = xdc.useModule('xdc.runtime.System');; E) ~ e" X C E" W3 R
System.SupportProxy = SysMin;* S9 b! T+ `; C
/ G D9 a9 W- T6 K, N
/* configure SysBios to use the lower half of Timer 1 */
. P. K0 z1 m3 G( J t$ F: A7 D Mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 A" g2 x' z9 ?( S+ t& j/ Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');" F' f1 L2 ], p- L% Q& S
Timer.timerSettings[1].master = true;
$ q% E) L' ] J K# VTimer.defaultHalf = Timer.Half_LOWER;; r" V2 ]$ z% _4 s& r7 O
Clock.timerId = 1; ]9 O9 x! ?' U3 k9 o' K3 X/ I
& [7 }9 F! C3 @# g
* i- Q8 d. a0 l. L0 L
/*
/ a1 a3 z1 o$ i+ D% X, i" Y * ======== Miscellaneous Configuration ========
1 ]6 ~6 V; O3 N& T0 n *// a" @% o) l: F; q- }* o* c
8 w2 H% c- E. b& u% I$ ]' O/* set default diags mask */
/ }; z( S. a: ~3 z0 r8 e0 A3 Zvar Diags = xdc.useModule('xdc.runtime.Diags');1 L0 {* t/ |" I/ l% H; A( ^2 ~
var Defaults = xdc.useModule('xdc.runtime.Defaults');& V2 [' W4 V" a
9 Q7 h/ m9 b- o9 ^1 _1 \
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 V+ y# T0 ]2 z0 E& p# c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# k& L6 m0 `1 h( ]2 o. X& o0 c
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: `7 O: P3 ~8 a7 ?. |& ~; x& V% sDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) v: i& J- }3 `1 RDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
" x7 M4 y: ?2 [7 b2 y: t9 jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 [1 ^. j* i: O. h
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" ~* O8 @9 `( B: V( ~* PDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
. T, N; Z1 H- u/ F0 EDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ b1 p( g* y% v! a% d! c5 R1 p9 XDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
+ W2 S# }: m9 A b9 Q U" l; ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 \+ j( G" J! b3 }* ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 z- T# G V5 l0 z3 L, B
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
7 g- L9 W: C" C, r" p; |Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, e! t( m+ F) H
; j+ [ g8 F) L+ Y+ `' E6 k: k+ ]/* override diags mask for selected modules */
`2 g; ]5 \9 X9 Q9 Jxdc.useModule('xdc.runtime.Main');
! |7 g- i1 H/ P5 u) l; G# }Diags.setMaskMeta(: g9 C ]4 ]) J; O5 E+ G& f
"xdc.runtime.Main",
$ x, B9 X& r, j& d+ x1 w5 b& r6 | Diags.ENTRY | Diags.EXIT | Diags.INFO,
- k2 _8 f4 M0 w Diags.RUNTIME_ON0 y$ b) N8 _$ v3 }' d
);- y; u: ?$ y3 m% q y& @9 x
' B2 R( p. t, I9 [ C. C. i3 n
var Registry = xdc.useModule('xdc.runtime.Registry');
3 _7 e3 d; R! c2 k& u% N# {, zRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, G. _6 h2 C& W8 S$ T9 I; L) [% |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
+ `$ @. g- {* W# Z, fRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
) H4 o7 G* F, Z- YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, M! w) x" X- f! j9 z: O3 n4 y& _/ N- C( Q3 I6 w( r) ?
/* create a logger instance */8 @) b" w) G, w
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- W7 b; T+ I: fvar loggerBufP = new LoggerBuf.Params();
& V( Q8 f1 D" O! A. E8 eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 d5 k7 s8 Z- K: }$ v% e9 C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
X, r' B$ ^" n& Z
# \0 c; j b: C7 T$ Dvar appLogger = LoggerBuf.create(loggerBufP);' @* J% x3 k8 V! _" ]$ H4 S. A
appLogger.instance.name = "AppLog_Core1";
6 P) R" |! F3 q: F6 D4 sDefaults.common$.logger = appLogger;
7 o) i/ r2 E! J3 N" h+ }- c# XMemory.defaultHeapSize = 0x8192;
3 v1 |. T& W8 H2 lIdle.idleFxns[0] = "&LEDStatus";
* U; w0 N; x* W8 {7 tCache.initSize.l2Size = Cache.L2Size_32K;
* |, h( w0 ?4 M! i1 d6 w |1 x; E" W; l; j. n0 ~' w$ z
|
|