|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明1 T" g3 D. J3 }% W0 D
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' M$ u# G# m% S
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)8 r1 I/ k* j! q: K. m
4 o0 ^+ g3 U1 b: f1 F
是不是需要在DSP.CFG中进行配置+ V: V: h- x6 f: Q1 H) ]
我现在的配置为
0 @4 I" t) M& ~# i- @8 ?8 C ?
/*+ m- }1 y) T3 o' L, q
* ======== Operating System Configuration ========9 R& k( @5 C) E k
*/# e3 V2 x& K% W
$ d- U' z( K+ d
/* no rts heap */
, ~8 b% |; ]/ {# ZProgram.heap = 0;
* w& r, Q! `4 U- }6 QProgram.argSize = 100; /* minimum size */
* a$ g+ f9 v; l6 o: k+ n! q6 f0 @Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
- G/ J1 T! d. m/ y
. Y! ?& s2 U { T9 d/* create a default heap */
' e8 r* M6 `6 a6 d0 }var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( a$ @1 G& m) v( t# U, v7 ~var heapMemParams = new HeapMem.Params();
) }/ G+ s9 P6 ~, C7 j. \heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大1 F0 c3 s/ s, ]) X4 |/ j0 L5 Y
5 b4 b. z4 S5 A' Evar Memory = xdc.useModule('xdc.runtime.Memory');
9 e' h$ o' w% ]; N4 t/ iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
1 v. l8 f8 { t: H0 u; P D z1 t2 [& L1 h* x+ ], [. E3 u
/* configure System module */2 [- Q* o5 k S) j$ u
var SysMin = xdc.useModule('xdc.runtime.SysMin');
# C* d) i# S, k6 GSysMin.bufSize = 0x1000;
3 Z" S! F' b, R% X. r; i1 y% B7 jSysMin.flushAtExit = false;2 t2 x. L3 Z( Q' S j
* t v( Q: O1 o- w7 P& Vvar System = xdc.useModule('xdc.runtime.System');+ B; k7 x z% q3 N" x
System.SupportProxy = SysMin;- }' T) p! z. ], D4 y2 m; U
. Y6 W+ P# ]. c
/* configure SysBios to use the lower half of Timer 1 */! s" z) q3 e9 F* @7 a8 n' f: G, p) [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer'); e% ~9 h. T8 [
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
" j+ V/ D# N+ L- x; ETimer.timerSettings[1].master = true;
& I" k$ |: I# Z5 l* y) P1 w8 GTimer.defaultHalf = Timer.Half_LOWER;
% L# |0 s K$ O7 I0 I+ rClock.timerId = 1;
3 L% }( \# ]. ^! U* l! k
2 ]6 ?4 ~& l9 [# [* a
6 z5 I2 Q0 B3 ?3 j8 L: \7 t* V9 c6 ]/*6 c! P/ ] {! t1 ^: f1 k
* ======== Miscellaneous Configuration ========* \. ]0 z$ }8 `7 t; t# I$ C# m F
*/8 z9 O8 t( w5 X# n( J, C
/ k5 Q. I/ P# Q/ [
/* set default diags mask */7 O8 y2 h4 @6 z$ V. O2 V) w# ^/ t
var Diags = xdc.useModule('xdc.runtime.Diags');$ l$ o1 u% k# V6 n" U
var Defaults = xdc.useModule('xdc.runtime.Defaults');
, x* C- d+ M4 g* _' x( r; b7 s! e8 U2 l2 E9 {5 G
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 e# I @! R7 Z' M
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
7 G. ^( ]: K+ i& w9 B2 ]7 f _Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;& u1 P3 x. b- W# M0 V2 P. {6 j
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */3 i$ t. U5 G6 O# L
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */' d1 K4 I( Z, p* T, e6 _% w) T- u
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
( ^4 i) M. P8 qDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. J) t1 m+ ]% O8 C" RDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
; N: ]( _* M2 k3 oDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( v. D6 A4 p# {( B9 f+ tDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
1 c2 |, a4 |, S+ R9 q0 \Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
; w6 V- f2 ?. f- s7 q+ o) S, YDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
- c6 o0 ]* ^) I) q9 j2 i; SDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ r% {( _) O# j+ D# w4 ^Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 R2 t! {5 E# a9 O& ~) }9 A; P) \ U% \- ^( b1 Y
/* override diags mask for selected modules */; N# ~3 `; J+ D# v1 s, H, k, R
xdc.useModule('xdc.runtime.Main');
9 L- A: A% Q) B) g; ` NDiags.setMaskMeta(5 o. h$ C! B5 F! H
"xdc.runtime.Main",
; {+ \& G0 P* p& q0 f5 R+ J Diags.ENTRY | Diags.EXIT | Diags.INFO,
/ U: L5 U) a* d( G' I9 E) j Diags.RUNTIME_ON* e0 g! t$ g0 O$ r% _
);
4 N/ U( K7 A5 J" z5 L8 _0 z2 T, t/ j4 O; @. O
var Registry = xdc.useModule('xdc.runtime.Registry');5 Q1 `7 S8 }0 w" G& A+ e# T/ _8 s
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
( K* C: x# c( v7 u" s5 I; RRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 U0 E& E! f ]: T3 W4 b: e
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; Y/ X* x+ j( ^1 V
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
, ]: G& P& w: n( _ {8 b! {
- L1 V; V5 n5 |$ M9 l. u* X/* create a logger instance */
( W, k! ^' }! S4 c' Z7 f Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& D' ~4 I U- m" fvar loggerBufP = new LoggerBuf.Params();! r" C' E$ D7 T# @( p
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */ a; ?7 }- x3 O, ~4 L6 h5 X2 \
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
! s3 u( e% L1 W. }- s3 K" r3 [
8 y* n( b9 j3 v+ Ivar appLogger = LoggerBuf.create(loggerBufP);* W7 X1 K: \1 a( B% u
appLogger.instance.name = "AppLog_Core1";. E/ `7 q& L& v' h3 h2 R2 v
Defaults.common$.logger = appLogger;
& O, v/ }$ F* j) E( eMemory.defaultHeapSize = 0x8192; 2 c/ i4 p; i" j2 E* f. |. I
Idle.idleFxns[0] = "&LEDStatus";0 ?5 s4 Q! g7 i
Cache.initSize.l2Size = Cache.L2Size_32K;; W& F, `( V1 w6 P
9 Z% W+ s1 X' w9 z6 q |
|