|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! H9 h( l/ i% T8 F2 d% W我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 H1 p& D: W2 I' I0 ?% t
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 f: R& n {, v# E) P
' o- j* F H/ S4 i' @3 i
是不是需要在DSP.CFG中进行配置
2 {0 b$ k" s4 K( L1 }我现在的配置为- ^: \7 h5 d \4 ~/ N" g; ~
" F2 T' `: l$ r
/*
6 F, z& T- M7 J0 l * ======== Operating System Configuration ========6 v1 s( M2 [8 D) c M
*/
4 E$ c; T' D$ u
; \% h" P1 ^ ]1 X# l, S/* no rts heap */1 c7 t! {9 [# N% v# q, f
Program.heap = 0;- z1 ~1 Y5 k7 f9 }5 i+ B# d- e
Program.argSize = 100; /* minimum size */- ^/ j/ N5 |7 X
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 Y. s- w( n* D# e7 K& A5 `6 N" _5 q& m: J$ H( z& p6 `
/* create a default heap */& i! s4 N8 d( \$ U- @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 ?4 b& U# Y) p2 a, O0 c; Z# h" r7 D
var heapMemParams = new HeapMem.Params();
- Z- W. I- g# c9 _. }/ a7 P, S, WheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 e, z: l& |" n; f j0 i: R1 D+ R% _
& X7 O. q6 [* d% V# R2 C( ]$ O" K& Nvar Memory = xdc.useModule('xdc.runtime.Memory');
/ }* U) \6 Y1 K, E% aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);" H9 L. O! c% c; Q9 m7 D4 e; l! y4 _
6 V3 d- c( }. e u/* configure System module */2 Y7 {1 K- l) O. |# m$ }# C
var SysMin = xdc.useModule('xdc.runtime.SysMin');+ @ C: N/ \6 h6 X
SysMin.bufSize = 0x1000;
: @" V0 j5 D4 GSysMin.flushAtExit = false;
1 `1 Z! j- x7 L3 K" a
% X& a& p' n7 u0 F# }var System = xdc.useModule('xdc.runtime.System');; K4 T* k! O: T d' R* w- \
System.SupportProxy = SysMin;, S( B5 @+ F( N$ \2 R9 c4 N& v
) f5 A5 n" \4 }
/* configure SysBios to use the lower half of Timer 1 */- V9 Q& f# ~. R5 V# h
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ y2 H2 c b* p! ^: `# m' e1 B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
, r" d) j9 d! J4 U( f. B' cTimer.timerSettings[1].master = true;1 w u" Y% {2 l, n7 B& _' _
Timer.defaultHalf = Timer.Half_LOWER;! d: Y5 ?% f) B/ T% G4 {% Q
Clock.timerId = 1;# i7 ^2 N' y2 P6 X
- y+ ^8 Y* L, J' {, v3 `" b/ A3 @' x) W& q
/*" o, m( p2 k% r) B2 z
* ======== Miscellaneous Configuration ========
2 @0 ~) ^8 j2 p, E6 q */9 |: K' d- Z; C
' v1 Z% }& s. P- V: r! u/ Q: v/* set default diags mask */7 d; T2 U7 n; B: @' G' K
var Diags = xdc.useModule('xdc.runtime.Diags');
; k, L e: k( q5 x* i5 hvar Defaults = xdc.useModule('xdc.runtime.Defaults');9 B9 O* i" `9 g4 Y) G* I
( d# i6 z3 b1 ~Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
7 i3 x- A' w6 i! h& v! kDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;% {7 H4 K5 B* Q4 L# ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;( a* x5 S% b' [$ j2 r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
' K0 {4 t+ G; wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */5 v! \: w* X& k) y
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! _- d- N( J0 Y
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;7 O4 A1 @0 o4 G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
2 M$ k& J& h& m+ D. UDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 K8 ^; M6 i- \Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;7 c; m- k E) a- o7 S
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: {/ b/ K& n3 FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
( A1 L0 ~' U2 Y- T! ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 a. L% B) G& O0 w$ S4 J( h5 M- ~3 KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) z3 {) C/ `. V3 b
' O6 N' _* Q5 S: b- g
/* override diags mask for selected modules */. t% n4 { P9 ?# j. ~* a, ?+ t1 y
xdc.useModule('xdc.runtime.Main');
7 X6 m" H! E( M: O5 y1 sDiags.setMaskMeta(
& e! X) S" h, L$ T "xdc.runtime.Main",
4 C: O( ]$ }( T/ } Diags.ENTRY | Diags.EXIT | Diags.INFO," W/ s4 z. P3 g! _+ c1 o q. q8 I
Diags.RUNTIME_ON$ B. M" F+ S/ ]7 v) K6 u2 _
);
8 _. V$ r7 {6 e* O: j
6 L- X/ o1 ?3 z) nvar Registry = xdc.useModule('xdc.runtime.Registry');
7 k# R7 @: T+ \( ^6 i! s: S' S. dRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;; M* G8 x8 I; d" _$ H' r/ }
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 I+ x5 D7 B. q. k% y+ }( N, Z
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;0 ]" V' a; V: U% S( J# l
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;: J Q$ j: |! V% H( a
5 l e3 [* ^# \8 `/* create a logger instance */
7 |% t! J1 A- l' Mvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ C ~6 g; y" H I
var loggerBufP = new LoggerBuf.Params();
6 o$ @6 R4 j* h+ X9 N; x/ yloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */+ Q W, n2 F' n) i, A ?( z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. X5 S4 ]7 F) V3 z( q( S: m. g$ d
7 \' B# B3 E& ~4 M
var appLogger = LoggerBuf.create(loggerBufP);
) G$ R: T5 w7 Z$ K3 ~1 V3 |appLogger.instance.name = "AppLog_Core1";5 [5 }' [' ?- _4 a. U+ Y
Defaults.common$.logger = appLogger;
7 _, Q0 R. y$ A8 y. bMemory.defaultHeapSize = 0x8192;
( J" v$ T4 p: e6 @Idle.idleFxns[0] = "&LEDStatus";: p3 f7 H: w: c% w6 P5 l9 c0 T$ e O
Cache.initSize.l2Size = Cache.L2Size_32K;
- h# O/ G. x. G
* s* v2 A/ E' ?9 s. m |
|