|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
% y: C% ]2 c. C: q) Z9 Y/ _我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下- v3 i4 U5 Z+ z1 Y3 u& p, R
(不过疑惑的是,为何单独DSP仿真就没有问题呢?), u9 O: e- l1 V4 Q, s
' I" ?3 O, k7 O是不是需要在DSP.CFG中进行配置
}1 s! h% U9 w- _- H% e我现在的配置为; C- b) f/ [) B% b( C8 |! j
( E2 e" {3 z/ Y1 h" l
/*1 I# \; ^- {5 j: M$ }
* ======== Operating System Configuration ========( B. I% G9 ^) U- }) P
*/
7 I, R: {7 }1 g1 }' m% |$ @5 D& U; g/ {; k' ~1 \2 e& G
/* no rts heap */
4 I; i; K, Q1 q& pProgram.heap = 0;
- i! B9 n/ t' E _* wProgram.argSize = 100; /* minimum size */# P6 v1 m! p* n
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
2 X3 e/ ]; ~! T a a! o, l. r5 I. G" z
/* create a default heap */
- I3 M1 {+ d6 U* G1 Z+ K4 mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 w( ^8 w7 ^* C1 @% y6 T/ c% o: e; F+ svar heapMemParams = new HeapMem.Params();4 Y$ b( \8 f m9 F! G! k$ n% e$ R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ Y0 [! |9 O5 ^! q& R- ]
& N% X7 B/ T; @4 ]var Memory = xdc.useModule('xdc.runtime.Memory');8 Y# M% K! W* V& }: w
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);0 R7 ?! u8 [- @. @2 k% p$ y
" s# g% K/ I* f; r- {% w. x
/* configure System module */
( ]6 U! L7 S8 [var SysMin = xdc.useModule('xdc.runtime.SysMin');
/ y. O" r v5 T3 W% [/ \5 t2 cSysMin.bufSize = 0x1000;* V2 N6 U7 A; a0 r; s+ l7 o
SysMin.flushAtExit = false;( z! K* X. l- {
. c! j+ @9 b* d: E$ j4 @) svar System = xdc.useModule('xdc.runtime.System');
( h$ [5 I: l4 ?* ~System.SupportProxy = SysMin;0 t/ T, R" P; Y t
# O, \- ]2 J% b$ Y! ~ H" F+ p$ F/* configure SysBios to use the lower half of Timer 1 */
' Q7 E2 p% r- |5 y* K6 Gvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
+ N( L j$ I0 i( H1 f5 J3 wvar Clock = xdc.useModule('ti.sysbios.knl.Clock');/ w' b$ X2 [/ G" I, w4 f; C* \/ W3 d0 [
Timer.timerSettings[1].master = true;2 T6 z- M% S2 B" w. V# R; Q
Timer.defaultHalf = Timer.Half_LOWER;) i+ X: ]/ Y# p- ~3 ? a
Clock.timerId = 1;
, X% ?# y$ z+ b! D& w- N' x( S5 J1 z. y8 s8 U. x2 T/ x- E" c1 q
4 w: y) {' [9 ^, q9 d
/*% @/ M+ ]5 n" t7 P2 I2 u
* ======== Miscellaneous Configuration ========
2 k4 \. n* ~0 M" P */$ y8 A4 V' V& d3 J
# b$ e9 V, {: c5 h% L" {2 G
/* set default diags mask */* K b8 ?$ Z% z
var Diags = xdc.useModule('xdc.runtime.Diags');
; a1 q4 H; v% \) i* r9 Svar Defaults = xdc.useModule('xdc.runtime.Defaults');" f$ t; u3 |$ I9 a
( U: L% s% N% b8 V! S H- p' aDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ H3 B, H! @2 `; X, x7 PDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& v5 }# D H# w7 [
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* W! c2 x( K: J5 y1 q* D8 DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
9 E0 A" q2 Y9 E3 y3 q& ZDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */2 C8 y( X2 t7 v- H$ d& W( H+ O
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
- t1 |5 x- O5 G2 BDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
4 J$ P O; [7 fDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;: ^! k+ L n/ B( k3 \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 }$ O L. [; Y. @; z& r. Y" R H7 NDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;( ?6 ]8 R' i" V% U% w" R9 Q- Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) H! c" L! W j( H, {" R3 P' S
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
7 B$ D3 ]2 \% T& IDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;6 n% N# a6 Y' j3 X; \
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
' i1 E5 V6 {! i
+ l0 h, x/ h+ h! f/* override diags mask for selected modules */$ _' [3 F5 }# {3 K
xdc.useModule('xdc.runtime.Main');' v$ a7 m$ W) m- W# n
Diags.setMaskMeta(
! A1 Q! r3 M# T! Z0 d$ K "xdc.runtime.Main",
5 Z, A( i2 W6 d0 Q Diags.ENTRY | Diags.EXIT | Diags.INFO,$ L" \, O {+ `& O6 H9 s0 f
Diags.RUNTIME_ON
9 j6 V4 c# f B' P7 C);, F2 g1 i. g% m* a
0 N, C: u. a' i1 k2 l+ t4 {, r/ Z
var Registry = xdc.useModule('xdc.runtime.Registry');
7 B* k, s( G( h/ x" b7 [Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! t4 s4 ?8 X- w7 g' ?Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 h4 o- u. h+ E! q% CRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 c/ f9 H& b2 m2 h7 [" {: a; ^Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
% M; I! o E' k0 M, `3 {2 b
- ?5 c1 h/ _' E7 |; N3 P9 m, }/* create a logger instance */- y) |1 R* c O( ]* h& W
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( x# x, s' l; m* @& V- S. T. T; \var loggerBufP = new LoggerBuf.Params();
3 c$ k" Z2 x7 v& u! CloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 b7 t @. j! L% r8 `) }, ?
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( e% l# j0 F0 t ~- W, K5 S9 Z
# `% }: i! d- G3 f2 ^2 gvar appLogger = LoggerBuf.create(loggerBufP);
+ e6 l+ M6 `! s, T* D4 @) u, Q! z( BappLogger.instance.name = "AppLog_Core1";
d. _& x1 g( K" H( F8 t. yDefaults.common$.logger = appLogger;" N" [5 @6 i* u; g: j! P
Memory.defaultHeapSize = 0x8192;
% N. b$ H3 i5 v0 j$ A" o8 iIdle.idleFxns[0] = "&LEDStatus";
, }% H5 G7 u N3 d9 J8 u9 p1 j1 ] HCache.initSize.l2Size = Cache.L2Size_32K;
4 c/ V6 H) k, c+ ?) s+ U" M, l
, p6 B6 p; Q; \& {- z @7 ]( p |
|