|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 x$ N( s ]" P+ r3 g# m% }* D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; r' N9 r l( K7 H
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. j( {, a( X1 O7 J2 J
5 X; U6 a, b4 |2 s6 a! [是不是需要在DSP.CFG中进行配置
$ N+ I* T- H* _& d" t8 `2 @我现在的配置为
9 q. ], s/ h2 z' |& c
+ [; |8 R5 ~/ o2 Q/*6 W- U4 l7 F* Y. n5 T
* ======== Operating System Configuration ========( w9 R# @; r; N8 U% J
*/
& q+ K. G& H6 {: F! e
* L$ s- {- s& @9 v: u# S# N+ a* S/* no rts heap */% s) A2 E! d" b# k$ j
Program.heap = 0;
, }" r8 y0 @- D1 {3 [- \Program.argSize = 100; /* minimum size */9 D2 P: \) z, p' J7 l* L* ?& v5 l
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 P' g( U4 G4 R: ]! P+ J9 U- f
/ L# }! u+ E R$ W7 d% s/* create a default heap */
1 S1 U% P4 [- mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
0 W! t& u$ w: a) E2 ]4 @var heapMemParams = new HeapMem.Params();4 f& p! O9 R9 H7 E# e
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 C; Y6 P3 I& x+ R% Z! r; J3 B0 L6 Z( D$ h0 O4 \5 l' M
var Memory = xdc.useModule('xdc.runtime.Memory');7 w$ T) E) p1 J; I
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 @3 l1 `1 [ _4 b# L) A6 z8 w! O& O# H/ g) ^# j
/* configure System module */' v3 A/ @' w! a
var SysMin = xdc.useModule('xdc.runtime.SysMin');$ p0 Q4 F6 H+ Y# `; y, R
SysMin.bufSize = 0x1000;2 j9 X( c/ M; f2 [3 z/ j. A
SysMin.flushAtExit = false;
0 }8 l* O8 S. d) l2 a" ?+ Z$ |0 T: |& M. J) N
var System = xdc.useModule('xdc.runtime.System');
: T, Z; R4 L/ R& E6 F+ qSystem.SupportProxy = SysMin;( v0 H* `3 l5 E0 k+ K4 U% z
. ]8 [# Y3 `/ L, X4 f/* configure SysBios to use the lower half of Timer 1 */- X O* l( B2 v# X4 ?
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');9 n; |3 X2 E' G& f/ Z% U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# w4 O b+ G8 q8 X4 }' YTimer.timerSettings[1].master = true;
: V/ H1 D; Y4 ?6 YTimer.defaultHalf = Timer.Half_LOWER;
: Q6 K+ N& @, H6 J9 j% U( VClock.timerId = 1;
% g/ J# u4 n2 l+ N1 V. M, b8 f- `6 z" u; B* D) t7 c
2 O4 H( L5 x( S
/*0 c9 p# Z$ G% o3 U+ ^
* ======== Miscellaneous Configuration ========( Y+ F( w3 [2 J
*/
: f3 V/ A# s- E/ P! E% ~7 A. s1 ~
+ y& V2 d" u: `5 g' S% K8 {/* set default diags mask */8 A7 }3 G* c; i! G
var Diags = xdc.useModule('xdc.runtime.Diags');% s. `* u4 }# M# ^( u' {
var Defaults = xdc.useModule('xdc.runtime.Defaults');8 c) O* }6 I9 U {
, \( t' c) J' j9 C8 P! V
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 X$ Y; X' X6 T4 F$ `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 V+ g7 l' _6 u5 ~! x1 p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; y F* B" h% V+ hDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 k6 {" A9 c7 S, o Y' O, A
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */* x/ p, S+ C( X; r
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
% z; G4 a2 L1 aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 h8 f: e: b l7 S% ^ M7 L9 C
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" _& [6 p+ j' ?* R, z4 SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 A5 l/ K4 W* ^6 {' G3 b. [Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 K: Y* O: g' @- u+ I5 P# H: I+ nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
) p) W$ N/ h, {2 ~# ^: n$ g" E+ jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
$ W* T$ ^8 f) x! V1 j) K' b) NDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 {0 v: `# `6 [/ K$ G
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
, |+ k ^* `) R n1 R7 S' U4 ?" ?% k) d/ L- i/ ]# U' z: `2 _
/* override diags mask for selected modules */ h- N: X9 X7 f# y5 E; \0 g2 {
xdc.useModule('xdc.runtime.Main');* j' x% ?8 t# X
Diags.setMaskMeta(
$ Q% q! D; ?' j- f$ Z; i "xdc.runtime.Main",6 G/ L& r! l, d$ r' d1 N+ X
Diags.ENTRY | Diags.EXIT | Diags.INFO, u/ Y5 @( e7 f& x
Diags.RUNTIME_ON* G; Z( Q: J( ^; k, Y4 B2 A
);1 H/ }5 |4 ^5 U! C
/ Y" f) C& _2 i0 k
var Registry = xdc.useModule('xdc.runtime.Registry');* e8 _7 R' Y7 F; f7 P' `) z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;5 Y! R( o" a7 z5 X. A8 @$ P
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% Z+ I/ Y3 r9 U2 _Registry.common$.diags_INFO = Diags.RUNTIME_OFF;3 L6 z0 }. t4 t3 ]1 |* \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' E# \/ C; }6 Q' u( u2 R% s
3 j F$ M, o* [5 c4 F( E$ X) o& |8 u
/* create a logger instance */* N: O$ t: @( Z) j& U2 q0 b v, U6 f
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 b7 ~2 z. ?- @- f ]+ H
var loggerBufP = new LoggerBuf.Params(); U! h! g" y6 r# Y) i2 L9 z' H9 R
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
+ A, B6 ?$ w ^4 i/ q: ZloggerBufP.bufType = LoggerBuf.BufType_FIXED;. d2 q* ?" j+ r/ K4 A$ h
7 G6 `2 ]2 o, nvar appLogger = LoggerBuf.create(loggerBufP);
$ p+ R5 f5 p. L4 |; aappLogger.instance.name = "AppLog_Core1";
4 s5 J& ~% r% }' EDefaults.common$.logger = appLogger;7 T" G2 m/ x! t" K9 K7 z
Memory.defaultHeapSize = 0x8192; & l7 ]- a$ X& l9 _6 @ t3 |
Idle.idleFxns[0] = "&LEDStatus";
, o+ P) {- P7 B1 a2 r5 WCache.initSize.l2Size = Cache.L2Size_32K;
, E* G# c3 v; W3 b) j* Q
4 V% C7 {9 q0 x1 P4 i |
|