|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明* k( z$ w) K- N! h6 h
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
" `! u `7 z! @0 H' f(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
8 K& Z: N! ~/ S) ]
* r+ I2 O6 |2 H- d% G6 q8 A" A! {是不是需要在DSP.CFG中进行配置
k' s0 C4 @) C我现在的配置为
. g% B6 ?* N) A3 S: S; @+ U% w6 Y
2 @( x+ Q1 Z4 v8 k, b2 {" P d" G/*. S7 o2 z4 A& v* J6 | b* K
* ======== Operating System Configuration ========4 w$ o( R% g4 f7 E4 P& k
*/: [6 G( T; s# B/ i( l: {# z
`( a9 y$ Y8 S9 m% }
/* no rts heap */
& ?0 y5 i0 b, s* l9 Q' ^! \Program.heap = 0;( l! a6 f% t& Q* K
Program.argSize = 100; /* minimum size */) e7 N6 p+ K4 R+ g/ J+ R
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
4 z; j# f, B R; D, x- j& L# x1 U" R: |: t) r% S# R y
/* create a default heap */
$ d6 c% W- J: ^var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# Z& c3 F2 M- X( P- y* O e6 d ivar heapMemParams = new HeapMem.Params();/ z4 r! B# H/ T. c- r3 p
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
; Y9 G% [" P% S/ X p% w2 |9 W' E7 i# e- ]/ N
var Memory = xdc.useModule('xdc.runtime.Memory');
* T" w: o* }/ ]5 i6 a* gMemory.defaultHeapInstance = HeapMem.create(heapMemParams);+ w2 P! N5 i [6 H8 \
2 \. M- r- N; A. `: B; w/* configure System module */
3 A$ R/ u- V: g! Avar SysMin = xdc.useModule('xdc.runtime.SysMin');. }3 G0 E4 H x) l
SysMin.bufSize = 0x1000;
' Q M4 c3 W0 p% BSysMin.flushAtExit = false;# X) r5 H& {! x" Y+ e* y$ h
/ U& P! _, K9 _" uvar System = xdc.useModule('xdc.runtime.System'); J z, E t$ V' r" v. F# |2 O9 B2 q, g
System.SupportProxy = SysMin;
; C9 _0 i6 ]2 C: y; @( Q
, T9 ^2 k/ g' A. b+ P1 c' k/* configure SysBios to use the lower half of Timer 1 */$ y% N/ [- t6 O' R
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ x8 p2 J& k/ Z( j6 E5 U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
3 C2 W1 Y b( O. V# ^Timer.timerSettings[1].master = true;
- B& t' v8 W3 D5 M5 lTimer.defaultHalf = Timer.Half_LOWER;2 z; c6 T: [6 `8 e
Clock.timerId = 1;
1 P7 N$ P: ?$ k& `$ u# P# ?) E5 w
, d m' G* l* Z5 L4 v* D0 ]' G, ]8 z6 C2 ?2 }5 K; B, ^% Q& ^
/*
2 K1 i; W, C) [5 M, _( D * ======== Miscellaneous Configuration ========$ ^# T# Y2 u. U Q" f
*/
- n2 ~. m5 n7 K: R, }
* R! z( G8 Q" p& w/* set default diags mask */
2 ^! J! T( Z/ E# [! Tvar Diags = xdc.useModule('xdc.runtime.Diags');; [( @8 p, n7 {5 d+ q5 S2 a
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 k% E8 h& x% }% n8 l
: b% \. ?+ l) ^. [/ z) i! yDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) G( t j7 `, K0 Z# s: Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
0 p" {9 W0 K% K2 Y1 q9 h* I9 BDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ r5 n0 r2 y- N) w# Z: K: G% [Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */8 r4 Z$ G' Z6 X) y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ F6 @# b. E! x# H3 K0 oDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;8 o1 z$ T/ c6 l6 J9 t4 V, U
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
5 U4 }1 _2 V7 [' E% V1 XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& J/ x5 l) U; k: Z& J# j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
& N5 |8 c1 E6 l/ b, I" JDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; d1 T# n- H e* x/ l- l
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ ~# K; k& T5 ~" m! PDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
! t9 I" l! T- RDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
' x) O3 e# s2 j) j. j, LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
1 L# x5 f5 U' B% Y9 g
- H) B, J/ O6 t M/* override diags mask for selected modules */
' Y: y- {2 X. ~' N8 oxdc.useModule('xdc.runtime.Main');
- o9 w* K3 Y$ w( DDiags.setMaskMeta() [1 v( O5 M3 x4 h& N" g5 L* i
"xdc.runtime.Main",
9 m3 e0 y' W4 E/ y8 L$ _: b; W Diags.ENTRY | Diags.EXIT | Diags.INFO,! d0 |: b8 h; S; Y# s
Diags.RUNTIME_ON
! s8 R+ J4 C9 {) p" X- I" Z);
4 S" u. d+ G4 ^: l& Z7 a4 Y( b2 G3 G, `) v
var Registry = xdc.useModule('xdc.runtime.Registry');
9 e4 K1 K) l! IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
. L ^7 k* E# _: e' G0 J) x" oRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;" O% a7 Y: j, a2 z, K5 I! q. K# h
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
8 L* F! T! b# iRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
: G; Y) C2 o# f. s( w) V X0 \% p7 a( }- \ W6 r# f! p
/* create a logger instance */, J* [* l( }8 G% O
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');0 ~0 |1 W# M, k- b0 h( S i
var loggerBufP = new LoggerBuf.Params();
+ a7 z% p1 n( [, {- W( HloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
8 u' v6 D: c9 s0 k* ~+ iloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ b: L2 `0 W- o2 ]6 h# A7 \
5 X# |, x. o, {6 x
var appLogger = LoggerBuf.create(loggerBufP);7 S$ K4 c; l4 I g3 {$ i
appLogger.instance.name = "AppLog_Core1";
) \: o2 O1 L* Q; U0 jDefaults.common$.logger = appLogger;
0 s. l7 q' t3 j2 vMemory.defaultHeapSize = 0x8192;
* c" w- D8 v: A8 Z. U: r- `Idle.idleFxns[0] = "&LEDStatus";
3 H- n( E. t5 s8 Z, DCache.initSize.l2Size = Cache.L2Size_32K;
0 L. o9 [8 w" C: }
& F& z; s" p. g1 y% H1 W |
|