|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 j* F% a+ a4 t
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 Z ?/ j( ^( m; i( I/ @2 r% k# D
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
& ~2 b1 g/ o/ t) t Q5 d( Y l: S* Z/ d0 m
是不是需要在DSP.CFG中进行配置
! P( A, |% T$ P我现在的配置为; _, Q) X+ b5 A4 {
/ L0 N0 K6 }, N: m+ q2 M, L/*3 Y' C. |/ C: F2 g4 s$ z# S( |9 ~ W
* ======== Operating System Configuration ========2 r% A) A% v! [: X7 ?7 L" n
*/; H* L# m, z) O& [. A* P
/ S4 b7 W5 |5 p$ `& V9 \/* no rts heap */7 y3 ~; k2 i( G1 f. w
Program.heap = 0;0 N6 d& E- W# k* I9 |- K
Program.argSize = 100; /* minimum size */
' k4 P2 C: _( W7 j/ Z. N) ^& u9 CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
7 G0 `7 c2 {2 b9 u7 p+ i
& U- D& J; Q) L8 l6 F( Q9 }/* create a default heap */
3 X+ ^' o7 [4 X8 U9 Yvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 A/ g' T! `8 ~% j$ [
var heapMemParams = new HeapMem.Params();0 Z0 v( b8 ]" s3 @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 {) k0 Q% G1 x& |) c) ?$ p
- T) f- ~! v/ i. p' _2 ivar Memory = xdc.useModule('xdc.runtime.Memory');* `/ E, f$ g) L9 N) Q: J
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! v7 u) m; L( d7 _
$ v$ N% G- O1 Z* r/ V4 k
/* configure System module */
% F# Q3 q* z3 Q* v7 o4 tvar SysMin = xdc.useModule('xdc.runtime.SysMin');
3 P8 Z1 X' W5 h* p1 }SysMin.bufSize = 0x1000;
$ E' a& C# [ j- e5 q( _SysMin.flushAtExit = false;$ Y1 a6 [0 u E/ d
: |& [0 U4 {( p' L2 ]2 p; }
var System = xdc.useModule('xdc.runtime.System');4 A# d& j' L; S+ R. S I5 b
System.SupportProxy = SysMin;5 [: Q. j8 V9 _8 u
- D; h" } @2 Y3 n1 D: O
/* configure SysBios to use the lower half of Timer 1 */) {" M' h1 O/ I. x
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 I$ R8 J6 x" Zvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
' U% t5 k8 F$ A$ w) |! L0 ZTimer.timerSettings[1].master = true;
7 b: P( ?/ v+ I' A) k( DTimer.defaultHalf = Timer.Half_LOWER;- D/ N# Y" a6 F! D ^: y" c
Clock.timerId = 1;
: N% O/ Z2 {" z, R m0 }: m/ x" p5 E0 ?! k' ~
& a. W: | A% A( T7 Z1 r8 n/ N! x/*
/ }( Z3 T6 }9 Z @ * ======== Miscellaneous Configuration ========
. q/ m9 n/ U3 s, U */
* W* O- w& @6 v& a, P- ~1 O% W
0 M; G$ Z4 d! G- Q& h$ f. n/* set default diags mask */+ d; N& V X, s7 @- r+ w8 N, \: u
var Diags = xdc.useModule('xdc.runtime.Diags');2 `6 O/ [+ q& n1 A! j# ^
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% D7 X) O3 a' e. m2 ~8 ]0 C) }; z0 }
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 d: A: K8 e8 x% j" o5 PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% a3 ?1 Z: A' H/ ~3 W7 Y. o( YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; D7 U+ m8 K8 N
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. [/ R0 \" d% ]7 q) \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! }) j/ ]2 R6 g {& p W/ ?Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
" W m. q) s* k% N% ?9 oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) n6 W- _+ M9 }2 ^! W
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- b% i6 M5 g% ], K- w( V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
3 S3 \! d& M7 i2 \/ E8 ?* S* FDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;/ I- H2 I) T2 j- ]# ?* Y, e
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
* {* O8 }, I. ]; A( t7 [* T$ |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, B" I& `0 w r5 i6 f$ s8 ADefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 @) o" w+ @- ?; Y# {, u! T/ t8 i6 }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 x/ g6 U; Y7 I0 D) A, N/ G" D* ^0 o
6 P0 B% T! q% z7 C& @4 K
/* override diags mask for selected modules */9 O: P9 a2 r1 t5 g. j; j* |9 X
xdc.useModule('xdc.runtime.Main');
: w% i7 u2 V1 J3 o5 ODiags.setMaskMeta(
1 r q. I# `1 {' D "xdc.runtime.Main",
8 i5 f: q/ }# ?- i% s Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 G4 R3 ^3 p$ Q1 t; c Diags.RUNTIME_ON7 U5 C( X/ Q% C/ w
);
/ ~2 g+ C; M9 Z8 w: C5 J- u$ U+ Q' m! v* T2 {
var Registry = xdc.useModule('xdc.runtime.Registry');+ J% ?! z0 G) V
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 L6 A' @& ]) B: Y! W: lRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 _5 Y- d3 I7 s! Q) CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
. Y( x- A/ h- Q( m/ L( uRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ V4 k$ {% z4 Y: A$ k
/ R; e! w7 S- h; v, g6 D! q) w/* create a logger instance */- B( h2 g& z X: e) O2 U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! \8 t$ F/ w. x* M5 w& |
var loggerBufP = new LoggerBuf.Params();$ ^( {. P* H( A" Y# m ^
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
! |% E$ I# t. Z; v- {loggerBufP.bufType = LoggerBuf.BufType_FIXED;
" R: h! \& H' n: t$ z% r0 {. [- x9 l: X& s4 y4 @! q, A* Q4 Q/ }
var appLogger = LoggerBuf.create(loggerBufP);
3 L0 m% E0 `8 o# T" }9 j0 @0 `8 r$ {appLogger.instance.name = "AppLog_Core1";
4 J0 ]8 N6 ?! d, }) aDefaults.common$.logger = appLogger;; a* l4 N# Q% F
Memory.defaultHeapSize = 0x8192; ; ]) o0 u0 o9 K* F
Idle.idleFxns[0] = "&LEDStatus";/ `4 }& K$ v. @; `* t; n
Cache.initSize.l2Size = Cache.L2Size_32K;
1 p* g& \) a( T% K. n) @3 [4 Q
5 s; n L3 a9 v |
|