|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- t' O$ Z% d* m$ k: V我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 x, g2 t$ @, ]8 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 T# N- G7 W& `7 i5 |
. Z8 T$ Q# c1 X1 I是不是需要在DSP.CFG中进行配置" @$ o4 u9 h3 z6 g1 }# `% F
我现在的配置为3 m+ I0 C& l$ `" r" ]
% B6 b) C C0 G4 [5 P' V, O/*
" O1 R; q& n2 G * ======== Operating System Configuration ========4 g% h9 s; O& `: z* d+ T/ [% ], k
*/
1 M& @6 X1 q! c! r
+ g9 s- P5 h/ a& m7 }2 G( Y$ K& J/* no rts heap */$ |( n0 c! D) }! g& t7 u) G
Program.heap = 0;2 j6 x- f8 o0 O( c% R8 r
Program.argSize = 100; /* minimum size */
% C' k& V8 h8 F9 |Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 S+ h' m; C1 @) Y0 |1 H9 Q, m$ I- g. d
/* create a default heap */' c; s- a7 F) A/ @/ m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! |) Z6 m( o* ]
var heapMemParams = new HeapMem.Params();
7 p, m- `0 r5 ]' H `( |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" q4 @& U6 j( l
* r1 l Z0 P! E- b2 W2 rvar Memory = xdc.useModule('xdc.runtime.Memory');
; w' L6 G1 E* g/ h( z" b: BMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
' g8 x, p' J/ u3 _
4 d1 d$ Q4 C0 k! x3 l2 p- S/* configure System module */. o) A& r5 Q; s6 M0 Q$ e) @, X" L/ q* `
var SysMin = xdc.useModule('xdc.runtime.SysMin');* B8 P" }: d( j+ f/ x. x7 S
SysMin.bufSize = 0x1000;( p( I' z. o7 ?# m' t( H: `
SysMin.flushAtExit = false;1 e4 l, b3 u" L9 M
& x, o0 L) y) L3 z
var System = xdc.useModule('xdc.runtime.System');
( E" o1 t S; W' c5 H& OSystem.SupportProxy = SysMin;
1 E3 B* {# ` I1 w4 a9 n, o
9 Q( s' e% {6 x& }+ J7 t6 g/* configure SysBios to use the lower half of Timer 1 */
/ }6 Z1 @ ?' b: t2 svar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 o3 F9 H9 F9 M; K- ?% \* ]! ?
var Clock = xdc.useModule('ti.sysbios.knl.Clock');% W. |5 \2 r) O
Timer.timerSettings[1].master = true;3 y1 ?$ K$ l m0 @/ b
Timer.defaultHalf = Timer.Half_LOWER;# }: B, }7 ]4 n m. G o" f
Clock.timerId = 1;& ?! ~+ o3 E* X$ v1 E
% q; \8 m! v% @/ B M& I& n- H. i
5 q' x s5 E- t( x c
/*
% k% W2 [- T2 }6 _+ `. b( Q/ a' O * ======== Miscellaneous Configuration ========
" H. m% }6 ~/ I7 o$ f */
, o4 a6 \; S; T" g3 E4 w$ j
* G: v* A7 \3 F) Q0 j. ]7 V" x/* set default diags mask */
/ F. B/ a) {6 y hvar Diags = xdc.useModule('xdc.runtime.Diags');
' m% g9 k6 I3 r0 T8 avar Defaults = xdc.useModule('xdc.runtime.Defaults');
! X! H; }' `" @: |% W2 Z) p& Z$ ?) I% a) t. Q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 @+ J/ @* C6 R, ?. k- o! l, J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, u7 ^1 r. A( `/ K( T
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ B) ^. \1 g) Q- P. g$ I$ P
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
+ E0 M N+ N2 J0 mDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
4 z& }" Q( D( _$ V# Y5 p+ _4 M ADefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 |1 X( F5 s! f' s7 G. K* JDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! O% ~2 h5 Z: X( H7 i9 V. [& b& SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
3 X8 X0 r2 o3 l' UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;& s, P; ^4 M" B. }
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 C/ q- {0 M+ t, l4 ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 T/ A# |. z' j' {$ i" H, cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& e' l; W9 S7 V% b; x; m
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! s1 X; Z9 O7 K1 l1 [$ r3 Z2 {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 {* y' H' M- M4 @# y8 y7 a, N
0 c. A) ^4 n1 @& |+ k) F- ]% u
/* override diags mask for selected modules */* n1 @/ k+ f- A$ m$ N" b) r2 o
xdc.useModule('xdc.runtime.Main'); S/ c% E% y! i+ P, }
Diags.setMaskMeta(
4 Z1 y- E9 h- \: S6 a# M+ s "xdc.runtime.Main",
- w+ b4 p; M# v4 g/ C Diags.ENTRY | Diags.EXIT | Diags.INFO,9 m8 ]/ y0 S+ ]7 ~% |
Diags.RUNTIME_ON
m5 X( u( V6 f" ]( |);$ ?9 J- m+ ?1 W4 |
! y1 X% j4 N& r9 m0 W% Yvar Registry = xdc.useModule('xdc.runtime.Registry');( C+ z& U& X v
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
, C' } T; I7 w$ M! ^4 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: I" B# t& z2 y3 e# l% @3 IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. p4 l* X" i N% M( Q& @1 O6 l( Y9 R
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ D6 @; t' H2 Q' x$ `
3 Z: T; \/ f$ S! s- Q6 T- I
/* create a logger instance */
% ~6 S! e) U( y4 {var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 w% u0 B' i- M s: }1 cvar loggerBufP = new LoggerBuf.Params();- B" L0 y0 C2 m- t0 Q3 f/ L* W
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- V `( c _* R7 e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. Q( Z# t' ~* k6 v
9 h, b5 M8 v' A: x# O* T0 p( d9 a
var appLogger = LoggerBuf.create(loggerBufP);% g, q2 a+ u# {# U0 g
appLogger.instance.name = "AppLog_Core1";
7 D9 S* L* |4 O9 u5 ~1 i/ k% l6 T2 oDefaults.common$.logger = appLogger;
$ c9 l9 q6 [! g6 r9 FMemory.defaultHeapSize = 0x8192;
4 x; a5 h9 i* r5 U/ g& oIdle.idleFxns[0] = "&LEDStatus";3 |/ o; x6 r2 Z" z- L
Cache.initSize.l2Size = Cache.L2Size_32K;
4 {7 S. _& }/ j+ S- n; e z! f9 L: Y3 D9 s8 c4 K
|
|