|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
1 W/ q! ^- v6 m$ c: c1 x! T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
8 i; f0 p) \: p; F- H7 `2 ^(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
/ r2 v# Z$ o7 r4 R
4 p0 ?3 ^6 e7 `6 ^7 D是不是需要在DSP.CFG中进行配置
8 H, I# h; {6 G: v: H* ~3 J我现在的配置为) I1 |) y7 X5 n/ B
- c. M% r* Q4 k
/*) f! \) S( Z: ~4 |
* ======== Operating System Configuration ========
6 x5 T0 q* t0 B8 Y4 Q3 D/ D */% j2 E+ s! U2 ~: F8 j! r1 o8 s
+ }4 [" K/ r* C5 T4 e/* no rts heap */0 e8 q/ `( I O4 m+ c$ t
Program.heap = 0;
% R; _4 S. C* N' p: t2 VProgram.argSize = 100; /* minimum size */8 G8 g, d/ p: G
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
, l. N1 N4 V* n6 Q% {
( k( E/ ^3 q; E2 |0 L) O* `0 k/* create a default heap */3 E% B8 s9 q4 H4 p
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# f! n- }4 D; d# Dvar heapMemParams = new HeapMem.Params();; d: p: ]( ]( l: I0 `% a s: v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
s$ t7 V- g& t) S2 @! ~$ G
3 r8 i6 L! k: B7 F% S4 R6 c) r. mvar Memory = xdc.useModule('xdc.runtime.Memory');+ h' ?" t/ X4 u0 Q2 ^3 O
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- @: a) e3 V) L6 n8 A% k! K
+ I6 v9 n; g& z! G1 S
/* configure System module */
5 s8 K+ t$ k6 o3 ~) C; Svar SysMin = xdc.useModule('xdc.runtime.SysMin');( m) K& D' k Q j& F& O q
SysMin.bufSize = 0x1000;
; H5 P7 C. {$ v6 Y6 y9 P0 q$ m7 c: [SysMin.flushAtExit = false;
. {. V5 I4 T% b( @+ F6 H) p5 q- C! T0 g4 o' V
var System = xdc.useModule('xdc.runtime.System');
" K2 x1 I6 [5 ?' Q$ ?System.SupportProxy = SysMin;* i8 y- j( W4 D. {
: _; {9 o) a7 _3 S1 F+ t& q+ |3 z
/* configure SysBios to use the lower half of Timer 1 */8 A# [0 _0 }+ j! m. |
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ A4 Z* E% A5 c, `, ~" \& W: bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');- `7 E# ^ P2 G f. \- |
Timer.timerSettings[1].master = true;: t% Q: u) `' B( P; `
Timer.defaultHalf = Timer.Half_LOWER;
% W. R8 d% |0 j; r6 s. `1 `* |% q5 UClock.timerId = 1;
/ ~) A P$ m/ t$ H& n6 @2 C1 P2 a" z0 H) }4 V4 G
! |4 e* ]$ c8 d6 }2 j" t7 W, G/*
4 x8 {, g* c6 b5 k. E * ======== Miscellaneous Configuration ========9 s9 |7 j) T5 P4 R T
*/9 L0 n8 \: j1 I' A/ Q
) g' @8 X' `! O$ n+ y8 F/* set default diags mask */$ G/ E' Y1 ]! b5 K
var Diags = xdc.useModule('xdc.runtime.Diags');3 }% V) ~+ w* o! l
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, l! n; T% [/ [- w) }
9 A" z8 J% b3 \, }* q: XDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
6 q, W( O& ^. T9 X' ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( v% ]9 j$ `+ h" ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ j* M, J) q. T/ e! T4 z$ }: X) ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ i* B% m8 F6 ~; G- j$ E0 jDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 a( I, ~ i8 `7 V; FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' X# e& X* _# g! l2 Y' GDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
) P0 x! k6 H8 d( ], U3 h1 o. i! C$ k2 WDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ v6 e+ l/ T' X# X# d( d/ g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ Z' \5 d/ M- @5 d5 n: G7 R- n
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
. t: T* `( k; x* X& vDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& Y% [) b- X& F+ ^$ }' ~
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" a; w% E8 k1 m1 w# wDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;+ @& h" X! K( ?4 o/ u7 ]
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
- ^9 W& a* k6 ?5 ?
6 ?8 N. S0 W2 k0 \- Y# l/* override diags mask for selected modules */
. w& I: K2 D6 w8 B4 e( C3 cxdc.useModule('xdc.runtime.Main');; @. O" U& J, m7 E8 E( V0 x4 i
Diags.setMaskMeta( y: o, l, U& X2 y! Q. e
"xdc.runtime.Main",
3 I! k7 C# q, P# z+ a3 D! q5 u Diags.ENTRY | Diags.EXIT | Diags.INFO,
+ I# _; M+ \8 `8 A3 R Diags.RUNTIME_ON
% d/ _) K' @& `+ e8 ~);6 C$ D: }9 u( Y! ^
' [" T/ |8 X4 `0 h7 E
var Registry = xdc.useModule('xdc.runtime.Registry');6 ?& _, V0 @2 ~; n. \: F0 v+ R: E8 |
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;1 Q W* Z# V2 z, m3 t" y
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 ^/ o; d6 z& Q% [. d: V, C2 v$ LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
% R* Q0 p& z0 z( y7 F( d" T& SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 o! `. T# K4 a# j2 k1 B7 r
) M7 R: T) B6 N# J' c; j2 }$ Y/* create a logger instance */
! x% U7 _, j" g) D% Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' }8 Y, h/ c( Q
var loggerBufP = new LoggerBuf.Params();' I$ Y* E* F" L
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, K- h1 r8 ~0 r \! Z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 T9 l+ Y' b5 x G3 i6 b$ f6 c. p5 Z$ @4 x1 h" B
var appLogger = LoggerBuf.create(loggerBufP);1 b6 {* Y2 O" w: L
appLogger.instance.name = "AppLog_Core1";
+ ~; h7 a' x% B8 z9 VDefaults.common$.logger = appLogger;" ^ x0 _) s( j. y6 Z7 Z
Memory.defaultHeapSize = 0x8192;
; \9 [8 Y7 ^4 G- NIdle.idleFxns[0] = "&LEDStatus";
G% i: T( T+ r) Y1 |1 Q+ Y8 sCache.initSize.l2Size = Cache.L2Size_32K;
# o8 v, F9 B2 `9 X8 w& c5 K4 {3 {- B
|
|