|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* R$ n: T3 ?* S5 [2 \# J: ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
$ g0 c2 C/ S3 V' O(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- v' q7 C4 s( U) B0 x. H) [" ^, J. T( e
是不是需要在DSP.CFG中进行配置
5 Z9 u$ k6 p+ o- T, Z+ ?我现在的配置为2 ?) O+ |! E3 Q( \" m4 b
; F# H8 L* z5 C: q# Y3 n; B
/*" g) d2 Q3 ]9 f
* ======== Operating System Configuration ========
; V! T7 X7 v9 t9 E1 t */- A) S% H7 h' m D
; s0 @2 \0 |- S" [& M/ f% F. W
/* no rts heap */' l8 D* W# t! q
Program.heap = 0;
. @0 k( C2 H8 E S3 P' B4 aProgram.argSize = 100; /* minimum size */
# _: x( n1 Q _Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大+ n: b) j( M' A, z1 s5 X
5 N( Z# U, v9 i
/* create a default heap */
: `$ M& C* v/ lvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ L, T# m7 ^3 b" T6 Q$ z
var heapMemParams = new HeapMem.Params();
6 P% G" r* P" S& T/ YheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
# A# H, F6 l4 u7 k. T/ u+ E2 |. F
var Memory = xdc.useModule('xdc.runtime.Memory');/ p2 L0 q( d$ p7 \3 a4 L. m/ {
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);$ }0 ], b! Q7 Y V3 H& f
9 Y2 p- q2 }0 k& T/* configure System module */
8 O* y! a5 p1 i! fvar SysMin = xdc.useModule('xdc.runtime.SysMin');
# j4 d8 `) t' k, U- Q. \& WSysMin.bufSize = 0x1000;' |9 F1 @0 J9 d6 X( M4 q
SysMin.flushAtExit = false;3 j$ p( {. i1 a, h: ?" d- N6 U" V
8 T# Q" P' I4 j6 Jvar System = xdc.useModule('xdc.runtime.System');$ ]4 z/ U! i- R
System.SupportProxy = SysMin;5 w9 H9 {, h0 K$ d- O( }$ R* x
$ z. b# n+ Z. I3 H+ s
/* configure SysBios to use the lower half of Timer 1 */ C$ v2 L% Q2 w$ Q, D
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');) v( D' @" y- J9 S, V* Y1 S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) c3 ~9 }7 o& P m
Timer.timerSettings[1].master = true;0 a2 a& q/ {, V+ C
Timer.defaultHalf = Timer.Half_LOWER;. _) B) {: ?( j8 [
Clock.timerId = 1;
$ r1 U0 b" M% u R: ~' j
0 l1 n C8 q. [) b1 s
( q, T+ H% M. U [2 l2 \/ f: S3 d/*5 o+ U$ ~, V! y' b& a, p5 s
* ======== Miscellaneous Configuration ========2 x( w0 V: ]& `3 E- h0 O
*/' C; T( g" L0 G6 H: ]! s" ^" B c
8 m% V0 ~ y- D
/* set default diags mask */
9 V, u9 Z6 a$ b- a! Svar Diags = xdc.useModule('xdc.runtime.Diags');
% r" B8 i& J" o+ V' j: d) Tvar Defaults = xdc.useModule('xdc.runtime.Defaults');$ y7 ]3 _0 k/ [- g$ }
0 ^' B( l6 ]5 b! [" f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 D6 N/ |. n7 z$ Z/ b7 U, W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# W0 [2 e& N0 D# Y% v9 L# _* g6 WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;( p# _7 X% {$ S. Z3 a M
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ h7 v$ Y7 E3 @( [; wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' v# `' {) Q. @' r3 D; g
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 A9 @3 E! }. m% PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;' G: O% J4 Z& k5 o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 i. W. l5 ~& M0 [. }3 u; p2 w
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 Q% D2 F! y6 d& H0 SDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
" W% C6 H( A, e( m- c* I* DDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 ?3 I4 D! G5 l( |2 C& c( NDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) c. V/ y, J% Q3 ~8 y4 l- RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# Y3 \5 _% R& _* V2 d2 z
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
# h% q" e' X( T5 K9 k* B4 N* z9 _9 p' m& O5 F
/* override diags mask for selected modules */# H t$ n% d6 z
xdc.useModule('xdc.runtime.Main');
7 I8 k2 G! ^2 ~( j- \Diags.setMaskMeta(
' h P% [% F' Q. l% Z7 a5 r. e "xdc.runtime.Main",
% Y5 n8 l5 G; \! S" }+ B/ Y Diags.ENTRY | Diags.EXIT | Diags.INFO,3 A9 n; g6 ]7 `. J$ Y& [
Diags.RUNTIME_ON
& `2 {4 T: n/ ^8 c4 D1 k/ n! y" T);8 ]/ t3 Q" I7 x4 e3 r. O) g, H1 M
2 @# ?. C3 J. [6 O! Kvar Registry = xdc.useModule('xdc.runtime.Registry');
! o( Z q {! d& D! VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 Q+ X3 g* ]5 r* a5 y' lRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. w, u: E( I& \& M4 v! g
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;) U: e: |9 l- L
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
! I6 f( i8 n; N1 C! n; C( B" {9 b/ x8 Z: f% \, I: {) s
/* create a logger instance */
. |% v1 {7 d7 Z/ B) `. ]5 O- Bvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 R9 g/ F* S+ s1 G2 G/ A/ E& B- T% Ivar loggerBufP = new LoggerBuf.Params();7 ~8 T! M0 n* ~. W/ i+ Q. ]. v+ f
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. R2 h _6 {% |# T0 a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;+ w8 d, o+ B4 y. @
( V* w0 l% a7 Vvar appLogger = LoggerBuf.create(loggerBufP);
! ~) Z! L+ \5 c' m* |appLogger.instance.name = "AppLog_Core1";: w' t# B: E% Q& N4 j
Defaults.common$.logger = appLogger;
8 _' w$ }3 ^& Y4 ^: JMemory.defaultHeapSize = 0x8192;
) ?- ^! g+ a. u6 s; ? K$ }Idle.idleFxns[0] = "&LEDStatus";5 l" ^: t9 ~+ A' W4 O! I1 g% D
Cache.initSize.l2Size = Cache.L2Size_32K;
* s! q! H1 u' X" ~. d$ d3 ^0 @) A" Y W$ R% u1 X
|
|