|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明' Y0 ~2 r$ |& m9 j J! u7 E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 A: q% j( o0 U* Q2 G
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( y, E, x$ z2 X7 S/ `
4 U3 [' y8 U$ _是不是需要在DSP.CFG中进行配置
+ r4 B5 U. K) e我现在的配置为+ W3 h& c" H: A& J3 G
! _, S4 }. y |/*' _3 ?4 F& j7 q ]) {5 C
* ======== Operating System Configuration ========
: N% c/ I0 u3 c0 m& {/ m& z4 { */, I* z" \( A. @$ C6 @- c% ]4 R! u
9 C! f4 G! G/ ~; q
/* no rts heap *// a; n8 L0 B& v5 }0 L6 p* b- N( Y; C
Program.heap = 0;
8 U( z- V3 G/ Y- `$ DProgram.argSize = 100; /* minimum size */
$ M( l F1 r1 \: G3 o! AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- j6 s2 p7 o+ E6 p9 h9 L
, }& o" {9 t5 G2 y. Z/* create a default heap */' F! J `, u, E; w- |9 p
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
) o; V+ k7 O3 J5 @+ ^" ^7 Zvar heapMemParams = new HeapMem.Params();6 e* S! F: d: m9 y
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大% N7 p3 }8 a/ q! a+ }2 ^6 K5 j
* W" y' Q* r9 S9 b
var Memory = xdc.useModule('xdc.runtime.Memory');
5 k7 w$ d4 ]6 a; i4 C) EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);& n. Z. C" m1 e1 T" i' D
, [3 P8 L; p) P' J/* configure System module */
) x: v( b" J; h5 @1 Cvar SysMin = xdc.useModule('xdc.runtime.SysMin');0 P- j' W$ X# {# m% S8 A
SysMin.bufSize = 0x1000;
( ?+ t. |, R) x+ \( Q- eSysMin.flushAtExit = false;1 M7 ~+ H6 d% i+ L+ Q
. N- d1 \9 j/ g6 J# U0 F/ wvar System = xdc.useModule('xdc.runtime.System');5 ^7 L/ c/ }( N7 F+ X
System.SupportProxy = SysMin;& O, m3 g( `7 R" ^" e/ V
7 i6 ~( N" k, `: ~1 M1 X- Z# t: w8 J
/* configure SysBios to use the lower half of Timer 1 */
0 M% V, _2 |4 _ `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ |% u( y7 e( s6 H/ Q; N, A
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 _% F1 G# @& a" z$ ~. V, t# YTimer.timerSettings[1].master = true;: k1 k. x! t8 _3 E; C7 q9 T
Timer.defaultHalf = Timer.Half_LOWER; C9 e- E3 M: @; Y% a9 x
Clock.timerId = 1;
0 x0 }0 P# n T5 O
9 A4 g7 a) l" |# W( ?! @# N# e: H4 |& p- v/ `, b, o& `
/*4 H& P1 l* ^+ O" b( E
* ======== Miscellaneous Configuration ========
7 v% g" w; Z( m' b/ a' I: A */+ @9 G3 c0 u2 t: e) O
. X) f( _. I( k/ V+ `
/* set default diags mask */
7 N% A' r9 ~& D# U1 y( ^var Diags = xdc.useModule('xdc.runtime.Diags');6 T& a7 @7 R$ b
var Defaults = xdc.useModule('xdc.runtime.Defaults');' G5 h& ]3 p; i" N1 q' M" V+ v& [
/ T, B0 B) X0 N( {% o% L, H* Q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
0 { @! y# N0 @. }, E) mDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;0 O4 M) S7 L2 c' ~5 C+ `0 J
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 I; ~$ x* {, ADefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, {. l# u, [. n4 H' u
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
7 X; T; U2 P6 n, j$ X TDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;* ` {, _8 D8 S0 ]
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 q, x& X( Y, z; z+ D6 ]/ N. n# w
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;1 ^, U) S8 w; {" R+ F0 h) e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( @& y9 a% h, u' j: Z, _3 FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ f, x, J! `; S) r$ fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 n2 z3 R$ b ]) m! Q
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
5 t! a6 ~. b2 C; v6 k, q+ gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# f: m4 G% z3 v9 K3 JDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
( | s/ |! T* ]5 Z8 Z& ^) i0 y9 e; @& c
/* override diags mask for selected modules */
+ L$ j* a! A3 t3 V" W/ @3 ~" Oxdc.useModule('xdc.runtime.Main');* i `4 F( A: P5 H! ?
Diags.setMaskMeta(
/ Z' c! t5 |) Q' r1 N3 Z2 t! F "xdc.runtime.Main",
- i+ b" t; R6 F! x! f1 g5 p Diags.ENTRY | Diags.EXIT | Diags.INFO,$ S l P* |% R3 q: w
Diags.RUNTIME_ON; P b9 R- P; d7 m9 H9 @+ U. K
);5 R! Z( N' J0 ~
# I5 H1 Y( X& Q0 c% n
var Registry = xdc.useModule('xdc.runtime.Registry');. c5 @5 v- @2 N% y2 E$ ?* k6 }8 G! N2 z
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 z) I1 E. e7 f; n; P: Q
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;) X. i+ k* p: K; F
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;' P0 V+ b+ }; U# I+ D9 i
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 D' m7 n9 K* h: k# @) `
' J) C; I, P6 Z! f9 v
/* create a logger instance */* T: J C/ r% F& w. H& D; c
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 I& V- G! ]3 o7 G
var loggerBufP = new LoggerBuf.Params();
6 Q7 |4 L4 ~6 O2 o5 AloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
0 e7 A0 R5 B( A' H2 E! o1 FloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( |; O$ ~$ B0 U7 p5 {. F5 i* A1 t
var appLogger = LoggerBuf.create(loggerBufP);8 t: w1 `' h- n+ x5 ]
appLogger.instance.name = "AppLog_Core1";
% l+ O' F9 A! f# w! n( nDefaults.common$.logger = appLogger;
9 w8 X7 k# H& b: FMemory.defaultHeapSize = 0x8192; ( U: t+ i2 h6 ~1 r/ |) _
Idle.idleFxns[0] = "&LEDStatus";+ n# G. q# x# `: I3 ]# T ]
Cache.initSize.l2Size = Cache.L2Size_32K;( n5 i6 Y8 h- D$ z1 @) z
4 K) Y1 A, d" l3 S! Q1 {8 n
|
|