|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 T9 O; q( l; ~/ K. l! a+ b我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下8 h/ v) R6 Z( w: j/ P+ p% A2 ?* A
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)7 V& q1 q! d2 k- @ Q2 d( J
: \' P$ U: T! i/ M3 k- E+ ?/ ?
是不是需要在DSP.CFG中进行配置& w8 N6 t( x9 D2 ]
我现在的配置为
# O/ ]$ y7 V, `, z- ~; X0 O. z# `9 t; {* u
/*
* p8 q7 X- h z9 z" ]' }! @( W, E5 a. C * ======== Operating System Configuration ========7 g/ k1 b j' ]! D2 v
*/
a' y+ s& H3 I7 K9 j& n+ K' {* g/ p
/* no rts heap */3 g3 g5 U" L1 {: K, k
Program.heap = 0;
; a4 F: C/ s: i9 ~* {Program.argSize = 100; /* minimum size */ y2 N8 ?% X) ~; i# s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大( @% i/ Y7 H7 t: r
1 M: n# \5 f, c$ Q/* create a default heap */) L1 Y2 x( I! h5 Y+ J4 k5 A3 j( {! P/ r E
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 [+ w# k' P5 }$ S6 K$ c
var heapMemParams = new HeapMem.Params();" L4 _( x% ^6 _6 E+ }( ?
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 U3 y( d, O3 p/ L
; }3 Z2 m8 P) |& Q. `5 y3 i# Gvar Memory = xdc.useModule('xdc.runtime.Memory');: j" L4 L" Z1 n, A7 Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 f. T! b1 @+ o0 k0 G; f) [# P9 ]' f6 L# N7 j, v4 ~3 E
/* configure System module */
9 P7 r# x2 t% V7 x/ x+ _var SysMin = xdc.useModule('xdc.runtime.SysMin');* W+ n9 g; t% U, H y5 Z
SysMin.bufSize = 0x1000;6 N1 N: p( O1 o$ K, F
SysMin.flushAtExit = false;# {5 X, ^9 _, E$ x! L" {
$ h9 M1 f) l3 S* l& q: kvar System = xdc.useModule('xdc.runtime.System');
: {+ f' V% Y8 cSystem.SupportProxy = SysMin;
5 s7 m. e1 s7 @ k. G3 h0 t) X* ^! P" [- _( _
/* configure SysBios to use the lower half of Timer 1 */
$ H" c2 Y7 B$ d9 @4 F: lvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& f( [1 y) \* |$ X2 r& O: y5 nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
9 f4 j, D: z: `, H. Q6 _& x' K5 g6 c% mTimer.timerSettings[1].master = true;
7 H8 a% D1 \+ R2 _: b2 ~Timer.defaultHalf = Timer.Half_LOWER;, x! B1 @; x0 x- Q, |7 W/ r: D
Clock.timerId = 1;
- S/ h3 P9 }" G* l4 w# K9 k4 [4 ^2 U1 B7 S: o
% l. i; F, _) D' _* S
/*
: W& s" {/ U& {$ F# g * ======== Miscellaneous Configuration ========: o$ z7 o M: M1 e- C
*/$ ], V# R0 {: g/ a, E( |" j
' { h8 C( Q# O# u/* set default diags mask */3 S7 u* }8 Q6 `6 Y# O' {
var Diags = xdc.useModule('xdc.runtime.Diags');
- G9 ^0 o! \: y# Z# ]6 @' _; l7 svar Defaults = xdc.useModule('xdc.runtime.Defaults');4 | r0 P6 z$ M! b2 U
; I' u1 _* c v3 R8 o
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" w( s. H' U" t
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 ~; c2 y- x, Y# S
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
% d; `4 ~9 ?9 l7 }/ i- N4 xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 u4 q. ]$ d0 \1 HDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; h3 q/ @3 B+ a0 Q* @' Z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
7 x( L6 M! E, H! P: E# yDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' Z9 W" [8 N& f& L u, VDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" @1 D' Z' q1 D2 rDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
8 N- f4 k% Q! w* _Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 `& O6 t+ U9 i* F" sDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: p% `* \9 g& k/ G* ]4 s
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 A/ C5 F1 T5 o+ q! e) q$ m/ aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;4 f- e8 P* L- L1 f) t E7 |
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 @. {' I& \/ A" b& {$ u! n
) X) A9 H$ |* L4 A/* override diags mask for selected modules */
: a9 h0 s6 P ~* @ e. O' I0 V$ Uxdc.useModule('xdc.runtime.Main');
/ l2 \! j2 N W+ C. WDiags.setMaskMeta(
/ R- k7 q& F) k/ A "xdc.runtime.Main",
- D& `$ |% k; n! U4 V/ p: d0 ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,: ?7 V( r0 O, A S$ C
Diags.RUNTIME_ON
2 O5 |& b+ s9 m7 G' J8 r: w$ v: W);
0 l8 Q" L$ x* K5 k0 j. |/ o" W% t4 p: t2 o) J/ I& f" v
var Registry = xdc.useModule('xdc.runtime.Registry');, i% D0 H: H T/ h0 V
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;( H z$ ~# G5 W
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;; }1 L7 \$ P: H9 o& G# O) R
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;6 V$ {0 w m2 O+ w4 E
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;/ Y, n P4 c5 w* S" d! R
6 o: G! U! p1 T0 G4 P# t3 h, Y% [/* create a logger instance */, z/ N$ v9 X; T7 @
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) Y. d3 Z# n. F2 svar loggerBufP = new LoggerBuf.Params();
, Q5 w9 u1 P/ g) ^6 {loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
. v: u4 {$ y3 S1 YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
/ A. N* i+ f8 e. E" ?) ]; a. u
( }: m/ N' O& dvar appLogger = LoggerBuf.create(loggerBufP);
4 M/ }- I* P+ e `appLogger.instance.name = "AppLog_Core1";
! w% t7 m/ W; B2 {9 A, WDefaults.common$.logger = appLogger;
& c+ h, [: b+ q. cMemory.defaultHeapSize = 0x8192;
7 s7 d s* l$ {2 h3 g2 }6 RIdle.idleFxns[0] = "&LEDStatus";
! _1 x" ^) ]1 S9 MCache.initSize.l2Size = Cache.L2Size_32K;
7 f- u. q: C5 s% D1 p G' ~" @
6 A# p) z( x- O4 d% Y |
|