|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明0 h/ P l( W7 d+ c
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下6 |: M( S4 n% i
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ l7 F$ u+ U! N9 r0 w7 o
( Q; m( [1 D5 y+ Q是不是需要在DSP.CFG中进行配置
6 ~: Z% l$ U9 B: l我现在的配置为3 W( C( f: j9 q) Q
' V- s" }# ^" @% h4 a! G% J! M/*
9 y; v3 r2 Y+ q6 N3 F1 W! b5 I8 r * ======== Operating System Configuration ========: O' V2 e& ]' q5 j; f2 y5 @( \
*/, }) ^# T+ M5 a( k R- D/ J
! z, T4 Q! G- f; c
/* no rts heap */' C1 {* t3 K/ o; Y
Program.heap = 0;5 w- Y; A$ n9 q3 e% c" L3 D
Program.argSize = 100; /* minimum size */1 t$ m7 e2 w$ e( t" m+ h3 ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大3 v( M1 V: |: c- ~- y
6 Y3 f2 w; h* M/ ^3 {/ T' T
/* create a default heap */
1 ~& ~9 s# ~8 e0 U" O5 S. m0 h5 pvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
. Y9 g$ P* U: w& Gvar heapMemParams = new HeapMem.Params();
. O. p2 C. L6 _2 ]heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大$ U. W( y3 a/ r+ ]+ U
, g7 c8 o. z' _' uvar Memory = xdc.useModule('xdc.runtime.Memory');
$ O( D! ?0 ~: H+ G3 |4 G% O8 VMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 m. x; `1 |1 g$ ^; H
+ |9 q' a( G/ X% s( r( @7 C. G5 n/* configure System module */1 M6 T" p0 |9 L& {
var SysMin = xdc.useModule('xdc.runtime.SysMin');
3 `- T; @7 `7 `( YSysMin.bufSize = 0x1000;5 J) B8 s( a: m. w; y( P8 a
SysMin.flushAtExit = false;
# f. ]5 L5 C; t8 C0 \
& v) y8 |9 A! V8 Dvar System = xdc.useModule('xdc.runtime.System');
' d) ]: Z5 c4 G1 J5 {3 H! USystem.SupportProxy = SysMin;
0 D' m% b9 Y* N( v$ V5 M# I2 l% g) {" A0 Y5 q3 @8 F/ h
/* configure SysBios to use the lower half of Timer 1 */! s7 o8 x$ g n4 H) Q
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');7 ]9 i C: v3 q( o3 [: I. g
var Clock = xdc.useModule('ti.sysbios.knl.Clock');/ n6 [( N9 O7 h- l: V
Timer.timerSettings[1].master = true;
. j5 Q5 v% e$ f% a. Q6 ^) W) ^- cTimer.defaultHalf = Timer.Half_LOWER;
6 V: F/ A$ @: R% h. UClock.timerId = 1;0 U+ j- R3 _4 V$ x, \) H5 p6 L# m5 `
0 A* D* Z. W8 E3 H! |; u' a
0 V7 y( P' g; b% z5 y9 z
/*
, M$ U( _$ O. P( h3 B/ F * ======== Miscellaneous Configuration ========
. z% c" w$ |3 x6 O Y */9 b; q* d' r$ X' \* N2 H
! Q: u/ e" W5 \- `1 B- P8 _ s/* set default diags mask */
' X( |+ N3 D) h3 \var Diags = xdc.useModule('xdc.runtime.Diags');
& \& h* x+ n/ k4 o0 f, Uvar Defaults = xdc.useModule('xdc.runtime.Defaults');
" }$ Y" |1 q: Y# l8 e. E' W
O. ?3 u7 p4 C8 G; }, wDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;9 a1 o1 K0 B6 ]% U$ P
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
9 W& ]! _% S) E7 ]; J& C/ ADefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; g; L7 Q1 W% O9 k" f( RDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( K! g! }: D5 j- } yDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
0 B8 o" r% B, \- `( x7 J, F4 kDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
U0 t0 X8 x; G: ODefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;. E) I6 |. m% t1 k$ ~- o; z0 @; e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
8 O, y0 u/ e: R, CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ J& o/ l- u% O) E" l* H
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 Q4 e: W. J' D" g2 S7 a7 [
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" s" |) o u' A5 p7 r4 dDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 J' ~$ ]& e5 I' c, ~
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
3 W3 T9 m6 F, R iDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' m. x' @% g- v
$ {, T' D3 ~8 ^& K* t }! \
/* override diags mask for selected modules */- r8 }. _" y7 e
xdc.useModule('xdc.runtime.Main');8 i+ L/ \3 [4 C/ v; E
Diags.setMaskMeta($ z6 n- L. r, w7 G
"xdc.runtime.Main",6 Z+ g% o& \- t
Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 a1 W# |4 v) H2 l3 [2 M$ ~ Diags.RUNTIME_ON
$ M5 z. @& C$ X3 w5 E6 B. n);
% |" }( i' H0 p; g
+ V- l3 I8 |. C- t" q( [0 m; Lvar Registry = xdc.useModule('xdc.runtime.Registry');
. v2 k( _+ P. L# { Q8 bRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 b% f" A* f8 MRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;. G( @5 E+ I. b$ ?9 Y- U
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;4 ^7 c& |7 J' A7 ~
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 {+ t, h y( ~7 ^8 _, S7 v4 c) v& V* X0 ~: [6 ]
/* create a logger instance */
6 _' _- V* ~& F/ V3 t. u$ h5 xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');9 ^- b/ u, _% g k' M# W( Q
var loggerBufP = new LoggerBuf.Params();( e3 b5 V+ L) N: d
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */4 E3 H: x7 n# s5 }9 Z+ ?8 D
loggerBufP.bufType = LoggerBuf.BufType_FIXED;: s. S& h0 M, E1 y: y2 c8 F
6 k+ k: ?' k, O% @1 `. @6 R$ y2 @var appLogger = LoggerBuf.create(loggerBufP);
) [: S% ?- ]' z5 s. c; j6 q7 [appLogger.instance.name = "AppLog_Core1";
s0 s: p% P) B7 `' c# y4 HDefaults.common$.logger = appLogger;- }$ |! l4 k8 [8 W' h
Memory.defaultHeapSize = 0x8192;
6 z0 F5 n$ ~: k, |Idle.idleFxns[0] = "&LEDStatus";
, [7 d0 w( g& Z6 M' |Cache.initSize.l2Size = Cache.L2Size_32K; n3 A+ @' A' M. X+ x6 m- J9 n3 D; J
; N% H% V4 L1 S' [5 E |
|