|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
7 ^8 h0 H z* f% X我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
2 a6 L6 s5 X2 \/ c9 c3 |' f- Q3 _(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 D* p/ H# L! V8 L" L8 f7 V3 _# O& f; M, x; R5 e) w0 Y
是不是需要在DSP.CFG中进行配置" @5 ~3 C" `4 ~+ `6 [
我现在的配置为8 [% q/ U/ z6 h8 f. U
- u4 c, i7 Q6 ]# q9 R/*
$ L; m4 Q+ O* ^8 m+ w$ T * ======== Operating System Configuration ========; U6 N; o. k8 X: r7 \, \
*/
: `0 M* Z( Q/ t, F6 }5 k3 {
5 K* ^ S* P1 z$ }8 z! k/* no rts heap */
( H! {$ V$ D: c- D! X; S+ n2 DProgram.heap = 0;) I( K1 `' R+ ~* q
Program.argSize = 100; /* minimum size */
8 U, O& {) L# @* v- I- YProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 i, o1 C& `1 p7 ]8 J8 d, _* q+ Q( w* L" `( X: j: M
/* create a default heap */
# Z1 h7 I* x5 J' @- K5 q; c- ?0 E+ mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');+ ~$ @- C( o: k7 ~7 Q1 A
var heapMemParams = new HeapMem.Params();6 B6 o" {: S4 M
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
0 a! Q$ s! ]2 o- C" [' A/ `9 s6 @- k) O S, |5 G. H. m
var Memory = xdc.useModule('xdc.runtime.Memory');9 R* [8 F, L0 A2 r) h
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); c9 {" R8 f. y6 [7 n1 @# |- y8 l
1 V8 P4 U( {$ E8 a7 ?. s% K/* configure System module */
+ ]& a. Q2 s; p% [1 m- _. ^+ Svar SysMin = xdc.useModule('xdc.runtime.SysMin');
7 m) l# g! @* N3 hSysMin.bufSize = 0x1000; ^, M2 A* z( |& P6 H3 P# Y# l, q, a
SysMin.flushAtExit = false;
. r% Q5 N$ y2 i) p* ^/ u0 \9 ^
+ C2 b& p3 w' `. f5 mvar System = xdc.useModule('xdc.runtime.System');' n1 u" X, r( G1 z2 _2 U
System.SupportProxy = SysMin;
- z% `2 n1 w* W! N, j6 y
* a9 H/ c3 J% j/* configure SysBios to use the lower half of Timer 1 */
) G4 t% Z* x3 V1 j6 J5 G+ Ovar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
9 V1 f8 L2 W9 v- I3 b( yvar Clock = xdc.useModule('ti.sysbios.knl.Clock');% }" R- T5 P& g& H+ J( V
Timer.timerSettings[1].master = true;. o& A( c9 _+ e }) n
Timer.defaultHalf = Timer.Half_LOWER;
& M7 N; p, k: k: G- C2 @/ r9 LClock.timerId = 1;+ n$ L. c( h# \1 z
/ m. |7 F; P' w: }0 }. [( l7 a- l( r) G0 c% y1 |* V
/*& y- T: e) U3 s# ~' f' ^0 M
* ======== Miscellaneous Configuration ========
6 }! m }. @' E8 N */ r; z- F- Z( c- @9 n6 C" y' [8 L$ T2 Y
) U, i' t" [, s: ?# S
/* set default diags mask */
# X- A) I) b2 Q3 yvar Diags = xdc.useModule('xdc.runtime.Diags');
3 @8 u+ m% {/ Gvar Defaults = xdc.useModule('xdc.runtime.Defaults');' A; H: }+ v7 F: R7 t
7 } N" _1 \6 e
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;4 ?+ v2 Z0 [0 R9 T/ |
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
1 S z8 K' S+ x/ Z6 l6 MDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; k. M6 x# y3 T Z; D& b& ?
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
. ]$ v i# z1 z1 f! }Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) R5 t" q5 W* v' T+ C3 R
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 b! _5 X' q! a! {$ F4 X$ nDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
! @1 q9 v i3 f, nDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; o$ V) s/ j3 iDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 x+ {1 L' b# s) {. w' O2 l/ bDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;" R8 [4 L4 c: @
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;5 W: ^: ?; }% C2 g) g& `. }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
1 v' \0 {4 \0 U1 oDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ ~+ a: j) z. d" @6 j# `Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;% U9 E* V1 A& m1 ~" h! X' p7 c
9 u# \ b0 E; A5 u! a9 Q- Y/ ?
/* override diags mask for selected modules */
$ p, c5 J" O# X6 A7 S9 Pxdc.useModule('xdc.runtime.Main');) ^' s7 z/ M+ ^
Diags.setMaskMeta(# [( y. k+ X2 Q) w3 z5 j
"xdc.runtime.Main",. [2 }3 X9 t0 G
Diags.ENTRY | Diags.EXIT | Diags.INFO,$ N$ G; H. F4 c$ v
Diags.RUNTIME_ON
- T( i4 i- A0 A$ Q, k);* ~4 Q" C1 ?# f8 H
2 |! z/ \( j8 K7 Cvar Registry = xdc.useModule('xdc.runtime.Registry');
' }: L$ U8 o8 U4 O" h+ VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
' q* \0 A2 M) L8 Z3 @% yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
p4 n, s+ v4 ?0 }" c' z$ s$ j9 [) GRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 T7 }4 W% J/ hRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;) j* b6 }7 w. Z! x) f
% g A8 f& ]8 y) B/* create a logger instance */1 M+ z* S' b- |; W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 Q5 |5 b5 a* l7 @; S, P3 Bvar loggerBufP = new LoggerBuf.Params();+ H( k; R, i' l
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */" k6 J9 `1 O7 z% O
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
2 {1 C+ z9 Y1 I$ X% {/ w- P* Q1 V9 R @/ J* g9 U3 k2 B
var appLogger = LoggerBuf.create(loggerBufP);: l1 C3 E: w& x r* d
appLogger.instance.name = "AppLog_Core1";+ f: u. B* Y# w6 l, {/ P! F
Defaults.common$.logger = appLogger;
* z3 Z, Y- _' u& Y+ z! ~Memory.defaultHeapSize = 0x8192;
0 x5 N. v' j; NIdle.idleFxns[0] = "&LEDStatus";: o7 m3 }( C6 U3 H/ M1 G+ {
Cache.initSize.l2Size = Cache.L2Size_32K;! H0 u/ Z9 m! x& {7 ^/ W
2 U# s. p# S8 q$ w
|
|