|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
( c+ e8 y& [9 R ]我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# I# p6 T5 n% e9 @' d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)+ R. e, U% @) [
( `1 Y$ _: Z7 y/ N! l0 T) d! G6 F1 E; G
是不是需要在DSP.CFG中进行配置
, _7 V% {) a6 K! Z/ Y: G我现在的配置为
: V7 ]1 c' [2 U: D7 n
+ V8 y( V+ e/ w% z/*
7 r! L: c' w5 O( \* { * ======== Operating System Configuration ========- k9 q P* a. {3 {& }; B
*/) {9 v2 k# Z$ `' K! j
- W7 h% C. j! ?" ?9 K8 a, s8 b2 B/* no rts heap */$ h. i4 ?( h( Y8 X2 l2 M
Program.heap = 0;; \) F! Q# F/ W7 T& U1 t7 a& d9 B
Program.argSize = 100; /* minimum size */3 b2 O# I# u- p9 H: p7 ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
) K# N H3 J9 T$ N+ {$ h/ B+ E" K+ a
/* create a default heap */( W, f$ X) I' a3 h1 \: _! @
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- O4 N' ]* t4 L* q
var heapMemParams = new HeapMem.Params();4 D$ q- n0 S3 h% c. b( w6 {
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, H# @2 b: M3 h5 P) N$ ]3 F6 r, a2 [' g
var Memory = xdc.useModule('xdc.runtime.Memory');8 a- }, f& A& W( _
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); h! T) n/ D8 H5 v' ^ f
2 t8 g) J& T& A X L/* configure System module */! g% _1 O+ @- C c7 f
var SysMin = xdc.useModule('xdc.runtime.SysMin');
1 X! V: {9 g A) T, I( c+ CSysMin.bufSize = 0x1000;
/ \+ _& ?/ g9 f2 k) A3 ZSysMin.flushAtExit = false;) `) S8 v2 r. m3 j9 O$ ~+ z4 h% e
$ m a% m. v* e* g' |6 V' J
var System = xdc.useModule('xdc.runtime.System');/ x+ o# `% ^1 N; ?
System.SupportProxy = SysMin;; E5 k* r# s. I3 E4 Z% ~9 z5 s, @
N9 o8 m9 u4 {! ?6 G* E; G
/* configure SysBios to use the lower half of Timer 1 */, S4 ^- H4 r. H7 L' l, [
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
* m4 {7 w9 p gvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) [, m7 ^; Q# J7 bTimer.timerSettings[1].master = true;
, j6 F% l% K4 dTimer.defaultHalf = Timer.Half_LOWER;
/ D$ S, x( x7 B: |Clock.timerId = 1;
, `4 B4 H: d* ~& X
: s9 e$ m: x7 c: R' x! h2 E9 U0 ?" t
/*
4 A. ]+ q& y! @. r$ O. ^ * ======== Miscellaneous Configuration ========
# n: c) t- O0 [8 l */) i3 j% ^ _/ K* H w+ _
2 }, D: k/ d+ [% a" E( ^$ L
/* set default diags mask */
- _0 Z4 l. n9 a3 j4 ]1 L5 c) Dvar Diags = xdc.useModule('xdc.runtime.Diags');
: G" g( M% M* y, L% `9 pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
+ F/ B, }3 m8 U5 _$ ]* B4 j" _* p3 U8 i$ X3 q5 \+ c, f9 D' q
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
& x, W6 X* ` H' DDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;8 L& }: C% r8 ]% S) L9 E
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 r! h0 ^ r8 {8 p
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
, L5 w, i# z* zDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
/ T. |, o7 w7 |, GDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;- D' T6 f9 }6 }2 r# X. \6 O
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
6 k& Q8 ]7 k r" k- `% mDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
: F( W- H' m! p3 K: V! eDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ }# c5 J* n2 _% S7 V
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ U+ t8 J" W+ S7 D$ Y+ _# ZDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;7 g& U$ K' b/ b1 h4 v' e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;1 N) u* w2 s* `' p* _4 v
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* \; b1 Q+ \2 f- C( z# F
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, H. Z( m- f$ q- ]2 \
: D$ G! {' {/ Y3 M/* override diags mask for selected modules */" ]( x- B& U8 b% C
xdc.useModule('xdc.runtime.Main');/ m- [4 _' } b! P @3 j. B
Diags.setMaskMeta(
+ B* x' H% A9 o( i "xdc.runtime.Main",
: U( T3 E8 b8 P- k Diags.ENTRY | Diags.EXIT | Diags.INFO,1 N3 K- @# j: S9 a% Q
Diags.RUNTIME_ON
) z2 `( e! T: G/ C2 C! `6 J$ ^);( B( I9 [0 E& o, |! R' \7 N
. \& v; l3 b1 p' q
var Registry = xdc.useModule('xdc.runtime.Registry');5 p" O( k' Q* t
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 x% B5 W7 Y/ N2 kRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
( v2 i( e. M% {( R3 lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;/ x3 |& G0 K9 z' ?
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;0 i( b h5 s9 C
6 E( R9 @& O' g* `; P" N5 c
/* create a logger instance */
5 a2 b7 G- f- v4 {: m: j# V: Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');+ [* Z, h# M. Y) Q
var loggerBufP = new LoggerBuf.Params();6 S, X- R C/ w) z" d5 |+ H. @
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 C$ k* l) Z4 sloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 z0 F4 [8 {' l* M4 R0 V% d; H1 V& X& H6 X3 j0 P/ m
var appLogger = LoggerBuf.create(loggerBufP);- ]0 N+ i% C& l$ c2 C2 S
appLogger.instance.name = "AppLog_Core1";. K# J) U* d: q; D1 o( ?
Defaults.common$.logger = appLogger;
- ?! n% M5 Z2 }0 NMemory.defaultHeapSize = 0x8192;
# r* S6 Y# ~5 @! ]$ eIdle.idleFxns[0] = "&LEDStatus";$ v2 O9 ~$ |/ F! }7 p. b
Cache.initSize.l2Size = Cache.L2Size_32K;
2 g2 u& a$ a+ L
* h: f3 k; f/ ~* ]1 I- c* b2 d+ t |
|