|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ G5 ?/ V; M8 R+ | W1 q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下; w9 A- b) }# Y4 v& d* k/ ?, g
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)0 T2 R1 W4 I2 F) R8 n
# A0 d$ P4 }2 Z: {& Y/ N
是不是需要在DSP.CFG中进行配置
W% t6 E' f$ p5 n# U我现在的配置为
* j9 ~1 f" M3 H$ U* s
9 D7 T$ H$ A c8 B0 U- h+ N: I/*
) r$ Z# t& B7 T5 A" U" i% Z) X * ======== Operating System Configuration ========
* M! h& Y6 f8 ?6 \+ A, S9 J( z */; ]3 V) Y" I i* k7 ^9 g0 a. W
0 Q+ V/ g& X4 ~: p
/* no rts heap */
/ b2 K/ t; q8 V9 ?# f, vProgram.heap = 0;
8 k5 a" J$ h. oProgram.argSize = 100; /* minimum size */; \0 f/ D) c$ |
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大% @5 K6 _* O/ N8 o
. i; O6 K* y }. X% l/* create a default heap */
6 y' ]* F8 ^: A; N1 uvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');8 P9 ^( `% M/ _7 L. q* M
var heapMemParams = new HeapMem.Params();
! K, v" L7 y! o$ u' ~) Q; theapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大( C5 o1 @( T! y
9 I4 s6 I+ b7 R; D5 @' pvar Memory = xdc.useModule('xdc.runtime.Memory');8 s! r0 q1 w( F% ^. N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams); y6 x8 u7 p6 j* t$ b
& u$ Q0 m: V# W0 n
/* configure System module */
% \$ ^7 N& P1 Y2 x2 wvar SysMin = xdc.useModule('xdc.runtime.SysMin');
# V8 e% }7 O1 U; A* SSysMin.bufSize = 0x1000;5 W- P( Q/ c0 m% \* M5 ]! x+ |
SysMin.flushAtExit = false;
$ P& C" N- a/ J9 f7 N9 r" t2 n* Y! ~6 p C( _7 L1 l4 Q
var System = xdc.useModule('xdc.runtime.System');
5 z6 } t0 ? n9 b7 N$ ^System.SupportProxy = SysMin;
. \: t9 R, }5 k4 h! N, f5 k; }+ i+ O. o+ K# t; ~) V
/* configure SysBios to use the lower half of Timer 1 */: N- N8 n2 t9 m+ ~
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# W1 H0 l+ E8 H: ~" h
var Clock = xdc.useModule('ti.sysbios.knl.Clock');+ Z7 W9 A' i1 O: D* ^
Timer.timerSettings[1].master = true;1 h4 V+ |& n$ ?9 Q6 v9 l# D
Timer.defaultHalf = Timer.Half_LOWER;8 [: b1 v) P N/ a+ y6 v
Clock.timerId = 1;+ m: [6 N; D8 K
# c1 q U5 b; A! G2 G k
* X! t2 Z( u- S0 W/*
* }- ?0 v# x8 o" H * ======== Miscellaneous Configuration ======== k9 X7 B/ W0 t6 m8 Z5 M: j
*/
+ n& z8 d( V; b7 j8 S" e: l& }0 z0 G2 f. G* q: g2 Q
/* set default diags mask */" `7 ^" b$ ~' v5 B m
var Diags = xdc.useModule('xdc.runtime.Diags');
, p+ C9 O# ~. n0 x v1 G. evar Defaults = xdc.useModule('xdc.runtime.Defaults');
) V+ B# ~) ?% i. }, w7 Q
. F8 U3 d/ c% T' C. n0 |- TDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF; c {; h$ N5 X3 }! U% ~! X8 T1 q. r' Y
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
+ ]# S) o- f* a+ n1 r$ J/ Q" L( @Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;6 R( X% E' N- }4 h) K, e) [6 I8 U
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */* A, B0 R8 n4 y2 t$ Y
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
) d1 C* _7 g8 x2 {2 b- T) bDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;' K; }; |$ T- O7 x" M( b
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ M1 q; A# N$ aDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;/ X$ ~* `* E5 J, n& u5 x, S B e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) A1 F" t: I9 l% u; c6 o
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;0 M0 |( [& x; |0 ~9 m
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
% ]+ {4 n9 ? e$ x$ t0 uDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
* \* B2 S0 G9 E7 Z- sDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;! ?8 g0 E, q9 M" ?
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;- ~0 T7 B+ h+ O- z1 v5 h
& W" U: G" V& L c
/* override diags mask for selected modules */9 O7 l. H$ A+ W+ g4 G
xdc.useModule('xdc.runtime.Main');
+ j# ^7 `( m) dDiags.setMaskMeta(- u2 m9 a: V" {: M$ J# E
"xdc.runtime.Main",
% o1 x/ g8 }3 q D Diags.ENTRY | Diags.EXIT | Diags.INFO,
9 @- x# l* u, M/ r$ E1 r Diags.RUNTIME_ON* Z6 X& D e$ K# U: J2 ]
);; L, ^- }! @2 O6 n; H
$ z' u$ ?. P( E6 ^8 D' P
var Registry = xdc.useModule('xdc.runtime.Registry');0 c- V+ Z5 g& g
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
8 C7 U- j1 }/ _+ H0 j: T6 e' W' HRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
9 ?" \+ ~0 c J3 w: f& b* I5 XRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;, b3 y4 \/ |) \1 q
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) k, c1 `: c7 ~& y' S, B
0 Y( o# J& O' y S2 s+ v/* create a logger instance */! ^7 a4 y) S% M9 r
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
' v' T) ^/ Y$ L+ d, F( Dvar loggerBufP = new LoggerBuf.Params();6 J. E8 {9 k6 [0 p8 ^8 H
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */3 ~$ ?% K0 v/ W- P K* `4 _1 K8 W
loggerBufP.bufType = LoggerBuf.BufType_FIXED;& p, U# [1 Z" r
# G) V3 i8 b) E! C
var appLogger = LoggerBuf.create(loggerBufP);
' I7 @& ~4 p# [% ^appLogger.instance.name = "AppLog_Core1";0 Y; n6 ~' L4 d( g
Defaults.common$.logger = appLogger;
- k$ K9 D2 Y! N6 `- g @Memory.defaultHeapSize = 0x8192;
: h- b6 Q7 _& h% d" O* [- U" J9 rIdle.idleFxns[0] = "&LEDStatus";
5 C, v. A1 n1 @Cache.initSize.l2Size = Cache.L2Size_32K;
6 f. e+ b9 `4 T o# c$ ?" P( k9 l. _3 ?- k5 z
|
|