|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, y" ]6 B( t+ r1 l2 B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 V" g5 a8 J# T& O6 b2 r7 s
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
+ y7 [& i; S' u! z/ a! S3 ~ y9 P1 k8 Y5 ^3 l4 s, O
是不是需要在DSP.CFG中进行配置
6 e3 R# `, Y' Y2 n n% j我现在的配置为
5 T j4 U0 p/ K6 h, b/ R+ z( R' `0 R5 t4 @# _7 C x
/*
# y$ K! n8 I3 l4 N. C * ======== Operating System Configuration ========; ~0 O% o* u/ Q) T! P1 l
*// V I( I h9 q) e% C' G
- t7 _5 |# G; y) n. V/ Y3 h
/* no rts heap */7 \) b( r$ n/ b/ K
Program.heap = 0;
# ]+ o5 Y1 _7 G7 K( K8 Z, AProgram.argSize = 100; /* minimum size */
1 P- ?- K8 Z0 R4 PProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
1 e* [. P0 c+ j9 c) }( D, y1 @" c' }( W
* Y# f; q. b. V$ Y& t/* create a default heap */
4 }9 ?5 Q; Y! f5 ?5 Dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 q' X; L- Q* s7 W: q
var heapMemParams = new HeapMem.Params();
2 Q3 k7 I- ^2 o( Y/ W7 T) IheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) E: E. s1 U$ v+ h) C2 [' n3 b" Q
; R& u5 [( j; Z; l' y) u
var Memory = xdc.useModule('xdc.runtime.Memory');/ F1 W# e2 Z/ r. y1 O
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);6 p/ R! L: D+ j
. h3 [, L' j% F& R% {% Y2 F& s/* configure System module */6 H" v$ Q7 p- A0 Y/ g
var SysMin = xdc.useModule('xdc.runtime.SysMin');
5 i8 O8 l. c1 V( f5 l3 Q. b: F( j6 i0 [SysMin.bufSize = 0x1000;/ W% G% ^$ g2 {. L H# v0 c7 X/ O
SysMin.flushAtExit = false;8 p! L! ^5 x0 o: F
+ g+ a# y6 O8 ^" f4 z4 Q Vvar System = xdc.useModule('xdc.runtime.System');$ j# n! m6 { v# [9 @% w
System.SupportProxy = SysMin;
+ j0 ]' K/ }& N6 F* E; i8 d9 G( s% ]* s4 [0 u0 l4 | J9 e
/* configure SysBios to use the lower half of Timer 1 */ D* i, N4 V; _7 b! p
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
" S/ y4 [: i. @: [- J" T+ O! Avar Clock = xdc.useModule('ti.sysbios.knl.Clock');) i L* Q9 f9 N2 t* |
Timer.timerSettings[1].master = true;
0 j3 b! T1 R9 S/ eTimer.defaultHalf = Timer.Half_LOWER;3 | [$ V: k+ S% B% M. J+ v
Clock.timerId = 1;+ V5 e8 J1 e/ q+ e+ ~1 f. ~
- U8 X# c" q$ I# O4 w# E f
# e% F# Z7 C* j! A {0 ?
/*& g% }+ B# L9 R- X7 o
* ======== Miscellaneous Configuration ========) I1 @2 i* P! E6 Q' V2 M7 W
*/
% _8 N( R0 ?5 \8 y7 J) t8 @' E: t9 t2 ?7 \" Y8 a4 O* J4 U
/* set default diags mask */1 }7 I/ ], `* k% D- ~- \) H
var Diags = xdc.useModule('xdc.runtime.Diags');
8 F/ `- k+ R$ o% Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 A+ A& p) p8 j! E& `) Z) E
6 R0 ]- @0 T- Y" J) g* [% N6 jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
, K3 |) j' u* V( S; ?) \Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 H/ I9 i( w5 d- e- T9 a3 F. p
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 D; F0 Q N3 G& H. cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! E- s2 }5 a$ m: |0 |" }Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */! P" D' m1 i% Q, s6 O. b
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
Q/ P i- D1 {4 o* S/ oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;" M+ q7 Z* h7 N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 k2 ~3 q. b* P% fDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- J7 y0 p% y0 Y6 |" q. l
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 X+ f" B" M# {+ t* ?; J& ^! Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;1 `* g8 ]% E" k! ]. I' m
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
& A! V% S. G9 P2 z0 K- UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ z5 H, X" W3 SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;; ^+ o) \& k% |* ^* ^5 W& J
1 P+ \+ N" B7 g j8 P9 f% g% M
/* override diags mask for selected modules */
7 D- B4 ?- g. k8 I9 _xdc.useModule('xdc.runtime.Main'); t& |6 z2 x) s! l* X( e
Diags.setMaskMeta(
/ |2 \" C5 `8 w! p1 | "xdc.runtime.Main",$ V3 |% t5 H7 K1 {3 a1 L2 m. O k$ t
Diags.ENTRY | Diags.EXIT | Diags.INFO,
' ^; ^, |1 r. O8 n0 t# p1 I Diags.RUNTIME_ON
0 r# K- z7 d4 I+ [2 a7 X/ s! n) T);
* O6 r0 ^9 U0 T" c# z+ R8 m
2 |! z. o Y0 Q% |2 K- F4 fvar Registry = xdc.useModule('xdc.runtime.Registry');
7 P) d' ^% w3 T+ H- `( f& i3 oRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 ~; E- o) f" cRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. L# J% p6 s/ j, DRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;9 `3 s; x" l8 }' t# u m3 _2 X* w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
3 Y' Y7 T& p6 d) o2 J4 s. J0 _4 t; \: `! p, s( K& ]) e9 S4 K
/* create a logger instance */
: | m; c& @8 v0 l; h% E6 Zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& u4 p% e( @2 N; h$ y4 X; Fvar loggerBufP = new LoggerBuf.Params();
4 y6 ]+ h& v) C/ IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 m$ k7 f6 _# U) ^7 I1 ~$ ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. `- Q0 ^* _1 L! ]2 h3 d9 O! K8 {" v! J, y
var appLogger = LoggerBuf.create(loggerBufP);
% N. z; ^3 r+ ~# W# S/ p; ^! iappLogger.instance.name = "AppLog_Core1";3 _: i; ]. r9 g$ x# a
Defaults.common$.logger = appLogger;! [/ ~6 d9 A3 C5 M e, K- t
Memory.defaultHeapSize = 0x8192; 0 r) E3 ^/ q# ?6 G
Idle.idleFxns[0] = "&LEDStatus";
|9 H, z# J% {1 w( ?9 d3 z& r( C% jCache.initSize.l2Size = Cache.L2Size_32K;
9 Z3 ~: _5 D( c
_5 a! H. U9 t7 k8 I |
|