|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
2 P/ s0 I, k; `6 x# `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 n, k/ ?* e" T) U0 L) C: |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: e3 J1 l& k* s
$ \% c3 v6 Q* s9 L4 R; }是不是需要在DSP.CFG中进行配置9 i, w% v* L" }3 O/ e
我现在的配置为$ r; m! d! `8 K+ d
( m7 |) g! J5 G1 ?5 u: G/*
+ B7 p- a* ^/ `, {9 T2 V1 }# r9 g * ======== Operating System Configuration ========- j8 y( [* O/ N( W+ e" T% P' _
*// ^, N7 o, q6 c5 d3 }5 [ I
8 {4 Q0 d6 k" @# V6 R
/* no rts heap */
7 G0 m& J F! k1 e6 aProgram.heap = 0;% D( n; t/ ]4 v( Q9 n7 k
Program.argSize = 100; /* minimum size */
- [3 C; `, X& hProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ P$ Y9 N3 W( c& a+ L- `
. P' [* w$ f( m3 A! Z/* create a default heap */
7 W2 x5 f& V* [5 c( Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 Y+ N* j( h: b- @7 \var heapMemParams = new HeapMem.Params();
0 `' k+ c; t2 r8 qheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 {' L) X* F) G5 A, C: v$ C) _& c) \/ q* V* c1 j0 S% H+ q: x
var Memory = xdc.useModule('xdc.runtime.Memory');
- `( C) C* d# C* w+ e/ ^! y$ uMemory.defaultHeapInstance = HeapMem.create(heapMemParams);* I4 E. ^: B5 S( H( f8 k% Q
- ^8 S7 C. `; E; k6 D2 N/* configure System module */
. m/ ]$ O, a$ N- vvar SysMin = xdc.useModule('xdc.runtime.SysMin');: S9 r- H6 i6 R4 ~: \
SysMin.bufSize = 0x1000;- g9 o" @& N# k) _) J
SysMin.flushAtExit = false;
( H; ?& M! [- F" w+ W
8 z6 C$ S2 r. Ovar System = xdc.useModule('xdc.runtime.System');
" g: ]8 }( J" z" S2 x2 r6 ^+ I# d/ HSystem.SupportProxy = SysMin;
5 `; N% J! V+ P6 f3 p! _8 F
' m( }6 }* p+ C! w8 p# Z3 d/* configure SysBios to use the lower half of Timer 1 */
9 j5 b; m0 p- h- I* bvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 A0 [; ~3 w, g% a9 ]) k& ]. pvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 P2 a: i7 u: [. Y2 _0 o/ h6 _: j
Timer.timerSettings[1].master = true;
9 H B3 S7 o! o! l" pTimer.defaultHalf = Timer.Half_LOWER;
) b+ o+ Q3 Y- ? @8 G6 b" J- ~Clock.timerId = 1;
1 O4 P0 N# {0 u2 ?0 e9 v+ W! x t6 c" \0 u9 x- N8 B( r8 z
. {: Y8 I8 }0 `. d1 e1 F4 }+ f/*
, q- F- Y& y- O5 W * ======== Miscellaneous Configuration ========
4 O! l0 |2 n* ?# @( z */
4 z6 G# }; E9 s% H B2 Z. p8 a
+ p3 Y' B* Q! a/* set default diags mask */8 L- O. P) B! Q6 U8 r8 s1 @3 f
var Diags = xdc.useModule('xdc.runtime.Diags');
) i, G: g- v8 C# Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
* F& j( _( _' I5 {- _- Z/ ?5 \1 \6 ]# s( t
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: ?( o2 w# F1 A) o3 v
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, q6 u! Y) s1 R; N h, `! C
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;( t, |- E6 X$ d! n- _1 V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( j! y" G$ L/ \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* [$ N! y7 e6 ^: Q: q' a0 h2 \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 p; A! B0 }4 b# V8 U6 _Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ k0 m" }4 T5 O/ fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% k8 L3 I3 E+ ?7 V6 _( V, \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
e: U$ X U- w6 j4 ~! U/ p. uDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
D! \/ x: f" ] C& a/ rDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;' Y& f8 D, S- \( m" e- r: ]4 A% j. I+ Y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ q7 e/ F- c" jDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- s) n6 h9 p* G; t7 ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& _: i1 A6 v: G- R4 q z9 g& ? u
9 U! s$ J; ~, M( K0 }/ D" q. x/* override diags mask for selected modules */4 U" r; S; t" D& }1 c- T0 I# `
xdc.useModule('xdc.runtime.Main');- R) _1 v/ w) v+ N4 W4 A
Diags.setMaskMeta(, R1 ^+ B# [7 I* j
"xdc.runtime.Main",
6 l8 x! V% c+ I' f Diags.ENTRY | Diags.EXIT | Diags.INFO,/ l$ t- i B: B7 X5 V+ t# [
Diags.RUNTIME_ON
* S5 Y" y3 j" Y5 s* P0 k7 s+ f);+ G+ l, w) k/ |
3 F) e o/ ]1 d% V" m2 K# L6 Xvar Registry = xdc.useModule('xdc.runtime.Registry');" ~9 u$ |% h5 K; R
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* |+ g8 u7 C7 d* g2 B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
# I+ y% Z2 e, V9 |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; i* e6 S3 X+ Y; g; P; n3 l- j, n5 cRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 T5 B: _) h& M7 G9 H' Z% N# J$ {* h" H. ^
/* create a logger instance */
4 r1 _5 Y) E1 D* ~8 Fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, s' G( @4 ]) V- c, S2 C
var loggerBufP = new LoggerBuf.Params();& J; V- _+ {9 C/ I+ J. l% E
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 e% }" f8 t& VloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ h+ [/ h* r E3 q1 A) g" `/ U" F- j
var appLogger = LoggerBuf.create(loggerBufP);
5 v2 s0 m1 ?" X) [appLogger.instance.name = "AppLog_Core1";
% c5 Q$ N, K0 e4 I3 dDefaults.common$.logger = appLogger;
, S7 k# ~2 A% g+ DMemory.defaultHeapSize = 0x8192;
- C% ?- Z5 E1 h( l$ b* M8 H5 QIdle.idleFxns[0] = "&LEDStatus";. T0 X2 R9 j0 t, f" \
Cache.initSize.l2Size = Cache.L2Size_32K;* f& o w: k/ Z) M1 n; A7 P) B/ C/ y
7 ?7 b7 \8 e. D' ~- p
|
|