|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
* C- h! u; w8 j6 {! \, d2 D: i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 ~( e! k. \: q7 j t- q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 j5 M; g/ K! m, p" T* v
) p( j/ F" j; Q& i5 l; r
是不是需要在DSP.CFG中进行配置
' A+ `/ s9 ~- @8 j- c我现在的配置为2 ^( J- E0 q# r) B* a& S3 E
, Y3 v! z0 O9 A! N
/*
' m* l8 T) G* `4 u5 K/ h; S * ======== Operating System Configuration ========. e( P; Z- P2 q, U5 a# p' q# ?
*/
* d/ u1 f, L; S9 ]& P7 {" S
& |$ {+ p0 t& F. y* R0 J' i/* no rts heap */
" O- o5 V$ z1 I6 [8 _( e; OProgram.heap = 0;4 a ?$ p8 K: z; U4 H7 b
Program.argSize = 100; /* minimum size */4 g: {3 i/ s0 h) W
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" ?- [# V9 S3 V" o% ^, q9 Y) A% N0 a9 f2 D
/* create a default heap */
0 U8 z2 w( Y+ cvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# u3 e+ _- A1 j; mvar heapMemParams = new HeapMem.Params();: Q3 ~5 Z* _$ ~7 h( q
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 Z$ `' z; \5 d+ i
* X, @8 \- y6 m9 E* hvar Memory = xdc.useModule('xdc.runtime.Memory');# {$ u. j6 p5 c! ]8 \# K- A
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. C: f5 n9 g' M9 C" h! i3 x9 L
" J( D& c& h1 e& t3 t3 I3 w3 K
/* configure System module */9 L( Y5 d _; s) r! k% a
var SysMin = xdc.useModule('xdc.runtime.SysMin');# f7 p6 o( _6 L' R, s3 X" K: \
SysMin.bufSize = 0x1000;, C. E0 ~# p$ `! q; F# v; u
SysMin.flushAtExit = false;
" j& s& `% B) A( l+ L6 U
+ j& R' _) `) Pvar System = xdc.useModule('xdc.runtime.System');
; Z1 a0 n9 K/ _* O! n, q8 iSystem.SupportProxy = SysMin;
$ C8 m8 Z R1 T4 G# h! X- _7 S. k
( P. [! a( p6 C+ C% N9 s% H& w+ w/* configure SysBios to use the lower half of Timer 1 */
" V4 c0 b0 G; l" i* d# nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! Z5 p- K1 V" U. vvar Clock = xdc.useModule('ti.sysbios.knl.Clock');; X8 h, X3 f# T( t5 M7 X
Timer.timerSettings[1].master = true;; v! f+ y$ `# |/ h0 r
Timer.defaultHalf = Timer.Half_LOWER;
8 x) Z/ V( I& W, vClock.timerId = 1;
( Z* K4 W7 L1 y L0 ^0 U
; L2 O C' Q! U3 p G
; C+ r# Y0 D. y% N5 U2 z! z7 p. ^/*# P0 k% x- o3 |. c
* ======== Miscellaneous Configuration ========
! m3 o1 s) L0 x! X, ?& O1 V */
* h' T, F7 h* V' P. x+ t4 K: |/ N" P. r! Q1 Y
/* set default diags mask */
$ ]. _% ?& a- n1 a( `2 p4 L! {; c% `var Diags = xdc.useModule('xdc.runtime.Diags');: ~. ^9 ?' ^: Z) ~
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 u7 D8 N" N/ g( W# g; s
/ m7 a2 x2 K/ h+ Y% UDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- \. [) [! l8 |+ a$ a& k& |Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
" U5 P) b8 @% @ [$ HDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
t* r; G' _: [7 q: ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* x+ _. p$ V+ ~, S A) N
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 n4 i3 J" E( I: g: m6 eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;7 e* k( Z$ x) D% |: E6 l
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
1 r ]& V5 ?2 R' fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* a% y0 A0 B N- v C
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 t a6 L3 P0 |% W% C. l4 z: x+ @
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;6 j: \" o1 b/ A6 r+ E g- f& { ^
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
2 |: P0 p8 C( q1 P- _0 h6 I3 i1 ]Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 L' y' o7 T& |7 H( U6 Y4 _Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) i; P% `3 D3 B9 a6 Z! ODefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
" h& n! Y& Z0 Z8 D& a; _7 N# ^" n9 s. C8 a% z# D! O
/* override diags mask for selected modules */
$ }" |3 k2 l% y& \' zxdc.useModule('xdc.runtime.Main');
0 U) a+ I9 ^% Q) k/ {Diags.setMaskMeta(
8 q+ f) r" q" w9 z6 E6 u. ` "xdc.runtime.Main",# E! ~0 H; O" B: X0 d+ W; ~
Diags.ENTRY | Diags.EXIT | Diags.INFO,) Y0 j- {# X0 U0 Z2 J
Diags.RUNTIME_ON
0 Q. e% R' d) U/ m);1 E. s4 U# k4 i0 K$ O8 s b
: f3 F$ S9 f- U- O' X, [+ Bvar Registry = xdc.useModule('xdc.runtime.Registry');" X3 N* s* o# F
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! E, W7 j$ N9 X! e: L2 [" E4 G4 n
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
Y5 u/ V0 M! o5 g+ M0 ^Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
5 Q- G5 k$ Y* V P( BRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# a) |3 I w# E# D' D; x8 b) n8 g
8 F+ T: s9 c( A/* create a logger instance */! i$ ~' Q+ _) K
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
]0 A/ b( |, D% r( s% y) E$ Dvar loggerBufP = new LoggerBuf.Params();# p' M( Y2 _- [$ f. \: S
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */6 T2 p. X; d8 j, M6 s% }" E: d
loggerBufP.bufType = LoggerBuf.BufType_FIXED;$ W9 h2 ?. n$ m! B# I
8 f* y, V; z3 b9 u2 Tvar appLogger = LoggerBuf.create(loggerBufP);
$ f& f- C( A: M* t8 kappLogger.instance.name = "AppLog_Core1";
( }. l- {! s# Z0 V RDefaults.common$.logger = appLogger;3 n0 v( S: r0 Q. {
Memory.defaultHeapSize = 0x8192;
6 E# |" h! v4 E( A: n% f0 XIdle.idleFxns[0] = "&LEDStatus";+ @- ~: Y' z) [# h# K8 c6 B
Cache.initSize.l2Size = Cache.L2Size_32K;' ?2 a7 V6 g0 R% i4 m# `" V; ~
* G2 P+ z0 T& _( ` |
|