|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明: }2 [4 Y/ D8 e$ q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 A D1 T. y) O' ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" j1 I" o5 F- O
6 z9 U% @3 Y4 P# ]# L5 U( H' ?
是不是需要在DSP.CFG中进行配置
: q6 C2 C, Q8 W. m% ]. L我现在的配置为
* ?2 a/ a; t" Q! N- x& J# q. _( d7 T/ j& o z* d1 s
/*
2 R" K, z9 q$ d: L' R * ======== Operating System Configuration ========& R) F# H- u' Q7 d, c$ p, Z5 q, z7 q! o
*/5 \, c0 v# s4 `% d: Y
2 h1 k& A, u6 B1 z
/* no rts heap */
5 G, U0 F( a3 bProgram.heap = 0;
7 T6 L( @ Y! R, WProgram.argSize = 100; /* minimum size */; W1 m+ g" N# v9 V
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( Q. L- U E+ C2 B' t+ u/ a
& J8 C f) a/ d( k q1 D9 W
/* create a default heap */
* d9 }5 b8 W7 Q) h; v( Fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 X- {3 ?+ e$ k: r' P; T% Tvar heapMemParams = new HeapMem.Params();# ~% e. i) x3 C; _. L4 p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* B& z/ L3 ~' z
$ B+ b/ c) b! u, t1 h7 Z! d5 k
var Memory = xdc.useModule('xdc.runtime.Memory');) i" G- [7 |* g* U7 I% O
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
' b/ o, m- ]- ?! q5 d/ @, C' {$ y
$ N m+ z+ z" O5 r d0 o/* configure System module */
( L0 w' J8 f0 { W9 r+ Z4 A- R" @8 Nvar SysMin = xdc.useModule('xdc.runtime.SysMin');5 E* z# x+ I. G% w7 b' x8 F
SysMin.bufSize = 0x1000;4 ?3 f3 E+ M, R" z. g
SysMin.flushAtExit = false;
0 w9 f- J8 t2 _- i! N8 [; ]( S3 R7 C9 K, ^+ e
var System = xdc.useModule('xdc.runtime.System');
1 j8 \+ d' m8 E7 ~9 \7 QSystem.SupportProxy = SysMin;
% X4 P! ~% \/ V0 x7 o9 f4 O! B
1 m1 | z: f) c& i5 I* U/* configure SysBios to use the lower half of Timer 1 */) |! j5 A0 Z% E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# \* H# }( t% @8 d2 A" B( s
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 I( ^) ^' I3 b5 z5 ` o
Timer.timerSettings[1].master = true;* m; \ [5 B1 Z
Timer.defaultHalf = Timer.Half_LOWER;
) C+ s8 W; b3 z& N6 K' v$ jClock.timerId = 1;8 T" J$ Q' e- N
9 h/ W, t, @3 z1 Y
* u2 L* | V- k& ^( |2 F o" l/*
' h# [$ }9 M2 N( Z2 K# F y+ b * ======== Miscellaneous Configuration ========
% q. U6 U+ a9 E! w ^4 Q7 B */( g! P0 B- D% Q7 E! o" W) l, I
) ~2 m4 e2 E0 x! f5 v& S/* set default diags mask */
) `) }2 G- l9 C6 q9 }var Diags = xdc.useModule('xdc.runtime.Diags');9 d" h, I$ ]- j, H
var Defaults = xdc.useModule('xdc.runtime.Defaults');" n* f$ u. f# {$ y1 r) O
& e8 O+ |3 }/ ^$ I; L% i/ b) D
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ \7 d; z! z" r( @Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 H% [5 `2 l7 ~5 D* K0 V6 aDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 H% l/ L6 B* Y, r/ FDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// B4 B! K9 I" K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
% \: \, S/ n2 t9 H& N+ ]' v2 ^- tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 F8 k" B( P' q2 tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
# g0 E$ L& @& E# ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 r f$ {# u P, E4 C) Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
, b9 N0 ?5 m" `+ l/ tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( `' a ]5 G' I; X/ b3 V5 iDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 C0 z# w5 I/ A" d! J7 S
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
9 H5 q% f8 K6 X7 d! fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;3 J9 ]8 x" B/ |2 n% e
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- n' C4 `& H) c' Y) X
) T8 E c1 G* Y/* override diags mask for selected modules */' z- s9 f9 m7 I$ E
xdc.useModule('xdc.runtime.Main');. q' ?( ^, l. V v1 W
Diags.setMaskMeta(
: @0 H$ I0 W( ~, K4 n "xdc.runtime.Main",$ b, k* j; F, U e5 ~3 b$ P; M
Diags.ENTRY | Diags.EXIT | Diags.INFO,7 z4 y, @6 f$ |2 E
Diags.RUNTIME_ON
" N' T$ z" x4 u);# N r9 x/ J0 d3 S1 _2 b [' w
6 |# i( D: c5 S2 u% j
var Registry = xdc.useModule('xdc.runtime.Registry');
5 ^- G. e7 D" v" ~' Q6 ]# l: {Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 @& S1 x$ v3 Y! rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 L: [7 e i7 k2 C nRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. k' b3 G0 L) R$ P# O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 z/ x! H( |2 \( t- r
& j$ m. k: ~) Q) o2 {/* create a logger instance */
: Z& H! M7 E' Y* U i, f- rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. @- G3 d4 V$ ~# \5 c9 s7 yvar loggerBufP = new LoggerBuf.Params();- q7 _7 M, S; P7 b9 k
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 d8 [* v7 l6 c1 O
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. |8 P! A2 P# A. o3 N; z) Z
; e+ M# S: m/ v! y
var appLogger = LoggerBuf.create(loggerBufP);2 G4 Q, r2 @2 p' \5 ~3 b
appLogger.instance.name = "AppLog_Core1";
3 O1 B! y0 h1 g8 I7 G6 j' v# uDefaults.common$.logger = appLogger;
/ U8 z, ^* T' {, H. N+ WMemory.defaultHeapSize = 0x8192; 2 W+ w! I% T+ x' h& Y% l& k
Idle.idleFxns[0] = "&LEDStatus";8 {% ` b2 S7 v Y: N7 \/ x2 q
Cache.initSize.l2Size = Cache.L2Size_32K;
" X$ J3 R1 K. B' k9 W* T6 B/ p
3 V' W s/ P# P; f |
|