|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ `) o. v2 c( l6 {) L; w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下( L2 Y$ F q9 C) H; c6 y' e. a
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)# E$ h: ^" R+ F+ `3 r; \, g
2 \- {6 O$ V: T$ n: u0 R1 L
是不是需要在DSP.CFG中进行配置
( a: N1 p$ A/ |4 J我现在的配置为% ?" U; Q3 x6 T5 Q" N
/ k+ T6 ]; Y3 Y' Y. T/*
g: w" F1 H7 _( p, E * ======== Operating System Configuration ========
1 q4 |1 v4 t1 X/ p' }& S */& U" J3 E* p. u1 \' K$ t
2 g$ Z6 R* l {
/* no rts heap */
% r6 a. e: b- f# yProgram.heap = 0; y0 Q; D; E8 _6 E
Program.argSize = 100; /* minimum size */- t9 v4 w- s4 y% k% O% K
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大& A0 ]6 f/ ^+ F9 ]
! Z b) g! D/ x% C: Y/ e6 v% f% {
/* create a default heap */( t6 d: i2 V/ K
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! {/ g" t/ ]' Y9 A8 k
var heapMemParams = new HeapMem.Params();
. {: ^5 O; T; k1 V& `) n+ VheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大' ^3 b- o" [/ o
+ Z, [: e/ P# J
var Memory = xdc.useModule('xdc.runtime.Memory');! I% M5 S6 D/ ^; f
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& x" T1 O7 i% h, l% e
- |/ ~9 G8 K$ Y6 C/* configure System module */7 t" {+ N& C1 J
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 N' e/ U& Y! U3 Y! vSysMin.bufSize = 0x1000;
" Z" x* Q0 r; i; p) O8 U! q* GSysMin.flushAtExit = false;# b8 v1 l0 |6 X) j+ G
! s$ j- K8 @0 x
var System = xdc.useModule('xdc.runtime.System');4 o5 p! A3 v' S7 [) Q
System.SupportProxy = SysMin;
- j: w: B) [7 p8 b! b3 X8 T: H' y+ v# G
/* configure SysBios to use the lower half of Timer 1 */
1 V& c/ Y. ?+ L2 g- H9 x$ ^1 t3 l( q/ qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
) l: P- V% l, a, Q7 Z3 x! P0 s5 S$ [var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# r- q, m; X- Y+ _) A6 n0 S! C" UTimer.timerSettings[1].master = true;- t1 n6 l7 N- I) o0 o l
Timer.defaultHalf = Timer.Half_LOWER;
6 |% A7 Z1 U6 Q' ~Clock.timerId = 1;1 i l+ d# ~" |" R$ `
* m% p. i0 `+ E; ^
1 r n2 t1 W7 v! T8 @) x/*
6 l5 P' |# ?9 D * ======== Miscellaneous Configuration ========
* ^( K, D! Z+ U; r3 c: T) k7 f */9 p, r+ @# A0 |. U g
! l0 q6 u$ o7 Q+ h0 |3 }
/* set default diags mask */
5 m! U6 u. u+ N9 `var Diags = xdc.useModule('xdc.runtime.Diags');
$ W2 c+ | G( ]) Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
3 p9 p1 Z* A) r; t) k" V1 N, ?2 T
u {0 B/ s1 Z& Z. p& }/ e9 CDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: Q( C7 U. O0 x; ] _6 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
, Y3 O( B( O) X' `+ I% [0 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ w. R1 A" d; t6 j9 ]6 p) D5 O
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
* B; `" H5 |3 B9 c5 j; [' Y, dDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) ]( `7 B- K4 O5 y1 FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 X/ R% W; F. [8 S+ t8 Z: B3 [Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: W$ }0 @: H1 V
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
, t# Q5 V' X% I, [' Y, uDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
5 k2 g. ~1 U' z% o- L& V0 G2 PDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, g X* ]- c0 x9 O6 k( Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" I0 d* ]+ H4 P5 n- kDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( `+ ]# ` V0 _* PDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;& M* c7 ` l1 s1 {
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" G( ~- x5 a3 S/ F
: q3 D% @+ ~' W, q% v2 S0 s8 w; g/* override diags mask for selected modules */. z5 ~; ^8 ~! J4 w
xdc.useModule('xdc.runtime.Main');
6 z3 R! K* k# w" S, X, q$ zDiags.setMaskMeta(% [1 n9 a% f6 J2 f8 j1 T
"xdc.runtime.Main",- T. y. c4 B. C
Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ p* {9 U2 t( _2 U. ^) n, r Diags.RUNTIME_ON# u5 A1 d8 O: K B% P
);, I* }2 S4 u9 L& v# L0 `/ H" {) K
- ~. `! J4 K, m3 Bvar Registry = xdc.useModule('xdc.runtime.Registry');
# i) y9 o/ I& B1 f. Y! H; h, [Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
; [" _' U G% WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;+ V9 E( {; A$ M, X) Y4 T
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
& ^1 h) `* v {' fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; ^9 @" g1 m1 }$ S! Y7 `# U: r+ l9 v0 F! a8 ~ }
/* create a logger instance */* ]+ n' {& N' x7 [! M& h# S7 N
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* O7 V; Q; T5 d9 B0 O% P
var loggerBufP = new LoggerBuf.Params();
R N' n1 g% r# ]loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! A f4 I1 S1 E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ O% y$ O) N: I$ c
: I9 T& S" K5 Yvar appLogger = LoggerBuf.create(loggerBufP);
6 m7 j) a* J2 p8 k. ], \' E5 P6 gappLogger.instance.name = "AppLog_Core1";
5 P: q, Z2 R4 R5 M* MDefaults.common$.logger = appLogger;
" [- Y+ S- s2 v9 m" R3 Q, Z( A( OMemory.defaultHeapSize = 0x8192; 7 X4 B# w! j" h) w" e; b9 x
Idle.idleFxns[0] = "&LEDStatus";
/ J" P& z* H5 b' w9 ~Cache.initSize.l2Size = Cache.L2Size_32K;
1 P5 k/ D1 R! g. J3 i( t: [7 x3 i4 Q& B0 [0 Z c( i
|
|