|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明+ @) \) X+ t0 B: w J& _
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下+ ~, O+ k6 S: ?
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ p4 L V4 O% z s
7 Q9 ^) @7 X, D+ {+ h; _- k
是不是需要在DSP.CFG中进行配置
, i! e4 {7 X9 E( H/ `7 u我现在的配置为: ^) M' [) {) m+ U
# d- H3 P" h3 n; |" D
/*
4 Z5 P' l/ [$ [/ ]% k * ======== Operating System Configuration ========4 @, s+ ]6 a0 W: ~$ K# j
*/0 {1 F" X. x) ^. l3 Y
3 ]; |6 Z8 K$ Y7 \
/* no rts heap */4 c4 L5 J+ h& R2 A. m- ?% ?8 a" ~
Program.heap = 0;: }" P M$ t9 z4 x
Program.argSize = 100; /* minimum size */
+ @6 M4 J$ n: `6 R0 q( z6 R8 JProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大! B( |; n% N; K9 @
: N7 N" ?. y! r/* create a default heap */0 K* e/ d; @# \# o
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
' R) }1 w- M! w0 E! Pvar heapMemParams = new HeapMem.Params();/ |6 b% j) ~- g0 w( i% O
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 D1 X* P6 A' M- N- \! u Y' ~# Y
var Memory = xdc.useModule('xdc.runtime.Memory');
$ T& X7 f( H2 m# p8 UMemory.defaultHeapInstance = HeapMem.create(heapMemParams);% o: X2 }/ e3 v+ Q
4 V. C3 J. G4 g) W0 G) E/* configure System module */, j+ B% Y+ ~: e9 k3 f- L% x* D0 W
var SysMin = xdc.useModule('xdc.runtime.SysMin');# M# M8 x8 f) E: q" \: @/ S2 m2 [' _) z
SysMin.bufSize = 0x1000;
& y4 C$ z5 n$ Z/ O0 _& T4 ^# pSysMin.flushAtExit = false;+ ~4 M' N- b& i* |# K/ d+ G
( s% r3 `, i8 q* @ ?* \
var System = xdc.useModule('xdc.runtime.System');7 x) |8 ^& |6 I9 p) Y! W5 [3 I* x
System.SupportProxy = SysMin;9 G7 f) D' A, ^. J! ], ^
6 q; c+ k. [% F" N# K* x- p; \ P/* configure SysBios to use the lower half of Timer 1 */7 J) ?0 U/ a& j' @
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
3 G: s. C/ C. r' u e3 q) ^9 {var Clock = xdc.useModule('ti.sysbios.knl.Clock');2 P4 N5 J' w3 ^% g. [
Timer.timerSettings[1].master = true;. {' c+ D2 h, y& a" `
Timer.defaultHalf = Timer.Half_LOWER;: w$ {. `2 }$ f7 U
Clock.timerId = 1;: X5 U, w+ g# C2 M: }2 N& v, w- e
! e# T+ G" y6 y/ y9 z
2 _3 U; l( m; e% p/*( c4 G; ]& `- b% y. @+ a% p7 L
* ======== Miscellaneous Configuration ========
4 r$ M& [9 J8 |/ K */
) @! f2 A- q3 I* i* w5 h3 r! Q/ q
- F5 B |6 P2 D$ F/* set default diags mask */
; U o; z/ l& x' d# j8 Nvar Diags = xdc.useModule('xdc.runtime.Diags');: n$ v9 l3 L- I9 C5 R: l, d
var Defaults = xdc.useModule('xdc.runtime.Defaults');
- Q5 u4 c, P! f+ o( t0 q4 Q- s: f
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
2 { M2 \$ g8 g/ r& RDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) w* e# ]- l$ O4 G' Z. h+ k3 m, Y
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
: m5 e. w7 X' t* I2 t0 aDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) k1 i9 B5 X3 \( B F' C+ m# IDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! K9 L% q& s5 L* [Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;, Y9 q. H& W* u m/ m8 i
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- e p: e& p7 v* d3 cDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;4 U' J- ^; w. E3 ?; s
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
( C" @. m; E& b5 l# QDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;, P! b; l0 w2 K' Z) E7 s
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 h1 E1 X$ @% M, |Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
; k A( _6 Y8 C3 R' X% K2 EDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
/ ~4 s1 U" O1 e9 J$ x, ~( O/ KDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF; [8 s E6 V0 V' f! q
/ W! w; `1 ?' G6 a0 X" Y u
/* override diags mask for selected modules */
( H1 h8 }9 T4 T9 x1 Jxdc.useModule('xdc.runtime.Main');, F0 `' M& d9 d$ E C0 b- }
Diags.setMaskMeta(/ _$ k, {' ~+ D# Q8 T- |4 m
"xdc.runtime.Main",
5 D1 U' J3 P# f9 o Diags.ENTRY | Diags.EXIT | Diags.INFO,/ |6 i( p# o! h% [% I' @3 q7 N% |
Diags.RUNTIME_ON9 }* b, ^6 \1 o2 y
);
" d! G. z" I) W: {3 k& X2 f) X/ O+ I1 D2 `: k
var Registry = xdc.useModule('xdc.runtime.Registry');. q8 z, R- [# {7 y. Q- {
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
7 e P+ y& V6 _* JRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;2 `- i: Q: A4 k3 k/ a5 S. V& x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
; V# M9 @: ?# H7 YRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;. A4 b* L% l7 R4 W
2 j" p- c0 m. Z/* create a logger instance */
+ i9 q s4 T! y5 D) h6 q7 pvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');' r+ p4 R* X5 b$ ?
var loggerBufP = new LoggerBuf.Params();, N5 P, H5 o B$ V( L9 m$ @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. y- _ O0 l, B3 H* Q
loggerBufP.bufType = LoggerBuf.BufType_FIXED;5 M/ \+ S k4 F) m8 k) [
+ p/ @: n3 ~, L* K d! `
var appLogger = LoggerBuf.create(loggerBufP);; o, l* t. D4 L/ p! @8 j: U
appLogger.instance.name = "AppLog_Core1";) ?; C5 D, |; H4 x, C3 j/ z
Defaults.common$.logger = appLogger;
- q7 J) K$ b. K* P; FMemory.defaultHeapSize = 0x8192; * N/ e9 F' p4 U- V% D+ H/ M
Idle.idleFxns[0] = "&LEDStatus";
: U9 p! s4 m9 ?! V, WCache.initSize.l2Size = Cache.L2Size_32K;
0 |, U. [! B9 u* n9 H
7 V, t8 Y9 }& c# _ |
|