|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明2 e6 }( d$ l6 v. ?0 Y4 H) v* a6 d
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
5 V- N6 N) g% ]+ i6 `- o- F9 K: f: E(不过疑惑的是,为何单独DSP仿真就没有问题呢?)) m. r3 p/ r0 m6 T% w% [ L
. A; t4 H% I6 l. _/ m* C是不是需要在DSP.CFG中进行配置; C% |2 z1 Y, ]" ]/ r
我现在的配置为' X! m" o* l% c7 O1 Q
# [: N' ?" h7 y4 k/*
7 {/ ~% N; t7 p * ======== Operating System Configuration ========
$ ^! M6 D t% H$ M0 O; L9 P/ W */7 B/ D! _. d) `! c( P' y* N2 S: X
2 x O) [ T5 _ H! U; D8 J+ }
/* no rts heap */
5 o' p% p3 k9 m+ @- D5 UProgram.heap = 0;
' ^& d; _5 }- I. S# Z. TProgram.argSize = 100; /* minimum size */( O9 u" ~! o d" K0 \; Q
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' h; P1 }$ A3 B7 H1 i, T. \, X
! f, }( k$ ~' `- A: N
/* create a default heap */) m2 f C% a: x9 a; e
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; {2 f( [" m; B3 Y6 U2 y1 Ovar heapMemParams = new HeapMem.Params();
1 x; Q5 J. n( F" @heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" D7 U S9 R8 C% {9 G) r8 Q3 S. [9 t* o
var Memory = xdc.useModule('xdc.runtime.Memory');
4 v! l( Q! g* c$ ]0 z0 j% \: c- ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
" C c" ~& R4 M0 B' W S- X/ g/ K7 p& Q: t7 v7 d4 O
/* configure System module */
; c" k9 [3 V/ M( N1 gvar SysMin = xdc.useModule('xdc.runtime.SysMin');* i0 Q( _+ {1 w) A7 j
SysMin.bufSize = 0x1000;3 m, U, a! E/ f1 l5 N, w3 P; M
SysMin.flushAtExit = false;2 b4 U; [6 Q. {% g3 q9 C3 E
$ j1 v- {! l$ s7 lvar System = xdc.useModule('xdc.runtime.System');
7 x* ]' L# o7 r. E) uSystem.SupportProxy = SysMin;
\5 j) J: ?4 z. G9 v& s8 L( y% w( p: S X
/* configure SysBios to use the lower half of Timer 1 */) j( `( J$ j+ ?% ]6 R1 T
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');6 f' p) I, e* H/ `# z4 l4 y4 F7 B, S
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* \. |& K4 T( Z, v5 YTimer.timerSettings[1].master = true;
( J1 q2 d$ n3 {6 iTimer.defaultHalf = Timer.Half_LOWER;
" R4 g, S+ ?# E2 y. |3 |2 [Clock.timerId = 1;- j. w* _5 [- I* ?% e" n6 h- F
' V( {# y M, W
, }- Q: L/ y3 Z) x9 u# W/*
& g5 I& S* y) O; J6 J * ======== Miscellaneous Configuration ========
! k" e7 i. r, X2 }. R! F$ { */% a, M- v' t4 p5 v& n
+ b d" Z4 l0 p- J2 W/* set default diags mask */) y& x& A% r# U9 e3 ?; J
var Diags = xdc.useModule('xdc.runtime.Diags');
4 q1 e$ N+ u' S* V5 mvar Defaults = xdc.useModule('xdc.runtime.Defaults');+ R. X5 y6 z6 I( x, j$ o, x6 P
+ T; A" M X2 n0 q! o. WDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;+ N% u, _' `6 W
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 g; \: |. ]! K0 D' x4 F$ j- } M2 K
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
2 g) ]4 b' o6 ~Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */9 A4 x5 S' P# e; D0 S+ b% Z c& M
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */# i- @4 r$ ^% s1 Z. ~% ~. Q. {
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ `% d3 ^; X2 C6 _
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! G: y' \- O0 Z
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
i1 K) T8 W2 LDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 r d# S9 \: t; ZDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 H( ]& g& \' j6 Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
, J* q; M( V0 e" J3 W& HDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;) @7 B1 p6 F& j4 U& Z) F
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
" @2 R6 b# h' ^# ?Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 v2 N1 @( a( m% @$ B- e
, G( M' v: _6 K$ Q9 W* K/ c
/* override diags mask for selected modules */4 z# L7 F2 Z2 }4 t6 ~
xdc.useModule('xdc.runtime.Main');7 r" B5 D9 ~; O: Z J2 G) ~8 r
Diags.setMaskMeta(4 v$ q& y/ \3 j( [; u+ [
"xdc.runtime.Main",
& w9 u" K C2 y Diags.ENTRY | Diags.EXIT | Diags.INFO,
Q1 w$ R) X" d" _- A. k Diags.RUNTIME_ON" n; W: {3 h: t/ E- E a
);% w2 M0 ]" n; F0 U$ }
( B+ ?" @7 E& B. I% S' l% Ovar Registry = xdc.useModule('xdc.runtime.Registry');
& ^! w, z; f2 B' ^2 ?, tRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;: | e% N% @) b3 p1 i
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 c k. E) C `! M9 lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;. L6 t! ]( d, w) q% q3 c* t
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
; z* o0 L8 ~7 t# ~) G5 ?! q" J" C" \" d$ T) p: b3 s
/* create a logger instance */
% ^( W# t ?4 T- c/ p K- Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 N# o. z$ S% Q
var loggerBufP = new LoggerBuf.Params();- d! ]3 u) U) O# g/ P C
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ K$ j+ P3 h7 t8 x4 {! z9 a, sloggerBufP.bufType = LoggerBuf.BufType_FIXED;$ c; [4 D4 S4 b4 A7 M
$ I0 s% g! e8 P/ x% t7 X' K9 v3 ~var appLogger = LoggerBuf.create(loggerBufP);
. z" j; ?8 [5 p! I. Q$ L" p, bappLogger.instance.name = "AppLog_Core1";/ |6 }2 \. B9 N+ M1 I) k! j
Defaults.common$.logger = appLogger;
$ N2 ?# c9 g$ T5 `' wMemory.defaultHeapSize = 0x8192; + k! T$ k7 I; b1 i, M0 X
Idle.idleFxns[0] = "&LEDStatus";
: d( |0 D2 c0 ^9 FCache.initSize.l2Size = Cache.L2Size_32K;
3 p! G, ?7 {+ N7 |- E7 ]- \( n6 E( h$ u
' b: ^# V' `( b8 |) f/ b+ k8 h |
|