|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
/ X. u( i; E$ P/ ]2 Z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: J/ a2 h- P5 t+ T(不过疑惑的是,为何单独DSP仿真就没有问题呢?)( E( e5 S& l3 k
4 Q. a% r+ C h3 u& A+ B- ]是不是需要在DSP.CFG中进行配置
4 y; F/ N5 |" x! Y" f4 l& l我现在的配置为
; w0 V4 X7 B, u7 K7 Y+ a1 d
, ^2 O4 V F% y( l( F5 z: o/*$ r. Z9 C: H/ z
* ======== Operating System Configuration ========- G+ E9 r- B$ {5 l
*/5 z: v2 s2 V9 d, C
! G. a4 P' e9 y/ O* m% z8 @
/* no rts heap */
% d' u/ m8 f1 G0 e5 K2 NProgram.heap = 0;
4 h6 x2 h7 O9 O$ v4 ?/ R5 oProgram.argSize = 100; /* minimum size */4 O/ E" g; P1 K/ p8 ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; _8 J( B1 x- T" Q8 \8 @6 m3 X
, @1 E. b- q, m# q G G5 `
/* create a default heap */
/ l/ ?6 n1 J2 }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');5 Z" B& ]$ a3 W. S6 D* Y' C
var heapMemParams = new HeapMem.Params();$ j+ c: {' F" o& c7 @) v
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大) H9 y" L P: U) k& k( A0 F
) m' y5 Z6 R& G" Evar Memory = xdc.useModule('xdc.runtime.Memory');
& u$ G8 R" b) S4 y4 vMemory.defaultHeapInstance = HeapMem.create(heapMemParams);0 i( `' Z' s" s
6 a; A. O/ k P! O" H. O0 M
/* configure System module */
( U3 N4 `2 T A* R9 @4 g, Jvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 e; h# j- w1 O# m, N. s& z. K
SysMin.bufSize = 0x1000;
% s: x! h: b: s. DSysMin.flushAtExit = false;. h5 t( c4 U$ V- f0 S1 R
' ]: {6 }- n5 m' }var System = xdc.useModule('xdc.runtime.System');
3 i! Q+ l" I: N4 W0 DSystem.SupportProxy = SysMin;2 W1 W# _0 [# r$ a1 s: C
+ u$ m. ^% V0 W: Q# J
/* configure SysBios to use the lower half of Timer 1 */5 n( p& u# q1 i1 q4 F$ t
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 _( O, @6 E9 Lvar Clock = xdc.useModule('ti.sysbios.knl.Clock');8 ?' |" O/ `- \6 A( q0 _
Timer.timerSettings[1].master = true;
3 t/ @* l1 }4 W- X8 Y5 YTimer.defaultHalf = Timer.Half_LOWER;
; S% b6 L! D zClock.timerId = 1;& z$ }. e" Q, S3 q, I3 W
# m2 d2 A; K. M: U: B( j4 j& T
0 N' Z' w4 E7 s1 H/*
. l/ P2 B' ]+ p * ======== Miscellaneous Configuration ========
6 Q3 p# m0 h! |1 H' N$ B */; y& E' m A8 w0 {/ n g5 Y
7 r- J: Z5 l& U* l* \! u _
/* set default diags mask */
2 c: `# s: u/ ivar Diags = xdc.useModule('xdc.runtime.Diags');
5 T2 N [. c1 \/ B- `* Wvar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 o$ }* F" c2 J7 D, ?) X, W" } M
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 \% u' T6 q9 y6 nDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( r7 n+ T2 m- U( I7 jDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
6 h# O3 L* [' m0 cDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
" j# K0 ^! g7 Q6 B! j4 o& bDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
5 V6 W1 m" Y( ]) @: g" F5 \Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
1 n8 i# T \# DDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
0 ?" ] u" v) H: q3 Q4 LDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 }4 V0 O2 i4 V6 c7 Z9 mDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
. k6 o5 z- d2 `$ {Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
6 q, ]. L9 @; {2 U9 J0 NDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! V1 M# C% ~# ODefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 T$ I; O$ W; O3 C% vDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 j1 T# E: a F6 }0 j6 o$ Q+ Y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
; n( A+ [' Z: Q! N& H0 n6 f H! C T# J5 \5 N
/* override diags mask for selected modules */3 M6 N) r5 W% S& Y$ S* R; f
xdc.useModule('xdc.runtime.Main');% |2 O' k0 ~2 S: @' n7 a
Diags.setMaskMeta(
( I: m! [: v& K0 X" [0 S( y; Q; i% a "xdc.runtime.Main", j% Q7 K/ T: Q
Diags.ENTRY | Diags.EXIT | Diags.INFO,
$ `" s d% l, ]5 B# p Diags.RUNTIME_ON
( \3 y# G3 J. j6 U. z$ f9 ~2 R);
( m' D, b: V: {' R* u4 r
7 L0 i- w' T0 {# T$ T" Evar Registry = xdc.useModule('xdc.runtime.Registry');' h* w: t8 N/ b, S6 I
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 O7 u: f, t+ t) e( P& z( {Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. d9 X6 I! H9 m" Y9 {Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 z& e4 @6 ?' N! z& E+ d( ?% h! W/ [Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 @7 x4 L# c5 f* o1 Y
7 e3 _! E0 `3 \$ f: i& O/ k3 Y/* create a logger instance */
( S* L* X7 x2 ?' ?- B8 D( X' p7 dvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
; w) D3 ]8 s1 d0 `& \+ ~1 Avar loggerBufP = new LoggerBuf.Params();7 i# B( R( H" H# I
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 Z8 g- q0 v1 \loggerBufP.bufType = LoggerBuf.BufType_FIXED;' ]0 V" d3 F: G) s4 s5 S
/ a4 V" \7 Z* s8 A5 x
var appLogger = LoggerBuf.create(loggerBufP);
# m9 Q/ M' z3 }" v8 {/ qappLogger.instance.name = "AppLog_Core1";
) n5 x4 j0 l8 p! @) PDefaults.common$.logger = appLogger;1 \5 p$ b% }" P% P/ d9 d3 |
Memory.defaultHeapSize = 0x8192; 3 e) B: {" D5 Y! C% Y% s3 t, F) C
Idle.idleFxns[0] = "&LEDStatus";! e! p8 \+ n# o1 X/ T
Cache.initSize.l2Size = Cache.L2Size_32K;0 ^7 _5 a5 M7 y: x0 q, y
- F2 G0 u4 O) u* ], ]" ^5 l0 V
|
|