|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
x9 {. I7 l- D0 i0 U+ B& x6 ?我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) |, j# |6 ~" h/ M4 O" ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' r9 C. q6 k- A7 e) k) } d
& X+ E& h/ ~3 H' x是不是需要在DSP.CFG中进行配置
4 ], |; F$ U5 Q" R7 E: h1 ?9 n R我现在的配置为
4 l) D3 [/ ?: D5 T# k- B# M6 L; G4 S0 x4 v9 [
/*
$ y0 ?0 \) ~$ G3 H( q * ======== Operating System Configuration ========4 f9 t+ q8 V1 s6 `3 Y5 W7 \% h$ N: Z
*/& W% ^. G7 P) l' v) Z
. t( K+ }! s9 d1 {6 g' q. e& y/* no rts heap */
$ ^! W! ~9 F& r9 ]0 @* bProgram.heap = 0;
" z1 ~1 d0 m2 d8 l$ kProgram.argSize = 100; /* minimum size */
% [9 S$ \; k( u% QProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# i6 r5 n8 `4 I( {& ]6 G' R3 D5 a) e; r' h2 G
/* create a default heap */, t& y: \6 U6 _# g/ F7 k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 \# ~0 [* j: ivar heapMemParams = new HeapMem.Params();
; v% F8 B/ }* nheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) S: T% C8 s% h9 K
k5 b# p5 R; a) d$ c1 k- E; p/ Y
var Memory = xdc.useModule('xdc.runtime.Memory');3 J: V) U3 K2 e
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: o$ P3 k( m R. e0 `% r
# R n- w* Z4 l6 \9 P' l+ a
/* configure System module */
3 |9 \3 A8 P& K( [: }, X8 r% xvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% q S* {' y+ t) ]% P% ?SysMin.bufSize = 0x1000;
; U' k/ |" g# ^7 T3 ZSysMin.flushAtExit = false;
3 T4 Q S- j8 c; ]0 l0 N; K- k( F* W
var System = xdc.useModule('xdc.runtime.System');
- R5 T$ C, ?; i" E. ]& PSystem.SupportProxy = SysMin;( [3 M( t1 u0 K
: z$ [2 W' @! R d/* configure SysBios to use the lower half of Timer 1 */8 q( r4 I! k0 L, G
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) F3 V9 }9 E' U) j& M; I' h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 b/ G, I0 |( ~/ M8 ^8 x
Timer.timerSettings[1].master = true;- S' y8 v& ? z4 n* K
Timer.defaultHalf = Timer.Half_LOWER;# C1 I$ \8 S+ |* U5 D4 w
Clock.timerId = 1;7 J9 x7 @9 k. T# e5 M e
: i: f2 J9 i0 T: I0 N' L% \7 u* [
6 E& Z% P1 u( A; ~/*
7 q; _: B7 t+ M/ e8 g * ======== Miscellaneous Configuration ========4 {5 L0 G+ h8 q( d
*/) c; V' u `6 T7 Y
0 ^$ E! c' Q H7 h7 e7 w E9 E
/* set default diags mask */
$ G+ |+ \ s. s' e3 o B6 Gvar Diags = xdc.useModule('xdc.runtime.Diags');7 {; d2 h) }! n' ~1 X" X0 T* K
var Defaults = xdc.useModule('xdc.runtime.Defaults');
7 _: x/ k. `) g
/ h" ]0 _. y8 z4 z/ o, RDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
% F, e7 S# }5 I/ u" B3 l, PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. t. N' G3 ?- W) u/ A1 |) [& qDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
& f' e) J8 y, CDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
; a/ Z0 W+ ^ p* A7 JDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 D5 w- h% `* o1 _/ H, m
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;3 G7 n; U, \# o8 |- ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( T4 v) ?; g) V/ o$ k# l* ^
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
s/ E2 _7 r; K. a. wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
% a( P- B' F- v* J' `Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! R! J9 |) Z) ^; J
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. ^3 D8 f- o. W4 |
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* b% F) o" i( r& X6 `$ C
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
( H2 R$ m6 _+ UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# ^( h! t# y: r- Q# t" n/ m1 ^
( I- B5 s( i" m! t" f" W/* override diags mask for selected modules */ K( ~, B1 V7 z1 Z( v- j
xdc.useModule('xdc.runtime.Main');
: Z% D; ?; U0 U( DDiags.setMaskMeta(
% P2 _2 X6 ^) M9 o "xdc.runtime.Main",
1 w) {+ {* {- M" b9 @" f5 D Diags.ENTRY | Diags.EXIT | Diags.INFO,& @' _) n. W/ e5 G$ F, V |
Diags.RUNTIME_ON" M* R. l) ~) Q
);
3 E$ e" h( I# w3 u! `7 K% x, ]" v6 H1 J1 E% g: P
var Registry = xdc.useModule('xdc.runtime.Registry');+ Y) z5 M2 m8 R- ^ \2 Q: Z3 f0 j5 R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;8 Y: g9 ^' d+ K+ F) L& r
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;7 S6 V* u8 d1 Q% b* ^, H
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 @ T& W! j- d5 r8 wRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) z! y. n/ j4 F- ]) }
5 A8 i8 y- r$ ~8 n: ~; M5 j/* create a logger instance */8 b5 n& u, v3 Y
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. Q& ?3 D% b( s& o. {( @8 w7 Q: m8 u9 tvar loggerBufP = new LoggerBuf.Params();
( r( Q- M) \2 p# g$ u3 `loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 z. } ~8 C4 g* H
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. L6 d. o5 Y' e8 T% m3 H
4 n" o6 ~% r9 m$ L1 P% w5 tvar appLogger = LoggerBuf.create(loggerBufP);
- ~! D2 x$ F6 ]7 i) dappLogger.instance.name = "AppLog_Core1";7 e8 m0 n1 B& ?3 b% j+ f
Defaults.common$.logger = appLogger;% K5 z" A' Q* s6 ?7 y7 u
Memory.defaultHeapSize = 0x8192;
0 D5 q1 d: Y ]* k, ?Idle.idleFxns[0] = "&LEDStatus";- q% E; D0 g7 ?2 d. w. m
Cache.initSize.l2Size = Cache.L2Size_32K;' k! m/ e9 a a7 v* W: B0 a
% s8 c5 |3 O, k
|
|