|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* `/ s) c) [3 S1 v: H
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 S0 h7 ]. Q5 E8 I(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- K* t+ o/ j, j! v6 u! {% t2 Y: K( y0 G8 o9 ~+ L
是不是需要在DSP.CFG中进行配置
3 o. h# C. t- p我现在的配置为5 c+ }. I& T4 t1 h. g
C9 g0 Y+ {1 s# d4 g9 F/*
0 ?6 S; U6 B: A7 A% W. H3 ? * ======== Operating System Configuration ========
" S4 x3 T2 h" Q6 t$ h */% o& l" w* u$ F0 u6 H
p6 j) X3 c: v7 x/ u
/* no rts heap */
8 B! r; d. M0 M; z5 Y& zProgram.heap = 0;9 e: d5 r* _3 M* z7 b
Program.argSize = 100; /* minimum size */
/ q1 |7 J7 F) h& }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 o" {) s Q7 F% P0 P& F( t8 M8 t0 j3 S# b' M
/* create a default heap */
% e2 ^$ l" Y3 o4 G+ u7 G# B; h: w/ kvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 P8 n5 P* t) ]6 r8 Uvar heapMemParams = new HeapMem.Params();
6 C- `; h: Y8 z3 m0 C5 EheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' i+ k4 j0 }7 l4 P+ V9 {8 [: w! B
9 U) {, p X$ @( Z( _
var Memory = xdc.useModule('xdc.runtime.Memory');2 I1 ^" j. H0 @
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 S" J/ O0 F4 q8 G+ U: x
$ x/ O3 Q8 Z0 e+ k' w8 {6 P/* configure System module */9 g- J( e9 v# M4 p" u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
4 U- |* i3 e% O0 d P6 R8 S. ]1 BSysMin.bufSize = 0x1000;
' ?( T+ @4 t+ _( [, q8 `/ f! WSysMin.flushAtExit = false;
. c9 `1 A8 N' d! L4 u) j+ A$ ?6 @; h. ~
var System = xdc.useModule('xdc.runtime.System');/ K! Q/ A! s7 t% y' Y _! Z
System.SupportProxy = SysMin;3 R4 F# r' _; j. ^
: A" G5 X+ N+ s/* configure SysBios to use the lower half of Timer 1 */
4 {. E. N3 j S0 ?8 tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. k4 m% f7 l. ~& K
var Clock = xdc.useModule('ti.sysbios.knl.Clock');, C$ h$ O) H; p$ W0 c% r
Timer.timerSettings[1].master = true;
0 M- A' T' v2 a. J6 N5 W, yTimer.defaultHalf = Timer.Half_LOWER;7 \5 K( [! c2 ~5 ]+ g+ g9 u( ^
Clock.timerId = 1; m6 A% l+ T; O B; @4 j
) `7 V9 ^9 y& \% P+ D! e: `, r$ k
5 w4 d" ~% V# t8 G2 D
/*$ X( E4 _- g" L3 i
* ======== Miscellaneous Configuration ========
( c% h5 d8 @: ?( P0 y# V */
! J' n) s2 B8 e1 I6 z, }
4 s* y9 r( r& G0 ?9 M. s3 ?/* set default diags mask */2 r8 k2 K6 W i0 H g& a
var Diags = xdc.useModule('xdc.runtime.Diags');$ @* O+ [& G4 I+ Z; l" w: R, C, m p
var Defaults = xdc.useModule('xdc.runtime.Defaults');
+ F M9 t0 d8 }$ A/ y/ Q
2 D) W$ d U9 G3 h3 l! H) q: hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, B& D) v* P* q$ D! _& m+ ]/ WDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, f( |- |# Z! N! F% [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ a6 p( E- ?* h
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */! M+ h8 T0 A* A9 a/ k
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) a$ Y0 E |8 P s" VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* O0 @( w% [' @6 { C2 C9 f8 I3 b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 x: K4 g# K" e0 c* R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 D6 W" j, @4 d0 k1 u7 A* BDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 }+ N0 c5 ^4 `+ m& ?% }- X: @1 H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; G! n0 R7 R- s1 b% UDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! X, _; M, @8 K0 P; Y hDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;- [+ _+ M V! Q( f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;' |' G0 e0 D/ Q6 e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- O& X' v! p* i& Y
0 z2 W1 Z @5 g8 ?8 }* x/* override diags mask for selected modules */1 M, L m& |$ q3 P/ A5 ~2 a+ _5 N
xdc.useModule('xdc.runtime.Main');+ a+ Z6 G9 p# U. E3 v$ _/ n) S
Diags.setMaskMeta(! w. I' p3 Z: z
"xdc.runtime.Main",) j7 k# Y) Y( o% |; o# S. A/ a
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ t+ D( V# D( t9 Q: \9 |( r
Diags.RUNTIME_ON: T0 v# t+ f3 b. c4 l" {4 Z0 u- i
);; P. G1 G# t$ M8 \# r4 V7 e" o
( a' t- ^+ {" R3 G3 W
var Registry = xdc.useModule('xdc.runtime.Registry');
/ u' s w9 ^' ~Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
b- G- K* M1 b- ]+ CRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
$ p7 R1 b( ^6 J" q6 ]- IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 J3 A; y# p+ ?' O9 @Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! l0 S! z+ w: i3 H1 C; N0 }/ ]9 l/ y' H
/* create a logger instance */ D3 r! }% s) c; O% L& A* o- F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
- K$ Q+ J) Z, ^6 O1 h* D2 Yvar loggerBufP = new LoggerBuf.Params();) q- ?. [; q4 J" k* P
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
$ z6 d! A) `4 Y0 d" ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 o& p) z* c! ?; z* `
& `$ o5 L* B: w# x/ W' d0 jvar appLogger = LoggerBuf.create(loggerBufP);
! l+ q0 q+ z0 ^8 Z! O# oappLogger.instance.name = "AppLog_Core1";
w- H7 L0 J0 ]3 z8 x, f6 a+ bDefaults.common$.logger = appLogger;3 d3 L! D5 M5 v& X* G* Y
Memory.defaultHeapSize = 0x8192; 9 V$ Z# L* m# h) E0 r
Idle.idleFxns[0] = "&LEDStatus";
( t3 b0 R n" C8 m4 Z0 ECache.initSize.l2Size = Cache.L2Size_32K;
, Q7 \) t$ |. ]: S
2 d$ I) q; S, t) @5 P |
|