|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明6 T" J0 @$ T! w
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
+ L' F7 y; N! I5 W(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
: N+ ^2 S" P7 c5 a6 m2 k
4 S% {8 K3 N+ s9 T z是不是需要在DSP.CFG中进行配置
$ W, u6 W* v( J6 t% o我现在的配置为( ]* A, o4 E. X0 D% G8 }
, Q; N0 f. ]- R/*
9 Q4 b) t" v+ F! g+ S8 H: K' e * ======== Operating System Configuration ========0 S/ S9 L6 O$ I6 C* b. C
*/
$ l5 t# r2 c4 d7 O7 H5 p- w/ d+ x1 L
- E, O3 M0 }, ?+ q% M( r/ p* j/* no rts heap */9 B; N+ `, @5 H: X R
Program.heap = 0;
9 T/ @8 P0 B6 J# KProgram.argSize = 100; /* minimum size */* f, j! D4 `3 h
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ e, M' W7 T, q# b a, r. K+ d: b3 x6 Q# z
/* create a default heap */
. t8 }4 H2 i( \) e# w. E9 evar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% N( [2 h6 a+ f8 l8 b( Cvar heapMemParams = new HeapMem.Params();
' u' Y$ h0 p! ` ~heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 H8 z6 ~2 q2 o6 c1 b: U/ `8 n- b5 d6 P+ h( V" @, y
var Memory = xdc.useModule('xdc.runtime.Memory');- I, r$ d/ R* ~) _9 p7 A8 l/ O8 \
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- W+ R! l0 E/ l, T+ g7 z0 J! s0 X6 L( Z9 q2 k6 u8 e4 v$ P
/* configure System module */. { H) y: K1 t( ^$ r, J) G1 X
var SysMin = xdc.useModule('xdc.runtime.SysMin');
9 s. |7 ]. o& i, J1 vSysMin.bufSize = 0x1000;9 k0 H0 T' N4 ~) E! O! z
SysMin.flushAtExit = false;
' m- ]! h; k7 R# u; c$ B9 J) y
1 s. J2 d M' M" ~var System = xdc.useModule('xdc.runtime.System');
% ?- b) ]( ]7 USystem.SupportProxy = SysMin;
. Y* E$ j: \# I; h& R V1 O: c
1 Q. ~- f" S) ]& Z! P. u/* configure SysBios to use the lower half of Timer 1 */! T7 R0 T. R; c" E( E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 w& g, \7 r q. ?# T# ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 w6 Q6 W# S" \6 ZTimer.timerSettings[1].master = true;
: R- e' s+ i1 {& w* a* O; g- MTimer.defaultHalf = Timer.Half_LOWER;
% J% Q( c' Q$ {/ jClock.timerId = 1;
9 w6 }7 p G0 m8 t. s- x5 ]( B
7 B4 w$ k3 A: }+ M6 J9 c/ S/ u8 h+ N' D# i; z8 R9 g+ |" a
/*
! t8 U! b/ l+ ?* U: q+ { * ======== Miscellaneous Configuration ========
4 e+ s; [% l/ ^1 C; D5 j. _ */, d" i5 `6 [# Z' z4 x
0 L' S0 k/ D. k9 Z \/* set default diags mask */
' ^6 |- H3 Y ~var Diags = xdc.useModule('xdc.runtime.Diags');
6 o/ [! f' G- Svar Defaults = xdc.useModule('xdc.runtime.Defaults');
% b! n+ f+ r, b: g5 Z7 F& S7 A5 c: q( x% g' c
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;1 I! y# Q% a: q5 `
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
- ?4 ~& `5 n& Y+ k8 } n4 wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- `* C \6 b2 k* i4 K0 x- o$ \& c
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 T/ j4 ~; S- h9 S6 V$ T% Y" v$ p8 lDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- |) j& i( i# V3 fDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) X$ J+ Q6 V: e q, tDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 e& F9 A4 P2 A vDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" G# k# s. h- c" A& `* t9 y' F7 zDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, D# z( e+ \' Z( B3 I9 @1 X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 T; f& h8 g0 G; t8 b/ H fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
. g! B' q9 L# F% sDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& [7 ]8 g: @9 D% ~# e, ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! F. @4 X& O# {* n% WDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* b( C* C% M% z6 ?# ~; ~6 B
: B* s& f# m2 `' y4 W5 f% f
/* override diags mask for selected modules */" `3 O- r5 _! L: g% v
xdc.useModule('xdc.runtime.Main');) h9 ^7 N$ y, h6 ^# f5 n/ P- C8 R
Diags.setMaskMeta(
5 x" k3 O. c: y4 d; | "xdc.runtime.Main",3 D P9 k- }; x6 c
Diags.ENTRY | Diags.EXIT | Diags.INFO,
# f! h* y, i% s5 I6 c: r$ e: b Diags.RUNTIME_ON5 F. L4 o' m/ y3 x/ ~1 h0 M
);
g+ a% `7 u3 B: g9 p9 G6 n: P& H+ H" Z: n1 I( A5 ~4 z
var Registry = xdc.useModule('xdc.runtime.Registry');
8 Q; M0 |; x# U4 \Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 O( }' H0 E- q0 v: ]/ xRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! V% v: }2 E& H# CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
( X- `. M) H% q2 _5 o" a8 Q0 L: s, \Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 ]& C5 W; ^# o9 E z
0 O7 Q* J3 z2 w; M% f/* create a logger instance */# l3 M7 `5 o3 v6 J2 d
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ B/ X& b* \/ P( ? |- Y
var loggerBufP = new LoggerBuf.Params(); [0 v6 e t! g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */2 S7 ?$ I3 J7 C' b. F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;3 T, W. P/ u7 N/ c% t+ u- i
0 j% J9 J! H! D2 k" |* d
var appLogger = LoggerBuf.create(loggerBufP);
. t3 B4 D- C# D2 MappLogger.instance.name = "AppLog_Core1";
. {4 r* E2 G, [. jDefaults.common$.logger = appLogger; U/ u& x) u3 }1 M) D$ m$ s' R
Memory.defaultHeapSize = 0x8192; $ L$ ^$ y U2 \1 ?4 Y
Idle.idleFxns[0] = "&LEDStatus";
9 F* W# A" }! E* a% OCache.initSize.l2Size = Cache.L2Size_32K;; P+ J9 U7 g5 O% F, r- Y$ s4 k/ j
0 A# [8 j- Q. a `) t
|
|