|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; y$ |$ w9 F) S5 i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下$ A+ { ?, K" Q, A [
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ U6 h Q% a8 v/ N
6 y. A/ }- W" h, q* @( e, `( i- r是不是需要在DSP.CFG中进行配置" f* ^+ |# y! N" w2 T! Q* Y/ r9 ]
我现在的配置为
# u1 i5 s4 m) o# b; Q2 e$ ?
( N! N5 t9 b) \: J2 v9 E/*
v; k) b/ R9 }7 G } * ======== Operating System Configuration ========
) W' Q! {. j5 d' O* Y; B */' |; X8 O2 {( _. \( e7 G
5 P1 o# E( o3 s/* no rts heap */
& X( O, f* F/ W2 vProgram.heap = 0;; `6 Z3 _9 O! U8 |
Program.argSize = 100; /* minimum size */
$ c( I3 t6 ], wProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大& z8 i" Q# g8 Q) h
4 R6 y8 ^% M+ O) M7 L
/* create a default heap */
3 M$ G3 w+ S& j8 Jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem'); e! \% X5 W* f5 f- u
var heapMemParams = new HeapMem.Params();
# w) g0 a; _5 _+ R/ ~) X- W, AheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# Q7 f5 e, X0 |) F$ _5 V' H, {% P) l; K$ P" ~- v6 j' E( m% ~
var Memory = xdc.useModule('xdc.runtime.Memory');
4 E% o8 ~7 J- V5 `$ s& ^ Y# {Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. c( B: @. _5 C: k0 i* X
A( u' n8 i5 K+ k' a
/* configure System module */# D/ T5 ^0 v% c" A! K
var SysMin = xdc.useModule('xdc.runtime.SysMin');
' d/ o7 D+ d( e0 TSysMin.bufSize = 0x1000;
$ m! d9 j6 t. [( bSysMin.flushAtExit = false;
/ X3 l4 C7 q2 v' ?, t
4 _6 q# I7 v1 x2 I2 Yvar System = xdc.useModule('xdc.runtime.System');' _; S Y( Q7 [8 P
System.SupportProxy = SysMin;* Y, Y- ?3 z% B( D
' n' [/ e8 H# h/* configure SysBios to use the lower half of Timer 1 */) w; a& G2 ]' i6 r( @" W
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
: F( ]. t+ s l' U0 ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');! G: W" P: `' v* F6 j5 |8 ~/ {
Timer.timerSettings[1].master = true;
9 T: a' g; ]0 @% c% P( rTimer.defaultHalf = Timer.Half_LOWER;
/ k; M4 ^8 t4 J: m# L( d% TClock.timerId = 1;
* ?3 [% D2 X: v+ a0 K% ]2 ]
/ F% V6 W6 Y8 Z0 }5 W. z' Q# D6 g; f
/*
) T! k# i" r' U# Z5 u * ======== Miscellaneous Configuration ========
3 t8 B; m; v( d7 a; A3 I" R */2 L) o P$ ~. |
# r( |+ E* F4 u/* set default diags mask */8 b1 E. s8 N- [4 h6 o) q
var Diags = xdc.useModule('xdc.runtime.Diags');, |9 Y2 L: ^" R6 ^7 y
var Defaults = xdc.useModule('xdc.runtime.Defaults');
9 x, Z" O6 F5 K. O2 A' z
+ O, s) @7 I& G; Z# t$ G$ L% w; IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ |$ M* M% [7 X4 n$ l- k3 D
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' t7 n; I. q; T$ R' N3 i3 s
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
P+ Z1 b1 t$ q0 ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- j, z* D2 W% t$ @Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 Z1 ]! K& z3 o U+ O- i8 BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
* z( [7 g! N: w C! R) x" ~: h' pDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! d7 Q0 q5 ]. l- v i3 B. [2 ~1 {# |2 H, qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 b1 `0 } k8 L5 _, l. l, TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) Q2 k V( V- R* E; f7 n2 ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' x4 I; \- J% L4 k4 m: y; O
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;/ l" W9 `% y1 G% c% _3 q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;: _' y% U+ q" g, _1 v: s4 l
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% @+ I; N. M: G: o7 B7 \: PDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, i( ~6 V* F/ C
1 H$ c6 \+ M9 }) e; A+ z' s/* override diags mask for selected modules */
+ H+ s: G6 K/ m4 O: Z/ Cxdc.useModule('xdc.runtime.Main');
Y% R- T- V7 e; F/ j3 KDiags.setMaskMeta(0 y# _ l( S1 R7 Q: T
"xdc.runtime.Main",
! i; d' Y: y+ ^0 K# B% P Diags.ENTRY | Diags.EXIT | Diags.INFO,9 \& f0 B# Q& d5 H8 w1 t8 G: ^
Diags.RUNTIME_ON
0 }1 W( z: W) g9 |& N* [" l);5 T& U+ v& ^7 c1 ?. g) }0 O) ~
" i' F# _0 S) `' c8 v }8 r$ o
var Registry = xdc.useModule('xdc.runtime.Registry');
/ u/ q# c6 t' j/ RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% k* Q' b7 i* S& `+ U6 L8 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF; U+ e+ |9 q' P8 T5 t: u5 Q! y- s8 C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! B6 j4 Y' V5 b8 n1 I: F' e
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) ]# j) w* Z# r* y% Z1 @: C, z3 i# m2 h. I
/* create a logger instance */
( D+ C2 M* ?2 k+ y4 d$ Hvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
3 K% A5 e; I: }/ W; svar loggerBufP = new LoggerBuf.Params();: S; z; z4 b! A( q: F# n( ~
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ z* T# X* e& t& L; P
loggerBufP.bufType = LoggerBuf.BufType_FIXED;- N# q1 S5 V- j, ] }
; R3 _ q( C- h5 K0 I' L: G
var appLogger = LoggerBuf.create(loggerBufP);
/ E' q R* E0 r# Z& J! p- |8 ZappLogger.instance.name = "AppLog_Core1";
, ?1 e" ~3 p5 ?' yDefaults.common$.logger = appLogger;
' ^3 ^/ Y3 r6 F" H- DMemory.defaultHeapSize = 0x8192; : [: j: W1 L& i+ e* g7 ]
Idle.idleFxns[0] = "&LEDStatus";1 w1 }% Y8 o2 ^7 s4 P* ?
Cache.initSize.l2Size = Cache.L2Size_32K;3 j7 L3 x# ?4 q! j \. A7 q
; k1 j5 ?9 ?6 @1 ^7 I8 A |
|