|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 `7 V B. K2 P+ w( S9 m `% T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下/ D% }6 ?+ I& `3 _" z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ v) X! [1 L( E1 u* a
7 i4 g9 P( O3 E- b
是不是需要在DSP.CFG中进行配置
) S. z% L& L+ i9 f我现在的配置为$ R4 O: N3 B+ }9 h
% b# @2 ^: [5 n8 \- t/ n7 `/*
$ e7 z0 f; }- E; U$ C4 W/ D * ======== Operating System Configuration ========, ?1 U) A" o: l
*/) T5 @7 q; J1 y6 ?
4 C6 ~6 U0 d2 W1 s/* no rts heap */
/ ^5 P+ W5 } i/ v( K: YProgram.heap = 0;
) _; _3 a6 }, ^% ?; v7 `Program.argSize = 100; /* minimum size */
- t( x* r& v% i; b/ S, S8 k# aProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ [) [( @8 C0 G6 o/ K) |
6 R! j, S+ Z* h z2 b/* create a default heap */
3 R0 r9 a$ ^2 w8 Z: w: hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');% k7 L4 S( c2 f# N
var heapMemParams = new HeapMem.Params();# h+ t8 M9 q; A3 ]6 D8 j: p+ M7 l
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大. }7 {" i9 j& _9 ?0 s$ ]" T" P" j
% G1 g8 U& ~0 P$ J4 q
var Memory = xdc.useModule('xdc.runtime.Memory');
9 M. c/ F3 ^% EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
5 U9 S( U7 Q; J0 k; L) N! j: _. x3 n% z
/* configure System module */
' U/ M( |) Y% H( lvar SysMin = xdc.useModule('xdc.runtime.SysMin');
4 D8 a1 `. N/ L- KSysMin.bufSize = 0x1000;
( a- O1 S: \0 u# d- M6 }SysMin.flushAtExit = false;
* z. x, A$ h5 d9 K2 u$ k& Y, Y, d7 \ b% E/ z! t
var System = xdc.useModule('xdc.runtime.System');2 o) k8 n2 h- R: {9 ~6 I
System.SupportProxy = SysMin;
' C& | y7 g7 a/ ~6 j4 I2 v, a3 ?6 A( T6 r' C" z' E8 W
/* configure SysBios to use the lower half of Timer 1 */
( d5 Z. `& L- {var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
8 z+ w# `+ i" ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');
S; d* ~, I2 LTimer.timerSettings[1].master = true;
) @5 T3 B: r2 w oTimer.defaultHalf = Timer.Half_LOWER;
p! _ B! ^" X7 {. P# gClock.timerId = 1;
! o5 O- g8 u$ n6 I
. ]' D @& E3 i v3 q3 j6 ]( l8 ]: f" G3 y$ V' Y1 c/ r
/*, w7 u4 M$ a F& n( x
* ======== Miscellaneous Configuration ========
* {2 G% |- F& s- ^ */ }( k+ q: ]0 n4 K' q9 y
3 W8 a9 n; Q- ^# q( ?8 t
/* set default diags mask */
; O; p+ a Y1 h5 Y- Gvar Diags = xdc.useModule('xdc.runtime.Diags');
9 }: D" Q$ V% t7 O4 D. V. M5 Cvar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ F$ J1 ~3 H$ n c% J: @# O8 R- D ~9 `0 y: f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
8 J: x6 m1 e- V9 B( ]Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 S \3 O! d) ~. W3 L, S( X0 lDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 l7 }& |7 c Y a1 |% v" YDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
/ M3 N( L& j! F% [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 ]" o: o M7 I6 C! P0 R1 eDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ c; s; ?- X! e3 f6 D1 [Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;0 F9 u; \, X; F* I+ v
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# q. H ? V4 o
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
7 Z7 Z/ A8 A4 u# E5 N7 w# B' p' ZDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; ?% K( {! j: [7 t! W8 Y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;& T; p" E9 B# c! ~0 s1 U
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; Y+ w( X) Y. V0 r( V; k* ?! {. gDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;0 T2 ?3 V# t. | v$ z' l
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;* h* @! h; {6 c6 A7 v: ?
; x: K6 G+ M# g1 h( G' c& i
/* override diags mask for selected modules */
8 F% T4 g2 M0 \( f' cxdc.useModule('xdc.runtime.Main');
, ?/ j6 G2 C( ~Diags.setMaskMeta(
) [: d1 x5 J9 d& R8 c8 A "xdc.runtime.Main",
4 C& `$ K& m( [9 G3 j! M Diags.ENTRY | Diags.EXIT | Diags.INFO,% L! O9 E. L- V: ~: @. _' ]
Diags.RUNTIME_ON
$ T% F; Z: a5 ^, \, d$ n- k: C);. N/ `1 v6 O7 |! }
1 `, B$ u' t. {+ s7 ^
var Registry = xdc.useModule('xdc.runtime.Registry');" q U6 d& X8 @9 c! B# K* e' g
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" ]3 T/ @/ L3 ~5 B& ?# N7 }Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;5 G# U, Y2 g6 z) J& p5 p2 d! a
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 h. u3 o3 e* `6 E/ f9 {4 KRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) ] ]) F0 A2 n9 ]$ m+ t
: m& S/ e2 ?1 a! ~/* create a logger instance */9 M5 M! N! K' W: k l9 J
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# q+ y7 P+ `1 mvar loggerBufP = new LoggerBuf.Params();
8 ]$ u. q9 ?8 m) m3 N* Y1 vloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- W; b4 K8 X- A$ K# E9 a
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
- v# M. U9 e8 Y7 x9 b8 r# G* J' O: D9 r! z
var appLogger = LoggerBuf.create(loggerBufP);
6 H- M, ?; U: x0 @0 I* OappLogger.instance.name = "AppLog_Core1";: t$ Q6 t" |6 N: h; z: o \& c
Defaults.common$.logger = appLogger;* H: D8 x/ [. t3 j8 g) b4 s6 C, H: E7 K
Memory.defaultHeapSize = 0x8192; + i% M0 H7 q4 V8 | a% W/ n5 v
Idle.idleFxns[0] = "&LEDStatus";- d8 q* |- l3 X, C1 v
Cache.initSize.l2Size = Cache.L2Size_32K;6 ]2 o2 Y' O1 {- |$ N
! R" B0 u4 T6 ~
|
|