|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明3 G: \3 Z0 D( l c* x9 O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
4 z7 B0 T* k* S! _% I+ t(不过疑惑的是,为何单独DSP仿真就没有问题呢?)/ p& Z7 A+ o4 C4 g
/ `/ C9 {3 `( e4 N+ X3 @是不是需要在DSP.CFG中进行配置
( L- D& I% o2 k3 v4 N9 h我现在的配置为
4 W( x z3 x% J8 J1 Q7 F' e" C% ^( A6 L' |* O* A
/*
% F/ c I; i0 k7 \/ A: h: \& [. V' u * ======== Operating System Configuration ========; x$ x3 v/ B" [' A) z( P" Q d+ k
*/
' y# L/ W; ?( [8 {# O' v
/ ^9 f0 M9 e- ?/* no rts heap */5 w" z0 L: Y% |* T" O
Program.heap = 0;
2 ^' A; m6 T- F8 I- }1 PProgram.argSize = 100; /* minimum size */0 f( P! L/ Z9 U) W' v0 F
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% L/ c# J9 h" ~1 F
; Y s h+ G' K% M6 x/* create a default heap */! F! N9 r$ X5 `3 F$ h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 [) w w* C% Y. N
var heapMemParams = new HeapMem.Params();
6 x3 d0 m/ c+ cheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" s) N' X; I" j1 Q$ }! B
' S0 D+ X# f+ ` K5 N2 H9 B8 Fvar Memory = xdc.useModule('xdc.runtime.Memory');5 C: Y* k& E! _/ R6 x# m/ M
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
* W$ S8 z- V1 T/ x6 g. @ ]) F3 t7 f2 C0 H8 n, [
/* configure System module */
) N8 c0 R E+ {) U0 f! pvar SysMin = xdc.useModule('xdc.runtime.SysMin');7 G7 T9 z4 z2 p0 n
SysMin.bufSize = 0x1000;
# _4 g" b& P. S: WSysMin.flushAtExit = false;/ O' g! x- D* {1 |
8 ?, j5 M8 C; |# K& R0 Z( @
var System = xdc.useModule('xdc.runtime.System');
# `1 r! b$ V- B! KSystem.SupportProxy = SysMin;3 w$ h( V) r6 Y, I! q' \7 n* X
# I6 N2 P5 i4 j% J8 y G
/* configure SysBios to use the lower half of Timer 1 */8 {7 U5 G) u6 e* m
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. M" E1 d! l+ y+ t6 c3 s, Bvar Clock = xdc.useModule('ti.sysbios.knl.Clock');! L; X: c% R0 ]9 P! s' W
Timer.timerSettings[1].master = true;
* J% @% c. i0 A( p1 e- J& ?Timer.defaultHalf = Timer.Half_LOWER;4 J- H- N5 D! E/ y0 X/ V
Clock.timerId = 1;
0 \+ Z3 s3 Y: I7 F
8 r) R. X+ ^& l, k& l+ {4 N. D4 o& l+ m5 n; ^/ Z
/*. f3 I, @) u" V5 K
* ======== Miscellaneous Configuration ========
5 q" f* z$ r) W- k" u */) C- V2 k% N7 } p u! m( |
) W5 f( | n ^% ]' |" t/* set default diags mask */- P4 i; L- d3 E9 S$ E) h2 n
var Diags = xdc.useModule('xdc.runtime.Diags');! Q: j2 m0 @& ~3 g8 f5 V& y
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 n# q' H( k9 m' B0 o
4 k1 n& B8 \$ P; FDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ y+ I v+ Q$ e6 SDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# ]' @' v8 e# Y& [1 r _; o7 d [
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;- `1 F. P, W. f* S
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 j7 F; ]7 I F3 d3 M4 }- h d
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 {4 \( [ @6 F- A+ K$ k9 Q
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 h* M; k4 Z$ oDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;: n; [: s/ W1 K! I4 V9 w' `+ @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;3 u4 U( N" C% a# f3 ?, a
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 ~) w" x; J- t0 c" y* E+ g
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;1 n* |# k- o4 r0 A$ @9 Z. `
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
: ^, F) V: V9 L; T! c8 C% K qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; c9 P& T* U' n
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. [$ Y) c* a+ x
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 j. F; Q0 l5 J2 u" L0 K: q: E) G7 p
/* override diags mask for selected modules */! |0 `7 a6 T7 N5 ~4 t
xdc.useModule('xdc.runtime.Main');
e+ ?0 ]# x& GDiags.setMaskMeta(4 p; y1 {5 H1 }7 p$ ~) N. B
"xdc.runtime.Main",
! P$ {. O$ q6 x- Y Diags.ENTRY | Diags.EXIT | Diags.INFO,$ k# E4 c2 q) _# e# D
Diags.RUNTIME_ON
; Y% f0 h- x2 a7 n);
/ S- _6 E+ k1 T& [% y) {( t. P' J* c& O+ q3 Y' ]+ `4 ?7 n% G
var Registry = xdc.useModule('xdc.runtime.Registry');
1 b2 S5 T, l1 \% G& l5 qRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
% k2 e* b8 N' m: E# fRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% b! c/ i# j8 KRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ b: A" C9 E7 c9 t c. s# N8 I
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
2 L1 t( a9 A* r0 V2 r% K l3 ]' H+ M- L3 _' E6 ]
/* create a logger instance */
$ q# p0 u! a3 M0 rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');/ c' [2 D( O' f0 W8 o8 }8 `/ [1 y! Y V
var loggerBufP = new LoggerBuf.Params();
' ~% N/ }. A O* a$ uloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
]" x' D" S% B7 i9 s: {loggerBufP.bufType = LoggerBuf.BufType_FIXED;# |* s' k# h. U
3 ~3 n! Y- F9 A- e4 gvar appLogger = LoggerBuf.create(loggerBufP);
2 L5 r4 e1 |2 J: eappLogger.instance.name = "AppLog_Core1";
7 q' S1 t$ K& X$ E! kDefaults.common$.logger = appLogger;; |7 z% d2 m1 ]& h4 i
Memory.defaultHeapSize = 0x8192; \& m Y) b. O. Q
Idle.idleFxns[0] = "&LEDStatus";
0 Q( e2 | Q, fCache.initSize.l2Size = Cache.L2Size_32K; a, \- e. L. w' i
, r% O+ [9 u- i1 n* V, A p# J% \; { |
|