|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
- r6 O& L& r M* {$ T我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
! D0 } V" _3 m0 F(不过疑惑的是,为何单独DSP仿真就没有问题呢?)" t; _6 C5 r: P# K. p
8 e2 d+ X: R$ h
是不是需要在DSP.CFG中进行配置
: c5 f% m( T% x$ G2 v* K我现在的配置为3 _/ e; c$ ~& e# l( Z
5 c" A6 y! y" `5 ]" e' _/*. k2 b* `4 }% K! f0 O- D
* ======== Operating System Configuration ========2 l( x/ L& o4 w! P
*/
6 w8 |/ x6 t9 i9 i5 Q) _
7 V6 C' D7 n+ \+ ?+ d% G/* no rts heap */4 J t3 k. t- g) h3 g% C
Program.heap = 0;
; i( S4 y/ |, B* J N+ b; q' ^Program.argSize = 100; /* minimum size */& Y# d m4 i2 D* A$ R/ c0 p- z7 B
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 H+ @% v# o" Q" O# a: S# @, `: Y
6 R/ Z7 v7 n) g7 ]2 f/* create a default heap */
; d! r1 G4 D; X8 ^' p3 {4 i! t. \/ Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
$ ?. c2 P" r0 G" z' \" l/ Ovar heapMemParams = new HeapMem.Params();( X; ~, w. c: e& I
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
. Y n2 B7 ?! l8 K
! U2 A1 A. H. w5 r) n: ]" M1 T; Hvar Memory = xdc.useModule('xdc.runtime.Memory');
/ j6 x) \, a$ I4 |0 r/ pMemory.defaultHeapInstance = HeapMem.create(heapMemParams);' a2 i# K! b2 X, b, j6 j; \# c
* A8 s' D% N: f9 d
/* configure System module */
+ G2 I8 |* ?6 n f; S5 U$ M2 `6 xvar SysMin = xdc.useModule('xdc.runtime.SysMin');
) b* h! a( R' \8 f& [& Q( \SysMin.bufSize = 0x1000;
9 o+ K5 U% j4 XSysMin.flushAtExit = false;
f9 }+ h5 {, @) c0 H
8 i+ z8 P& |3 dvar System = xdc.useModule('xdc.runtime.System');$ \2 K( g( D7 r c8 I! R
System.SupportProxy = SysMin;3 \- n# I' g+ w2 T
6 [; Z. S: o& G1 `5 _. S
/* configure SysBios to use the lower half of Timer 1 */
$ Z/ u* E1 ?% {* g* ]1 w% y0 evar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
0 e8 b. q+ G# C- W, g. Rvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
* a5 ^8 L. N. |' X, C6 TTimer.timerSettings[1].master = true;
) t% H& @2 o) B5 |Timer.defaultHalf = Timer.Half_LOWER;
3 O; \# ]4 i! o9 iClock.timerId = 1;
# b2 l9 X5 y+ [* K0 s9 q! X9 R. v. U. s3 P% p! B4 |& \; P
/ B) @/ J1 `1 R/*0 z3 q- K1 \& r- z* C' ]0 f
* ======== Miscellaneous Configuration ========
* ^& ?* t! g8 M: T: D S6 `2 V */
2 U9 a9 O! b0 }- s( M0 J. X
% h& P! i: h+ p. P- l/* set default diags mask */8 R6 i! S% a' I! G+ o8 g# d% K @
var Diags = xdc.useModule('xdc.runtime.Diags');+ @7 R( _6 Z9 G
var Defaults = xdc.useModule('xdc.runtime.Defaults');
' f* a' o4 q' @" t, \5 Q' J' P8 D4 A- f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ h( Y2 ?$ K) t6 Y' B. ]; ]0 h% LDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) w) L" G; N( s1 W7 X
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
7 H Z1 l; j$ l9 ZDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) x, j# s, ~$ [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */6 H1 l a) F ~
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, y0 i6 G' {9 r g7 Z' X( L7 `
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: o5 a7 f$ d7 ]$ P
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;) g4 V! ], z5 \& ~" a/ c+ W
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
- K9 l" O, Q1 `/ q" cDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;: I5 P6 F) D" Z( e4 y
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 c# d/ n+ E5 v/ ?+ x. W6 O9 P/ |" _Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, \: F# p3 O2 O2 \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
8 @! w2 Q# _7 D3 f2 `Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) L0 b0 T" U4 H5 t* E8 ?6 s
- N+ a5 c' S3 v% u4 W8 l/* override diags mask for selected modules */8 L' Y0 m+ j( _- }3 y+ u
xdc.useModule('xdc.runtime.Main');' K6 M+ D( h( u2 C4 p+ P2 ~# `
Diags.setMaskMeta(6 O" X; l9 M2 ^1 z! K W8 W
"xdc.runtime.Main",$ t0 }* h; e9 |$ J
Diags.ENTRY | Diags.EXIT | Diags.INFO,5 D2 m: T/ n! _5 q
Diags.RUNTIME_ON
0 ]+ `2 Z' y: j5 O* h- G);
# \/ o! u$ r4 ]
, C; ~( Q( h# H: \* w Wvar Registry = xdc.useModule('xdc.runtime.Registry');
5 `: W! \ u0 PRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. Z. }$ N: s! ?: c! N: nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;# P* J7 U& m: y# X" K A
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 ?0 Q! d/ D8 f7 s3 bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
' D; @# j/ I. |" L6 c5 K
. h% O. d( U; a0 F/* create a logger instance */
. r& u4 h m' F2 Q xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
$ c" w, z: m! S0 C, _' @var loggerBufP = new LoggerBuf.Params();) h; Y. G" Y& u; v! q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
4 F* Q0 Q) }1 Y7 g9 K& z* qloggerBufP.bufType = LoggerBuf.BufType_FIXED;8 _& N4 ^: i* v6 d2 |
: ?4 T+ b9 h- Zvar appLogger = LoggerBuf.create(loggerBufP);8 G5 |" Y4 z R7 w$ K
appLogger.instance.name = "AppLog_Core1";3 Y& M( B* l0 J) _: h9 n% ?3 P6 k
Defaults.common$.logger = appLogger;2 G3 ]3 o: m% @; m0 O/ `
Memory.defaultHeapSize = 0x8192; - V8 V1 R) H- J& ?. p% r
Idle.idleFxns[0] = "&LEDStatus";* ~8 k/ w' Y8 A/ }, w5 ]# a
Cache.initSize.l2Size = Cache.L2Size_32K;
' o$ u1 E! i/ n/ y* a# o$ \- E. }4 n7 W m" o' q: q
|
|