|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
; c% x0 B+ m; e8 s/ h. w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
0 j& |1 a |3 Z# z(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
7 [( O4 u1 b) Z7 H) [ d8 W
. q) n+ V5 b7 \9 L+ ~* g* S是不是需要在DSP.CFG中进行配置) f7 |" M O) C. l) e
我现在的配置为' O" t( t* U7 N# d! r
! S! d1 m/ a; z% q/*
6 c/ y8 C' O( a5 y * ======== Operating System Configuration ========/ V0 h7 j+ K6 X* c4 S0 c
*/
6 J' J# r3 O8 F. g1 c% t
% A/ n/ r g2 M& I' {/* no rts heap */
8 {7 b6 P/ l uProgram.heap = 0;
/ P. c. Q" k2 o' S) PProgram.argSize = 100; /* minimum size */2 ~" D% e# q( l0 J& c
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
+ e( a$ z& `& j, O6 q! r! J- ~: C* V; h6 A. G& d4 [/ {! o
/* create a default heap */
* C* x. _1 I" z* \7 ~2 Svar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');3 A m- S' X0 A( L1 u: E' i' V
var heapMemParams = new HeapMem.Params();* c1 L# q! w' T; |/ \
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大7 @/ t$ ?- `4 s2 ~9 M( X- ?
5 ~3 }8 ^( S& \5 l* r( |
var Memory = xdc.useModule('xdc.runtime.Memory');
_+ p. t2 Q: O4 D5 aMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
, c8 _2 B. _- ^$ P, A# X7 G8 `6 t" E6 w3 o" J) W, b* M0 C# w
/* configure System module */2 C W! O! G. N3 C0 b
var SysMin = xdc.useModule('xdc.runtime.SysMin');
8 V; U% G3 z+ i. `" q lSysMin.bufSize = 0x1000;
' C" c7 H* n+ U. o7 \6 rSysMin.flushAtExit = false;% X# O- r0 L! a* K' p7 p0 ?0 p; K
5 v! c' L# F. \6 d$ I* n" N, Qvar System = xdc.useModule('xdc.runtime.System');/ w2 v1 A C/ v5 m# D( ~
System.SupportProxy = SysMin;3 v! j0 ?' D- I" \3 f" f7 H
- @5 ~1 t I9 Q. W
/* configure SysBios to use the lower half of Timer 1 */
5 Q! `/ N; R% f8 t9 Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');& j+ Z0 i, [* ]) b: X4 [9 T
var Clock = xdc.useModule('ti.sysbios.knl.Clock');) e/ c0 L3 r9 B$ f2 L) Z2 j' f
Timer.timerSettings[1].master = true;
9 l' R! q+ E, k9 p0 dTimer.defaultHalf = Timer.Half_LOWER; q3 z# }4 Q g4 k
Clock.timerId = 1;$ E7 Q9 k% U c: J3 Q) o* T
- S2 d( o$ [) R" e& G! o* h7 g! M: ?9 a8 b1 Z _' }" ]2 y
/*
/ D& `# y7 Q2 Y/ m; Z) ^. ~% } * ======== Miscellaneous Configuration ========
/ l9 R# F# h: A' L* r; L */) P! o* Z/ I# E6 r% A) G- s& r8 X* T
% O- K$ o5 V8 Z2 o
/* set default diags mask */( J( [. x% I; m7 I; I; G+ V8 u+ m
var Diags = xdc.useModule('xdc.runtime.Diags');* `0 C: ?% p6 D/ S
var Defaults = xdc.useModule('xdc.runtime.Defaults');- ~7 M8 {9 }" ^1 ]
; ?" \& ?+ M( j4 a. U6 SDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& @9 T8 E5 A qDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
% L5 W9 `, `7 S1 mDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;7 v+ q' g, h1 }. n$ V) j7 ~
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */) y( G: H5 q* L$ c1 K! e
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
2 e( Z* P' A. t1 c/ xDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ w: W$ B0 h) i5 \3 E
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
/ N+ [9 P6 @% T6 uDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;0 B5 ^* N* }3 M/ ~
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 v) W& P& o3 j6 W/ `' G" m: C. _3 C
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
& m B+ j/ E% T- C7 T6 MDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;0 P/ J4 W S8 {( J6 b
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;+ r# {3 Z6 j. h/ n" H3 U8 |1 L i
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
! F# ?$ Q. ]4 R' j6 LDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
5 \: q3 |3 g A4 u! \2 v$ ^: K" Y E. g
/* override diags mask for selected modules */* ?2 l( { n' \( F L
xdc.useModule('xdc.runtime.Main');- }1 Q, V6 Y/ t! p: J) ]9 X2 o
Diags.setMaskMeta(4 W: s4 k; x+ t, z9 d, L, d7 P
"xdc.runtime.Main",
/ O6 O; m8 W2 @* B a& D Diags.ENTRY | Diags.EXIT | Diags.INFO,: K4 k: {8 f4 r8 O
Diags.RUNTIME_ON# l2 `/ {) C5 _" y
);6 Z- ]. K+ W( k/ \1 r/ ~& I
! E6 g( F1 Q# Pvar Registry = xdc.useModule('xdc.runtime.Registry');
! b1 t2 ~0 X0 ?7 r$ j+ N9 ~' f0 @Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 z0 U' C& Q7 B* @- B6 yRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;* z! ?1 M& T! @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ n0 e3 S' i0 V4 {8 g$ MRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;; r. a; C" H, g3 @+ R$ r4 U; X
) U5 x) m6 j" f) ^0 U
/* create a logger instance */
5 j4 e3 P% q! b7 C& ]9 W+ u8 |var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); l8 Y6 U3 i' M* |. S
var loggerBufP = new LoggerBuf.Params();8 C2 a4 J% Z9 W: C+ s! p5 q( z- k
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */8 M" N3 ~0 U& H" |
loggerBufP.bufType = LoggerBuf.BufType_FIXED;/ P9 ` X+ H* {
: y8 t0 t- i7 R V; H( J( q
var appLogger = LoggerBuf.create(loggerBufP);3 j' b {+ X. P8 e1 s
appLogger.instance.name = "AppLog_Core1";8 [( \! w1 J& P* b% O
Defaults.common$.logger = appLogger;
; ^: g# D. k% `9 d6 X5 Z1 JMemory.defaultHeapSize = 0x8192;
3 }5 O; S/ W9 A( S6 fIdle.idleFxns[0] = "&LEDStatus";
/ Z2 \1 @! ]2 f* f4 l, c) lCache.initSize.l2Size = Cache.L2Size_32K;
5 L- V3 |3 g6 G* @* ^4 j5 Y% e& E) {5 r
|
|