|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
) U* S# K! }7 {2 S! n7 Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下2 i S' P4 z/ ]0 n- u
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
) I3 R2 t9 r+ _+ F: E$ e8 D& A; f- c& ?5 Z' q% a* p) m! f
是不是需要在DSP.CFG中进行配置8 d& w, [, ]/ P, Y) h. E; U
我现在的配置为
8 O4 `# G! W/ G6 P0 J
& P4 K; }% B$ a. o8 g$ I/*
4 H3 y1 Y2 m' [0 N/ f3 a * ======== Operating System Configuration ========
1 `) c% b5 e* n4 n */
: J! ^8 u) k; f3 j, M
4 p+ X C) ?7 C2 Y/* no rts heap */1 ~3 \" z4 A$ ~9 X7 \
Program.heap = 0;
/ ^ J3 v, ~" p% |! jProgram.argSize = 100; /* minimum size */
7 g# |+ ?& y: C) E6 ^Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 }: I! K- r9 f! b% r F. ~% }# ?! d% Z: X3 L
/* create a default heap */
( G+ m: g6 N; fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');0 y W1 D9 H: L3 u
var heapMemParams = new HeapMem.Params();. k2 W+ S: x4 a7 ]3 @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大# b7 S0 R' m" B2 r' A' a$ h
* V D) H5 Y' z8 a2 S
var Memory = xdc.useModule('xdc.runtime.Memory');1 n9 l2 P- m- c/ Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
! |( W! C+ m- R5 ?
+ N; J& n+ f6 S \2 `' n/* configure System module */
?0 r0 |; z) m8 P/ P8 A) evar SysMin = xdc.useModule('xdc.runtime.SysMin');
7 E. `$ R7 P2 z8 X$ a. @SysMin.bufSize = 0x1000;
M5 A$ G) F: E' B# n, I8 R2 cSysMin.flushAtExit = false;
' ^ S; X+ y# B
& I1 |+ y/ X: E1 T3 M* kvar System = xdc.useModule('xdc.runtime.System');* a$ q% q& ?. h/ d* G' B
System.SupportProxy = SysMin;
, f; Y2 X% b0 M' d
/ }5 a- A; F2 D8 b" R/* configure SysBios to use the lower half of Timer 1 */
8 i6 G# \8 h; l) qvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
5 I( o+ Y2 S, x1 ~' Y# xvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 s# W+ m* h, r9 ^) e/ V7 D$ v
Timer.timerSettings[1].master = true;
9 W& G* G& s& k7 ~# J0 Z! YTimer.defaultHalf = Timer.Half_LOWER;
8 J$ V5 C" B; `Clock.timerId = 1;- ]- A8 ?" J# g) K# G. v( F9 U v; W: p
4 \, P5 j* g+ v J8 b% B; F7 Q. l3 A& \; O) i
/*
0 U! M3 V0 ~/ Z7 l * ======== Miscellaneous Configuration ========
# Y% ~# ]' V1 f( ~. n: e/ D1 t */6 ]5 P% P$ h$ p3 c; W. l) ~
+ ]) ?5 ]. |/ R
/* set default diags mask */6 c8 z) H' K8 Q$ t. x
var Diags = xdc.useModule('xdc.runtime.Diags');; n, @ O6 z/ j% t1 o$ H
var Defaults = xdc.useModule('xdc.runtime.Defaults');- W4 y' A* y& T" [* U2 a4 M
I' m c' m2 d% i9 g& X4 @8 d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 h; v) i# @, \% \' h, u! @
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
' K! k) I9 I( x% c# JDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
9 u8 j' `/ B4 {" Z3 R7 dDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
4 U* C2 M; t! t* I4 M' J6 iDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */) ` `5 _: q# w5 T c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( H/ B. [+ j4 u$ P/ \8 jDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' t6 r, y" A; v, q, i; h( QDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ A5 J) y: V8 Z1 q
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;; r7 S4 _& k6 N; z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
8 ]; ?" _& M& U t" [! V, Q- Y3 c; G' fDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 k% D& o6 A" P# I& p% ^Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;, a8 l9 C; m" f# Y5 b
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- `4 O3 u7 R0 `9 { M0 P. {Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 f; B1 s' ~2 H3 _" Q" F4 h& M, `$ Z
7 `* W4 o; t! n1 z- r0 ^, v/ Q# d/* override diags mask for selected modules */4 u \. i2 p0 U
xdc.useModule('xdc.runtime.Main');- `: u% `5 O# A0 A' Q; J8 T$ V
Diags.setMaskMeta(
3 |4 @% a- u" h6 N "xdc.runtime.Main",
$ y8 x; L) P( X" R/ j Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 q9 D- ]5 b& z; q# M) E Diags.RUNTIME_ON4 ^1 j% M; P8 P& F4 R
);; e. F2 _$ y& M) S) P! q
; {/ G1 {$ M6 H/ [$ _
var Registry = xdc.useModule('xdc.runtime.Registry');
2 A/ R: b+ J( \8 U; G7 v6 l9 ~Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;, R4 X6 D; i* m- [7 A5 g
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 U2 i7 s; u& l( ~# k- T! f; ?
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 H) A5 m- K: O! o& JRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;% D) [* z5 w1 m# z6 K: n
7 L# ]1 _3 c6 v& b7 B5 p: p% h9 c& }6 r# b
/* create a logger instance */( P- n; F B8 R
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');$ B3 S! b9 r9 h. N- ^$ o9 s- d4 @
var loggerBufP = new LoggerBuf.Params();" [) z$ c) Y2 Q) \
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- n+ u/ q; e1 \; H9 E
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
5 X. h: f) ^9 E& q# ^# w* ]( F* e( E
var appLogger = LoggerBuf.create(loggerBufP);1 C5 E5 E" y' V
appLogger.instance.name = "AppLog_Core1";' n+ v1 c) z7 {6 X5 \, M' u
Defaults.common$.logger = appLogger;; q4 F" t" T2 C ?
Memory.defaultHeapSize = 0x8192;
2 G# A/ L2 r: ]& ]$ pIdle.idleFxns[0] = "&LEDStatus";
$ O0 i3 j* b& L9 Z6 WCache.initSize.l2Size = Cache.L2Size_32K;6 f* Q0 k8 m4 {- d3 _
. Y2 t& g! `4 m
|
|