|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 L7 O1 y1 c( S \我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: p4 [7 n& ~; `5 _ B( F" L
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)- \* _* R% v7 r+ X6 }! H- c6 B( \% G
, f! E4 |1 s8 F$ Q) `. A6 G/ V& N是不是需要在DSP.CFG中进行配置
( c) M" k: g& {& a2 |& {* ?* I我现在的配置为/ G# O/ H9 E& i2 o8 V
, s6 f, d ^( f* |/ `$ m/*
+ ?- _6 ^" L5 L k' |( d3 Z * ======== Operating System Configuration ========+ r+ A# a9 _ s' u9 V7 c# k
*/
8 n# f7 V1 O7 d: H0 C- X! I
1 [' }" s x$ b5 y2 P) n4 P/* no rts heap */+ U! V! N5 ]6 M1 o$ S, `4 W
Program.heap = 0;" w/ V' ?2 y2 t$ l* S3 P9 E/ v" U
Program.argSize = 100; /* minimum size */
6 i% D9 x8 L4 h5 F/ V/ ]& }3 BProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 S B; V" y9 |) J
, p* e: J9 G9 ?/* create a default heap */2 M5 X7 R7 _) V& |$ G, q/ |
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');; N i7 n$ K$ o( G% |+ N
var heapMemParams = new HeapMem.Params();
) _9 h' b3 U. N B0 O2 B* kheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 G0 R: _% z; o! |; f& W' x' ?- R u4 U8 {
var Memory = xdc.useModule('xdc.runtime.Memory');
, S9 C, ~0 T& ~1 ~Memory.defaultHeapInstance = HeapMem.create(heapMemParams);1 Y7 F$ Q8 T7 r# v3 a. h
2 b5 @% f g1 q1 r/ M" e6 E! W# \/* configure System module */; b9 B4 \! `% f N
var SysMin = xdc.useModule('xdc.runtime.SysMin');, A7 v6 C' w" t7 c1 H; ^
SysMin.bufSize = 0x1000;2 A# ^ M" U& z' i9 d; I( L
SysMin.flushAtExit = false;
4 |+ z0 G8 s! b) b/ e
8 X# ^) h4 o. I; b4 ?2 r: q2 k/ Ivar System = xdc.useModule('xdc.runtime.System');0 P. p$ U3 }4 s& P
System.SupportProxy = SysMin;" N- G y& Q1 q. z: o
) i; q0 e- z4 A. z
/* configure SysBios to use the lower half of Timer 1 */
' s9 T: e' c, m! |4 ]& Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');0 x0 `! u- t8 ^
var Clock = xdc.useModule('ti.sysbios.knl.Clock');8 O9 n. B% e% n- ]" b# x& ?- f
Timer.timerSettings[1].master = true;4 F7 ?# |; k- L6 ]. o7 B( K
Timer.defaultHalf = Timer.Half_LOWER;
* A! J3 r0 ~' O4 C+ r' K3 }- FClock.timerId = 1;
3 @. y! R3 v d' { D5 i* V" {- {% b" d3 |$ [5 ^& f
8 i1 p$ K3 c* @( G5 X0 i, t
/*
( P$ ^. C/ s0 I( f * ======== Miscellaneous Configuration ========: f$ E3 Q! _, {/ e E1 c
*/
. Q1 E! p2 E. V3 h) X6 k3 M+ a. |' b, T/ J- }1 \* a2 `
/* set default diags mask */( a' u- p, e+ B g' t B P
var Diags = xdc.useModule('xdc.runtime.Diags'); |1 y( M( c$ P/ _: Z
var Defaults = xdc.useModule('xdc.runtime.Defaults');
% |5 v# S, Q' O9 l. k* E, N3 ?1 q' Z/ n; X5 B: U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& A- E4 E/ b3 w; ~- TDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 y7 S! _/ j4 t7 M) JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& s! w9 |! M4 `+ _8 A2 [
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! s8 I. i, H# m _+ f% J" @" [Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
. S/ n( y- ? k7 H/ O' R5 }. kDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
9 H3 K6 g" ]3 K: }, YDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
9 {/ I0 a0 ^0 U' i) eDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
$ h9 P8 u3 {+ O1 o. y& B, CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 u D: l W" c/ P; tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' I6 K, ? x" R% L* ^. A \6 m4 @# DDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
8 i d2 l( h3 \Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;. u0 H5 |9 S9 _( a# f
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 w( B- t+ D6 I% h. ^7 X
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
: H E- @" x3 |: Q/ _$ s t) X( v8 W; G; Q9 y
/* override diags mask for selected modules */
+ l* D, X1 e6 i# E+ U4 Uxdc.useModule('xdc.runtime.Main');+ L& h8 }9 }# b3 }$ j: \
Diags.setMaskMeta(
3 [0 y9 j$ A2 z# H I4 x "xdc.runtime.Main",
0 l& Y0 c8 I7 x# F9 |. `- ? Diags.ENTRY | Diags.EXIT | Diags.INFO,8 P6 h* X4 w5 h4 r2 T/ }5 d
Diags.RUNTIME_ON. d0 I/ d0 r* N |
);
( L( z. u3 r$ v) x' i6 h z
4 \8 ?3 r1 ]- I5 O; _var Registry = xdc.useModule('xdc.runtime.Registry');. n/ ] F- v" S2 o& B
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 m0 {6 @4 k A* JRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
1 z4 @4 R, S' l5 G& A0 ~8 YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
0 G7 M; f. o* R0 U3 w ORegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ q6 R! R( ^6 I0 u
* `, O4 F& L: U% k/* create a logger instance */
Z: F8 f2 M+ r) Rvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');- K l, z% b l# b
var loggerBufP = new LoggerBuf.Params();* o1 \* c/ ]1 q0 l2 `
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) q& l! S% v$ A' r n% i9 s9 c% DloggerBufP.bufType = LoggerBuf.BufType_FIXED;) J6 \$ m* K7 a$ R8 c: L# i( O
9 o; T7 O! R6 N' xvar appLogger = LoggerBuf.create(loggerBufP);. f E" u q6 X
appLogger.instance.name = "AppLog_Core1";
& O3 @8 g) I" b# s5 p4 cDefaults.common$.logger = appLogger;' @$ ?8 I9 D5 |; i7 f6 w
Memory.defaultHeapSize = 0x8192;
% G# Y; u w1 E; M1 M( [" V' V+ lIdle.idleFxns[0] = "&LEDStatus";
4 z) [7 J# ~& d( qCache.initSize.l2Size = Cache.L2Size_32K;2 q, u0 e! f6 U) i2 }0 l. `
; K" z9 i# A; s, ~# i' ?1 h i |
|