|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- e! u( {0 r, P8 |我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! \( L2 K3 @; {4 m(不过疑惑的是,为何单独DSP仿真就没有问题呢?)* N- U$ f: _% B5 l
$ b I$ ^+ t' y$ t3 h
是不是需要在DSP.CFG中进行配置( b! ^# O: h! ~% [ _
我现在的配置为, d/ G- }) b. x6 D* ?
6 F8 k5 K! D" h+ k/*
8 J4 u- u+ {2 d5 ^, `$ N. @* r * ======== Operating System Configuration ========
* I' U& D. l! i+ a, h */# {5 G/ s. L3 _+ ]1 m! u) r
4 d6 [: ]' V6 k1 q3 Y, _/* no rts heap */
9 B6 ?+ c: c# b+ H9 m; t5 A; gProgram.heap = 0;* M- C U J7 I9 V1 r' B- y+ b
Program.argSize = 100; /* minimum size */8 [5 X2 u1 Q' ^9 M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 }5 o# o2 w5 @# o% J- l/ F
+ ?1 E4 i! |( g2 W, w$ l5 z9 f0 a; Y/* create a default heap */
1 U& t2 F5 O3 t6 ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ w! ~4 p; t. g: m: k" l
var heapMemParams = new HeapMem.Params();' E- O' w: R% A" }: o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 A) a; D/ w! ?, m: V. a/ N! N/ D
( b) Y; j+ c( G9 X
var Memory = xdc.useModule('xdc.runtime.Memory');
, G0 W1 |: C" X$ V8 oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);! F: |& E% @7 U# Y( z9 K' I( {
- v% n* u) _: w6 d( b/* configure System module */
3 Y. n0 o$ e8 u# Avar SysMin = xdc.useModule('xdc.runtime.SysMin');7 n6 a1 q7 i) y4 t0 o) G" s6 G6 p( L
SysMin.bufSize = 0x1000;
X2 _- P& s0 C! J2 c" w B# N+ CSysMin.flushAtExit = false;
) d6 ?2 l0 V0 j) X
/ B; A+ W. T, [) s a& ~var System = xdc.useModule('xdc.runtime.System');7 t, z% L6 r% R' v# E
System.SupportProxy = SysMin;
" M$ x+ {" b; c8 h
3 U3 J4 B+ V& ~( x5 B5 n. r/* configure SysBios to use the lower half of Timer 1 */
( n0 G C: @0 u8 w4 d6 d1 ^var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
$ j/ H$ y, t y0 m6 q4 `6 {var Clock = xdc.useModule('ti.sysbios.knl.Clock');
6 A3 }* D! \( q; v3 G |7 NTimer.timerSettings[1].master = true;
! g/ Q! @/ G5 q9 NTimer.defaultHalf = Timer.Half_LOWER;3 r7 U5 T6 i7 k' ]$ v% Z0 [* \
Clock.timerId = 1;7 h: Q$ _, }' g* T/ |/ M4 t
( O7 f3 T3 X% e* T
: u( Y/ a5 G4 F; E: G, d
/*
?9 i ^% f$ A% l8 U2 h * ======== Miscellaneous Configuration ========
$ o- z! X+ l1 Y */
: E, ?' c- c; A7 [3 _: c0 B: E7 L& a p6 h! P
/* set default diags mask */
% S& T9 `8 R6 a& j2 H. @3 }5 rvar Diags = xdc.useModule('xdc.runtime.Diags');: y5 u5 G) P+ Q: c% B
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' C$ p. v2 V9 K1 k8 I
& }2 I6 X! t; b1 s( bDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
: p6 ~( J) M5 Q! @$ B- d: v: KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 {1 n2 }! L6 @6 A+ P# G8 m, u8 M7 }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" A2 B5 r1 ^! ?9 D2 ~5 |2 _
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */- M* H/ X: ^: o/ p ?
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
O9 h* Q5 A+ d6 ], i* {: KDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;) F- q D# H* Z) b. P
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
$ Y* j6 J* B6 D F# Y. v: ~+ \Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;5 w- T3 K: r' f! I8 T( N/ ~4 x
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
] `3 _' P0 UDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; h! k0 ~+ B ]; A: T
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" M4 Q* J) G0 P+ ]. ]' d3 `5 kDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
j) [$ d& v* e9 CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
) {( y. }8 j$ M* ADefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* ]# r, L h( M& ?' e
" S+ X3 h: T: r/ a1 W, K( `# @/* override diags mask for selected modules */
: \9 g7 I6 A$ T; L; f9 h" txdc.useModule('xdc.runtime.Main');- R' n; q: L- _; |7 z, p! C1 J
Diags.setMaskMeta(5 K& X' `; q# @) l( {
"xdc.runtime.Main",* R0 M1 F8 u8 ~/ R- s1 l/ l
Diags.ENTRY | Diags.EXIT | Diags.INFO,. @8 ~* |$ b, H
Diags.RUNTIME_ON# |2 F& j% h) k( z: B& h
);
F } L% l4 D V% q& b. p$ o! A, l8 n |
var Registry = xdc.useModule('xdc.runtime.Registry');1 l$ r o) [% O
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" g- K) U' e5 J$ QRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;) B: N0 x$ W8 I
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;; P, B; n1 {# n9 l3 a- Y0 o
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* U3 _# U/ S. ^: t& ]3 p, T" b1 H2 N2 Z: _
/* create a logger instance */
# S0 \/ h& |( r8 t( F5 dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
1 `9 L2 ~4 _$ k, l' a+ g$ kvar loggerBufP = new LoggerBuf.Params();" l8 s- B- p1 s
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% L- X x; Z, a- O1 m
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
. \! U0 B- {/ m
' x3 O T/ E ~( y* hvar appLogger = LoggerBuf.create(loggerBufP);# P3 j3 _0 N2 c& H
appLogger.instance.name = "AppLog_Core1";
% h( V% ~% R( g+ V' l. \Defaults.common$.logger = appLogger;
9 W ?- P+ b# l7 jMemory.defaultHeapSize = 0x8192; $ B Y% R' r6 j5 k9 P
Idle.idleFxns[0] = "&LEDStatus";1 A3 H$ Q) k* ~" W5 g& g' }
Cache.initSize.l2Size = Cache.L2Size_32K;
" Y/ Y! m) K2 a8 D! n' Z
0 J. l: X/ x/ V( m( c {$ `: k |
|