|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明4 F7 {5 D2 F9 P& f9 `
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
; ^. N1 t" c) n- N4 b" r(不过疑惑的是,为何单独DSP仿真就没有问题呢?)' C" B2 A* d( k' V, n
7 g. o. w3 O1 Z3 Y2 y& ^
是不是需要在DSP.CFG中进行配置
. K& {3 C H) O2 K, D2 j5 U我现在的配置为! P( u5 m7 q" u
y7 _. v0 \) R1 P$ ^/** k- k2 v- o& [2 }8 L2 y
* ======== Operating System Configuration ========
+ F ?3 [! v% L5 ]9 w8 q */$ ?( q; w5 N9 E) M3 e4 q$ L0 z
/ k$ E) Z) r' d3 K( o/ Y9 @
/* no rts heap */- Q$ J8 E. u: g$ W) `6 @
Program.heap = 0;% `! M1 X/ u6 I* C; f
Program.argSize = 100; /* minimum size */* j1 j7 t# d( G k
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
8 R) G# P1 ?1 Z# q/ x1 ^ u4 S! D, @" P5 S7 `- i) B
/* create a default heap */
8 Q: {" {4 m' u( b2 Q1 fvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
6 y3 {- j" ~1 p1 R/ K, ovar heapMemParams = new HeapMem.Params();
2 x4 C F. M8 V1 S- LheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大9 L7 ]+ `, [/ k
( T3 I/ o) O$ V0 ~
var Memory = xdc.useModule('xdc.runtime.Memory');: t+ G. m# s7 r
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);7 o! e: E# F1 L" z3 V2 B$ ^8 Q
1 X% ~9 e' s5 ^
/* configure System module *// M, e0 H: C( o) K" O9 M
var SysMin = xdc.useModule('xdc.runtime.SysMin');6 X) [: e$ e1 D& v6 }( F7 y/ M% }
SysMin.bufSize = 0x1000;( Z7 ]! \$ X/ x2 u3 b( d
SysMin.flushAtExit = false;
7 D1 c: B \% h# k1 d: p6 @/ D( ?5 D3 I" N3 E; v9 d5 t `
var System = xdc.useModule('xdc.runtime.System');7 Y/ N+ l6 O; k0 I) [. k* n
System.SupportProxy = SysMin;7 [ F0 Z( O3 |
9 g% n- M' s, {: b6 R' P" _
/* configure SysBios to use the lower half of Timer 1 */
5 G$ N% `% S: S7 v1 x0 Rvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
% y, T+ J/ ~6 M$ J2 W6 r" svar Clock = xdc.useModule('ti.sysbios.knl.Clock');4 l$ j* p3 ]# @) I' g+ x
Timer.timerSettings[1].master = true;) e, v8 z' h' a
Timer.defaultHalf = Timer.Half_LOWER;
) X/ e: s+ _$ g; B7 @Clock.timerId = 1;, b3 R7 U( f, n, [# b4 _
. }0 e9 I+ ]! t8 S4 n6 Y d. U2 v& t" @% ]: M; @
/*
6 V+ Z! `- o+ b9 \5 h2 X * ======== Miscellaneous Configuration ========
. c* K" b I, `( K8 I N+ g6 K */4 S9 Y! @: x3 b, U; p
{' f' H" ^8 n' ~, @7 A/* set default diags mask */
3 t/ z& ]5 u" q) `var Diags = xdc.useModule('xdc.runtime.Diags');
7 F+ M m; _2 w' wvar Defaults = xdc.useModule('xdc.runtime.Defaults');8 v% M* Y5 o( p4 d& F( ^" U
9 @. n7 e% i5 `9 _9 m) u
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;0 w& j& T0 q0 E) |! ?0 w& c1 E9 I
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;; [ y; h4 a3 m. }& [7 m
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
J+ K+ h7 X- j# H# [2 Y! s/ xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
% D; ~/ D5 ~* E/ J0 W) |Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */4 M. p6 H. D& S) \9 d6 g% u# |: I/ c
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 a. D1 b# n( m* G- A1 }7 k
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
. x. X+ t3 z& k' T0 {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
# {% \8 W& G9 P* S+ M" sDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
; |5 T$ ~& a, f: \; KDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF; X5 ]- u. @6 V/ R% u% b
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 z0 N q# \$ K0 b7 u3 b# C3 Y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
) O1 f3 v2 Z8 ^/ ^' z' ?# k5 dDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
4 L$ X; Z* _9 }. N& m- ~Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
2 }2 Z. ?$ F5 Y' ], @+ B9 g+ J) g9 h# x" L) v3 L, g
/* override diags mask for selected modules */, H: E4 t5 K; u1 A6 t
xdc.useModule('xdc.runtime.Main');
2 I5 ]% f; s3 `# o7 IDiags.setMaskMeta(: q& z5 M7 |) ~
"xdc.runtime.Main",, V9 j6 S2 u0 x
Diags.ENTRY | Diags.EXIT | Diags.INFO,
1 q/ Q% H9 ^( Z3 s2 q6 B' e/ e Diags.RUNTIME_ON1 ]* u3 w0 v: s, u$ P0 I" `
);
, Y# h+ N+ h, F, M8 z( }5 ]2 M C* I1 i# ^2 f
var Registry = xdc.useModule('xdc.runtime.Registry');
4 g7 {3 q2 v9 b$ D; ]Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
) [/ G8 R& j( K- a; e7 PRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;( K- A( u: M; P1 J3 O* E+ n0 ~
Registry.common$.diags_INFO = Diags.RUNTIME_OFF; e8 E9 L. h h( `/ I i7 @* E9 w
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ A- j& ?% g/ j
- s/ ?5 M/ C7 m/* create a logger instance */
1 _, y4 Z Q& fvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
& r' y# X4 n. s/ w2 B: {var loggerBufP = new LoggerBuf.Params();
) _" Y& W* q0 ?7 t2 J$ @: `! ^; \' I4 FloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */- V2 h/ m1 q* {2 t {% p
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% g1 V) W% E/ S9 b& a7 e- p9 x& x% j0 Y) q3 \4 [
var appLogger = LoggerBuf.create(loggerBufP);3 k) T, z, O R' a$ P& S X& @2 K
appLogger.instance.name = "AppLog_Core1";
% Z6 C) g9 W5 b% O, m% lDefaults.common$.logger = appLogger;
+ r( P. ~+ |# G L* J4 e% l P; N. YMemory.defaultHeapSize = 0x8192; 4 u( v/ s+ J2 q' x
Idle.idleFxns[0] = "&LEDStatus";7 E3 @- O: ~7 U/ H& s
Cache.initSize.l2Size = Cache.L2Size_32K;. W% e) f7 P: }$ F
- j5 }1 V0 t5 d) z6 p$ g+ J; ]
|
|