|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明; i* s6 f* y% R" j2 k* k* N5 i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 j: u. P8 t6 ]- |
(不过疑惑的是,为何单独DSP仿真就没有问题呢?): n* i& O! }/ W! U
4 z" ]: L2 ]; j$ y& G" [- [是不是需要在DSP.CFG中进行配置
7 `" h$ f$ ^7 x' \我现在的配置为
: z: Z ^- Z7 d) G
% `7 w9 u" J7 I8 S, C$ D$ @/*
* }9 ~ @6 Q ~( B( I * ======== Operating System Configuration ========8 w# `/ i6 c! W6 s3 }
*/
4 e; X+ b( l% k. I) F& _+ r/ R2 ^: o9 O
/* no rts heap *// R! U8 L1 Q9 s4 o! H, H4 r
Program.heap = 0;
4 r% B1 v7 |2 HProgram.argSize = 100; /* minimum size */
! S5 f7 `: ? X7 q- M2 \* W3 bProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大4 x- Q! ?; ?" X C# z0 ]
+ { y8 x% j) a( F5 i/* create a default heap */
! M! ^5 H" @ T9 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& v) i& F2 |; }( g( J1 z
var heapMemParams = new HeapMem.Params();
$ B* W2 B# Y, I* _heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
6 D% X/ L; ]3 |# S* t* K, ?3 j: E* ?# |5 r
var Memory = xdc.useModule('xdc.runtime.Memory');7 b0 h3 `! w, g; T6 z Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);. c" ~) ~) }3 D' S+ q
: L: @) k1 L$ j1 ~$ T6 h/* configure System module */
/ J7 g% ~6 z8 W$ qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
( [# X' G5 ?0 I. a/ J$ Y8 aSysMin.bufSize = 0x1000;
0 [& g: [# T: Z1 J5 T% v2 TSysMin.flushAtExit = false;
0 X% y( E% m* x1 z- ^8 N
* j2 ]! C. e/ L# I1 z( Nvar System = xdc.useModule('xdc.runtime.System');
( l0 C8 |( Y% CSystem.SupportProxy = SysMin;9 x9 P# Z/ \: A) _2 v: Y
( U' \6 y8 P% Z. W/* configure SysBios to use the lower half of Timer 1 */, z; K1 [" q* [* m2 p& F, g
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');. P# ~# ~4 M! K9 L% |1 [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ C V# f; Y. h( n* {% f
Timer.timerSettings[1].master = true;
: b5 F) X! P/ CTimer.defaultHalf = Timer.Half_LOWER;
?8 J$ ^" l3 x7 lClock.timerId = 1;
+ o# J, o, z3 h2 l: o% u* E8 ]6 `0 T. m5 B
* |; }# B: L7 H) Q) g5 P/*
6 q4 d/ ^0 \0 T * ======== Miscellaneous Configuration ========
& V% V; Q2 }+ C */1 B2 \* A9 T: q& H' \ R& a8 [
* U6 G( m' d6 n$ M/* set default diags mask */
! a7 G [ m8 E2 k3 @var Diags = xdc.useModule('xdc.runtime.Diags');& r( c! |. r6 {3 R5 {1 ?8 x
var Defaults = xdc.useModule('xdc.runtime.Defaults');; B: L' s/ i7 P/ F
, Y8 K4 x" @5 p0 B$ @4 g
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 E$ x6 {: H2 z& k+ E+ W7 u. t+ u
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
3 W7 e$ v" e5 Q6 H* l# P* a. ~Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;9 |) B3 Q2 g# e" |9 F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 l$ A7 R5 R, SDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 _1 Z" Q+ T" Q7 z8 Y, VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;1 C+ w+ |# M2 C8 V+ K
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- C# v$ {% E w, F2 w7 I
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. G# j' _: c7 a1 C# Q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;: _2 e( r: z+ u, h! f. k8 I
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 _5 ?( C! S7 @. G2 j
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) Y) u( y% }$ A
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;/ _# ?1 n( N9 r3 h% F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ \" `+ B+ j k5 `6 i4 f! _* a
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; i: ?! G% u0 Y! e% a* k
+ v7 |' ^0 {$ U" Q4 ~+ r4 v
/* override diags mask for selected modules */
8 [3 U9 b) @- F9 F- sxdc.useModule('xdc.runtime.Main');
/ m9 X# [& }9 iDiags.setMaskMeta(
6 w# b& p& O* [5 }& \" ^ "xdc.runtime.Main",
% U- `$ t3 j( ~$ A* B Diags.ENTRY | Diags.EXIT | Diags.INFO,
7 _7 W$ s' R, ~9 E# A; r0 G Diags.RUNTIME_ON* y5 o1 P v7 a1 A7 s1 W
);
+ e4 K9 ?& K9 {+ N3 J" T8 [( @9 L" P' @& P
var Registry = xdc.useModule('xdc.runtime.Registry');
+ n E! {/ _: @$ W: y3 kRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 @) [% o9 k' Y+ WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 M' b5 d+ [8 y3 n6 i7 ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
' r# e1 S" p$ |+ K; PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
9 L& I7 ?4 J& H$ x1 N) V7 k1 a- x/ m3 L9 Y+ k5 V$ E
/* create a logger instance */0 u' m4 h) D8 p# s
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');" G0 ]; j% E5 N* B7 w% q: p
var loggerBufP = new LoggerBuf.Params();
6 G" C3 E2 n- M; n* _# \loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */; o1 d6 E/ A9 e. N/ ~- Q0 `
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
4 n& r. S* ~. D+ A7 ~) }: O
& O: u' ^( K6 K5 [8 _& |, I) X$ evar appLogger = LoggerBuf.create(loggerBufP);
" m! k/ m3 E; f7 ^appLogger.instance.name = "AppLog_Core1";
% K7 i: Z/ R+ _) `( Y1 RDefaults.common$.logger = appLogger;
3 K6 y [9 {) k( e5 a% _0 a3 FMemory.defaultHeapSize = 0x8192; " _, I3 V6 Y1 e0 N# O/ X
Idle.idleFxns[0] = "&LEDStatus";
) C6 `' C1 f- y1 n! D, ?Cache.initSize.l2Size = Cache.L2Size_32K;
9 m# Q$ z8 U7 P" F3 [1 a# T) S, X; o8 B# w0 q
|
|