|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
" o9 ^- x) [/ H3 Q/ H' n我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# H1 R: t) m6 X- q9 ]' G* ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
( E* X# J# Z. I0 S k
5 C) C. O) v( K+ e3 h是不是需要在DSP.CFG中进行配置
3 M. l% T( E; y5 I9 @我现在的配置为7 V4 d3 U; \0 O/ X0 y x0 H. O
) R; F& Z, h* f4 L4 K! G/*
! D! J9 z2 Y7 ]6 G' Q) m* t3 j * ======== Operating System Configuration ========3 Y3 R5 j+ f- k' N* ]/ q, y
*/
" K! f$ ^# Z" O' z% v" u; l6 A+ ]9 e
/* no rts heap */
, K8 D( R5 N- r; mProgram.heap = 0;# K$ ^- x @; V/ j9 o9 G
Program.argSize = 100; /* minimum size */
% p/ x* V6 E+ X: `% {# c7 ~7 A% u; j: aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
: t0 A$ ]+ F- Y) [& T
3 z. W0 a3 O/ K" j: l/* create a default heap */
, Y) ]% S# a% Uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');* M% T/ u: U |. C4 X# J" r' T
var heapMemParams = new HeapMem.Params();. f8 `7 m F: g% W, e9 P$ u# t8 V
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* ?& T/ o- ~# _7 S
* ~) s+ ^/ @' f8 v/ S- {/ N- G' k, U& Wvar Memory = xdc.useModule('xdc.runtime.Memory');& P2 v5 ], G4 B6 @) A: X
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
7 g7 Y: q7 E. _* t# v
! e1 y7 w! l: n$ R/* configure System module */; t+ |! _- x& r3 h
var SysMin = xdc.useModule('xdc.runtime.SysMin');( f X8 B1 E8 y3 ]3 T1 a
SysMin.bufSize = 0x1000;+ {4 E: v8 k" d8 i
SysMin.flushAtExit = false;* P$ ?: d- ?0 R! ], y
. Q' L9 j" d) F6 V0 o8 uvar System = xdc.useModule('xdc.runtime.System');
; a# h( H, D$ E0 W) |' z5 j; G8 iSystem.SupportProxy = SysMin;7 s3 ~( c7 F& g5 J2 Q: f2 D
( @. u9 a( m+ ?5 F. T" [9 k* ]/* configure SysBios to use the lower half of Timer 1 */* D$ ?2 n3 T6 z. r! b5 \6 b9 t" }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); c8 q+ J1 b) J, E# S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
2 ?) w: u% K5 H7 a+ u* i5 zTimer.timerSettings[1].master = true;
8 K: Y6 C+ f% `1 F: K3 ATimer.defaultHalf = Timer.Half_LOWER;
" Q d P+ y }/ Y, WClock.timerId = 1;
8 m$ ?: U0 U' p1 e9 {# I- }
+ j& \6 p( K; j8 O; a$ N. I' n3 `3 ^; G
/*
. G5 U. c* t* I7 w0 \ * ======== Miscellaneous Configuration ========
, s: O6 u1 X+ Z6 K; e& W( T2 I */8 K. C; R$ z: n% Z9 U# U% ?
+ ]' M3 y3 P! z; r+ c9 j
/* set default diags mask */0 d7 `9 m+ {* s! d6 V. [, K" B
var Diags = xdc.useModule('xdc.runtime.Diags');
6 |+ n5 s0 P2 W4 a+ \var Defaults = xdc.useModule('xdc.runtime.Defaults');; B; y- S z# e' D
8 M4 m, F, u& O1 y4 p( d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
5 K% Q5 k6 _- DDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
2 c# s/ s$ {/ [Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! b0 S* z( j6 W/ A' L5 yDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( p% b# W/ ~: a1 ? M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
$ j: J( ]& p! R9 jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
; _5 x/ |6 f" [* U- }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- |7 m# @( y F4 |Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- W& ]' L- B' M
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
! r) P; Y. S5 G" Z& R0 d3 R4 x/ EDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* Q: P$ ~& p7 W, Z/ R1 |. oDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 b+ v: T) Z: @- O% Q8 V5 d& G
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. Z9 h# Q0 |, L+ V7 }; n& DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;. |7 @1 e( E, f) S) n0 \9 q- c
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- _& ]* Q+ e0 R2 Z4 C
, g; T/ n) M2 V/* override diags mask for selected modules */
4 J* n G2 I; R( |4 C3 n& @+ lxdc.useModule('xdc.runtime.Main');" k8 M& ^7 c6 R: x q
Diags.setMaskMeta(2 n5 K, T4 j* n2 H: E! w1 `
"xdc.runtime.Main",8 Z O( p( Y$ Q, R
Diags.ENTRY | Diags.EXIT | Diags.INFO,' u9 B* _% w( l7 a; V
Diags.RUNTIME_ON
I2 ?* m1 K/ G# ?4 f: R) A);
8 |) c4 n( V/ n1 G2 X- L0 n6 t& z! m" `1 T+ W4 O/ C' o
var Registry = xdc.useModule('xdc.runtime.Registry');
& B6 y* A0 B/ A- Y$ cRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
& X; {, `4 R# | P$ S8 \Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! S- Z2 N- A& B: H% URegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 o% d1 c1 `7 bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ N) ]7 q! v, o. b; @
) c% p, G7 |, @4 N, L/* create a logger instance */! C" ^" W- Z0 q3 |) R. S
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' c* T0 C8 y" b9 a
var loggerBufP = new LoggerBuf.Params();
% Q/ O( E9 H. o: r& ologgerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 C0 ~7 U! i" _& _ G
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( C# |2 X& G2 g
- |- P+ G7 C: \: I
var appLogger = LoggerBuf.create(loggerBufP);9 h8 U' U) W6 O1 D; W# |( z* N
appLogger.instance.name = "AppLog_Core1";
* T1 Y8 s e1 R& M! G- O& a8 T6 dDefaults.common$.logger = appLogger;
* L0 B( X9 |8 VMemory.defaultHeapSize = 0x8192;
9 K6 U5 |, n4 ZIdle.idleFxns[0] = "&LEDStatus";
, h! t( A/ W5 T7 M3 wCache.initSize.l2Size = Cache.L2Size_32K;
" @$ c2 I" Y' q* f0 v; ~- V% T% _; D
|
|