|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 v- i8 z1 C- W; \7 n( e" J
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ v! c2 l% N y! P7 ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' B9 w2 { f7 u! _) [
. i X$ U' \+ R M
是不是需要在DSP.CFG中进行配置8 [( a2 p A( A, F
我现在的配置为
- \3 n( c+ g) I0 g$ p& {) S) ~* \! k; r3 A4 v' c
/* u& p n8 m" D# _. E+ T/ O' m5 z
* ======== Operating System Configuration ========
+ p/ e+ L6 }: n7 T/ s */! J% A( R3 g. c4 u0 v
' Q% C$ A, @2 N3 ?
/* no rts heap */( H: `. o7 O4 I0 {1 S/ n# N
Program.heap = 0;
: H: Z' N: Y* A6 A( Y s! fProgram.argSize = 100; /* minimum size */
# |- l5 a$ L3 rProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 z+ P* ]# Z7 \# P! R7 O- w- i+ {6 G/ w2 y1 N2 ^7 `$ p
/* create a default heap */
" @9 B6 k9 g, D8 U# Lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ t: q+ M/ A! L
var heapMemParams = new HeapMem.Params();
5 D1 W( i3 o1 K% ^& z1 mheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大! {. d, ^. t/ ?4 _* V
$ t6 ]! R8 L' d* R4 L8 t
var Memory = xdc.useModule('xdc.runtime.Memory');; A: `7 i. b% H. M, ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& o5 {8 b- U- q2 |3 c- h* y* W* t
) @9 S6 i$ q4 z r! y/* configure System module */
3 C& C: I0 Z2 m) z" g, b; evar SysMin = xdc.useModule('xdc.runtime.SysMin');1 v- g2 V7 O3 T4 N- M
SysMin.bufSize = 0x1000;* Z0 a$ f$ g) `! b- G& s) X, s0 q5 ~. Q
SysMin.flushAtExit = false;
, s7 ~. n. v% S9 r' o: F7 r' C9 ~& N1 K( x! | U
var System = xdc.useModule('xdc.runtime.System');
E$ F# r' F9 j- }: KSystem.SupportProxy = SysMin;
; V7 S+ i g, o. \; k; K' G/ U; u+ v
/* configure SysBios to use the lower half of Timer 1 */' m4 U4 C$ M8 p: h3 R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. Z1 `( C& h4 b# Uvar Clock = xdc.useModule('ti.sysbios.knl.Clock');: f, U$ g* } n3 U5 w9 a
Timer.timerSettings[1].master = true;
* @/ @1 R2 c: ]+ `2 V' F* x2 ATimer.defaultHalf = Timer.Half_LOWER;
_8 t+ @) ?" U/ @# c% FClock.timerId = 1;
6 p! y7 q( m3 c) R$ m: f9 G- u, t
* e3 I7 s1 M, T2 E% e
( f, _- s9 {7 w- _8 [* v0 r! c/*
3 S Q) r6 ?7 H * ======== Miscellaneous Configuration ========
, f$ v) x7 Y. Z# d) S5 f$ ^ */1 ~) X" L" S+ ^; t' `3 k. N0 \+ O* ?
$ Z: v: N1 P7 l) q$ a
/* set default diags mask */
: O. b) O% w" u$ lvar Diags = xdc.useModule('xdc.runtime.Diags');8 k9 E( K# k8 d% u& K2 ?
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ t( C; R. Z, X' t$ B6 ] {6 \' i1 S: ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ _5 Z5 Q! B0 K6 |/ `) m4 DDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;+ `/ M% n6 c% H. K' a* r- q
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
U2 A' @& \6 R4 ^ |; QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 ~7 _ u( u: C: E7 `# O
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */8 ]% [5 G) `! o8 L3 r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;5 w6 |$ m) P& B$ i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. R( x/ P6 c' b
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;+ d0 g& K3 A5 o. }9 R
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;' w2 ~ a* { W6 \- \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
- l. y& m! g* Z2 p- gDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 G# t! |' ^; f3 `3 U& L7 C6 K9 [; [Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;# b |) F/ ]* n9 r! T0 Q" l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
6 V) f+ p% v# gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;# p: m3 P; V: q
1 B1 o W5 N0 D. R( T2 y/* override diags mask for selected modules */7 C* U' s. @" ]" a" c1 d
xdc.useModule('xdc.runtime.Main');
* i" B9 d3 d N# IDiags.setMaskMeta(( {- U" t1 D4 ~. W. B
"xdc.runtime.Main",7 v: j" f) C" j/ n" ?
Diags.ENTRY | Diags.EXIT | Diags.INFO,6 Y$ p7 |" p/ W
Diags.RUNTIME_ON# L! v& B/ \/ G8 X) t! s
);) Q! ^/ s, u5 A$ a/ }( ]3 k) S8 W; r
; Y4 P; @: ?% d$ gvar Registry = xdc.useModule('xdc.runtime.Registry');
! H' O5 d# b) q& sRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 m9 k0 R8 \3 G3 W& a/ @" n( M. K
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;/ x9 W, u' l' _/ s
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; j) k3 k) g' M: x A2 D$ {* F* g
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, R# H' M4 t& i- p" F6 i8 `' v/ w. b* g+ P1 G1 {) ]
/* create a logger instance */1 K2 V, g9 e; ] k4 S- U4 t, J. w* m
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. V1 S* F; s$ W# E8 T; |
var loggerBufP = new LoggerBuf.Params();5 a$ V& \) t3 o: x
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" I- d0 p' m; g* L+ U/ o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! O; Q4 [! h; d; i" [4 _' K0 r+ ^( ?
var appLogger = LoggerBuf.create(loggerBufP);
9 Z! R; e" D% c" d- A& iappLogger.instance.name = "AppLog_Core1";6 T" a0 [4 V G; m2 Z
Defaults.common$.logger = appLogger;
! v) b5 n6 h4 k- x$ J/ r+ Y3 m; ]9 ^Memory.defaultHeapSize = 0x8192; * W' L1 Q+ c& }& u
Idle.idleFxns[0] = "&LEDStatus";
' u' ]$ q3 {' P' ~& mCache.initSize.l2Size = Cache.L2Size_32K;9 M' R1 v' k7 _4 D; c
. [* o! Z% O6 I* j- I3 A |
|