|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" D8 l2 r/ L( ?2 z/ n# v
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# j1 K8 C) J6 t+ e4 s4 Y! y f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
, V8 E) Y8 l2 u8 s8 u: j
/ t L8 z- j7 ?7 V1 P$ E4 G1 t是不是需要在DSP.CFG中进行配置
. Q4 j3 ~1 B, D; W我现在的配置为
! Z4 N) B* B8 `' m5 c) t6 w0 ^* J) H5 ]0 O; W+ q7 v
/*
5 x3 g2 k+ t5 t! c& c% B$ e, g * ======== Operating System Configuration ========
7 f' L8 j$ n6 `; b6 I) D5 C */" x9 Y% B4 r/ ~$ t& M) e x) T
6 D( w& {# {+ n! ]/* no rts heap */
1 h, H& ]5 d; i5 UProgram.heap = 0;
$ o; t* H& s, ^, T7 J. H# I; TProgram.argSize = 100; /* minimum size */' i3 o" V3 f5 V9 y: k9 b2 o
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大! v9 h) Z+ O# y2 ^9 S: ~2 K
0 X7 y9 Z) e$ V8 ?1 x
/* create a default heap */
! q" l* m _! Bvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');6 ], R$ B* X2 |+ ~) d' D6 @
var heapMemParams = new HeapMem.Params();
P4 t) m: ]. A2 x, TheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. u0 B' v: W( A5 v% m
* v' v, t6 Z! T1 A M) s: Xvar Memory = xdc.useModule('xdc.runtime.Memory');
& e$ E8 D/ M7 [# ?5 h) vMemory.defaultHeapInstance = HeapMem.create(heapMemParams);: H( |" x0 j8 ^# V3 f. z% D: T
0 o' ]+ z0 q! ~2 @( P
/* configure System module */- h5 Z0 |; ^* f% ?; x r
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 U; b' y/ [) z f3 M
SysMin.bufSize = 0x1000;
% |& K4 J% [, L" C1 C. E/ M6 d2 tSysMin.flushAtExit = false;
$ n0 M) @+ [/ _" n
$ P$ x0 V1 P' u5 b3 W) }4 Ovar System = xdc.useModule('xdc.runtime.System');
" G% h3 m# ^* j# @System.SupportProxy = SysMin;
1 w7 h7 \' g |- i
, F) M. ^, r; i4 ^" b/* configure SysBios to use the lower half of Timer 1 */
0 S" a( g9 q8 ~/ D' j) p1 Dvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& R _; n, j" L$ o7 z* `
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
' Y/ g2 i& U# b k/ FTimer.timerSettings[1].master = true;! w% C, L! {4 i3 E
Timer.defaultHalf = Timer.Half_LOWER;
0 F* E% h. j j3 ]Clock.timerId = 1;
* \: t2 o0 D9 N- g
- q/ S. |$ t, H* k/ K/ V2 U% B0 c. L$ [! ~. I# ]# S, C9 I% R9 K
/*" y! {1 g- U# H
* ======== Miscellaneous Configuration ========
1 b9 L& u7 G( `0 k3 X */
0 }2 |3 [/ X' ^
+ r+ Q R J) L7 ?7 W0 v, I% {$ b! p/* set default diags mask */# Z. N m8 J& c1 T, R1 W
var Diags = xdc.useModule('xdc.runtime.Diags');" v' B7 W, Q: g u- z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: m7 N' Z* u. |5 F6 y, I3 G, _( E$ b; Q4 K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;, w! }6 \" l2 i! w2 c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
) z( A0 r# Z; U3 y" u2 r/ Z/ {Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* n* _3 {: N8 m, h0 F; QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. ?# i8 R9 z; c, NDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
( a$ }# f! k" uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
! `/ e) h. x' n& p5 @" B/ KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
* P, f0 r6 ?. {$ I+ X. y' A ?) cDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 \8 E* T* ~7 r- K) l4 J& _1 v0 Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;8 q' a' k- k: e' w% L7 B
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& h- _3 l$ j$ `- i7 [! JDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' ]7 O& f; y0 K6 Z7 V& X' A! \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 q( o Q l9 u/ v
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;9 q) o/ K. j) ?5 S! F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
$ q+ _% _# `9 j* O: V) a! ]$ d1 M# q6 Z* ?. N/ K
/* override diags mask for selected modules */" [! T0 D* a. r1 k! R4 D
xdc.useModule('xdc.runtime.Main');3 [% K/ r! E0 `6 O8 T" }
Diags.setMaskMeta(
7 i- R. L& P6 U5 B% g2 _ "xdc.runtime.Main",- i! @1 Y D, a! K$ J
Diags.ENTRY | Diags.EXIT | Diags.INFO,
" J2 J. H' O+ O7 D) D G2 B; ? Diags.RUNTIME_ON; h: l# q; ]1 ?/ x7 z% j
);
8 }8 {: L: R# ?. a$ ~+ c
$ E) _( ], N6 z- ^5 H5 H# evar Registry = xdc.useModule('xdc.runtime.Registry');
& k3 w# J+ D# i# t; |) B" vRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 ]2 f0 ]9 L) ?$ ~5 C& m1 q
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;* h. Q- U3 X9 s2 c* ~9 h1 l0 Q4 ] ?
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;( a& R+ F Q4 ^* K) ~4 t7 n+ {
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 g* R, `& Y0 A! B2 y5 G# A" W6 N
5 Z" J0 @( n7 c' X3 f" ~/* create a logger instance */8 _; x$ ?+ K5 w! f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- n. d% T, D1 c3 Q/ Rvar loggerBufP = new LoggerBuf.Params();; D9 L, j9 Y1 K" E1 w! Y' W+ K( a
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 c$ G6 d& d* N& {$ r
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
; p* L& I# P" ]1 C2 Y9 C% Y
6 f m# T0 o+ pvar appLogger = LoggerBuf.create(loggerBufP);- `4 P/ G2 q7 @9 Z" a/ D @" s
appLogger.instance.name = "AppLog_Core1";
6 {: J; T8 q4 s jDefaults.common$.logger = appLogger;
4 D7 e& Q1 |0 Y4 IMemory.defaultHeapSize = 0x8192;
. U7 T7 E3 P! _1 f$ a) kIdle.idleFxns[0] = "&LEDStatus";
& G3 [2 w( l2 K$ \$ c: fCache.initSize.l2Size = Cache.L2Size_32K; q1 o, W0 Z, t" ~% u
7 Y. O" e6 g" a" w; J |
|