|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 |/ N V8 X3 f" x! z" J我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# v9 a/ l7 Q4 v) v(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
* B5 I! ^& d- G2 q- R( h7 g! ~
6 K `3 ]3 S7 [是不是需要在DSP.CFG中进行配置* X% F( k$ A9 i" J+ M8 I
我现在的配置为
- {3 ?( N, k U6 I- _; T5 N
6 {2 w4 l. I% X" k1 M! I& ]' ?4 g/*
+ m3 x; D- R" T6 I$ m * ======== Operating System Configuration ========6 j2 ]2 Q! f% T0 s
*/
$ ^, a; \# l. r' G& p8 k6 a
4 z- o" f. S& y4 t0 \# k3 O/* no rts heap */$ a* w, D! s% o9 F2 z; f9 y( j
Program.heap = 0;* L: ] }: \2 s7 a; G
Program.argSize = 100; /* minimum size */
# s% Y- l" ?, [% g0 `7 uProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大; k" u4 }8 T( m8 ?. D! j
8 U) B/ k5 U# P$ w2 C! {9 ~& q
/* create a default heap */
1 @5 ~! G. n7 M( Y8 Gvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 [' u5 ?% P+ N3 l: y
var heapMemParams = new HeapMem.Params();
+ B* F. P$ u( M+ [4 F+ X3 OheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大4 M" I3 p" T: q
" j; r* n: {4 cvar Memory = xdc.useModule('xdc.runtime.Memory');0 v( [. |2 H+ k2 K8 ?8 g
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
- Z' w$ a3 m' h0 K2 y V3 a; V& T8 f! {+ _ t$ o
/* configure System module */
5 d: W, ?1 q0 M: e0 R J% svar SysMin = xdc.useModule('xdc.runtime.SysMin');3 D! w" Z9 M) o% f1 p- L
SysMin.bufSize = 0x1000;$ Y; ^" C( d; |( p9 ?% F
SysMin.flushAtExit = false;
: X7 F/ f, n H H
) I! C8 ?( B2 U; K! Kvar System = xdc.useModule('xdc.runtime.System');
, T# _7 d' K/ L( e; nSystem.SupportProxy = SysMin;3 U# t/ g4 T/ P; f& C( h" T
0 W" \& |" @0 E- [7 i" M/* configure SysBios to use the lower half of Timer 1 */
# ?( S( H9 H; \! Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ {2 K& H0 C* k' ]var Clock = xdc.useModule('ti.sysbios.knl.Clock');- O P6 f' A9 i+ g# b/ f
Timer.timerSettings[1].master = true;3 s, N8 J) r. o4 k5 G( ?
Timer.defaultHalf = Timer.Half_LOWER;8 A, W( g# o3 k# s( i
Clock.timerId = 1;8 H0 k; p9 @$ q4 B2 s2 e; w1 m( x
% D. `" i( @- O E4 ^4 ^ h( s
3 z7 {6 L/ c) E- ]1 l0 v2 h$ M/*
0 n2 X2 \9 g+ l* o3 _& i7 w6 | * ======== Miscellaneous Configuration ========* U6 Y* }7 C/ w
*/
# Z4 l( W2 S+ ?$ s& \! y* f- T n5 ^6 d4 ~! q: h3 ~0 K
/* set default diags mask */
- s; R" w' x& ?8 p. E7 ]var Diags = xdc.useModule('xdc.runtime.Diags');
`; U/ r4 h4 \0 Y, g& o/ \! svar Defaults = xdc.useModule('xdc.runtime.Defaults');. o3 g. h1 V: S; Q
- j* s9 P: ` e* Z# a
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;! T1 h \' W5 D3 H+ T) e
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
: q/ ~/ B$ p, Y' m9 o$ L! Y2 g: @Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF; X" r# m' e2 @5 \! R
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! J+ [, ^+ D2 E( T# Z* N, k Y, v( `Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */ e" ^* S. Y. E T* ]5 m6 L3 W
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
/ R# }. w* \! A& ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;1 i+ A Z4 _ `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, i2 ]" Z/ i/ g5 _+ d: i3 G6 v7 g$ x! U
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ L2 C4 p- \& n. ]- l: N7 v7 M# ?Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; K7 ~. V9 M8 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
+ U$ N7 {* Z! j7 `3 @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
3 `; X5 L% O# B, V; a/ @* Z; q; sDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;* ?- ?; S, g3 P3 [
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;& B0 e0 y# g: B+ v$ o2 o* I9 l
& C) L$ u8 C/ a/* override diags mask for selected modules */
; j9 P$ q y# `, V0 W8 ~xdc.useModule('xdc.runtime.Main');
" W# K9 ]& z& v8 I o+ }* J3 LDiags.setMaskMeta(
# I; ~( H0 @& Q( n/ c& Z2 b* ?- @7 K0 ? "xdc.runtime.Main",
/ M( I: y- [% V) I: f Diags.ENTRY | Diags.EXIT | Diags.INFO,
2 q7 U8 ^# ]0 t3 y0 Z: `/ } Diags.RUNTIME_ON8 @3 Y8 [6 ~: y S# F
);1 U2 T$ m# f0 V* b( Y# Z. b2 `9 K
2 ^8 h6 n1 |( ?2 k
var Registry = xdc.useModule('xdc.runtime.Registry');1 \* N1 m* Y( m* l
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; R3 k3 K, @3 @
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;" l2 [: Z+ w! p; X; h3 w
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;. G* X' M0 N: x# }5 p! m
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF; n( W. a6 Y" F2 a% C0 q3 {' o
( J9 c/ U3 D2 o. q; n1 |2 O/* create a logger instance */
$ M7 g) `% b+ ^* a8 lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');7 e- z$ n9 p, P* j
var loggerBufP = new LoggerBuf.Params();+ @! X$ N0 L, |" F U- ^
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 p! {0 z5 g4 T" L' D" L
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 |. D; p4 x8 K/ z4 B1 J2 J% o1 f) V/ w7 o: ~4 a; b* E% E' x
var appLogger = LoggerBuf.create(loggerBufP);
) |& c z1 A. X+ p3 _4 aappLogger.instance.name = "AppLog_Core1";+ C& N, V$ \( F- S" B
Defaults.common$.logger = appLogger;
( L+ I: B; }2 h' u% ~1 |Memory.defaultHeapSize = 0x8192; # k; u5 t5 G& c" x# V7 P. k
Idle.idleFxns[0] = "&LEDStatus";. {5 E5 N6 F1 U3 J
Cache.initSize.l2Size = Cache.L2Size_32K;
6 }* }* k1 H& N. I) K
) h: d6 m6 K: n, d E |
|