|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
& X/ s/ F/ B) s4 f6 z我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
, C) X* |2 D: m, h5 D- ~(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ R, \* Z2 } u( P$ F# w% K8 \( _
M) V1 s$ |6 t0 _2 }* @是不是需要在DSP.CFG中进行配置 _6 ]4 I: ^! B- B$ i
我现在的配置为
u7 @* C5 O! o: s! s; `& u$ w6 a$ A" ]% U/ Q' q! \
/*
: \! j8 g! L2 _( Q2 p4 n7 U' A * ======== Operating System Configuration ========; C3 Z2 Z* S$ O; _, r$ a
*/4 {0 i" n' f7 u5 w0 v9 @0 n4 T
. v6 z$ _) m! h
/* no rts heap */
, t$ r0 V& J- x. c' ^0 ?) G; R7 JProgram.heap = 0;
+ M; h: X9 a4 { ]0 T5 i5 NProgram.argSize = 100; /* minimum size */
: g. y0 N7 y @8 fProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
/ h+ M6 _2 i2 h6 \ K
8 C3 s+ X4 K5 n; k5 E" `" U/* create a default heap */7 s# L l9 F6 v4 j8 Z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
4 A& ?8 k% e/ h( ?* D! o0 Svar heapMemParams = new HeapMem.Params();5 c3 G5 L* N* K( d
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ W7 V+ U' f" k$ e0 o7 B+ H8 Y B$ B: t: f2 \
var Memory = xdc.useModule('xdc.runtime.Memory');
a! Z) F( A4 R2 F6 d' B8 q0 MMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, j: ]" l, ?- r
. u4 r1 M; U- L; q/* configure System module */
+ t @8 c3 H$ _var SysMin = xdc.useModule('xdc.runtime.SysMin');1 W6 y0 x. O) d
SysMin.bufSize = 0x1000;
4 e3 ^' V; x# J. N. [: A# E2 rSysMin.flushAtExit = false;
+ x* z, U9 S* g+ ? X( G' k+ u8 I7 F9 o! |* B
var System = xdc.useModule('xdc.runtime.System');
. U/ m2 [9 h, w9 I# n, iSystem.SupportProxy = SysMin;0 F! _, h4 o# z* l) u
' m2 U5 _; o/ r" [
/* configure SysBios to use the lower half of Timer 1 */0 @% e/ I5 `% [2 m6 z b2 L$ Y
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');3 {5 C# j6 O- Y( b
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 V- ~* O8 i! v V' C5 B* KTimer.timerSettings[1].master = true;
% U6 P4 e5 s2 D; P" |& \Timer.defaultHalf = Timer.Half_LOWER;9 R/ {' x2 O0 M$ @/ e1 h
Clock.timerId = 1;
f( p* l7 l. T2 p( b$ @1 N
5 i* R5 P W4 Y* h! S8 Z
$ X, N) v- ?! u' }: p/*2 \' o' V8 k2 u! k
* ======== Miscellaneous Configuration ========
0 ^ c2 ?- B' v( Y! d& Z */$ g0 v9 Q& V- l: f+ ]7 a
- t9 ~) D* m& J5 G' }& a/* set default diags mask */
4 @/ Q( q0 j! e5 L$ A2 n2 |- A ~ Fvar Diags = xdc.useModule('xdc.runtime.Diags');
: }. b0 ~% j6 ]2 J1 [. l2 dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
9 Z; p$ B( H5 P) e
1 a$ V- F" |0 GDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;' a* ^8 c# \& {# S8 H0 N* g
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ L6 s3 s6 r+ n% y1 b- yDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 q2 d# C- R, f% _Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) R0 i0 X% p0 F4 |& e, Y% qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 `! u% |. o2 p$ q3 C# T7 uDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ z! A, S7 u1 M% E! A
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' w" x4 Q: S1 S0 W% SDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;" G, W) _. J x; W# L
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;% O0 i4 M! @/ R
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;9 r2 S3 D0 I7 N* T& j6 j
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! L& _; ]& l; DDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
8 E1 ]. L7 W+ G5 l& CDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 }6 u# j6 x) b: w1 I& H* s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, c3 D, v& Z2 Q: b; v5 d' k& g# ?
+ G. z/ H& e1 k9 w/ e: D. G/* override diags mask for selected modules */ f* J6 g2 ^* T* f; y; }
xdc.useModule('xdc.runtime.Main');
- Y$ `' m* v- E8 \Diags.setMaskMeta(
" b( u- a, n. f' I "xdc.runtime.Main",
' v8 d; g$ `5 ~4 ?: _1 Q6 O( @ Diags.ENTRY | Diags.EXIT | Diags.INFO,. F1 G; R x3 v! s) o5 ]6 d
Diags.RUNTIME_ON
' S4 _( O1 Y: y8 C; `: J& O);" |( ?. j4 T$ o; g1 m
" o ]) U2 j$ `$ [8 n, y- }
var Registry = xdc.useModule('xdc.runtime.Registry');
. U" \: z4 T6 \) B T" e" \. xRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;" f9 ^" N7 a6 K+ F, }
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;- q: b' d& s' Q
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
( D- }% |5 [ I+ |. S- xRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF; z) @% L8 Y( s8 H6 |4 o+ _
+ j& l9 ^! ~; P+ a/* create a logger instance */
* Q1 B1 e J" y! Xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# J4 n/ i& l9 a( s( N) n2 Pvar loggerBufP = new LoggerBuf.Params();
9 Y) A* O6 m% F! d! N9 m: UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
7 j# h+ Q6 E: {; V& c# `7 PloggerBufP.bufType = LoggerBuf.BufType_FIXED;
. T0 ^, U1 H+ ]# t
$ y. i3 M& Q1 r$ V/ O7 lvar appLogger = LoggerBuf.create(loggerBufP);8 k- g7 D# o+ `8 y
appLogger.instance.name = "AppLog_Core1";
6 I6 U0 {$ q j' b- z: |0 d! O2 MDefaults.common$.logger = appLogger;$ v: |1 M! X, h
Memory.defaultHeapSize = 0x8192; 8 J# T9 {0 N0 v; \, I
Idle.idleFxns[0] = "&LEDStatus";
; b& V1 g! |6 J: WCache.initSize.l2Size = Cache.L2Size_32K;
f+ Q& b8 `* E( r7 _. @" G, N: G! v0 N- o
|
|