|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明( c0 R8 ?' q3 v9 l
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
) c" a7 W* g9 Q% P% z& c. @5 ?(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& z3 n' { M! _8 p y
( R2 d1 y! i) }* e- ?; b. t是不是需要在DSP.CFG中进行配置5 M/ h4 g, ~% E, P& M% i5 C& s) }9 C
我现在的配置为% h% @3 u! P' b( g+ y+ K( U7 c
! f9 a- x/ Z) W4 f/ H4 N0 _7 {/*
+ ]* U/ G$ h9 r: x- ^4 q. o * ======== Operating System Configuration ========
$ J! X" B- q+ Q3 c( f# n) v( a2 H */
$ a& H( w; _$ [9 c0 ~5 N) _8 t2 b+ y- p9 S; u
/* no rts heap */
9 o0 R9 c) p( B* vProgram.heap = 0;' o* ^ M1 A7 O/ g% n& ~9 b7 }9 E
Program.argSize = 100; /* minimum size */
. E. M3 Y9 Z7 k4 i" |" A. eProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 Z% u' b5 n7 ^: \: L
' _: i( G I2 e6 Z1 ]9 T6 w/* create a default heap */
8 }& N8 G( D3 m! u; i6 L& g: svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% ]/ ~9 s0 ~* q; @1 r* j) Mvar heapMemParams = new HeapMem.Params();, I) j1 t2 s) C! \5 ~
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* `. u. `* ~; S, g$ i2 X5 E
( T, n2 L' D0 `% Pvar Memory = xdc.useModule('xdc.runtime.Memory');
8 Z. ?. i7 v9 l: j8 sMemory.defaultHeapInstance = HeapMem.create(heapMemParams);3 ]' O, M) P$ F# a: Y2 ^- e* M v
0 V; E5 C. b$ H+ S. t0 W9 F! C
/* configure System module */: \; j" u/ f# {# _
var SysMin = xdc.useModule('xdc.runtime.SysMin');( J; k7 W8 U2 M9 ?
SysMin.bufSize = 0x1000;# f- X4 q; g* I+ @
SysMin.flushAtExit = false;2 n& `( _4 N8 r9 A1 v9 W
8 \. T3 R1 Q) ] w- o0 svar System = xdc.useModule('xdc.runtime.System');
* X) q! m P- P; m& vSystem.SupportProxy = SysMin;
1 R# i) W, v0 A# @& c7 @" w" k- g3 c0 T; Q5 _: c5 I
/* configure SysBios to use the lower half of Timer 1 */$ G) K3 B7 T, R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ p' |+ @: c3 q; a: m9 S. ]6 ]
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# R6 J/ ^/ E- t! r' N) DTimer.timerSettings[1].master = true;
( r3 @8 n1 p: }' E Z( u2 sTimer.defaultHalf = Timer.Half_LOWER;
3 F- c% M. S ?( g/ rClock.timerId = 1;$ a) \ f& D) B
6 \# E" F6 T' i
/ U( E% J* s3 z# p4 y& \3 o6 O/*& V( X, `$ U1 X0 i% ~& t8 B; {9 l
* ======== Miscellaneous Configuration ========
1 Y+ ^( P0 p" h; E */; K2 T& @" E' a0 C, c* k) `$ x
4 v Q8 E k# U& h$ ]/* set default diags mask */# l( y# X8 b+ f8 j! u7 t# t0 G4 |
var Diags = xdc.useModule('xdc.runtime.Diags');
: M, H- N. O# e( i9 ~# Yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
/ X: L- ~7 r- [8 e S4 H5 c6 T: ]# i1 N: j+ l- t$ G* Y+ E4 p
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 k% W6 l1 a/ Y: u+ }) c6 u R* HDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
8 f# Y! G U8 ?) D4 WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) v: ?; c; G1 D. X( oDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- {- L. U2 ~* A1 B# c
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& k- X6 u! t; sDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;: R* T3 m$ w/ P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# W0 r" P& P+ M4 k. |3 c$ y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ |* P5 y2 P4 s, E' ? aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! |- ^9 o$ v" A( w( a7 JDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 n. T9 a: B [. ]6 b$ U
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;, {! L/ T8 @5 n9 d
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 Y/ {' e) e6 BDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 } v2 z/ a# Q! H0 o* K1 \ b
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& p; {4 ?: {9 `. S0 z
& ~' A* z3 e o2 t/* override diags mask for selected modules */( M, O! C2 @# G% ]0 w/ L# c
xdc.useModule('xdc.runtime.Main');5 Q: _5 j( N3 B1 u8 {
Diags.setMaskMeta() {; g$ P, u+ q
"xdc.runtime.Main",5 d+ G% }; Z" R: a: m q
Diags.ENTRY | Diags.EXIT | Diags.INFO,. k/ N. D8 _% A0 E- s. o+ g0 f
Diags.RUNTIME_ON! i, Q1 W" a2 J" u( M- I* i# x
);
3 e% B) I0 R! D9 s7 h! x7 i
1 c0 a5 b6 p7 B5 ?$ ovar Registry = xdc.useModule('xdc.runtime.Registry');$ _7 s9 N) h9 c6 x$ G& J
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% X$ [% z" A- i) A, N4 uRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 T/ ^6 ~4 C2 p+ V! l$ `$ N: NRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
+ X: k2 _# F! ?/ b- m, ?0 f6 r9 rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
# k' N r c5 J' ?2 b/ l! {% ?7 n
/* create a logger instance */1 \9 N% n3 h- n* [7 S. C
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
5 a$ s5 w3 l4 j4 a/ I' G" _var loggerBufP = new LoggerBuf.Params();
! c; S! N8 G; J& A% ]" AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 `) Z8 E) [3 H: v' [" j) q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ Q5 ?' B1 F; V) W. r' _7 G9 T
- d7 G" g5 l) G+ N( G4 evar appLogger = LoggerBuf.create(loggerBufP);' j* t! r3 O$ O' r( S
appLogger.instance.name = "AppLog_Core1";+ a, i$ j+ z* W4 J( w& e
Defaults.common$.logger = appLogger;
4 a/ e' ~+ [9 Z0 K2 Z7 bMemory.defaultHeapSize = 0x8192;
# d/ Y& j. ?. D2 Q) L2 ~Idle.idleFxns[0] = "&LEDStatus";8 v& U+ k' w1 T7 [. B* ^, |
Cache.initSize.l2Size = Cache.L2Size_32K;
/ |: u; ?9 B" a' H: c/ X2 J B; t" y( i8 E1 y) H
|
|