|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
9 L* R& _0 F! ~9 I我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: ]: l0 q6 z! v. A5 y' O; m: @(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' o) i* L1 F9 i. x3 R
/ b4 n* r1 o2 a7 e; x是不是需要在DSP.CFG中进行配置
' |- B5 C& v3 u }# S$ y我现在的配置为& p; p: t6 y& V2 x
/ J( g! P8 x& R% k9 x1 N4 ^" I
/*; W$ E0 k- |# A6 C( A
* ======== Operating System Configuration ========
+ N0 s* q2 X: a( O- H, T */' t9 W, `" m: J- k5 ]
/ n. z: w& X+ V" ?7 F% I6 t. z
/* no rts heap */
5 o% H# d' ~0 [/ t3 W. f6 b# X0 S" yProgram.heap = 0;
! s/ h9 `$ b3 U I& d0 zProgram.argSize = 100; /* minimum size */
4 G& u- [; _+ ]2 m( E/ AProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大) D9 s J) x, m4 [" J' K
z. m! [5 ~8 O+ D
/* create a default heap */
/ }" H& v! _( j0 Q4 {) `3 zvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
" j4 ]7 X+ C, v& Y4 J- xvar heapMemParams = new HeapMem.Params();
8 w6 c- V' X! _+ ^0 NheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" O: ^1 m1 v" P
2 e+ C' S& }" r3 y
var Memory = xdc.useModule('xdc.runtime.Memory');
0 U) w3 p2 y& [' K! l7 T }6 LMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
* j1 p- X- C7 L3 \
' j: t3 e4 T8 {- S/* configure System module */
9 O P6 S" k3 X8 G9 L0 t5 n s6 Xvar SysMin = xdc.useModule('xdc.runtime.SysMin');& Q4 t& K' V5 u) y8 j' ~. m' L9 J# m
SysMin.bufSize = 0x1000;, K/ m% V/ ]3 Y; z
SysMin.flushAtExit = false;( @& }8 l0 \. ~' E" a; E0 g
7 [2 ?: k8 U% \* N4 a9 Rvar System = xdc.useModule('xdc.runtime.System');/ k) K* ]5 Z) R3 t8 @
System.SupportProxy = SysMin;4 M& C; I: d/ X% O4 H( R% ^
' D% p4 l$ G- t/ C9 D1 m
/* configure SysBios to use the lower half of Timer 1 */% q; Z8 J' g- D. F) F! \
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 B* D8 a0 h% Q% ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');# k* O2 }. v% r' O7 j
Timer.timerSettings[1].master = true;1 A* P. {# u# C
Timer.defaultHalf = Timer.Half_LOWER;! Y- w1 _* L# M; A* I# `' q! h
Clock.timerId = 1;, C( E8 o1 ]- i
8 ~" m2 j6 d9 g* M0 ^0 x0 _. {* P5 Y& J+ |: ]% O) h8 D8 C2 A
/*
: u, O7 a. B, t: K. F7 k * ======== Miscellaneous Configuration ========7 F: ]) i0 w' A* \/ v$ x% \
*/
* W/ r. s3 }+ f5 k3 U5 ]1 v y
/* set default diags mask */
1 k6 g/ k1 f7 s6 P2 s9 g, rvar Diags = xdc.useModule('xdc.runtime.Diags');; v* F {% L0 X$ w: G$ `% d4 ~, k8 Q. u
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ Q0 K8 e! K) }
6 `1 W5 S% T3 P+ F
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 D# ]; |( O0 _9 ~( {0 N: yDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' F5 s& j! R0 y: N! T9 wDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ c {: o2 X, i: L, _- f; Q( D* Y# X
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */' i$ s$ }( e. f. r
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' k1 d& C* S, q( o( p% Z
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
, H3 M& a; T$ f _" }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
7 G3 l# Z6 f4 s v% K; P0 FDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;7 V2 }2 v# _1 X0 P& N
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
+ Y, R+ \; s3 S8 \Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 `. r9 t+ N5 \& d, P. V
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) S- N0 X, i7 u# J/ M1 X
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- |, v+ u3 l. I w7 l1 qDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 s( c# P7 Y6 M; q; fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;! V' p1 L) c8 z* ]8 p1 |0 w
" b0 q- B1 e1 {$ A: v4 `8 ^* F; c/* override diags mask for selected modules */
# u0 y+ x& Z) Z+ s# k/ ixdc.useModule('xdc.runtime.Main');
4 F7 D, w2 K( @8 C5 QDiags.setMaskMeta(* G' S8 A+ f( w
"xdc.runtime.Main",; M% K2 W9 V( t9 {4 F, v! C* i
Diags.ENTRY | Diags.EXIT | Diags.INFO,
h& H3 W" H# P7 @! P2 C Diags.RUNTIME_ON- M5 g0 @8 s/ X7 g- g% ?9 a6 U
);3 L2 d C; V$ }0 Y' Q/ n; A
7 ]2 B! e2 i6 L% D' ]3 M
var Registry = xdc.useModule('xdc.runtime.Registry');" Q0 c2 {0 @0 o1 ~0 {( X
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
I$ U* _& D, W) W) @) R( N) Z" g/ r$ nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; [+ `, w4 O6 H2 N1 i' X# ARegistry.common$.diags_INFO = Diags.RUNTIME_OFF;6 M# A* t+ f1 M3 S Z
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ U& k8 A1 n6 S6 G& B( Z, H
& V# `' W4 C8 }1 R
/* create a logger instance */
) G! T% S" x' u8 o. \var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. }5 _8 N3 d$ evar loggerBufP = new LoggerBuf.Params();$ R- W( S# J6 Y1 `7 v4 h+ b
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& }0 O3 {/ N1 R6 @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 s1 a; j! F9 l. j) y" y
9 n/ [. V ^2 V3 w8 @; ~5 C. j
var appLogger = LoggerBuf.create(loggerBufP);
# L# i+ j7 y, s8 x3 P+ ZappLogger.instance.name = "AppLog_Core1";2 U& h! b" Y1 N* H" _: _
Defaults.common$.logger = appLogger;1 q B) I; C2 H6 z% {% O
Memory.defaultHeapSize = 0x8192; ( p) Q+ w" R! n
Idle.idleFxns[0] = "&LEDStatus";
4 l3 C% e$ G2 CCache.initSize.l2Size = Cache.L2Size_32K;
% f3 \3 Y w0 K) a
6 d7 s$ C2 _/ x# V# t6 u- B0 c4 c! S |
|