|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
^* i3 X R5 k% |, f/ B9 k/ n" M我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 b1 c, j: d" S* w9 d% Q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* s& j) v0 E0 }6 o! U3 i- {) s$ k6 c1 T# s) Z B% E
是不是需要在DSP.CFG中进行配置
: i* {1 o6 m, g+ N% [) R$ ]我现在的配置为
+ O# b% j, d9 v# {7 k! w* Z" D; a e4 t
/*$ Q. i% r* G7 l }- r
* ======== Operating System Configuration ========
5 b9 }+ U _$ c( M/ \ S" R1 r */
- ~0 O: n; }1 S" y5 A, d
+ M3 w: e! L8 Z& D/* no rts heap */
% y5 C* S' ~" T6 ]7 ?) fProgram.heap = 0;& U0 j( B+ E# {5 T1 s
Program.argSize = 100; /* minimum size */) a1 ~3 u0 M8 x, r% C* `
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% o8 ~( U0 g D
+ r) J9 M7 S( ~/* create a default heap */
9 T- _5 i7 |( b8 ?0 I9 hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) K4 ?6 |1 Q: c
var heapMemParams = new HeapMem.Params();
, y7 U8 G5 j' i* `: Q( @' xheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 i, \' Y8 p8 x
& |9 C, i" M- i2 Y9 L2 U
var Memory = xdc.useModule('xdc.runtime.Memory');
- D6 G; I5 G$ u9 k, yMemory.defaultHeapInstance = HeapMem.create(heapMemParams);( D9 W( a, U7 E$ W
& w3 i/ x& b$ r4 S1 w) [* j7 V
/* configure System module */
4 A+ O* |& s# M7 O$ vvar SysMin = xdc.useModule('xdc.runtime.SysMin');# W2 Z, Q0 @: y6 ~
SysMin.bufSize = 0x1000;
( C; @& i/ U, SSysMin.flushAtExit = false;
& D1 m w& }" T' C G! h3 m4 J3 _4 @
var System = xdc.useModule('xdc.runtime.System');, Z+ i) b+ U$ ^
System.SupportProxy = SysMin;' j" [: P- m' L) Y$ F" _
( g. n; [! U/ b% u
/* configure SysBios to use the lower half of Timer 1 */) q4 z. n, \" e4 f+ K2 p4 _6 P
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
' \8 d- p6 F; w$ l [0 mvar Clock = xdc.useModule('ti.sysbios.knl.Clock');* ^3 l6 E3 [; S6 G# l. t
Timer.timerSettings[1].master = true;
5 d, a% G: W! S7 _, {Timer.defaultHalf = Timer.Half_LOWER;$ J* d) H' t) N; E, J. o1 c
Clock.timerId = 1;
' P, d4 _ J! { e& O9 \1 m2 ]: l( T1 Q
( f+ {+ X7 g$ F2 Y7 G; w
/* i# b4 @% b# l) a* w1 i
* ======== Miscellaneous Configuration ========' B! k: C& d/ W, v0 S& W% l% o6 ~
*/& N/ A+ t6 w$ z9 @
% T7 O2 n q) ?4 a% i/* set default diags mask */
: |) o4 k0 t' L2 fvar Diags = xdc.useModule('xdc.runtime.Diags');
" g( E* L. \ a! k) |3 g' R, J' avar Defaults = xdc.useModule('xdc.runtime.Defaults');
, U4 z% g5 i4 L S) n9 G5 G
- v U) N, a+ _Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' M5 N6 v# k5 D! ^
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;/ K7 ]4 D. c3 @$ S; N" q- {: k" ^4 q3 V
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;! T! U4 i6 m7 ]; i! A7 K) A& C9 k
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- n% E' n) Q6 m7 _* R( }7 bDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) ]! H! u/ [) cDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
5 \" ?) n% l: G- R3 KDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 K+ ~0 P* e& q9 u3 q# T0 I ~/ q
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; w; r2 m8 b: E6 T1 y8 mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;. A4 \$ M7 \4 y: `2 B, {% r6 N" M
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;2 m6 Z! s+ ]0 K* b* V) x; \
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;" Z) f: ~) v L% x
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 X l) X4 l- j0 C3 i) UDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
; N3 Z" |2 b4 h d* X( [. B5 zDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( J& o: n: n& l- f4 o9 A n) E' x2 d _# l* [; A8 o7 ]( ^
/* override diags mask for selected modules */
% z$ I2 d5 ]3 L) G2 y3 [) r1 [8 {$ ?; |xdc.useModule('xdc.runtime.Main');8 E) R, q0 s3 J% C& A5 n, L; w/ y
Diags.setMaskMeta(
, r( j9 k6 ~" e7 s" [ "xdc.runtime.Main",
u/ u, k+ |8 m, w Diags.ENTRY | Diags.EXIT | Diags.INFO,) I, J, P8 q1 o; A
Diags.RUNTIME_ON% a. W! [ s' t- I& F2 _2 |5 C
);
& [/ N. Z$ V# H8 @# d* D9 x, |: ]$ F* C% } v$ ?7 u
var Registry = xdc.useModule('xdc.runtime.Registry');
( g' }/ ~" }/ @! H; ZRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ v: ?4 d$ H4 q+ f, q- X5 HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ i# A/ J. n5 X: U: o9 K# _
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
( _) n7 E; g! `4 ]; U/ jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; v$ E* {( j* A, @
) x" r2 B' V5 ~2 @: R1 k/* create a logger instance */5 U h2 @( P5 o
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, Q" Z# {' A; e5 q) R
var loggerBufP = new LoggerBuf.Params();
; A& b5 u4 x6 b8 Q$ KloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 p# v/ W4 Q2 x, ^
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
+ {, U+ _$ U4 z, Y( K
( U3 [9 W3 D* `4 n0 Tvar appLogger = LoggerBuf.create(loggerBufP);2 Z: V0 H) Y6 Z% g/ H( ^7 H
appLogger.instance.name = "AppLog_Core1";
: ?/ P. F. B2 a6 ~% rDefaults.common$.logger = appLogger;7 C2 h$ d; E; I6 B" J6 e
Memory.defaultHeapSize = 0x8192; 7 B9 U' d \7 |! I* G
Idle.idleFxns[0] = "&LEDStatus";
( Y2 Z- S4 b9 j2 g0 ]Cache.initSize.l2Size = Cache.L2Size_32K;
! y( Z2 q: u8 f) E. R1 H
* `! j5 Y% D& n) l* h |
|