|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明, y4 C2 m/ r$ _8 C$ d1 G) V3 q
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* S/ @" f% e, Y$ P: X" {$ z
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ [; E R. n) T8 d
* G& C* P( @& o3 R; _7 k- V
是不是需要在DSP.CFG中进行配置8 n: _( Q. J w
我现在的配置为
9 f b* U5 ?; U" j' l% m. s( \! _( v7 N+ @& R/ A
/*
& V8 G' O Q" C! j * ======== Operating System Configuration ========
4 M( g6 F; N8 k/ r' Q& W% u */6 p; N' j: q5 k" q
' b3 Q/ Q- o8 G* Y. @
/* no rts heap */+ r/ N" Z$ k: a1 H" h* a
Program.heap = 0;4 @: ~- I$ ^. M+ Y! W% ^5 f
Program.argSize = 100; /* minimum size */' F9 u6 T. J# u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
' o. x* B* z6 a$ H: f. e+ ~, X
* x' a# l) h: F# m* X/* create a default heap */: o. X& B4 u, `
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');1 o& J9 P& P+ y8 o. G
var heapMemParams = new HeapMem.Params();
) m- J% n7 k- H: P: I' _5 hheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' r/ F% r8 {! k* H! P: r3 ?" d- F, O) v$ x! [0 e) n3 q) x
var Memory = xdc.useModule('xdc.runtime.Memory');
" c8 B. i3 L( q6 c7 ?) T5 cMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ S& r4 s/ N, I) S$ _' p! q a* E8 H$ _% ^
/* configure System module */
# F& M/ P" N+ k: Bvar SysMin = xdc.useModule('xdc.runtime.SysMin');
0 g" v, Z& U& j4 b- w: B6 R: z6 ]! VSysMin.bufSize = 0x1000;* J5 h L1 M8 y" t: I9 n2 c$ z
SysMin.flushAtExit = false;5 z) N0 ^! t7 V3 B+ |
/ ~4 N3 x0 _6 o; ^1 w
var System = xdc.useModule('xdc.runtime.System');8 m2 L* |5 }. B9 L
System.SupportProxy = SysMin;4 r9 B4 \) p9 _& O+ t' B1 [2 n4 o
9 I+ s* z: I4 d4 ^' [. L2 Z
/* configure SysBios to use the lower half of Timer 1 */
: r! c0 t7 l+ A. Cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ M& h$ d0 E! L& I
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
+ D# @) ~0 v; v1 b, n! H) {Timer.timerSettings[1].master = true;% j i6 `. l/ v
Timer.defaultHalf = Timer.Half_LOWER;" [- M* g, n6 |6 V9 H$ ?6 m- W
Clock.timerId = 1;+ a. B0 w- }- E
) k% c# T+ n% r: T
( `! \. s/ x" s* B& x# {" i/*- U- h/ v) @6 J! c1 D
* ======== Miscellaneous Configuration ========
& d+ i) P. x2 b# Y6 @* u */
0 Z% j2 _: P, p4 T [) s6 Z K% |3 f% d" ?5 t
/* set default diags mask */8 P/ u% z7 Q* u7 A+ b: \, b8 Z
var Diags = xdc.useModule('xdc.runtime.Diags');- S- A+ ?2 ~) k6 d5 o# P/ l" q
var Defaults = xdc.useModule('xdc.runtime.Defaults');
; U) \7 r! g8 n0 D* Q& K1 v' ]! }/ J, H6 T& y
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;# G/ h/ h4 Q; k4 d) o& n. \
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
F( l! l1 @8 K) rDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
5 F: H" @4 K' W4 V( L3 DDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */: ]& t# j( m0 q: T( h$ F
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
6 a1 p% ^! a: k) M6 B, E# h0 b6 mDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
3 @; h5 h6 k& g0 G: q" sDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;% z1 s, p! ^& `0 }4 W: @6 o1 E
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;; [4 F' y$ M i9 L+ _
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;5 c7 ~/ B( V1 S* n' X
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;; k! V7 x7 [0 R; n$ N k! F i# M- ]
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
! V; s& S/ `1 W/ p w# qDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" O' N a, ?3 o5 r7 p4 p$ O" f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 y/ y+ E: y8 Q5 u) }Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
! P+ H" F& N9 V! n" z, Q' U5 c+ j/ G+ `8 x+ I1 ?
/* override diags mask for selected modules */
) [: x- S/ }/ ]( N6 D- x9 A ~xdc.useModule('xdc.runtime.Main');/ j4 |. ^- g7 ^9 q% X% b
Diags.setMaskMeta(4 U# _$ u3 e" v1 h
"xdc.runtime.Main",
3 E: l0 X! @ C1 Y/ n+ ~ Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 q4 _. z4 F, H5 f% ]2 k Diags.RUNTIME_ON5 B5 `5 f. v# y( o( r
);
% d* O- R. g; T% I5 p
U; y, v+ T' C" y* b8 w1 z/ Tvar Registry = xdc.useModule('xdc.runtime.Registry');# b" l5 r/ A6 `# x6 D& j
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
: e5 h) T) m& N* e. b( B" gRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
& g, t2 {" E2 g/ wRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 {9 Y( j. s/ ?- ]$ w, q' fRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;$ k& l. I9 q9 ]9 Y8 K9 r, n7 I; Z
% ]* B6 z- ^& z- ^4 V/ D8 ]' p+ `5 C/* create a logger instance */2 k( \4 @8 W, W n
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');# p' B; t" N% q0 h/ X
var loggerBufP = new LoggerBuf.Params();
: p* z' Q' S! o- n! L# {loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */9 Y# Y' F# S1 v" T& q7 E& A5 v- @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
6 o2 Y( o( X/ K3 \7 S$ d' o7 f% o0 f1 D+ t! W
var appLogger = LoggerBuf.create(loggerBufP);
! Q, M4 H i: |. b3 O; I' @appLogger.instance.name = "AppLog_Core1";
S8 x/ ^ m# H- B! nDefaults.common$.logger = appLogger;2 ]/ q8 D2 v3 }6 H( w
Memory.defaultHeapSize = 0x8192; 6 |! N* [0 T+ ]: {
Idle.idleFxns[0] = "&LEDStatus";
. x) |. s' C4 P' rCache.initSize.l2Size = Cache.L2Size_32K;
( m" H3 ~: y0 @+ `* o4 k& ~2 J2 |% G0 E9 ?6 P9 A' P
|
|