|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ [6 P9 V$ q3 ]2 w; r4 d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ V) y, f$ N- Y- c2 g
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ L: q! H6 J+ Y/ N3 a% n9 B2 V% [
' L, y& y( F$ Y9 r# _是不是需要在DSP.CFG中进行配置3 l" k! i6 W3 b' j: m- k, g* a4 R
我现在的配置为( x: h! B* u7 K' t9 Q( ~/ v
F% G% l& b5 ]; _" H
/*
% [6 w7 @# H4 W4 |; T8 _ w1 J * ======== Operating System Configuration ========
- I& `8 c+ s! z */0 `; I% i# s' I4 r ^$ ^
. ^# Y+ R+ U9 J2 G7 w' a
/* no rts heap */
4 V7 C/ L w) ]6 c( m( NProgram.heap = 0;
9 z6 r& y) I2 I8 c/ n! ]3 j- a- v3 uProgram.argSize = 100; /* minimum size */8 T5 ^' h" q g" O+ j% k
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大1 U6 t* O4 l; P1 I* u
. f/ O) {7 h2 B: Z- g& e" o
/* create a default heap */
8 h# q2 a9 F8 ^6 v8 T. W! V& N" ovar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* K" g( a& G1 T( Q0 ~% R
var heapMemParams = new HeapMem.Params();
" Y/ d N" p' V. L. zheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, u8 X+ Y- n4 j6 E/ y$ S8 d( X/ g! a! r
var Memory = xdc.useModule('xdc.runtime.Memory');0 ~, `/ g# L* ]
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 M, D5 U9 n3 T
1 ^) y( t4 b: m) m/* configure System module */
! X, H% h5 c3 y! `$ f- Y3 `var SysMin = xdc.useModule('xdc.runtime.SysMin');
- ?; J2 h9 p; A- @SysMin.bufSize = 0x1000;9 E8 I9 f! j1 t6 f; ]* r/ `
SysMin.flushAtExit = false;
. J$ }2 s5 w+ Q4 ~2 S
) p2 [( G' O$ H7 ~9 y" z9 ^! @var System = xdc.useModule('xdc.runtime.System'); ~3 ?3 \9 ]! f1 [9 u5 P+ T2 E9 [
System.SupportProxy = SysMin;
5 @ Y# s" A p1 Z& R* _% e
8 a% A, c$ W3 U$ s3 O% ^0 c/* configure SysBios to use the lower half of Timer 1 */( a9 V6 ?' _* P" y! \/ P |4 P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* K! X! O F: h7 X9 D- A4 svar Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 Z+ b n5 J* Q7 u# Z& y% jTimer.timerSettings[1].master = true;
. j, w' v. R4 |' _' x" W' Q8 pTimer.defaultHalf = Timer.Half_LOWER; D/ q5 t# M6 G0 d# A6 y
Clock.timerId = 1;
0 g0 F8 [+ \$ U8 b
2 c; [( ~' \) z6 U. \
) s: ~2 @0 |3 P8 [7 R/*
3 f' X F v. ^+ Y; X* t1 D * ======== Miscellaneous Configuration ========) f& z3 B0 n( g3 i( e( F4 ?
*/
" S( I4 _* s" t! [; C2 m D% t3 h" G2 l0 T- C
/* set default diags mask */; r4 [# H: c' p3 G
var Diags = xdc.useModule('xdc.runtime.Diags');
1 ^! E) d6 L; u7 k7 Bvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) p) `9 @7 G! F$ Q T2 O6 |" o( Y# E) o' G' T1 S
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;$ p: R7 a. N/ S0 N) W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 v' y7 ^% M; @1 t0 z, ~" m& G1 f
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;' Z+ ~4 z! H( B. V
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- H, T) U5 k2 s% w0 Q% S
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
W: f" h/ S4 _Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 ^8 [# g% S D3 R% `* ^$ cDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. y- M$ ~7 B- p) D7 H4 ?% i- w; z* ]
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;9 w! c q0 N/ l2 f& S4 E6 h
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;2 Z2 V i7 C( u, G8 Z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 H2 N5 r7 s; c$ W7 s/ N
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! h& \" d$ H/ o; U; jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;2 Y- q* ^% f! m8 D
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
0 _8 F( h! {, ^1 s3 HDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; k/ N; l/ e% v3 r- p5 s2 `% g
* v7 m) b" z/ U! O, A$ a/* override diags mask for selected modules */& q6 R) f5 [1 W0 c! x/ P3 ^
xdc.useModule('xdc.runtime.Main');3 q1 D* d* g- K
Diags.setMaskMeta(/ f+ d' u) H* ~) f& ]4 v' C1 H
"xdc.runtime.Main",+ M% z, O* x0 `0 r: j* B6 ^
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 L5 ]( N/ B0 x- h" W! ~$ A. ` Diags.RUNTIME_ON
7 s x: ]( a& `; e& u/ B/ k9 b);
- B1 v, W: }" O2 m5 r2 }/ _9 q u0 |1 u# e; a
var Registry = xdc.useModule('xdc.runtime.Registry');
3 _: i* b2 C9 j1 Y4 l. hRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;# N7 z: ^& F/ M: i' a! u4 I
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 H7 }+ M. g; _% u& j
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; U7 }8 `* B2 Z+ T( `) R9 p4 O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 ^8 T- o- y; ~3 m8 Z) L3 }- S" b
; c# B' j5 ]' ~4 i! p w8 k
/* create a logger instance */. m2 }$ P( ^/ ]1 w8 Y _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. m4 O2 Q8 `% d) X7 X5 m9 V
var loggerBufP = new LoggerBuf.Params();8 t( }0 V9 ^5 V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
& P& ?/ C5 Z; S# `! }loggerBufP.bufType = LoggerBuf.BufType_FIXED;( e/ I+ A0 a i* m3 z
- ^; Q6 E j3 e; Z2 S2 `# bvar appLogger = LoggerBuf.create(loggerBufP);
( j# G! K2 d1 W2 r* VappLogger.instance.name = "AppLog_Core1";' J+ c" Z) o& l$ V5 J. \6 }9 t1 o
Defaults.common$.logger = appLogger;+ n2 X w5 M) T) ^+ I5 k
Memory.defaultHeapSize = 0x8192; P. W: [( x% J, E
Idle.idleFxns[0] = "&LEDStatus";7 n( |) d! _8 i* @* w
Cache.initSize.l2Size = Cache.L2Size_32K;
; A( U3 e i$ E, E4 z* k$ s, ]
5 E6 [5 y/ @1 {' F# V; o |
|