|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ M ~6 |# X0 F. ]3 o; M
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; u2 ^7 x) E% f, V- @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: d# a8 n/ P" v! I5 Y
: q1 W) ^3 m7 z3 D是不是需要在DSP.CFG中进行配置3 q9 `9 H. T7 E# H, c! z
我现在的配置为
9 Z4 `; ^5 P z3 e$ T( D/ D1 t) N9 V* R& z& w4 P) d
/*5 G" h8 ]: m C1 O
* ======== Operating System Configuration ========
0 R& R& o+ D" Q) B* P8 u */
" u5 b e4 x1 u3 t! j2 b
1 H$ n+ I2 f* u( l/* no rts heap */
0 R& ` @- B' B+ b3 y6 ~0 g: [# \Program.heap = 0;
5 l# ~; s+ q/ n0 \Program.argSize = 100; /* minimum size */
1 P l7 m: U2 `3 ^; E0 G$ r) K1 ZProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; ~% V0 m% v7 L1 {2 u! P
- }& j( _8 g( n+ X, F/* create a default heap */
0 I: _ @. O- A7 W$ m% G( F; _% jvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ R6 r! G( N7 I8 y: ^
var heapMemParams = new HeapMem.Params();4 U7 q8 e& o9 P" r/ X) ]/ e+ ~& w
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; r/ @3 j+ ]+ {2 V3 C- G
& r: a2 Z* n. s9 V5 X7 Bvar Memory = xdc.useModule('xdc.runtime.Memory');4 O+ x4 Z, `3 J$ {! U8 `! j
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);2 ~1 I$ I; u; u) G* v* A5 ^" k
6 D) ~1 `$ B2 X
/* configure System module */
8 M6 x2 @( x. C1 G P& O" |9 C2 }4 cvar SysMin = xdc.useModule('xdc.runtime.SysMin');
" {& `# i* h6 OSysMin.bufSize = 0x1000;6 I& r5 f+ L7 ~
SysMin.flushAtExit = false;
8 t2 S1 K& F! X
3 z; s( A; v; | g- a! evar System = xdc.useModule('xdc.runtime.System');7 H' q5 p" x8 C5 b
System.SupportProxy = SysMin;- D5 b' Z2 {7 ?+ X% u6 K
/ v* Z x% V5 p+ x: i/ K( ?
/* configure SysBios to use the lower half of Timer 1 */
1 C2 Z7 _& ]& |, X! t: b2 r9 ?# p+ s; Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 E) A0 z4 k( F9 T2 N7 ?- H2 |! H0 wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
( s% Z' i" s/ m/ d$ u8 g0 iTimer.timerSettings[1].master = true;$ e2 u( L5 v" V" X
Timer.defaultHalf = Timer.Half_LOWER;. {, `( r0 s: E. j- M. i4 {- E
Clock.timerId = 1;4 Z9 A; e0 w h$ ^, O* D& W
9 t* p% R; r# M- `9 _- B
5 v# h* y7 y$ S) ^3 q8 `/*
7 T3 o9 c; ~. d * ======== Miscellaneous Configuration ========
3 e8 @, Q e7 ~8 u */
" \) P F/ N" D- A0 I, a! U, o% A3 l5 o$ h/ n. E) L
/* set default diags mask */
' O, p6 s4 G& f- J" Vvar Diags = xdc.useModule('xdc.runtime.Diags');. c7 S. h0 @$ _# B, ?
var Defaults = xdc.useModule('xdc.runtime.Defaults');
6 m6 B9 ~1 `9 g
8 R+ V9 J: C' ?' m' x- y; iDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 p" ?" M7 x' ]4 @7 q* P! Z# {1 J
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' m( v% g, s; a1 w& [# k: S7 H1 w
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 e4 ^ ^0 j$ ~5 X1 d+ `
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
` u l. a! o. r9 jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */0 O8 G' o3 N/ y3 ?7 s( G
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 L4 T" u1 t: H n
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& a! U6 U; l% Z7 D: NDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- O$ k4 w$ s0 S5 r
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ ]! Q& J* l ~. n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 J( b8 V8 f! W5 d3 N. t9 ^; V$ M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 g0 J4 K0 ~3 A1 t' }7 zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, R# L1 X, q$ x6 Z7 L) W& ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
2 D. B5 v( n5 UDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( G: j' D* \6 w N4 l
; n+ }% q5 M8 L7 S% G( ^7 \/* override diags mask for selected modules */$ m- G. a# p# D8 A. D# a8 g; |, j
xdc.useModule('xdc.runtime.Main');5 e3 d+ O- q& U% @1 A! b
Diags.setMaskMeta(
$ j* j3 \3 a: k3 H. X8 C- R0 o, n "xdc.runtime.Main",0 E! {( z4 S% m2 R
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 a0 n) }! L, o8 y
Diags.RUNTIME_ON/ v0 f2 m1 x# u5 c, {
);
( D$ Z8 h4 k" I( C6 p- M: {4 W6 x+ I$ y% L s) [7 N
var Registry = xdc.useModule('xdc.runtime.Registry');
2 D3 ]& Q1 K2 w- \7 f6 F+ rRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# L$ l: R9 W- p6 p$ G# K) H3 rRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 v! H9 `1 x. w$ ]1 C$ {" Z7 ]) ]; C
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" P+ g8 v* b; H/ s* X+ IRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, l2 s! J0 @) e; i5 ^* q8 l$ i! h( j4 [0 D. \
/* create a logger instance */$ |. v' @( I" G1 c' d0 n; o
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');3 v) L) [9 @' z. z9 a2 u U
var loggerBufP = new LoggerBuf.Params();
2 ^ a! w- U: _9 SloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 I0 |) |: g8 p6 ^0 i5 C$ H/ i
loggerBufP.bufType = LoggerBuf.BufType_FIXED;7 Q6 g9 o- U \4 `( g. K5 j2 E
8 H/ D3 r/ b5 rvar appLogger = LoggerBuf.create(loggerBufP);
+ W& \2 R/ R# A. z# f# m6 s0 G: f* B( [% PappLogger.instance.name = "AppLog_Core1";
) k7 q7 v. G; k; B; TDefaults.common$.logger = appLogger;
* Y+ g8 s" P' O( aMemory.defaultHeapSize = 0x8192; # n3 C& a* F' [$ y" o3 T# _
Idle.idleFxns[0] = "&LEDStatus";0 E+ I% O2 w( }& J
Cache.initSize.l2Size = Cache.L2Size_32K;
" v6 |' r, f8 ^/ V! M% i6 N
% S5 p0 k$ s1 ?( E D |
|