|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明/ Z% _6 j& x8 @
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ F; ]5 i" K" _! h( Z- a5 E3 `
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); U4 q" Q7 h+ U# R) R( n% K3 V
0 B9 c& z0 u! C$ `' V是不是需要在DSP.CFG中进行配置, h B7 R& r- v' B
我现在的配置为0 Y9 Y' q4 U4 T6 J
) n' X" k7 S- [/*
! |8 h9 e+ O1 p7 y! x# U * ======== Operating System Configuration ========& }7 u3 e9 L( n, W
*/7 w9 p0 V. z& l/ {
% | X" j, W/ ] [6 y9 a/* no rts heap */
4 v/ B8 R* n1 O1 l' c7 }Program.heap = 0; b) S4 \/ K* G" i
Program.argSize = 100; /* minimum size */
, N6 x9 F4 Z8 {. J# U9 m$ sProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大( U) ~* q: ~8 _4 }* r- o
1 a& l: R+ ?) E# {. h6 e5 H1 B
/* create a default heap */
" P- D9 ?7 N. P0 P- _, s* P& Rvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 q, n/ D7 Q) n, w# T" x! i1 pvar heapMemParams = new HeapMem.Params();
; x+ |, y3 f+ a1 H* N/ y3 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
% M3 t- g7 }) H# k9 b6 |" o# ^7 C$ k0 h& q8 D, ~2 ^
var Memory = xdc.useModule('xdc.runtime.Memory');9 Z9 E2 T* y7 o* ~4 T$ B7 g$ c1 d
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
. e2 @4 o* ?2 G4 l; }0 b8 W9 r$ n1 Y( C/ A3 I: [5 h+ g# F
/* configure System module */
7 U) L8 m; p! T# B$ A) H3 @var SysMin = xdc.useModule('xdc.runtime.SysMin');2 o5 Y" U! L, X/ U0 u4 ~7 E) B9 X
SysMin.bufSize = 0x1000;* H6 i# N% q8 N
SysMin.flushAtExit = false;
" U6 I5 u8 w5 v3 c8 v4 R0 k1 a E% ^# o1 {7 T$ P. R2 C( j6 X
var System = xdc.useModule('xdc.runtime.System');8 F/ v+ U5 [: R) S( n( _
System.SupportProxy = SysMin;! w; W* t9 F3 @7 N/ |7 Y6 l% p
& x5 E- ~6 W" C# a( j( b1 p+ W
/* configure SysBios to use the lower half of Timer 1 */, |9 q6 b3 h' a* g1 x8 C) y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. m7 k" p' _# `- [" p6 nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! C) j, X# C5 l* ^0 v1 g
Timer.timerSettings[1].master = true;
{4 I2 R; P: g1 q* w: Q( S* d" @) J- CTimer.defaultHalf = Timer.Half_LOWER;% w) @* h+ V4 e. M' T/ z) u) e6 v
Clock.timerId = 1;
3 B8 t1 T9 a8 f+ ^5 }, I" d/ N w
% i: X$ k9 `" ~ k r+ O
/*; j3 F2 S8 L- A" B+ t
* ======== Miscellaneous Configuration ========4 V; U, _$ F% C; ^0 }+ ^
*/
8 o5 T2 l& r9 K0 J6 R% s4 z( A. C1 Z4 Y# g
/* set default diags mask */
3 g7 a# X5 U( Bvar Diags = xdc.useModule('xdc.runtime.Diags');0 D0 e7 E, x& v: A# N/ Z0 X7 k
var Defaults = xdc.useModule('xdc.runtime.Defaults');
( Q8 Z5 q2 Q7 D# R/ _% V( d7 Z" a6 v) m x5 Y+ k6 |" r/ J' K
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;% t, _! ^7 K' A4 c l' [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# N4 r8 A+ l' L e
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ p2 t# W. @5 q0 q) e! B8 u1 _
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, y( r0 s: k$ K, S$ _ Z7 S* g! p
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
& Z% y0 t1 C' c- n- fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) n3 x5 C0 [: p" SDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: p( A) q. L4 k3 n: P6 SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
5 p9 a4 d% z7 N7 T2 aDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;/ S7 c1 j; m+ T! z, G. e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;! ]' N F' Q: R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* w- z+ j( F0 U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;' v' M' X, \& j3 r( M
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
5 k7 j8 e W* M& S0 d- Q g* c1 DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 q& V3 r& i2 A9 Y) `5 ~$ F: v Q
& O# t. @" K9 H/ ~8 `) r, h& n9 i* `/ U
/* override diags mask for selected modules */- y6 q# v. \2 W; l; p2 D: Q
xdc.useModule('xdc.runtime.Main');
9 D, o* b" a" }8 P3 ODiags.setMaskMeta(
% _/ y' ]8 `4 W( e "xdc.runtime.Main",
7 E0 R, \- r( o$ r9 P+ U Diags.ENTRY | Diags.EXIT | Diags.INFO,/ S" J8 I- @% b8 y3 T. L
Diags.RUNTIME_ON8 o* s2 C+ W7 x- ^( G7 c
);, t! u9 |9 r, m; b- o
' _6 C2 y0 y9 s; c8 F% F t2 W
var Registry = xdc.useModule('xdc.runtime.Registry');
: M# d% Q& s# Q5 PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;* ]* y! K0 ^3 g, Z; |* d
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; ^+ }" K. Y; R7 w8 h& HRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;8 x/ @! Z5 b" ~2 D9 v+ T4 @
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;4 U5 z8 s* D' ?2 e( F
, X w( r& V: C. F) ^5 J, E
/* create a logger instance */0 o4 G2 j+ ~0 U- F
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); I; U; N+ t9 s3 g# D8 K" q* z
var loggerBufP = new LoggerBuf.Params();
k6 h- d1 L5 E, A' Q" y1 PloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' m1 u) w6 P5 F3 F. F4 P7 E7 D( }7 u0 k
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
( [! |, r* Y; h" n( N
4 m3 P# P2 Q9 k- Svar appLogger = LoggerBuf.create(loggerBufP);
8 W y% r( u3 m+ r9 O" S- LappLogger.instance.name = "AppLog_Core1";
0 j6 u$ [; p9 V6 w# ~3 iDefaults.common$.logger = appLogger;" M5 \; G) F! \3 ?$ k% C
Memory.defaultHeapSize = 0x8192;
1 o' l9 D/ N7 `/ o$ lIdle.idleFxns[0] = "&LEDStatus";
- s& ?3 J1 v z+ |0 q: Z! sCache.initSize.l2Size = Cache.L2Size_32K;
; P: z) T ?4 e5 D: H1 K, z: v( T1 k" D+ W7 O5 b: v
|
|