|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明- M; b! Q2 n2 }# U y2 N. O* x
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: a& ]: V" ~6 i3 |% p" k) T(不过疑惑的是,为何单独DSP仿真就没有问题呢?): z5 p! @' Z# b3 M" w2 N, I
4 r! ?: u' ~, N% ^. q4 E; h是不是需要在DSP.CFG中进行配置0 a" a+ V5 D0 A- r/ o
我现在的配置为* e7 ~& i! Q3 V$ p+ Z6 s+ C U1 O }4 G
: k$ \. D( ~. Z1 t
/*
. K9 \8 x9 O6 E$ r2 T * ======== Operating System Configuration ========
- J9 w' ~ c0 w- @, e */
" H" v+ y, Z" s4 t! d' I
( k! h' V0 Q* O) \7 ^" K/* no rts heap */
: ]! j7 K5 _2 F3 YProgram.heap = 0;
" ]4 s a2 e5 d( I1 d* H0 \* M$ O1 QProgram.argSize = 100; /* minimum size */: v- r& Z1 f" l# W/ t3 |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
# y2 S ~5 F) N1 q, ]$ a9 `9 N0 F
/* create a default heap */5 v6 H9 i1 x7 b1 U6 L
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
2 |1 ~' h2 G k7 kvar heapMemParams = new HeapMem.Params();
O; i% O2 Y8 B. z$ u1 X7 z0 MheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
9 L7 z: W/ a1 P! |) U# [+ I2 N3 Q
l& h5 K- A3 R4 K* F& [0 Gvar Memory = xdc.useModule('xdc.runtime.Memory');% U% R, s6 w. W% ^4 F6 w) `7 f2 `% k
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 P$ C M% T& h9 U9 A; I
5 z1 [1 H( o1 b( E r- I' L7 i/* configure System module */2 U* q7 p; d4 I* W c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
- g- e4 y- S! t, o8 c6 |SysMin.bufSize = 0x1000;& i$ n8 A6 z+ ~% r
SysMin.flushAtExit = false;
1 G; D1 v* Q2 l' n
* a% o: C' p; M$ i5 q# y: _var System = xdc.useModule('xdc.runtime.System');( J d. C4 ]4 s2 M. W# A
System.SupportProxy = SysMin;3 y) v, [+ G, E* g1 o& l- O9 ]+ c% x
$ p) c3 a8 Y' `0 \
/* configure SysBios to use the lower half of Timer 1 */3 e, Q7 w6 |: @/ a. ?/ ~6 C% a
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
2 f% l' O, ~0 M- r' z3 Q/ S# {var Clock = xdc.useModule('ti.sysbios.knl.Clock');
# f$ q2 V, W% c$ i- @Timer.timerSettings[1].master = true;
4 F r( @4 n) `Timer.defaultHalf = Timer.Half_LOWER;( `1 U: D* P# s8 d2 g; d
Clock.timerId = 1;- p4 `7 g7 B, r9 x$ V+ K C
7 w7 h2 |8 V# Y8 M& ?3 U
/ s8 k4 L3 C5 a7 |4 ~
/*
4 S8 o7 S% _( g- y * ======== Miscellaneous Configuration ========$ ^% A( l. ^, X* D* h$ I2 G, M
*/
% J7 @8 I" f6 c! |, O' g' u6 t; o; E/ i$ z2 i
/* set default diags mask */4 G' e( n! m# |4 D
var Diags = xdc.useModule('xdc.runtime.Diags');
, a: q6 N2 V6 W' N: p0 gvar Defaults = xdc.useModule('xdc.runtime.Defaults');0 Z2 j' b) q5 Z; E6 L
\* n N |2 F+ t8 t( {9 \# rDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# C& x6 f) z* J4 ]7 V3 \$ Y0 Z
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' [! T. p+ l+ Y) X1 K/ L
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;" p4 I" r. |% N$ P1 p. w8 P m
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; L% \3 G2 f# G, q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- J9 z) q1 n! M9 ~6 J5 VDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;9 {* @) p& M. q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;8 i3 [9 P/ x1 j! L/ G
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
G2 C5 t) {: g0 ?: a& GDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
' K5 T/ h$ P+ R- x, v" t! PDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 X, a- L8 w" q4 K# nDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 L0 y/ V: o* q2 T& h& V
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
/ x7 _2 Q& ?: DDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;# V) v- X; n/ S# y7 h
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;) b: M: S8 L6 Z* e
( c8 I' M( n+ x. l( I
/* override diags mask for selected modules */+ n$ @1 C" }. K. q. ]. H6 q/ L
xdc.useModule('xdc.runtime.Main');- P" Y! t! K: E; I/ d8 ~
Diags.setMaskMeta(
. g7 h: h( w6 H8 k3 ~ "xdc.runtime.Main",$ h8 ?- l9 S. f2 E0 r9 X
Diags.ENTRY | Diags.EXIT | Diags.INFO,
: A& g3 x* Q0 _. y# f Diags.RUNTIME_ON9 X/ ~+ q1 \0 i9 |
);
% `/ b# w i) P/ ?* A$ E* a' I1 h; o0 P7 S7 ]3 z G
var Registry = xdc.useModule('xdc.runtime.Registry');
( S, V" E, i* y' |$ y$ p+ NRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
5 u- n# g5 k6 |5 j* `Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
0 Y# s+ j' \4 }" l7 S" a( f2 LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;: X; u. g6 ^+ c' W
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;# ~1 c4 W% t: s( j; r
, S% b0 \/ g. s2 i- p' w/* create a logger instance */& \. K. F; K) [6 Y, x0 U3 w
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) y; i- X% N4 bvar loggerBufP = new LoggerBuf.Params();9 r4 H& |6 D/ v* v1 h
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
1 q, L' g6 B3 [3 T% g lloggerBufP.bufType = LoggerBuf.BufType_FIXED;+ @: e$ m: m: ?
?( C/ o% R' B: W# [/ F
var appLogger = LoggerBuf.create(loggerBufP);
4 M, |" E* _% `1 t1 J1 B3 ?appLogger.instance.name = "AppLog_Core1";
0 @$ v4 t% H* uDefaults.common$.logger = appLogger;- r/ s/ ]. i1 Q) K
Memory.defaultHeapSize = 0x8192;
; F5 t2 q0 |6 xIdle.idleFxns[0] = "&LEDStatus";3 g Y: h) s+ T" m2 A
Cache.initSize.l2Size = Cache.L2Size_32K;
0 p9 B$ w4 } V* L5 Z% V- y) d* ^% R, Z/ ^" b" f6 f8 H Y/ ]! ~) J
|
|