|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, n) B0 H2 C' g3 M& K3 T. d( j我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下7 s3 m- A$ B3 Q X. v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 ?, s& [" ?4 G* Y1 u' Y3 q, ?3 S2 c/ m0 F3 i3 S6 {& G5 M( e
是不是需要在DSP.CFG中进行配置
- `# P" k: }/ ]" F/ u我现在的配置为
- |- y4 h7 h# Q) ]: s3 N4 j
5 H' c! F" [6 k8 P$ @0 [, R/*
7 G+ \+ O1 Z* d, z5 ?* T L9 {2 j * ======== Operating System Configuration ========& B5 v, @# l6 _* l3 l4 {
*/0 H; R0 G, u+ r/ v& ~8 ^' t7 w! Q
; ^# C- V" O! l2 L6 g; |6 s
/* no rts heap */
! G/ K2 [: z# u1 k kProgram.heap = 0;6 [; j! v/ U" ?' C7 o0 O
Program.argSize = 100; /* minimum size */' u) W! Z8 v' F/ I
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; I: j" w# g( W M6 a1 J* O7 O, r
# |( s: e2 \4 G. m/* create a default heap */
. d) R7 p3 W2 n7 S; dvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 [9 w/ t: ~& I; Rvar heapMemParams = new HeapMem.Params();9 |& G& a6 T B1 S
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
4 j6 t: C7 l& G1 @2 Y3 L2 ]" Q0 ` y
var Memory = xdc.useModule('xdc.runtime.Memory');
& J( E5 Y9 b1 M% I7 k0 m$ o; B6 B5 YMemory.defaultHeapInstance = HeapMem.create(heapMemParams);4 x, ~/ G$ S0 d7 T G. C
$ |/ d0 c: U! k3 @/* configure System module */: U, k/ o9 ^2 n8 b8 b0 d9 f
var SysMin = xdc.useModule('xdc.runtime.SysMin');
" P( D D6 h3 X/ LSysMin.bufSize = 0x1000;
o8 [ B5 v3 {* BSysMin.flushAtExit = false;
0 F; Z0 \+ J0 ]/ [4 @" w/ J9 h3 Z/ B1 c
var System = xdc.useModule('xdc.runtime.System');
+ p: A9 n0 E$ W* j E1 a DSystem.SupportProxy = SysMin;
' `% G; \0 C8 G/ ^$ s' G/ n' M7 ~6 J2 s
/* configure SysBios to use the lower half of Timer 1 */0 ]8 z, Q5 b0 z4 ?2 ]% A! ]
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
6 @" W: n- f! h' Q/ E6 `4 g8 Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');3 X. e1 t, X! h8 C- W x: n" q5 f
Timer.timerSettings[1].master = true;3 Y/ Q/ i. i' l: E9 Z1 u
Timer.defaultHalf = Timer.Half_LOWER;9 x% z! r" t; M9 e
Clock.timerId = 1;
_9 M: o, Q/ |+ c/ m! x; A& Z4 I# b) U, c
: d6 S1 Z: G. f# M( T0 ?1 f/*
( Q3 F0 r2 f+ {' K * ======== Miscellaneous Configuration ========
' t" J3 K( S) Q: B */
& M6 c' I# h2 x+ p! u9 v/ X0 d! J/ R) V3 Z" D% \3 k
/* set default diags mask */4 r8 D) o6 q+ t
var Diags = xdc.useModule('xdc.runtime.Diags');( X# E. d3 f6 E: X% P$ E
var Defaults = xdc.useModule('xdc.runtime.Defaults');2 ]& l2 @& V) n r9 q8 {4 e
7 `' }/ y( ~ @1 p. {% ]
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
$ }2 n' B( c& B+ _4 j0 KDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. J- d: M, E4 \8 _. M% H9 uDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
+ k- \# g2 P( t+ j( f! DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */, W& k& k3 x0 w6 j
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 i; C- E& ]" [8 ^+ Z5 G# }* U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
' Q/ W r) b3 B$ ?; L) \. }Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;9 z& e1 n# d; G+ A/ s1 A9 m4 A1 ~
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
5 V; S1 E2 v8 P$ V$ p, L5 `( B) gDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;( O# `% }0 u1 j; Y/ L3 p2 L( C8 ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 n" F& G9 C0 n" t# g0 H, Y: D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;) b2 t) K# l5 F4 s. h1 D9 }
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ E% E- ~$ u' z! Y8 A0 Y1 ODefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& M% S6 d' `0 N4 l. xDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
9 f0 ?/ [1 A6 |( s& r: O" Y( `: p; Y# h) T+ S8 v" p
/* override diags mask for selected modules */. Z; C% n$ Y# a" G
xdc.useModule('xdc.runtime.Main');
' P7 ?( |+ s- e1 JDiags.setMaskMeta(
4 R% r% W2 n, [) i( p) a/ A- F5 T' s "xdc.runtime.Main",4 n( o' \* V0 P$ \% s p
Diags.ENTRY | Diags.EXIT | Diags.INFO,1 i2 _0 O. k$ Q3 G
Diags.RUNTIME_ON
0 v+ @# G) W3 n6 I4 i);
1 F$ Z1 x( r4 V9 H+ D+ t' m
% [8 f" @9 r7 e3 Lvar Registry = xdc.useModule('xdc.runtime.Registry');
/ B+ R$ n7 L: ^ |) ?% F4 nRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;+ b! _6 ^+ m0 `0 ~( u4 p7 z
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& Y2 r4 [. @& E& pRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# v" O2 J( ]4 u7 Q$ G. n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
( i) v9 _( Q9 {$ i# e) k6 o
' R( ^1 G. r3 j3 [/* create a logger instance */
% E0 a0 z. x$ O, b) Y8 D& Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');* f! k3 J6 R* [% F
var loggerBufP = new LoggerBuf.Params();
- F; B; {- d' n8 Z- BloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# z: x. J6 Z1 Q; ^1 b/ ~loggerBufP.bufType = LoggerBuf.BufType_FIXED;
7 ]$ t) m( e; p8 N8 j; w8 i; _- x* x( Y2 l/ L
var appLogger = LoggerBuf.create(loggerBufP);5 A( Z& C7 e$ \
appLogger.instance.name = "AppLog_Core1";
9 k. d+ H/ R* q, H8 J1 BDefaults.common$.logger = appLogger;- G6 J$ q# k# \+ ]
Memory.defaultHeapSize = 0x8192;
, l/ M+ E5 [! W- y3 Y" b- kIdle.idleFxns[0] = "&LEDStatus";
9 S, g5 h% Q! r% v; r0 ~% i4 TCache.initSize.l2Size = Cache.L2Size_32K;& D* j; H2 P( q1 p+ g7 ^
3 G v5 c W: G @
|
|