|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明8 A4 }$ u/ ~7 _; u: |+ F
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
9 J0 o. E* R r% N6 s(不过疑惑的是,为何单独DSP仿真就没有问题呢?)6 A: {9 L( z5 N" X
1 n* B* r9 ^1 }' F( l5 D是不是需要在DSP.CFG中进行配置# e: p0 o7 t+ }6 p8 E
我现在的配置为
+ z$ h% e4 M& x
% B$ K4 S# o1 z- O( O/*
7 U E% g x$ s2 q' m * ======== Operating System Configuration ========( Z7 q+ m" K4 T) W+ E# }
*/( f k5 [1 Z$ N' b& j& l2 x/ Z, [+ w
- }8 Y3 q6 Q( V! k/* no rts heap */' V/ _+ k$ B9 H$ L
Program.heap = 0;
2 ?# d7 S0 F) |; bProgram.argSize = 100; /* minimum size */, a5 X4 E6 c! i
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
. F; A! @ ]. Q( r
$ F0 y; z) y2 e/ t/* create a default heap */
( P1 G2 t& ]1 W7 C/ [var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');( g: v4 W$ d; ~" X$ F6 o# ~
var heapMemParams = new HeapMem.Params();8 X* n+ A D" F" E9 w p# P1 b
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ d m. k8 q6 n
) O; H# h8 Z0 i) pvar Memory = xdc.useModule('xdc.runtime.Memory');
; v2 z5 \2 t- [: u( e0 }1 d( oMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
}; P0 P& a' C1 @' w& P I
9 L0 R Z% g- t X c) B) h/* configure System module */8 ~5 b2 B1 i1 Z" B
var SysMin = xdc.useModule('xdc.runtime.SysMin');- X9 o0 E' I; I
SysMin.bufSize = 0x1000;7 z* E: [* s9 w1 F# d& w* g6 ~
SysMin.flushAtExit = false;5 I+ X- B: p6 x( R
& o" L1 B/ }; l" k9 c% E/ x% Fvar System = xdc.useModule('xdc.runtime.System');
7 k. x6 s0 }% t5 \0 b. ^$ j1 ySystem.SupportProxy = SysMin;! W" E1 Z: E, _1 w2 k- r3 y `
+ \2 U; k# _ U9 X/* configure SysBios to use the lower half of Timer 1 */
5 M8 k' H+ x9 \var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
( W2 Z* i% z, d9 X8 ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ G, [3 a0 Q* n0 ] |' VTimer.timerSettings[1].master = true;
/ Q+ u+ p6 o( F! s/ e2 yTimer.defaultHalf = Timer.Half_LOWER;8 V% q) h8 b R+ z+ d @# l
Clock.timerId = 1;4 g6 [+ q; ^. I3 \$ a
# Q& ?1 }) U# }: V9 M/ G
( C" M' [! V0 A# q" P* h. X$ q/*3 ^* T7 Y0 |3 D; b4 x4 k1 ]; H
* ======== Miscellaneous Configuration ========8 }7 w; r) X4 s* k7 W5 _' h) F# c1 I
*/
3 H" H5 J4 M0 n: g5 L: ]* A# }0 \; r
/* set default diags mask */
) @# w' @" @8 a, ~( i1 k2 Q$ xvar Diags = xdc.useModule('xdc.runtime.Diags');: }- c- r4 C/ d+ {: T1 u; k5 W
var Defaults = xdc.useModule('xdc.runtime.Defaults');
: F V5 L2 T3 z! H0 F, P" z. X
" a4 S: L) I: r1 T' A" Y$ fDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
- n9 ~7 {8 M# ?6 P+ U/ {. _( wDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;( Z7 c! f% [5 l( @2 W
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;3 S# e- A8 |- e3 r
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
- h% O- h" y6 m4 t3 p+ n5 k( [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& p; g+ J, W5 i2 n& o2 r' DDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
8 s3 {* ?9 P: n$ r4 d4 A8 Q, f: }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
2 z4 K0 E: _& S. R( r, hDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
/ r1 k; L) c- P% j! XDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;4 V3 G$ |2 j% f+ i$ j8 M( p
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 R; N. a5 K' P; x$ g6 B# L
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 g+ |7 l+ x1 I& o7 y8 L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;* E4 K/ ^; U- i$ h! N; Z
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 T* g9 `' x: _Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, a/ G5 y o) y0 ]
' \1 Z0 Z q0 m' ~/* override diags mask for selected modules */
$ N; n" V( Z3 kxdc.useModule('xdc.runtime.Main');, H1 P. r4 n8 D3 L0 H( G1 G
Diags.setMaskMeta(
" n" C, }. L; i "xdc.runtime.Main",
8 L0 j" d+ z0 @ Diags.ENTRY | Diags.EXIT | Diags.INFO,9 V! S6 d$ a2 k( B% c' q2 X7 h
Diags.RUNTIME_ON) o* ]4 Y z9 [( u
);
8 I8 P' {9 ]/ r9 w' h6 p7 k J% Q+ ?8 g/ t1 A, {1 q. i5 s
var Registry = xdc.useModule('xdc.runtime.Registry');
* V9 r& h1 P! r" |- y% t9 w- |5 bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! G! D- g w; @2 P0 z5 U, PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
2 u. o5 Z! W: |; g5 IRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;; R+ v% o; u! Z5 _+ O8 M
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;8 d0 z" }: I# T4 E; }
8 O r# z( D/ M( l5 J4 L! A/* create a logger instance */+ O. G0 W8 a/ _, K: Z2 ~/ X+ u
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
, Q3 C+ I9 X: ?2 W/ L2 [: \! Zvar loggerBufP = new LoggerBuf.Params();8 W4 a4 F( }4 C$ u; e- l: ?: x
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ ~$ H- c4 {0 O; ~/ C
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) V! S$ a; \5 E1 h' L2 `
# M2 F. ^: D+ Svar appLogger = LoggerBuf.create(loggerBufP);. \2 w0 W, }$ @- x
appLogger.instance.name = "AppLog_Core1";* [0 z0 A1 |6 h* i C, g+ ]
Defaults.common$.logger = appLogger;5 {) {, u2 f8 k% l2 q+ [
Memory.defaultHeapSize = 0x8192; : Z' T/ C! h4 B# T
Idle.idleFxns[0] = "&LEDStatus";
' ~' z5 s, k" B* ACache.initSize.l2Size = Cache.L2Size_32K;9 [) Y8 Z: Z Z' q# V( x7 D
5 z5 X. T9 a! N* Y- A0 p
|
|