|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# Q6 ?+ y! {8 A* j$ S3 a我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ a+ q8 T. Z& T4 D. J4 D2 W! D8 ](不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& F2 |9 `* Q( O- D( _' v4 S$ Q8 L9 E* _/ a/ L# Q7 M) v
是不是需要在DSP.CFG中进行配置, J I) f2 I! ^" `; A. \
我现在的配置为3 U+ {/ {0 t Z. P5 g- }3 |8 P
K6 h4 R1 }; w, |4 I7 l. N/*
& n3 ~" V: O2 A0 y * ======== Operating System Configuration ========. `2 u: v8 }# e- p8 E1 }: R0 E
*/
* g$ R3 W4 y! r d1 n
t+ D7 e' @) v* H% F+ d2 k3 [/* no rts heap */, J+ E. \5 ~9 J3 K
Program.heap = 0;* ]9 E; o, U5 V% \; }
Program.argSize = 100; /* minimum size */
: Q0 M# ]( |2 d+ X& w/ JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( V7 z: U( z' `7 F3 I7 V, v3 e/ C' H% N, u' @; N5 K
/* create a default heap */
7 N" }) t) H# J d, I! Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');. c: [3 S1 b5 q; t
var heapMemParams = new HeapMem.Params();" }# Q2 H7 [+ |) r \) n5 ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) r) j& E$ S6 }6 z: t, A
* C6 i4 ~/ p' A" U- }5 Y1 ?6 w5 d
var Memory = xdc.useModule('xdc.runtime.Memory');+ e/ a' A$ J ], p! b4 ^
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 g5 ]) u* r# U4 E8 `5 f- ~
$ _) H8 E g. i/* configure System module */
! Z' C% \ p* E2 a& |) L U' U& tvar SysMin = xdc.useModule('xdc.runtime.SysMin');( Q3 ]- S8 o0 n4 z- A k# Q
SysMin.bufSize = 0x1000;. _9 L; U# _9 N3 g
SysMin.flushAtExit = false;# T% D1 T, o8 {
, \: j) W/ F( G0 f5 Mvar System = xdc.useModule('xdc.runtime.System');
1 N# J6 Y9 h& i. U, t5 x# b0 N0 e5 H& ?System.SupportProxy = SysMin;
- [9 Y @: i" E8 h2 I6 t: O4 \; I7 b; `$ Q# t5 n4 I% B
/* configure SysBios to use the lower half of Timer 1 */
' B9 X B' l- Wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 S! h9 O5 t: X, N) v! Z4 ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
1 \0 l- _, K3 f/ z7 h' VTimer.timerSettings[1].master = true;
/ M' X. \+ Q5 A# x" D+ HTimer.defaultHalf = Timer.Half_LOWER;+ A2 t+ |& `& l" p6 b
Clock.timerId = 1;) b U2 V6 w* f* F1 m; u
! m' b1 _) Q" @7 z# ` i I
* ~2 k! ~4 q6 h/*4 D) a4 l8 i0 q) K) b8 |5 `
* ======== Miscellaneous Configuration ========1 q& T9 }/ }9 K
*/3 M, M* P% a! M. S
/ P* a5 e* s( O3 i2 N/* set default diags mask */* f& T* B! }$ c
var Diags = xdc.useModule('xdc.runtime.Diags');
, m, `6 O$ x& j. Avar Defaults = xdc.useModule('xdc.runtime.Defaults');
* |% Y% Z4 T6 |' S+ ~% g2 q; x
' K- [* ] K5 ~9 EDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" G6 d/ M! h$ k) v* Z( BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;$ t) g R, ?, `, V6 z5 V
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
# i3 Y; L4 [& cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 M6 z& k: _8 R+ c, O
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 j# d; _' l& ^* P1 }1 {Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;" `8 K* N4 H3 _* |
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! h+ F7 T/ B) x+ u) |. ^( b9 t! FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 F% ], K" U9 G9 N7 g6 Q0 wDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ `0 f4 x2 B5 ~
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( U' _* }. I/ h/ q: tDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% ~ n( m4 J/ QDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; ^- n- ]6 u) l6 i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* _2 u1 V3 z: ^; B
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) Z' f% [! P2 F! j; l4 Q3 m# }# Q
0 R' _7 b, D: Z3 V/* override diags mask for selected modules */# { J5 w8 y. l7 @6 P- @- |
xdc.useModule('xdc.runtime.Main');( p, Y1 z8 d I$ r/ \& W
Diags.setMaskMeta(
9 F; L2 H( v+ R! k, D5 K# Q/ { "xdc.runtime.Main",8 t( S; g, T2 ]( }0 W6 {6 W j! t' i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
) r8 V0 }- U( f- X8 y Diags.RUNTIME_ON
$ F, N2 p1 Y% u3 T1 B4 z% x- a);
+ `+ U% ~$ ?& W, L
& T0 a% Q; l s7 Rvar Registry = xdc.useModule('xdc.runtime.Registry');
2 q0 I7 V1 i% g. p0 v0 ARegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;7 d) Y/ ]0 h- L. f2 e1 \' _- g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;( u; Y* B. \1 r1 Z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ l+ M; Q9 Q9 V5 x4 r+ D
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
4 f+ E3 u1 m- S$ a( T' W3 C; a( F0 y f% r* R, A
/* create a logger instance */* | g8 t. i' i) Q2 O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); j- n; h3 S" W! r+ M" t
var loggerBufP = new LoggerBuf.Params();4 ?) a7 Y8 C1 @- Y5 ]& F8 Y
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; r1 L$ ^6 T) R6 XloggerBufP.bufType = LoggerBuf.BufType_FIXED;
% Z6 E% R. j. T4 L# g3 @- v# c
var appLogger = LoggerBuf.create(loggerBufP);
9 P, y, X& t$ z$ `2 AappLogger.instance.name = "AppLog_Core1";
" I1 O( c% [3 zDefaults.common$.logger = appLogger;" k! K% r% ]1 V" o4 y
Memory.defaultHeapSize = 0x8192;
8 O. e2 i; O! X3 t% Y9 wIdle.idleFxns[0] = "&LEDStatus";6 }4 A6 D2 w- a
Cache.initSize.l2Size = Cache.L2Size_32K;0 I! Q7 `* f2 U9 C9 w
' ^4 H6 y: L1 N5 W9 J
|
|