|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
3 T, A# W' s' @) ^( P" u+ q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 F4 ]+ X- R( j' `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
' e- P8 _+ m" D% R# R
; {2 U P8 }5 @. O/ {3 j是不是需要在DSP.CFG中进行配置
- o0 @! O3 i* h2 X. q) V我现在的配置为0 s& m8 s+ v2 @3 F
+ t+ m( f0 v/ g: w
/* m% \6 `9 K0 P
* ======== Operating System Configuration ========: j7 S: ~ n$ s1 V
*/
1 i8 B& H4 O" D' Q I: N4 E8 W
. g5 L- H5 \' D$ k a4 I# }/* no rts heap */
/ W. ^2 G: P) [) mProgram.heap = 0;
7 w1 J+ G( D) Y+ ?- c/ _Program.argSize = 100; /* minimum size */9 f* k9 O$ a$ b: T9 J
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 X! z( B. d! a- M6 m1 v8 Q
' E2 o# O% ?- R" L* T/* create a default heap */
6 v# w0 |, ]6 l" L2 E) ] Vvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' z! B9 K! l6 ?9 h8 n& ivar heapMemParams = new HeapMem.Params();: r0 w! X" g+ p2 s/ `4 F$ ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ G4 t9 F* C! z# i, `2 y% e
1 N$ m: G. z9 a7 W5 Tvar Memory = xdc.useModule('xdc.runtime.Memory');
/ |) j. n1 B( P2 |9 ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);2 l3 V: W. h7 B" ^) R
& x7 r/ ^# q/ V/ H5 }) z0 }
/* configure System module */
; C, \# E( k. |0 ^) Gvar SysMin = xdc.useModule('xdc.runtime.SysMin');- U& ~3 f' V% o X$ a
SysMin.bufSize = 0x1000;% P! E5 u5 t7 J/ I" E6 z5 E
SysMin.flushAtExit = false;
, S5 n; W6 X/ Q7 F- b \1 F `
* f# [! O( E1 _, Kvar System = xdc.useModule('xdc.runtime.System');
K4 Y$ D2 [, j) |: t: HSystem.SupportProxy = SysMin;
- ~8 i' H- Z$ J9 n+ R0 q
0 B* i, Y! o9 R% e1 {5 |' h5 c/* configure SysBios to use the lower half of Timer 1 */, C$ S, g1 s! A& a" ]9 {$ ?
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 U- J0 ~6 E% [8 `$ k2 G! a
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
& S0 ~5 [6 Y9 p: D) R9 WTimer.timerSettings[1].master = true;/ w* N) M; a" Q/ ^: g; c' M4 W! V& Z9 j
Timer.defaultHalf = Timer.Half_LOWER;
6 p$ `. z1 ^8 i: R0 JClock.timerId = 1;
' e" o6 P( ~, A
4 B8 ^& L: h( p. E7 U) ~# h: a5 d4 g9 i; P! q2 m9 P. B0 t
/*
4 N& Q, J+ H: H( T+ A * ======== Miscellaneous Configuration ========
. y7 |4 M% _2 v. T {/ o) @1 ~0 W */
6 n+ M% `: X+ u+ Y5 `7 y, U9 ]& n* \- C0 ~. F4 ^7 L9 W
/* set default diags mask */$ h! v3 P+ M1 w. S; i' N* a
var Diags = xdc.useModule('xdc.runtime.Diags');
6 `# _% t# q4 Y0 Evar Defaults = xdc.useModule('xdc.runtime.Defaults');
& D" }4 p' p, Z9 `9 b# `/ q: |5 X7 ?
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;/ j# C. P& Q* I- d6 @% ?
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;! W1 I$ ^9 S( Q( T
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" g5 \& I6 f9 @+ Y$ K, P8 g) LDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ N2 |$ k- I4 ~( u5 _5 k3 IDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& k( _' j5 @5 `Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ J! _: s% e8 K2 C. V1 f, FDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;6 e7 D/ o: t3 R
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;6 R* {8 X4 y' e8 z' h$ P* e5 p
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;- m5 l: b" Q' ~$ i9 O. z/ G
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- G; s: f9 G. z+ I: h, [( P
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF; P2 x% t* G+ ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
2 i( G, Q* X3 A; Z6 D. G$ n& YDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
z5 Y# t/ p/ q9 _* d$ Y1 SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;9 _+ j6 y* b, d0 i* z, r9 F
% }$ [- R1 y' D. b. @/* override diags mask for selected modules */
/ ~3 m. l p+ |6 I9 q6 e6 uxdc.useModule('xdc.runtime.Main');
4 A5 ]4 Y3 Z B$ K, NDiags.setMaskMeta(
: U8 @4 R$ V: z6 [7 x3 n "xdc.runtime.Main",
" i2 E) k; @3 M/ t. @ Diags.ENTRY | Diags.EXIT | Diags.INFO,
* C( w+ w( q' W! o1 @ Diags.RUNTIME_ON
3 q D1 @/ x6 y! u# K);
; x$ l O, G& \( P2 _
8 g# O: h9 X0 pvar Registry = xdc.useModule('xdc.runtime.Registry');
. l7 L. W- b# d+ B: B( RRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;2 h3 ]0 \0 `' Z- Q9 \; ?% |
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
" e# V- j! S' k ERegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
2 K, x7 P+ Q3 h! PRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ N% ?- l7 p# ^) u8 A0 X
$ G( k0 X. ~$ [/* create a logger instance */
4 m: k; T, v6 E! S) m- Dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# e. u) J7 a5 k7 V6 `9 f& A5 Z2 c
var loggerBufP = new LoggerBuf.Params();
4 ~1 p" z0 _5 gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% S3 U2 B8 N" a2 J/ t U9 _
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
1 t4 g! m9 v$ D! F/ n& P
$ ?6 Y( d+ k% K( ^$ k( w+ n; ivar appLogger = LoggerBuf.create(loggerBufP);
2 F f# J1 z- M( O5 BappLogger.instance.name = "AppLog_Core1";
: J5 M: S( C, |Defaults.common$.logger = appLogger;
3 p% {7 \$ I0 z3 \1 SMemory.defaultHeapSize = 0x8192; # m: M5 ?6 K' V4 `
Idle.idleFxns[0] = "&LEDStatus";6 \8 f9 f' i* W- o
Cache.initSize.l2Size = Cache.L2Size_32K;% }" I+ b) Z9 C \
/ C/ t" y/ d; U- G3 K! d
|
|