|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明" j. O2 g o5 n; l9 w7 |6 i
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
7 P2 d! a9 _6 d4 N* \; F(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" \: Y/ [* J+ I: J- x! s0 p" Z
; @ y* R2 t/ M9 `9 C* c1 {! W4 N$ P是不是需要在DSP.CFG中进行配置
/ S# E3 t' e1 [我现在的配置为
: _0 `% c$ t! s8 k& H/ @9 W5 u" S. `. C" k! ~3 A* j5 \; I
/*
, a7 `8 L$ @& s6 f7 C U( C) H$ a4 Y * ======== Operating System Configuration ========/ `, n0 V* n- H$ _7 G
*/
* {* x2 j+ |) A x3 y" V* u1 d6 v s: M# E
/* no rts heap */
& e- Z. B! ~, n4 \Program.heap = 0;
0 B, Y* v. `, [( HProgram.argSize = 100; /* minimum size */' ^8 \. r2 ?$ y# |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 o! [1 B% j& Y# z
1 B0 z3 f7 }; h5 ^! [/* create a default heap */
: }) G9 w7 r; {: Pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 B* @; y2 E( i) b- R# ]/ o) _. q
var heapMemParams = new HeapMem.Params();4 p" i& }$ D2 H7 H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 V8 s3 V! L0 e1 p8 R6 ]+ r* S3 s e' g/ P! ~; X* Y
var Memory = xdc.useModule('xdc.runtime.Memory');
/ A- t: f/ P3 e4 X) V. k! e; rMemory.defaultHeapInstance = HeapMem.create(heapMemParams);; W3 w+ o# D6 ], @
* f$ j) i' j4 ?( i. T
/* configure System module */
3 S9 s: z( [/ Ovar SysMin = xdc.useModule('xdc.runtime.SysMin');4 e$ g( a! ^) B4 X
SysMin.bufSize = 0x1000;3 Q! ]! C' C+ ^4 o2 H
SysMin.flushAtExit = false;
4 G- q2 q$ g. r, e x! \5 L/ {' q
% f% T% A* O% p% qvar System = xdc.useModule('xdc.runtime.System');
% p8 z( }- ]" d; w5 U5 D/ j8 ySystem.SupportProxy = SysMin;4 t- o, h; \! T' S
: E' T; W8 _7 U! t/ G% O# X
/* configure SysBios to use the lower half of Timer 1 */ c5 V3 f* c+ R9 U3 ^0 F, B
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 }- u) p _6 p) ^( `! h! g' K, O
var Clock = xdc.useModule('ti.sysbios.knl.Clock');3 x0 {- L& P1 ~' G8 K1 P% }4 E
Timer.timerSettings[1].master = true;
# }) N% \- O. k8 |" }5 L8 DTimer.defaultHalf = Timer.Half_LOWER;
y A% F6 l: ^0 ^8 h9 j8 w2 uClock.timerId = 1;
. g( S G) A+ H/ n" B0 G& g9 T6 u6 e7 ~1 X4 v
, `, j9 d" O9 ]/*
! ~; N( }, D | D$ Q) g * ======== Miscellaneous Configuration ========: D' O4 |. S; {$ k3 [0 Z2 _. B
*/
4 U& r$ Y2 W4 W) l1 s) {7 }. X* T k' Q8 ?8 X, f% M
/* set default diags mask */
5 N/ L, K* a5 z- J2 x I4 H, Qvar Diags = xdc.useModule('xdc.runtime.Diags');5 c( W: I& v' R2 y/ a, i. U9 Q5 h
var Defaults = xdc.useModule('xdc.runtime.Defaults');
0 s4 a* a$ ^5 b6 J0 U$ c1 g* d O# r
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ B2 m- u/ ~; v- ^
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. z2 O* U% u( _, n6 O) O$ b4 }( QDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
) @7 `8 F3 w7 v: a9 N) o. RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */ h3 Z! g" Q7 T. H. ]- e9 F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) Q3 V) S& P, X1 F
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) t1 `! J( P0 f. xDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 W" [9 U; Q3 p0 p
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;, v6 p1 w q$ q! p4 q) }0 W
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% q6 p! P2 \$ [+ g+ y. v r1 e
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
* r5 s# ?1 a# m$ e2 hDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" G+ \ l8 p8 G: r8 y, F9 f% N: fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
W6 |( j! M2 ^ ^+ `, `5 dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;( u0 c# x4 F5 X. Y
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;+ G- h' D7 X0 X3 I
. A& C0 P3 O( M" K1 E I4 Y
/* override diags mask for selected modules */
& k6 a; s* f L+ G s( Ixdc.useModule('xdc.runtime.Main');
9 f; y5 M% I# O' X9 G; M LDiags.setMaskMeta(" ^, m/ m; g; ]7 K' ]
"xdc.runtime.Main",
6 V/ V( A& z. Z/ ?8 k h2 w Diags.ENTRY | Diags.EXIT | Diags.INFO,6 c- p* @. G3 U
Diags.RUNTIME_ON# b: r+ m: k+ o% E; i/ b- ]' `
);
' T; Y- t4 p& V. f# R0 B) R
; D+ a) L9 }6 `* ivar Registry = xdc.useModule('xdc.runtime.Registry');
P" E8 i' _* S* G$ j4 m+ i6 pRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;4 V6 P" n$ m: d o) T
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;1 b1 P; G# c. t; A, T
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 r5 [) V# X2 B$ yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ d" X" L% y5 }& e
0 _6 l- {5 ?% G. ~( [
/* create a logger instance */: g& g8 I$ t- L, R. a* f8 R( _
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' J1 ^; o& {2 T) e! J( L' f! r2 @8 ivar loggerBufP = new LoggerBuf.Params();1 a S) |6 Z' O0 g% C3 b7 H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 n# q3 }- u3 W4 N+ U6 j7 o( ]loggerBufP.bufType = LoggerBuf.BufType_FIXED;8 `, D% |: I% |- ?" ?. P
9 r' c6 h" r0 o& J# Y: Ivar appLogger = LoggerBuf.create(loggerBufP);
# a. O2 c. b0 \8 k) sappLogger.instance.name = "AppLog_Core1";6 o* w6 X: J' c2 K5 C1 e9 G5 G5 z
Defaults.common$.logger = appLogger;6 u/ j- Y. O* t% n w
Memory.defaultHeapSize = 0x8192; , \6 a. \5 K- h8 v
Idle.idleFxns[0] = "&LEDStatus";
8 V( I8 G2 C+ Y9 ~7 z4 sCache.initSize.l2Size = Cache.L2Size_32K;9 o! D7 c( q8 b8 m# m
0 u; J* n# t: ?# h! M" ] |
|