|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 B/ R! T q/ p" h' ` @
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; e1 r6 j: f& X2 {! `(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 O+ Q8 _9 c' Z/ i8 k2 X$ \- U% R1 A4 j$ B
$ \: b$ V. u- [7 V8 D
是不是需要在DSP.CFG中进行配置1 T) q8 C$ q+ n
我现在的配置为* n. H# u0 y8 k6 X% D) u' k" x
0 u& ^0 C) l1 u/*: f& w- r$ Z! u
* ======== Operating System Configuration ========4 R3 z1 L0 S* `# \& ~1 W% s7 P
*/
+ x' t/ W' |( M! W# g4 Q; T" U* ]7 r9 A& X9 {& _$ j( t
/* no rts heap */; y. n" Z% z! m
Program.heap = 0;$ y9 v0 y5 a! b( }, Y; K' F
Program.argSize = 100; /* minimum size */
, A+ W$ T' m: [) AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# A" Q3 w8 {5 {/ o" T( U' G0 ?; J% q6 X
/* create a default heap */
7 F. c0 y2 c! s+ \2 p. x" t- R5 Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 o& C; X% Y% \6 F
var heapMemParams = new HeapMem.Params();
$ G, P! ~& E5 {/ {7 T S Y( jheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 _% Z C/ m; C# E& H8 A8 V l
- k7 m3 q6 G" x. i2 c# Yvar Memory = xdc.useModule('xdc.runtime.Memory');
- L" R$ h& f: P4 `4 }Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! c3 K' Q1 i2 p7 n. \1 x( C# A$ m/ c9 e- ^2 r
/* configure System module */
; K) ~; A% P& n d5 F/ K' O a( }+ Dvar SysMin = xdc.useModule('xdc.runtime.SysMin');" p: R8 V8 ^/ N# ^4 W
SysMin.bufSize = 0x1000;
0 {* }; y, _% R/ @3 f5 v5 b3 VSysMin.flushAtExit = false;
# ?. J+ @! W! G3 K: g4 w* W( c: J7 ^
7 x5 m0 H# e5 d& D# n6 R3 X( Lvar System = xdc.useModule('xdc.runtime.System'); {, g4 t7 X; c/ G4 v- Q
System.SupportProxy = SysMin;& B& f/ R7 c! J+ P1 T- F( |
& O y+ [( P# w! L i/* configure SysBios to use the lower half of Timer 1 */
( n$ k0 C* P4 m3 ^7 T7 w, cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 _* [! X& ?; u. }1 C
var Clock = xdc.useModule('ti.sysbios.knl.Clock');1 z1 A( @2 Z) `. F1 z7 h
Timer.timerSettings[1].master = true;
4 I3 f9 ]% C6 [* m3 d) |; WTimer.defaultHalf = Timer.Half_LOWER;
& Y( N0 ^" F1 [( y5 s0 e; P. h! HClock.timerId = 1;. o8 N. ^/ z! U8 G, J. L- G
/ ]$ n. Y9 [" G _& U- x9 r( z& a3 e. F
/*! O4 b! F; r5 Z) T0 b Q2 I
* ======== Miscellaneous Configuration ========% H2 F% X6 p2 [3 f( V
*/3 J7 C/ K: K' S1 \
. z$ ?3 a: e/ _1 j& W6 }/* set default diags mask */
. z- \# { p' X9 i5 r+ g8 ]- U7 \var Diags = xdc.useModule('xdc.runtime.Diags');
. c, |- L$ e$ nvar Defaults = xdc.useModule('xdc.runtime.Defaults');
! C4 k3 F7 W- f9 e
% ] B0 O, s+ {/ iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 ` {. R9 H+ E9 r! @6 o
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ b) D% B' ?; i( ^- @
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 f% U0 ?* S: B" `1 ]- G# KDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- {; [+ ?* w. U5 CDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 s/ W5 k6 d( V% [
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;! D! c/ h0 x' |$ v2 `+ f
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 [" u) L/ |# TDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- }% }# G3 j# \) [+ s* v: |) Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 U, N, L: Q. v% tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
: X8 a- e* t' s/ G7 h3 TDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 D' ?9 y+ S2 V+ R! T0 { g) E% cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;9 {2 R. E5 `- X) i3 O
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;; |: o: K, L% E( t
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 G0 P' H, I! |( s
4 q2 ?- E" X2 V7 @( ?8 F! [( T
/* override diags mask for selected modules */
, K" E" q# \- P, w# r" w7 kxdc.useModule('xdc.runtime.Main');6 `$ @8 [: l' f; J+ Z
Diags.setMaskMeta() ]8 Z4 }9 [0 U! ^6 R. Y2 K. c
"xdc.runtime.Main",) m; j6 W: b: j
Diags.ENTRY | Diags.EXIT | Diags.INFO," P( v% q4 M: Y
Diags.RUNTIME_ON S7 f, d5 y- o. C; ]
);% v" }) M' ]0 w+ h
, g+ U3 k5 z( jvar Registry = xdc.useModule('xdc.runtime.Registry');
; X2 q S% g! |, y; A1 PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;% j g- ~ w# } N
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( }- O5 E4 y' g9 F8 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;* t8 L5 Q7 X# J/ g& M9 ^5 o8 @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 k: L9 k( \2 s2 w k
3 Y- O0 @0 D; p% j/ I2 ], a1 N/* create a logger instance */. D2 j# ~7 z4 L! i
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; h C7 |& K0 Gvar loggerBufP = new LoggerBuf.Params();
( M; U9 v! X p. n2 x. z7 AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
" J# }" }% g$ a, a4 g8 C r6 H a& zloggerBufP.bufType = LoggerBuf.BufType_FIXED;
" F$ Z4 K- a( b2 I! _8 N( K
7 X' j/ R; [8 O# d: v m! Q. `6 fvar appLogger = LoggerBuf.create(loggerBufP);* r* d2 Z) e7 b" m6 ~4 @
appLogger.instance.name = "AppLog_Core1";, D. B) s+ C8 G" f6 }3 u. I' P* J
Defaults.common$.logger = appLogger;
, X) C% @- R' Q/ GMemory.defaultHeapSize = 0x8192;
. r# V, i6 Q/ j- d$ |Idle.idleFxns[0] = "&LEDStatus";
; ?& d' q ]' u2 fCache.initSize.l2Size = Cache.L2Size_32K;
1 ^5 G" T% v( v! y2 I! l1 @, A7 @7 O& ?+ s3 j+ k! r
|
|