|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
0 F' i% @: |5 ~: u. ^我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' ^0 b' b- g7 h- Z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
5 ^' Y* o5 u/ ^+ ?& o/ H$ l2 x3 m5 I! G) o6 x
是不是需要在DSP.CFG中进行配置
) {2 y9 G: G, H3 R% M* E我现在的配置为7 X; O5 b; H" o
# I& w$ U N5 m7 s6 B0 i
/*
7 T3 S" p# @7 D7 c * ======== Operating System Configuration ========
7 J* ]/ _! g7 h+ h# n */
4 f0 H, }! P2 v8 _( v/ u; d- a* n; K
& \5 X4 K* |$ q# g9 }/* no rts heap */
2 o$ A: u6 S& ]7 K2 DProgram.heap = 0;
7 _% J/ h! s+ m. XProgram.argSize = 100; /* minimum size */6 d. v# u# r @0 A* v
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- d9 r- @% h. p, q2 G9 \
7 j. ?% _5 i( ~* P1 ~/* create a default heap */' C+ b; C, \ ^5 y) g* e+ O* e, k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 b! Z) g4 s% z' u
var heapMemParams = new HeapMem.Params();
0 f# T: h* K/ }9 fheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
( p1 a; E% c- K" S7 V% y1 p& {: l: V! E
var Memory = xdc.useModule('xdc.runtime.Memory');
5 y" J: f' v0 o: f* o/ EMemory.defaultHeapInstance = HeapMem.create(heapMemParams);+ C1 K% {0 d8 ]$ q7 R3 B5 U+ b8 Y/ P
9 v' G+ u% L( Y* C) R) h
/* configure System module */+ _" k5 C6 o- {) r+ b6 U
var SysMin = xdc.useModule('xdc.runtime.SysMin');" Q! S7 j* L& ~8 \% p# ]: f
SysMin.bufSize = 0x1000;
* N3 F6 U8 S) m) `$ I$ K2 wSysMin.flushAtExit = false;
3 v9 Q2 w: V5 f: D3 h& y+ _) \5 m0 T, W7 k9 ^9 T9 U
var System = xdc.useModule('xdc.runtime.System');+ U. X9 x+ Z' K/ ^) W0 e1 b: j/ |
System.SupportProxy = SysMin;
* ?# Z4 U( l) F7 s5 K6 {( D
2 K6 a) T% t; k% q6 G/* configure SysBios to use the lower half of Timer 1 */+ f- N, M% W( |3 c; \
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 r, D" r$ O; i3 Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');, o: x; H. t: u7 d6 c- N4 l
Timer.timerSettings[1].master = true;. \; z; @/ J( U( Y* z
Timer.defaultHalf = Timer.Half_LOWER;
; i: H+ p" @) l q6 m: c. R2 dClock.timerId = 1;
6 v; s( j' j9 v, M$ x% q2 b, O, ?3 H7 q/ s+ R
0 h2 L/ [, U, R/*
! K7 v% n3 V, U" @+ B3 n& y * ======== Miscellaneous Configuration ========
/ c, L4 w; P0 ?. W */% C# p/ [" m$ J7 f
2 w! B/ o/ w- P* C( q/* set default diags mask */
2 m( `4 y/ Y7 C; i% c! Ivar Diags = xdc.useModule('xdc.runtime.Diags');
& j' S- O3 L! P, l; d: }; Uvar Defaults = xdc.useModule('xdc.runtime.Defaults');5 C* W5 w0 r+ @
- ~" y2 Y! g8 m& n8 j
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
" L' t) W1 B+ V+ F9 a/ eDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
# a! |$ E/ A. E8 [) k6 i( ODefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;# S: U6 a3 s3 c8 K3 N$ _; L0 L
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */4 j/ X, \0 ^1 }' u0 |
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */( `! l$ V5 n: V3 i
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ M5 i$ C! m" @) r4 z2 i, YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;# D- |7 p( j8 g8 F3 w3 w- ~- e0 H
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;# O$ e! f2 T% q. p) e3 E4 S
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 L4 M2 _$ D% b" f5 F9 N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;' `! R7 _; J. x
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; f0 d- k m/ Y' [2 @Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; U& t& w: ~- w. u7 u! t
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
$ s* V5 n: c7 DDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
* X) x. s$ ?2 q- F% v y
/ F4 W$ N3 \7 R$ D! T( q- y! T/* override diags mask for selected modules */) U! T: e; X( N5 d
xdc.useModule('xdc.runtime.Main');0 `4 i5 J' {8 }2 Z' ^
Diags.setMaskMeta(# Z4 h5 Z3 e0 }; H. f
"xdc.runtime.Main",8 Y9 U {5 T8 l' `" v
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 k- U: l6 s8 w' @: {8 ^0 h! w
Diags.RUNTIME_ON7 J) g$ c) c) q* o$ L+ Z
);
% T$ l ]- y% I4 h/ }! G1 I* k9 b1 u ?) l' i/ D) m
var Registry = xdc.useModule('xdc.runtime.Registry');; [# y9 K \* Q+ R7 M
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' q* r) O; G$ L. m [5 d! Y4 [: w3 mRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;" b/ a& U' K' W8 X' _0 t
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! b8 u( E+ _! ^4 \& M- f6 D; O
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ F- e6 C5 @* ^! b8 r6 h
$ k+ n: w1 C( F4 c
/* create a logger instance */% j& S& x" b' g2 c# U8 {
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ F4 u0 d; T2 b" f7 ~; n8 P1 L
var loggerBufP = new LoggerBuf.Params();* s! c5 q3 ?! V; B: z9 M( c
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */& t" \% v4 {; G. ^0 J
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 V5 ?3 A6 I3 e; {
: v6 I- ^4 b9 Z+ F T" w, bvar appLogger = LoggerBuf.create(loggerBufP);9 C& c0 T3 C; [2 I1 Q, s+ ]
appLogger.instance.name = "AppLog_Core1";
1 V7 O. r$ d3 Z- U( H7 `Defaults.common$.logger = appLogger;, H. ~6 n3 M% c* ? y
Memory.defaultHeapSize = 0x8192;
; Z3 Z2 \- Z0 C) WIdle.idleFxns[0] = "&LEDStatus";
5 d8 A: [* ] tCache.initSize.l2Size = Cache.L2Size_32K;+ T) P" l% S/ T+ \
: Q* j- l3 z; w5 d" f" G' f |
|