|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
C9 a8 c7 r, r2 \我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" e8 h. _$ g# u; q- K; O; N1 k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
4 R5 l4 `9 f! h2 s6 Q$ H* q7 D. P) `9 q7 X. M0 z! x9 L3 {
是不是需要在DSP.CFG中进行配置
7 S9 ?1 }# `2 n$ q我现在的配置为4 f9 S7 }9 K& P; Y. I2 o5 l
/ J) G/ u3 j; G( @6 U0 [$ |
/*
' B. G- R9 W9 e3 D * ======== Operating System Configuration ========. \+ ^! O/ N' b
*/
) x% ~) M+ e" ^* D. q7 g8 S8 e2 q: i: ?! ~2 ^
/* no rts heap */
+ z' o( B) e, D+ G% l1 s3 C0 ^Program.heap = 0;
0 V: o: h* _; q0 Z! h3 S; lProgram.argSize = 100; /* minimum size */
O" K! G. `' W7 k5 H2 QProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大9 {$ o& }2 q; R
6 X1 |7 ~/ w; b4 {
/* create a default heap */6 v0 g) e$ Z+ D7 G0 E% v
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
9 C6 L2 H2 s5 Z- qvar heapMemParams = new HeapMem.Params();; e2 e" I' h- H* r. J
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 ]$ n. c" x1 i/ X0 c& ^: F$ l
& x$ c2 I6 B3 ^* f+ R; |+ [( l' Dvar Memory = xdc.useModule('xdc.runtime.Memory');* j* I- D) }1 P2 L6 n, R7 ]. Y. m/ N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);0 s! }9 u' \' `
- ?$ b% N3 L* A7 c( x7 d' L/* configure System module */( F; b0 F1 D! Q7 \
var SysMin = xdc.useModule('xdc.runtime.SysMin');9 d2 T- X5 r5 m- H: }! b
SysMin.bufSize = 0x1000;
: l0 m7 F, c+ B* a0 [& U) V. dSysMin.flushAtExit = false;
% c! D$ g p* d+ X) ^& B4 r X1 l! n4 K! m
var System = xdc.useModule('xdc.runtime.System');2 _8 ^3 Y# a( B
System.SupportProxy = SysMin;1 e- x) K8 @5 \; G* A& i& H
% @( \ w. R" O! c2 T g# \
/* configure SysBios to use the lower half of Timer 1 */. n' ^+ z; p2 ~# C+ i
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); {# O$ O' C7 B* }
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) |: @" ~3 e7 ]0 X& f1 j( ZTimer.timerSettings[1].master = true;% t `+ M, ?0 [
Timer.defaultHalf = Timer.Half_LOWER;* I2 r( T) C. }* x0 H O
Clock.timerId = 1;
: R) K" {4 G4 j* f2 M- d8 R4 U( ~ \
; U& _5 {6 R4 U6 u
/*2 U; p4 |! q$ ~, Q
* ======== Miscellaneous Configuration ========9 {0 o. u+ _7 V
*/
& [( W+ j" e$ t4 \8 `3 R( O
6 J$ r9 |9 J* G1 W& g/* set default diags mask */
) P; H2 k( S. h- Q% h! B. i5 }4 {var Diags = xdc.useModule('xdc.runtime.Diags');
+ J$ ]$ p3 p4 Q! fvar Defaults = xdc.useModule('xdc.runtime.Defaults');
}0 W& V- ?$ v8 }8 r! Q8 Y) T) ?
: |& F% N- M1 P( v% bDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 I; L' R$ J4 k/ p
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# I' p0 p5 Y( K; bDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;% \6 _% t! {" {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ A) o4 ?: G' xDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 c+ E& \: Y; _! a- U1 S
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
: Q& R0 m5 p: K) k2 m' n% [9 Z- JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
" x2 m( ~ e! M3 i4 Y. o+ wDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' @8 O" o) Y! C; p6 _+ Z
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ m1 \5 l9 h, j% z- |Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% Z* U* j0 E- M. r5 K4 y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 q/ t3 ?& p0 n7 W+ \- Y$ r* _! j5 ~Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 M/ w" o) q- {; x, l5 S( VDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;' A+ |7 C! Q+ f! d4 Z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) Z( _$ @% W* O! W/ L6 I1 d
) e* a3 b* }8 W4 g0 ~2 }/* override diags mask for selected modules */
8 |4 v) ?4 ^, R/ ]xdc.useModule('xdc.runtime.Main');! h" p$ X9 z; B0 b/ \
Diags.setMaskMeta(
h& P: |' ~) Z "xdc.runtime.Main",4 p7 h( T: l4 ]0 V1 C2 f: b
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 Q. V5 u% P5 @* m; v
Diags.RUNTIME_ON
/ o' q, E+ Z# ]- C5 Z+ S f);
( `0 W) ^% R5 P: u- `5 n% l/ M% e3 w% I* n! G3 }/ n
var Registry = xdc.useModule('xdc.runtime.Registry');6 _$ A' y9 l# k! _
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 Q3 a: W+ D k( t/ c5 v" o
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
* @; `3 q; L6 c* nRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
: ~5 d' a: }4 D; f: X% t# i+ \8 `$ |Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;- }9 X5 Z- o1 I/ J" ~% Y& p
# [. f5 Z/ H! N [* n+ |2 W- K/* create a logger instance */
1 e( M- d! q1 J: Evar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 s( Z4 p7 z8 X) \! C" n- t, T6 d8 |, fvar loggerBufP = new LoggerBuf.Params();
7 F6 d$ m8 I" d; ~% [" x: SloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */) Z. k* a3 I6 C5 }
loggerBufP.bufType = LoggerBuf.BufType_FIXED;4 F5 }% g! ?* L- z8 c& C# s
. p, ?1 j2 l, w1 g- P5 R
var appLogger = LoggerBuf.create(loggerBufP);
& \1 W( h( L' eappLogger.instance.name = "AppLog_Core1";
T/ n9 z, O/ W; M$ yDefaults.common$.logger = appLogger;% K) e* l+ Y4 ]' r5 m* g8 h8 c
Memory.defaultHeapSize = 0x8192; ! W, q" S3 N* S( \& E5 ^
Idle.idleFxns[0] = "&LEDStatus";
: _' b& j- e7 Q- A. {7 a4 w% b5 eCache.initSize.l2Size = Cache.L2Size_32K;
9 D/ b' ^( }# @$ i2 k* @
/ r2 K# l B9 b; ` |
|