|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 t) Y1 W1 a1 I4 y" q8 ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
& L1 b4 o3 U- q& t(不过疑惑的是,为何单独DSP仿真就没有问题呢?)% [. v. J& H: [/ `* ~
3 R% {7 C6 ^3 a- d$ {. V/ [* W. @是不是需要在DSP.CFG中进行配置8 `( c* o3 r8 J' A* G/ [4 k" Y
我现在的配置为
) K1 Z% V- H" }) S, u& B' u( U% w3 {% b3 b5 B; R
/*
: a, T D+ X# p, Q: N# j! P; F2 O * ======== Operating System Configuration ========0 f. s+ E" P- `' b
*/
0 x3 e- a" D K4 _9 L5 Q$ E9 T( f8 J" o7 m: ~8 I- o
/* no rts heap */
- e$ _9 P* }! G, P/ Z3 ^Program.heap = 0;, y7 l9 r$ o/ E! n1 r
Program.argSize = 100; /* minimum size */
1 X7 T5 K) w' x- Z# M4 v; WProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) L9 M5 T1 I. a2 y) d
V! E& ^* E, I$ n
/* create a default heap *// C9 `$ r) n3 W4 B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');' p u; S/ l. f9 k
var heapMemParams = new HeapMem.Params();1 Q7 |0 |" R/ | L# e" D$ _2 h
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' G8 R9 q& ?1 p" N4 B/ T7 R9 ~8 g3 A& C' ?
var Memory = xdc.useModule('xdc.runtime.Memory');# F6 s9 j, k6 ~
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);8 ?* l7 k1 ?) C
9 o" z; w+ @0 S! A( c/* configure System module */
1 V: x3 I! a5 b$ Uvar SysMin = xdc.useModule('xdc.runtime.SysMin');
; F* {, `8 L4 G9 Y' S* u- ~SysMin.bufSize = 0x1000;: B, ]: M+ ~2 t }6 n# Y
SysMin.flushAtExit = false;. O" v- H$ n( A9 c: j1 U% D' A' ^
: ^/ |" ~1 ^% u" f; p
var System = xdc.useModule('xdc.runtime.System');
" t6 X' K3 ], o0 N! l" x- zSystem.SupportProxy = SysMin;
# n' }- g- c4 K3 k9 d) D! D7 ^$ p
$ C" O0 y# _9 D7 L0 G+ i/* configure SysBios to use the lower half of Timer 1 */4 Q" A6 V! g/ i5 f* {* K
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& V" e/ T/ Y. p8 W) U0 Y- C% bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
- [" n* {* o! S- U3 v' {Timer.timerSettings[1].master = true;1 B: c9 Q0 P/ K! L( d5 o
Timer.defaultHalf = Timer.Half_LOWER;# I/ E/ s9 `& |/ O; \
Clock.timerId = 1;3 ?( ]' y3 \# `) [: Q! u
! _( A7 W* ^) E
2 x6 o7 L7 U+ ?2 u- [: E2 z$ |) G/*
: O1 h0 n D' Q- M; n6 e * ======== Miscellaneous Configuration ========
0 I' M' H+ Z' Y( s; K2 d8 g */! x5 q1 }0 r( N6 T
+ e2 ^/ g3 y- U. f: a9 {: ^/* set default diags mask */
1 A, h) n& |5 Pvar Diags = xdc.useModule('xdc.runtime.Diags');& k9 U7 p; p) J% s2 Z% q, Y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
$ W W2 g" W* e2 p
i% I: P2 v) o3 t5 IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 T. `6 {# S3 ~7 a' A XDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. I/ j$ d; l* a1 IDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 p6 z) h7 n; J! t9 D
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 ]6 p( K" M$ }4 M' R
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 D/ a6 Q: F: Q& PDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;2 i4 P6 @. V% b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 P! s* Y O2 O6 E A! y% BDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
) U8 b* k: c9 s7 ?$ d, Q# yDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 n# {" j# B; \# U! EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
2 J8 @0 B9 Z4 R, Y* c h' _+ {Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 z- r c: D9 x( GDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" O5 r5 d" |% A4 UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
* A& t; Y/ ]8 \, C9 h- M% ZDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 _9 {, I: H0 o5 u: _2 O& b, C9 [' [
* }3 \& w/ [. F9 D/* override diags mask for selected modules */
* V. H. f; x! d5 @/ Sxdc.useModule('xdc.runtime.Main');" W+ _% r5 }9 L' J3 }+ L
Diags.setMaskMeta(- w3 t, U! f0 t/ W" z: U( W0 E
"xdc.runtime.Main",* e4 U6 g C5 j7 `; H
Diags.ENTRY | Diags.EXIT | Diags.INFO,6 p) \7 j% G: b# H4 I* K
Diags.RUNTIME_ON
& u& a5 V9 {+ u);( Z+ L2 c" F+ G/ F
- J* _. `" h. ^; Qvar Registry = xdc.useModule('xdc.runtime.Registry'); D, `7 A! N# u# B; C3 ~7 _4 t# O) T
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 @$ Q) z* A) @* X! J; G1 C
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* v6 P8 N3 u2 h# [( \6 b+ L( t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( q2 D7 G L4 y
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 i5 D* L9 v, P/ T- Z- p
4 D9 e1 A3 \+ V; z0 F# D# v; |/* create a logger instance */& X5 o( n' b9 [
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. Z. c" R+ \/ s3 i8 l+ d
var loggerBufP = new LoggerBuf.Params();* {9 E2 @" }, n& m5 |" X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" M, \4 H1 l, n" k
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 Q+ F* j0 C. z! {* t
; c" S" }* f9 rvar appLogger = LoggerBuf.create(loggerBufP);
* B/ |5 G' ]2 [7 z% aappLogger.instance.name = "AppLog_Core1";
3 p7 @' U1 c6 X/ a |Defaults.common$.logger = appLogger;6 X6 A: E% X5 Q+ [
Memory.defaultHeapSize = 0x8192;
' Q" M( M8 f9 I" \% X" X# ?5 y oIdle.idleFxns[0] = "&LEDStatus";
+ s, A# \; R2 i& G8 QCache.initSize.l2Size = Cache.L2Size_32K;
2 C( y; {) H; T: R6 V( |5 |! e) c' Y
|
|