|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( U9 K$ U2 `1 a; E8 i, V' Q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# c# }# m+ _4 |/ s+ q6 U2 g4 u- i(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
- v8 a% ?# ?& f( m3 b1 l1 T* j X* F2 r* _6 q7 t5 Q; n; w0 @) s
是不是需要在DSP.CFG中进行配置
; |: V) z6 t5 G& W1 r) M我现在的配置为5 |: m: x( ]/ S
& s5 n; ^6 V: V9 N4 O/*
v: s2 u) _! H! T& \( ? * ======== Operating System Configuration ========# N1 l0 h: p# |' T
*/
# K' |+ D. t/ L3 v3 {
* N9 j4 n- O$ W9 E6 T, L/* no rts heap */
1 c$ b: j9 ?! h9 \4 I: s+ cProgram.heap = 0;! l& t$ y# d/ e! H* f
Program.argSize = 100; /* minimum size */
7 O$ \6 I- i$ `: j- Y# V) @0 w* }Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大; t& j& s9 c" Z2 Z( r/ j
, l$ n' ~* P2 m( j" W- M& ?% t0 N/* create a default heap */
$ n( u7 C9 Z% A8 X) l B3 uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( m2 l! C# Q% I3 l+ `; Ivar heapMemParams = new HeapMem.Params();+ n% _& J+ R \8 w- Y2 U3 c* R( e
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大- q. ?: P/ X+ M( y% |
8 t# |/ ~& K8 N0 |5 |* b
var Memory = xdc.useModule('xdc.runtime.Memory');" G# m. i( Y3 u
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);- }: c: ?6 L$ q5 ~6 F0 h2 G' |$ e
8 J6 l* ]& [, [ Y# S ?/* configure System module */
6 b7 S I& E8 v }% S, v4 Y6 q! P8 {var SysMin = xdc.useModule('xdc.runtime.SysMin');
6 V/ T+ J3 [- e* B8 r6 A! m( iSysMin.bufSize = 0x1000;$ |/ |5 {5 z8 F$ q; b# M. g! D
SysMin.flushAtExit = false;
) X; S3 n5 g) Z) h9 O% I! h
; \& Y* g' @5 D6 }) G6 [5 Z) Svar System = xdc.useModule('xdc.runtime.System');
* S; p% m! {+ gSystem.SupportProxy = SysMin;* g8 X4 d. t2 h6 @) R
6 Y' n) ?& z3 o$ c4 l e- V8 G3 ^- @/* configure SysBios to use the lower half of Timer 1 */; a1 J% r& L W% E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
. l: R% X) ]9 v8 qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');7 P" Z+ h/ p7 [8 e! R
Timer.timerSettings[1].master = true; ?* N a7 i! }$ G0 R8 e
Timer.defaultHalf = Timer.Half_LOWER;
7 f8 p# @1 D5 I8 |Clock.timerId = 1;
! X; \- B& w0 b5 E7 g+ o9 c. a0 e9 y0 J* l! c2 e
. n5 f4 h3 O' N8 w& c: `2 O
/*
8 K& H5 B6 ^6 Y% [ * ======== Miscellaneous Configuration ========2 k' k7 q( f+ E- @3 k; ^* \6 u$ X
*/
# l/ C( e6 p. x6 B; W7 W) Q3 I/ t" N4 X( l7 u, }
/* set default diags mask */; F9 c7 \( l8 [9 X0 w1 a7 ~
var Diags = xdc.useModule('xdc.runtime.Diags');$ m6 ?- `. b5 Z$ ]
var Defaults = xdc.useModule('xdc.runtime.Defaults');+ z/ V" X& d/ }% h- n# m; f
/ [: ?1 X4 l; uDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. M. Z% Z8 G m1 p( x; r6 l. m0 T0 m
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
4 ]# Y- u h0 ~4 B0 Q3 eDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;/ t: Y. Q: x- j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
! D- M* d0 Z! T) mDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 F1 Q- m$ C1 w* h5 A
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 B& e) j- N% M1 E. P4 u, e' `- t. E, z
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;5 {. W7 t O( S' ^# i* `
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 X+ i a0 O& S: ]. [3 P( Y7 {5 g
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ ?4 t9 T) a& K+ @( mDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
% M4 w4 a! t( r3 dDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;. g3 t# `9 @3 Q2 H6 U. E
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;4 Z" P$ t, }" O% E: E( q$ _
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 _0 k! O0 S+ C3 ]Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
. R" b9 ]1 W/ P Z5 b1 h4 P) h2 n5 Q: K& ~8 t+ Y4 K; f
/* override diags mask for selected modules */# a0 e- V" X# i, d3 p
xdc.useModule('xdc.runtime.Main');1 K k: W. q) P' P+ m
Diags.setMaskMeta(9 {% D2 s* r* N3 o" g& L2 b
"xdc.runtime.Main",' p/ }! A' V9 d
Diags.ENTRY | Diags.EXIT | Diags.INFO,
, r5 u/ Y k/ x# V5 ?( j/ K. u Diags.RUNTIME_ON
' p' A8 _0 I0 s. J% p3 w);+ e/ _8 w+ V6 @' w
% j7 d7 m: v! B7 X R# Rvar Registry = xdc.useModule('xdc.runtime.Registry');
t4 l- e0 B* W; VRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
! N; Q, b# x: {9 z+ TRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 O! @- g+ t7 H6 H6 uRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;& Z1 H& C* y8 S
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
7 _7 l. u! j9 ]- n" d: A; c5 `
7 q* u+ {" M d# L4 [/* create a logger instance */
4 m$ ], y# o1 a, zvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% e2 d+ l$ n" S, k* dvar loggerBufP = new LoggerBuf.Params();
$ ~0 d3 y) `3 a: s( n5 @# X8 bloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */, p. Y# d, Q1 j8 {
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
0 q, Z) z3 Y. R% M+ g+ p- ^$ X$ H8 h4 B0 \, r3 n E% V* C
var appLogger = LoggerBuf.create(loggerBufP);
" Y7 e4 T5 v5 uappLogger.instance.name = "AppLog_Core1";( d i0 r. L& e4 r) g# \3 F" L
Defaults.common$.logger = appLogger;, [2 p3 p2 g5 e# P, d) v$ b
Memory.defaultHeapSize = 0x8192;
: `1 K, l6 s' `) d, _( Z2 nIdle.idleFxns[0] = "&LEDStatus";! i3 ^8 P( G: j0 W4 X1 R
Cache.initSize.l2Size = Cache.L2Size_32K;
8 z7 T4 c. t( n+ w
0 k' U. N' T& x! A# C |
|