|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
8 c( S6 o9 x- O/ P6 z" U1 K3 c, |/ i我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, H/ E0 E# t5 r1 y1 l% ](不过疑惑的是,为何单独DSP仿真就没有问题呢?)( B7 w* @( O. v; ?% I
/ i+ T& \' z( J3 Y- |! X+ {8 H2 p" J
是不是需要在DSP.CFG中进行配置7 G9 X/ x3 h2 g3 f% {
我现在的配置为
3 L" j% N9 u# `: C
5 ?( l% ^$ c" h$ H/*
! B: W. m% ~ R2 Q * ======== Operating System Configuration ========+ [6 T0 w5 y6 q
*/* [) Z; ]3 m2 Y
' p! k6 s; Q- f! k/* no rts heap */
4 Q# K7 f4 U8 a) l2 C3 L/ ~0 x$ FProgram.heap = 0;$ `) J7 }! y9 f e" w' [/ [4 w3 o" h
Program.argSize = 100; /* minimum size */$ y4 J) e P1 h/ R p2 u4 P7 |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大- j. s) R9 v9 b( f& D- h
$ N9 I! ]$ ]" n8 }+ L
/* create a default heap */3 K' t% m! P1 d. m
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- o/ ^7 v( }6 X8 S! u
var heapMemParams = new HeapMem.Params();
4 H$ D+ e$ o2 }. Q8 pheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. l# {" D C- G7 x- X
- b5 Y0 d0 `8 H( p L
var Memory = xdc.useModule('xdc.runtime.Memory');
3 C' S* k1 C4 o+ L& g/ sMemory.defaultHeapInstance = HeapMem.create(heapMemParams); x5 R7 H/ t( a" ~. J
/ @3 ^& n2 n! u% B* N2 z/* configure System module */8 T R' R V' Y7 ~
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; j6 o8 o$ T t1 c9 d. NSysMin.bufSize = 0x1000;5 J* \/ _# }3 ~+ M" D. v
SysMin.flushAtExit = false;1 f0 W4 _- t/ z! a. u3 e
* Z1 G t6 X5 j, L; h# ^
var System = xdc.useModule('xdc.runtime.System');
3 m' B, |* e& |0 SSystem.SupportProxy = SysMin;
8 m( A1 O$ w8 V. Z' d
5 u7 p# h5 D3 o7 |1 Y G/* configure SysBios to use the lower half of Timer 1 */
m% G/ u& I! |9 wvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
/ H9 c; r+ L2 c1 j% F9 svar Clock = xdc.useModule('ti.sysbios.knl.Clock');9 D m2 Y: r( E
Timer.timerSettings[1].master = true;1 l; ^& o) r1 F; C3 o- o
Timer.defaultHalf = Timer.Half_LOWER;
5 k$ U8 f- J* @- n& d9 yClock.timerId = 1;
' k/ c' _1 x5 Q! _
5 @1 M/ U2 X/ o8 _' p) {8 |: p! ]/ G7 j# H7 L$ U( m- Q
/*
: z) e9 Q$ j( e7 u * ======== Miscellaneous Configuration ========# Q7 R2 D% Y( j4 q
*/
$ g2 W; Z5 A2 R' @ a+ W1 ~1 g K6 }4 T/ P
/* set default diags mask */( y6 F9 t4 _% s* [
var Diags = xdc.useModule('xdc.runtime.Diags');
& R$ U' x6 ^5 K$ N5 ]1 G7 E! @: K4 yvar Defaults = xdc.useModule('xdc.runtime.Defaults');
, D2 ^/ J* H- @* j3 i) |3 Q
# A4 E4 q7 B# O; u6 jDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; E; p3 Y) @) b% \. t/ A0 W1 C
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 y# A) V( i6 l0 w2 h
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ X4 G# ?/ V9 W' w6 j2 a
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
0 W, q$ U1 r; o2 {5 b ]# N7 XDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */3 F7 I) h. q+ l. Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ n1 E) F4 ~% P2 T# P0 p( o+ v
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 f3 i5 m l3 C% oDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
6 \+ d8 H* a- ~( [, P' mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; N! |+ h8 s/ F, t
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;% S5 n* l }0 R0 e9 S
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 a- H) g" w* t* O& e2 W- zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 h8 o/ C" B) D7 D% v; r' I
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
% O+ f( _# B7 ~: x& p; jDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 o) X8 J/ Q) P0 P2 U( K* ^- e
|4 A; k/ W% a9 N! `8 i* x# A
/* override diags mask for selected modules */% B' _6 o3 b9 N! Z! ~: v" t9 r$ g
xdc.useModule('xdc.runtime.Main');
. I$ M* j5 H+ P9 dDiags.setMaskMeta( M8 ]+ q2 _% d* T, D9 o( h
"xdc.runtime.Main",6 f% ]" N* }4 |3 r* z" b9 J/ I
Diags.ENTRY | Diags.EXIT | Diags.INFO,
& q( A# r1 \/ k& r0 v, N: n Diags.RUNTIME_ON( Y' P3 z9 x8 |
);
" |( {( ?# V7 e' @
/ ~( ^9 q- h& X( E7 |) m. Avar Registry = xdc.useModule('xdc.runtime.Registry');
: Z% B# V; u+ pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
3 p" g6 E& e; i }( G; mRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! V; j# A- L/ T d
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
% f& ^* o# U3 V1 c9 t: C7 H$ kRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
0 k$ {& b! S7 C! }0 d3 b1 o- P' l5 Z9 r
/* create a logger instance */" r: O3 l, W6 l; U
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
: T/ \( i" X, ^$ n$ d& k# c dvar loggerBufP = new LoggerBuf.Params();
$ Q! Z- I' x, ?5 }: V4 T8 QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 S( R' P- `5 N5 v1 D0 N5 T2 Y
loggerBufP.bufType = LoggerBuf.BufType_FIXED;7 }1 R [' R" W( g
/ P9 Q: W! U- e/ V+ w8 j
var appLogger = LoggerBuf.create(loggerBufP);
* B3 y% Q; m7 a" CappLogger.instance.name = "AppLog_Core1";& p* J+ H% E% E4 x+ @5 m
Defaults.common$.logger = appLogger;: e; G3 s' I/ W7 ?4 } |7 `
Memory.defaultHeapSize = 0x8192; 2 t1 m; S( x2 a Z6 K
Idle.idleFxns[0] = "&LEDStatus";4 s$ p) e) K* C
Cache.initSize.l2Size = Cache.L2Size_32K;/ x% ]- Z6 U( m, Z& ?* B ~
4 x1 r; K6 c; Q# b |
|