|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明5 e2 V9 R) j3 ?) b& @0 ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; O) D* U5 S6 \$ [(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) e. T- `) b% M% V, O
) b2 x- t; x1 t! X) ~* I, q8 Q是不是需要在DSP.CFG中进行配置
* M# \6 V3 x2 s8 h0 l$ ^3 G: v$ y我现在的配置为
# X1 a" f0 z8 t6 N' A) d! G: y9 g$ P0 l8 r6 {! ]) o1 U" z
/*& ^' c* H2 l2 V4 |& `
* ======== Operating System Configuration ========
0 ~" h. e0 r8 A$ o! I6 X/ ? @ v */6 V* N: s4 ^4 i/ E
! _ {; m9 i e
/* no rts heap */" J4 K% S5 }+ }- a; T& |9 b/ B
Program.heap = 0;' W. t4 R' v U/ ^. X: }, |
Program.argSize = 100; /* minimum size */
; B- t) D5 b" ]* [+ OProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大6 [. R2 _( |$ y3 ?7 L+ M. C
1 `0 y/ C7 `! Z# t- P! S$ n! t+ @/ P/* create a default heap */
% f7 b% p j9 Q" L a, ivar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, T% J7 T7 v3 H m- Ovar heapMemParams = new HeapMem.Params();
4 s( `7 m; T; Z' DheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 | x8 Z' g7 h5 N# f1 [" Y2 w& W+ d
var Memory = xdc.useModule('xdc.runtime.Memory');3 a' K: d$ m5 r. A8 u. |7 |
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
) G" ]0 v/ B: J1 ^- Q4 i6 B c- ?. u! ~% t7 O6 M& t
/* configure System module */
2 V5 O, T/ f9 a, X! U8 I9 L. fvar SysMin = xdc.useModule('xdc.runtime.SysMin');% C! X& }0 d4 D. [8 H' J: x
SysMin.bufSize = 0x1000;# h$ G! L* R0 m4 f7 D9 m
SysMin.flushAtExit = false;. ~) P- ] o: u" i' J! |+ R
# S, j! {* B( l) k
var System = xdc.useModule('xdc.runtime.System');, z3 r* I/ E* o5 [
System.SupportProxy = SysMin;
0 i( A* Q4 E3 T' M( h8 {0 ?9 b2 i! G5 y) ^; h7 [$ m& K
/* configure SysBios to use the lower half of Timer 1 */
* n$ v2 |# e) }$ F+ H8 S& Lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
# v! {" ~) w3 a; Y3 A/ {var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: Y, r ^4 o4 O( j. f# G/ ITimer.timerSettings[1].master = true;
M+ z1 ^: I3 zTimer.defaultHalf = Timer.Half_LOWER;6 ^' K5 P+ e1 R
Clock.timerId = 1;
2 k3 G7 v' ^2 Q/ M9 L g6 g9 G8 B3 |7 x
* F( _$ i4 n- F4 J
. d. p7 g( @0 Z; g& O& `' J/*
3 O4 v0 Z8 h0 j& T * ======== Miscellaneous Configuration ========1 C5 |6 p1 Y& h. b2 X/ d4 t
*/
: W4 z, ~5 U0 b* r5 h! b' F0 h$ t( J+ f1 P) H
/* set default diags mask */
# v% M3 q6 K1 W. r3 G6 e' n) C' kvar Diags = xdc.useModule('xdc.runtime.Diags');+ D, T1 Z# k! _; ]; _
var Defaults = xdc.useModule('xdc.runtime.Defaults');; L$ t& y$ a' Z7 J
$ ~7 }; _* M- wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ F9 y; Z, T; B1 G/ R* ADefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 Y, D; e2 I0 U- o8 z8 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 k* H# B" r- m/ b# Z8 r, b
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 `1 Y# M# U3 {* q7 F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& X3 n- p* r1 F$ [
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 ^7 S5 R. a1 Z& J
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 w' r2 J3 j3 _$ G4 \% ^" ZDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: `' W9 u6 k; |% f: D& p
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! h% t( m: M! }2 T1 {Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' E/ a& n" L0 X2 @( t: Z! PDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* [; t, b3 A0 E8 r2 Z; H5 JDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
4 `8 O5 x( f5 p5 K5 L* kDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 J5 R& M: p+ J7 s+ Y9 ^Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
O1 X* p) Q1 Q1 @- Q, X5 H
" ]4 E1 U- q/ p9 `6 W5 J7 H# ~/* override diags mask for selected modules */) M+ U6 q- {% |, M) N- ^* N
xdc.useModule('xdc.runtime.Main');
8 ]( z( ?) w2 V9 n# R5 bDiags.setMaskMeta(4 A3 N9 N: a& X* [0 L; j
"xdc.runtime.Main",
' {, U | r) U' p* g Diags.ENTRY | Diags.EXIT | Diags.INFO,( P0 ~2 q. D9 X, D1 U
Diags.RUNTIME_ON- Q9 @) _- R6 U6 Y1 |" t n. E
);5 R9 o0 W* o" ~- ?
$ e3 d6 j/ |/ X
var Registry = xdc.useModule('xdc.runtime.Registry');
* Z; |+ J3 d+ G, WRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" g5 n( T4 c! H, [) B
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;, w0 ?! K+ @) y @) `$ ^9 |# _9 f
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' M& \3 t, t0 _ Y% @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 d% L0 l1 i& i; ?% Y; O/ P, U5 G1 K% j6 {+ U9 M
/* create a logger instance */$ B; [, K4 c/ i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
! g$ k9 q1 a# j" p) h; |( Svar loggerBufP = new LoggerBuf.Params();$ m ~) M6 j, t: j
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' _1 Y7 B& y% `1 Z1 m* b, q& B
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
R0 B/ ^' b1 `( Q6 `* S, p4 @8 P0 q
var appLogger = LoggerBuf.create(loggerBufP);' ^- H! p" T. u3 E
appLogger.instance.name = "AppLog_Core1";
h2 ?. C5 Q% @# V! _Defaults.common$.logger = appLogger;3 g) S6 A- G& S+ q: O
Memory.defaultHeapSize = 0x8192;
) z& ~: q) Z! r1 p9 s/ Y5 BIdle.idleFxns[0] = "&LEDStatus";; a, m* k/ r J( u7 V
Cache.initSize.l2Size = Cache.L2Size_32K;
; b! z: b/ E$ v, f8 E5 H
0 A/ y. M$ |5 h3 v- P S* e |
|