|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
4 C7 \: N0 K: y" O5 n2 |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
T5 _" \6 Y8 O& _0 N(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 {" p: G& c8 i; v- M5 P& I
. x: s3 f( P4 r+ T/ r* M
是不是需要在DSP.CFG中进行配置) C( I( o2 n$ N" s
我现在的配置为
5 e2 M) A9 S* \" z
( F1 U6 }2 o# X4 X2 ?0 l/*
( T6 x6 e( { u; ]/ i5 y. c * ======== Operating System Configuration ========1 ]4 p: d; P/ l- l t Z
*/3 E9 }2 g1 z$ x8 t" q L1 U
5 ?# W8 Z) G) S4 Y/* no rts heap */
+ D, L" C4 i: v! M3 p/ MProgram.heap = 0;
9 S* `: J4 F5 D" _; n' `Program.argSize = 100; /* minimum size */; F8 J$ C' R$ w# y u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 T# _3 V! @- R( M+ Q/ f& E3 |5 s/ k0 s! h" m4 `
/* create a default heap */% y' Z8 O" ~" }3 k( M
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
8 \! ^! q' A8 r. ^var heapMemParams = new HeapMem.Params();( x) {8 ?& P2 e1 P+ r/ ]
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# f% \$ G9 e# n
: b: g! G" Z" S& {# Jvar Memory = xdc.useModule('xdc.runtime.Memory');
* p" z3 b# y+ ^Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
2 V/ W) |6 ?' D+ d1 H' p% s" M' W$ k: h+ X. B4 J
/* configure System module */, l) j) U2 J/ X9 ?0 ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');' k/ Z3 B) {5 R% {: i# k( a: N" a
SysMin.bufSize = 0x1000;) u# o4 e6 P- `* p) R9 h. r
SysMin.flushAtExit = false;0 Z% R1 v9 I/ y8 u
- ~( i- O# J, L$ G0 c( X1 q
var System = xdc.useModule('xdc.runtime.System');0 ^5 e' t2 U' t4 y) V6 r
System.SupportProxy = SysMin;
' ~; D8 T+ U5 [3 E* l/ Y0 r" J$ |$ `" e$ g" X/ h3 `6 w4 `
/* configure SysBios to use the lower half of Timer 1 */
* J! y% l, Z/ w' J+ B- r9 i+ [var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% Q! R! i& ^1 ?7 F* e' Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
! I$ `/ V" _. ^. K$ d" ITimer.timerSettings[1].master = true;) n j' Y4 K6 O. L
Timer.defaultHalf = Timer.Half_LOWER;
) D! [5 g2 a8 N1 x! D, U0 sClock.timerId = 1;& K0 {) R: r! X. l
# j, e8 I+ q8 O* Z; E/ g% m8 @) M- I$ ?# m3 K' k+ n- h+ p' X
/*- ?9 p6 Z& H# y7 Q
* ======== Miscellaneous Configuration ========' `1 L8 @( ]+ r# l% e3 N6 e
*/
" F! ]6 I/ v& T4 _; S1 M8 }) U0 @) w9 u6 A# c9 j1 g
/* set default diags mask */' h9 w1 _1 D' u' a0 A
var Diags = xdc.useModule('xdc.runtime.Diags');' t0 p0 e" f. z1 [
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, X) r+ A ^7 _) ~
1 t' S G; O2 ?$ |3 zDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 C" G/ V3 j' [& c4 GDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( m2 K6 `3 }: v8 N1 e7 B$ [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 I/ |3 Q" {# P8 R7 j: [2 iDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. M. E8 x7 x% a* h5 yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
* w" \2 D: x: W+ O) E. wDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ b& `* g* _5 g( `& p* d0 F8 R |Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- z* p8 C7 Q; h C6 V7 T( B
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ N- D( R3 B; T: Q+ zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 d5 t2 M i* z2 e+ Z3 m$ oDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 J2 K* T' y4 e1 o" V5 v
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: O/ G8 H) ]! z/ mDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) Y. G5 R1 H0 k. n) D
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& R4 r. H3 ]" _5 f& [" RDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' ?2 ~$ x4 M! I: [( O+ a
1 {% J7 @2 W' s7 L2 K; D! Z3 k/* override diags mask for selected modules */5 j/ H8 K! ]* x9 H
xdc.useModule('xdc.runtime.Main');
5 T+ A% v/ w' W; HDiags.setMaskMeta(
7 C( p/ {% ]) T "xdc.runtime.Main",6 u* @) d6 w9 o5 p7 t$ @
Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 A. u# H$ i4 ^; N8 z Diags.RUNTIME_ON# d, o5 Y7 f9 U
);# m9 p( i, R' T1 S
; w, l% x2 g: ~& y( o# wvar Registry = xdc.useModule('xdc.runtime.Registry');2 n$ @5 @5 ? C$ k% ^% d! y
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;6 G4 t k% k5 \9 l3 j8 Q
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 t! k; H/ ]: a) p; ]5 ~# P/ IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ ?0 e' f+ _+ T' o, A! gRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;2 {/ F* F5 N' ~0 X
' O& p% Q% V/ W3 @" k* k/* create a logger instance */% ^. K6 `+ N. R8 R- A
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- H: @$ |* ?1 ~9 O+ i7 M
var loggerBufP = new LoggerBuf.Params();
1 L) e% b6 O6 b4 _8 floggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 y( q3 w2 B& nloggerBufP.bufType = LoggerBuf.BufType_FIXED;9 x' X. {# d3 R: W
% O' g& i; n$ A: Uvar appLogger = LoggerBuf.create(loggerBufP);
* e; N9 a( f( T& g- g, \appLogger.instance.name = "AppLog_Core1";
$ c* \1 E8 K0 O6 Z# b- dDefaults.common$.logger = appLogger;0 S/ p$ p4 {) D; O
Memory.defaultHeapSize = 0x8192; : L& Z% w; Z! y* s; H
Idle.idleFxns[0] = "&LEDStatus";/ w. R; P( a0 i
Cache.initSize.l2Size = Cache.L2Size_32K;* [* f4 j( t2 T2 V# w
; B: W" }7 Z8 x( J( v( R
|
|