|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明# @* X$ h+ l6 J0 F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: C, S* ]. [9 q2 m1 B* |(不过疑惑的是,为何单独DSP仿真就没有问题呢?); ? Q1 J0 a; P; B0 J; Q: G; o' z
* Y- l8 q- _2 m9 G' u是不是需要在DSP.CFG中进行配置
8 e% f- h9 n/ k& s4 B$ \3 ]3 n我现在的配置为
6 ^$ G0 N" C! T6 E/ @! _, a2 c/ `# ?/ C5 c6 J
/*
- ?. Y# l% a; m( z& [ * ======== Operating System Configuration ========
2 ^* A. d3 D# k" v4 e. e* P */
& T2 _) k; z9 [* {7 b
+ ?. }4 r9 t) C" c$ f7 v& B/* no rts heap */
( k& A! @4 E5 k% t5 SProgram.heap = 0;) x1 ^, J* }0 w% u( d
Program.argSize = 100; /* minimum size */
* {$ G$ l' D0 J" g- ^2 ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大/ \, z6 i/ K6 ?, a- S
* h$ a! i9 W! w; {1 \% M) ]1 e8 O0 U/* create a default heap */' R' C( d" c+ i* t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; ^3 T5 t; n/ e: \0 @" Cvar heapMemParams = new HeapMem.Params();
! k: P- T, i2 y& n! e4 y! LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 p3 K9 k4 r. G5 e/ ^ m+ ]
1 L- ?3 e' u& I4 R, |7 W; zvar Memory = xdc.useModule('xdc.runtime.Memory');7 S/ j" r: z; i9 ?9 [7 J$ {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 n: N2 i g9 ]/ S3 C t$ ^8 L! L
2 _* f: d3 y e+ c/* configure System module */
$ T& @ H F. c& A4 J5 a9 S2 Svar SysMin = xdc.useModule('xdc.runtime.SysMin');
. M+ P5 M/ d9 P& f- xSysMin.bufSize = 0x1000;
$ \6 h( k- z n' S7 [8 FSysMin.flushAtExit = false;+ a7 N" X3 N0 v4 E# c
$ X8 ]+ c ^1 ^" d$ l- n
var System = xdc.useModule('xdc.runtime.System');: `' V. e# m. J( @
System.SupportProxy = SysMin;0 C5 w8 S1 H: K+ j: i6 v( U
( ]& p5 u5 s& b. ~- |/* configure SysBios to use the lower half of Timer 1 */
0 }* ?5 C$ ~" ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( g9 U B# T$ e9 W7 Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! h8 D3 p+ N% r; Q, a! q1 O( I( m6 {
Timer.timerSettings[1].master = true;
3 R9 x, b3 j7 \0 aTimer.defaultHalf = Timer.Half_LOWER;
+ _9 t# ^0 f! F& ~- XClock.timerId = 1;; C, C# t* {1 G4 ]% p, X
& ]! [8 r; x" y9 o ~' j
5 I0 J+ E6 P2 E+ J% g; q/*& ~* s: ^( k/ U2 s
* ======== Miscellaneous Configuration ========0 c- F5 f1 f+ c. v
*/& r) }7 r7 L) I: u7 u5 e4 [
5 y' D$ s! s! A2 J/* set default diags mask */ _* t: C; l* m0 C
var Diags = xdc.useModule('xdc.runtime.Diags');( k0 Q+ J9 Z6 c7 _. |1 `1 g
var Defaults = xdc.useModule('xdc.runtime.Defaults');. F: w1 Q( p( a) S% X# r) j @
# v, n# x' Z5 `( K+ oDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;2 T7 g3 Q4 l" ~$ t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 N7 u. X1 D8 ^! EDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" _: R% ^9 H- A9 X7 U1 t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: l* \0 Q' Q# {. T9 e, z* l# N9 Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 }1 g. E& j5 d
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 L! g) r, ~2 A, D% M, a: {
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 o& J4 d( u9 W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, @1 n+ Z; |+ P3 i; ?9 PDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) d; [! }+ Z. h. A- fDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 p; V, I' F; C
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 ~% ~7 e9 Y" h+ ?Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 o6 R. I9 F+ ]
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 ] ^# S6 v/ m% t' uDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 T7 c% O' r7 [ e7 G% b! ^+ s* C
/* override diags mask for selected modules */
! e! J X/ J- N. T! @# \& Nxdc.useModule('xdc.runtime.Main');% O4 p1 K& B" X) ~* I+ S
Diags.setMaskMeta(! x3 A$ S; ]; w) j4 v
"xdc.runtime.Main"," p! L$ } i1 S& Z# W( J
Diags.ENTRY | Diags.EXIT | Diags.INFO,
. y9 y& c p K5 r$ \ Diags.RUNTIME_ON6 p }3 F+ ~% B" U# o) l2 X( x1 `. D& L
);4 `- }! s; {0 U" i( p7 D \
$ B- D9 X1 b- g4 _* V1 Jvar Registry = xdc.useModule('xdc.runtime.Registry');; b, e! w. V7 P5 w- h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
2 R6 e9 X1 H2 n4 XRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ j; X' G0 P! ^( m2 A' u- `3 @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 c( V# |$ L+ B: S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ V: q; Z1 S/ g5 y/ D. ~
& ~: i/ i- L d. X/* create a logger instance */( A4 s' a1 q* Y1 T$ Q" c8 F% L
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');& p6 C. F" q$ s0 @
var loggerBufP = new LoggerBuf.Params();% A2 b) \5 @/ W# v& }) x0 V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" U7 ^0 x+ s- y5 g& ~3 ]* q5 Y8 {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;! a8 l& ~* V/ R) b
" P2 g7 k8 n, W' z8 d! D& C7 H
var appLogger = LoggerBuf.create(loggerBufP);
/ o: \* B( a6 i; w: i( eappLogger.instance.name = "AppLog_Core1";
6 M0 z% D! ]: W3 Q" oDefaults.common$.logger = appLogger;! G- |9 {- h/ f Q* k" f
Memory.defaultHeapSize = 0x8192;
. R* i+ l: T9 `Idle.idleFxns[0] = "&LEDStatus";$ A5 c: b+ d7 S" f* i3 \
Cache.initSize.l2Size = Cache.L2Size_32K;
# | j# g( D. E$ f5 {" e; p9 L: |* `3 h" }
|
|