|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- ?, x' \$ k9 g4 H) y) h: n8 G0 w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
6 |& v. e" C) y, S- G9 E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- I9 ]8 m9 [5 a8 S2 I1 g7 Z- F
. a, r5 @& O, r8 F6 q; W是不是需要在DSP.CFG中进行配置& j: c; Q7 A( r- g$ y
我现在的配置为2 i& U+ M7 I( I$ _& l* F
. z3 ?3 X# [1 Y- V/*( ?( ]' R" D( i; _* n
* ======== Operating System Configuration ========& B) [+ L, `6 l# A
*/
) O: I/ K, V! U, s8 j- d4 J
8 a& l* E- A+ k0 O# R6 ~( |9 Z4 L/* no rts heap */* J, v. N) k8 m, y
Program.heap = 0;+ ?/ Z# F; |9 J' Q6 J( I) |8 h8 M
Program.argSize = 100; /* minimum size */) {- I" W8 }) [4 q$ L, @2 h% v9 I) M
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大" J: U2 d" W# a0 n) v. T( u
, p2 J. e) {5 R! `+ d. ~
/* create a default heap */
: d" F' @1 x4 R }; W1 t. z# Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 t' k9 ~2 o4 |6 g9 \
var heapMemParams = new HeapMem.Params();
4 s2 K+ Z4 Z+ L, r; u2 {. ]) @# }heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ {1 i) d$ C$ ]# l/ Q
& m' i' k2 F; L) ]8 T0 H9 x
var Memory = xdc.useModule('xdc.runtime.Memory');" n6 b0 ?! G0 k, o
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);9 \: ]) {6 V6 J
& v9 _$ m5 q9 j S
/* configure System module */1 ]2 w" r+ s3 H% R" w# i& Q
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 z% j" c- n/ z7 @SysMin.bufSize = 0x1000;
4 C( n' X6 L$ H% l! n0 p2 e: mSysMin.flushAtExit = false;# O' v! c2 r: z, ~* L
5 n5 f' K7 `8 \# W1 r/ I
var System = xdc.useModule('xdc.runtime.System');
4 g) r8 t8 ]* y6 M5 q$ T" rSystem.SupportProxy = SysMin;
9 t1 K5 i3 K4 l; E u$ @0 S
& ` q% d! C: ~! p- j# J- \+ x/* configure SysBios to use the lower half of Timer 1 */
0 `# R d5 S2 {$ tvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 d) n8 H, C; D7 N! Z- Y, `9 B
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 ^* g- t# i4 u, U0 k& z2 B' }
Timer.timerSettings[1].master = true;
p' ~9 U; |- Q5 UTimer.defaultHalf = Timer.Half_LOWER;/ N% T0 s9 ]5 E- ^" t) x3 s
Clock.timerId = 1;& v Y4 S3 w/ g) o5 |( `& d
N; O9 S! q% d3 m- ?# j* f
3 v: T H6 c% T" Z. I! e/*
/ r) L0 l% _3 R% p * ======== Miscellaneous Configuration ========/ y0 e* d) T3 n' ~) G
*/" y6 ~; y" C R- ?% i
8 b+ b, Z- M& m/* set default diags mask */
. w4 Q1 g2 I3 h4 nvar Diags = xdc.useModule('xdc.runtime.Diags');+ T7 e w6 i' Z( `( b- o
var Defaults = xdc.useModule('xdc.runtime.Defaults');
5 y4 L! r0 Q% K& U8 @1 v' w) {( a2 Y4 o8 n, ^
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 ~# g& i8 B) {3 a- c) ?: ?; f
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ x9 O U$ z4 C0 X" WDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
3 z6 [9 W+ A' e. PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 m: D' D0 V' U4 _
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- y" F5 c* Q% K( x( m0 @( FDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;0 z& {3 P+ e) Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ q: B4 d! p; w% O3 I9 F& qDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; a+ j& z7 R% v' i% a% SDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
) x6 i% y7 M! z) z" t' G- xDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
3 C& N' Y b- t" {0 I* mDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! i+ z. L. b/ \( tDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;$ l3 s- D) M/ A6 N$ j- y+ X/ \$ H
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 P. l H# A- ^% L' o) SDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 b- r; L& L" M( z: b1 x; G7 ?
. y3 f7 ] e! d* |6 _& y4 ~$ m: Z7 }
/* override diags mask for selected modules */
' V2 Z- k1 p! \" M1 g" J& S3 pxdc.useModule('xdc.runtime.Main');& {0 N. y( [9 c3 |
Diags.setMaskMeta(( {/ e `+ U( Z5 D
"xdc.runtime.Main",
" ]* a1 `3 S' J& q: H Diags.ENTRY | Diags.EXIT | Diags.INFO,3 Y2 L6 E P) g0 {! i
Diags.RUNTIME_ON4 T% k4 V, `9 v, s
);) f1 X- G2 A" }; l; |
& b G( r7 b1 K# p5 X/ h: Y g
var Registry = xdc.useModule('xdc.runtime.Registry');4 J1 }7 |% A! p; ^8 M
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 z+ ]: _6 A. d# ^Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% l( K, n* o9 z1 K) @Registry.common$.diags_INFO = Diags.RUNTIME_OFF;2 s7 ^0 Q( ~. d' \
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
* l3 ]: Y7 r% x4 T1 [; k/ J& v N( i/ G; @7 C
/* create a logger instance */
) w% A' ^! M0 n5 ^var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ S' J" I$ _2 B! Q4 }! v1 ?1 Pvar loggerBufP = new LoggerBuf.Params();
0 l) M$ I# s8 M9 Z! {. DloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 k0 Q+ o8 ^# floggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ U B& [! W& V( Z) G' l5 k- I& J
var appLogger = LoggerBuf.create(loggerBufP);$ ?( Z/ J7 h2 L
appLogger.instance.name = "AppLog_Core1";
) y/ Z/ ]) ~9 e; ~% v0 u. b; |Defaults.common$.logger = appLogger;
# A' W% ?. l6 ]7 V3 h1 ^Memory.defaultHeapSize = 0x8192;
$ \$ d! x" v' ?Idle.idleFxns[0] = "&LEDStatus";
+ S& Q; ]7 W# R" w4 HCache.initSize.l2Size = Cache.L2Size_32K;) r- C r) a9 A) P4 q9 w$ ^
* a I' |9 k2 j$ E7 v" d+ z' Q
|
|