|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% C" j; a" h" O. G4 A/ ^
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! j: E e. z# Q% q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
! y4 C/ N9 ~8 T9 ]2 d) e2 x$ z" t" M# l- j$ M- O7 W( t, p
是不是需要在DSP.CFG中进行配置
; M* @ h7 L; m( |6 l4 S# I: O" ?我现在的配置为
) V4 T5 E& x( ?1 ?$ D, [' x( n4 O* w! _ M& W$ V# |3 H
/*
v1 u. X3 k S) V0 | * ======== Operating System Configuration ========7 E! }4 U& c; P, b: A# y
*/) l7 ]# F% v4 F, \2 K" E* F" G ?4 |1 y
9 L5 |% q7 q V% \# N
/* no rts heap */
# i3 k! X4 [) x3 g3 @Program.heap = 0;
6 f& ~; `' {- h% sProgram.argSize = 100; /* minimum size */8 i6 @0 v- U# h. Z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( G& t8 @" z2 i5 a \ [% m6 W
3 I! @, R7 A% A, j, ~/* create a default heap */# B5 J4 o' V1 n1 g% z1 B& k
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');) k; w- T7 E, `1 D) i; _. g& h) G
var heapMemParams = new HeapMem.Params();
# i% i: y4 z: e( Q8 R7 ]! rheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
' H2 G2 O7 {( `1 }- \6 T& Q" U3 ]& w' _& U; p1 f! e8 N
var Memory = xdc.useModule('xdc.runtime.Memory');( S+ d8 n8 R. B6 D9 ~0 z3 N
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);! U7 M/ F% J& |( j( z* o5 O
, d8 _. |' Z% ~6 ]6 T) X6 T/* configure System module */' P5 e1 o! ~2 v; x+ G
var SysMin = xdc.useModule('xdc.runtime.SysMin');3 r. D0 k% u2 t+ c
SysMin.bufSize = 0x1000;% [- B2 D8 s+ P* l# x8 V
SysMin.flushAtExit = false;
% g3 s# j8 ? s/ @3 \8 Y) l# O! u+ Y/ E, B" p
var System = xdc.useModule('xdc.runtime.System');; f1 @& s4 o, e
System.SupportProxy = SysMin;8 c) S& l2 |( A9 o9 Y) L
2 P* w3 R2 X* O2 D% x% [* s1 h; v/* configure SysBios to use the lower half of Timer 1 */4 G% {8 X) }7 e' X! R& \! h3 }
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');# z$ H7 n/ _6 e) L5 h" C! ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
: |% o* N. P1 T/ S7 nTimer.timerSettings[1].master = true;
4 |7 y6 u: |1 R) rTimer.defaultHalf = Timer.Half_LOWER;
+ G) {' Z- v- R, VClock.timerId = 1;. G( u2 `2 `) v5 {
: L* S; g+ u' j2 t% K+ @
. i, `! y$ _# k) l# Y/*
, O* h J) h1 ~# p9 L * ======== Miscellaneous Configuration ========
3 Y. C; ?& H ^" U! ?8 F; f* x */
* D4 ~# \$ N3 u. l- L' k) I
; D! b2 T! K2 L$ X# E, _1 I$ t/* set default diags mask */( a$ z: `7 N9 B5 A2 b
var Diags = xdc.useModule('xdc.runtime.Diags');
/ ?5 o7 D; q" n4 Y5 X$ Dvar Defaults = xdc.useModule('xdc.runtime.Defaults');
) H7 B' t& Y/ }5 B5 \0 f$ x1 M0 @ t `6 E
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
/ r! A k! P! V: u# V: G, yDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;) x7 [# j8 e+ T/ } F5 F
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;+ W5 Q, m L0 C+ k# t3 @1 S
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
5 }. V9 g% t: q) d% qDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
' e: f% k6 z5 XDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ ?5 G; a/ l4 y1 t& [, `Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 b/ ]; m6 p/ `( p$ W1 k/ g
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
7 N* Q7 c& c( k* H( TDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
6 k/ q9 Q2 o8 h. jDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
$ L6 {3 u \. h1 i. qDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ |( S7 D) h4 B0 q$ n1 fDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;6 _% V- W3 `& G5 m# B2 b. \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;7 U& @6 A% w# U7 c0 s
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;3 f# Z; y: Z( }0 I- Z: U+ L" I
! X( K/ P D# F0 @( i/* override diags mask for selected modules */
7 e* V0 z5 a! ]5 v6 i9 b( c) xxdc.useModule('xdc.runtime.Main');6 @5 k- e5 }' f* u* T
Diags.setMaskMeta(3 U$ x3 Q& B* N, \" s' K# s
"xdc.runtime.Main",, A6 P2 i( u% O4 C3 o' t) q
Diags.ENTRY | Diags.EXIT | Diags.INFO,
% i' D3 \% c$ k/ S$ J3 Z Diags.RUNTIME_ON
( q0 o+ ]; [. Q% |( T2 I# R9 b);
* {0 W% S% v4 N( h
9 T7 K$ C, E0 N( j6 c% pvar Registry = xdc.useModule('xdc.runtime.Registry');$ ~7 U; ~- K4 I0 f& D2 u$ X6 }
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 c( a4 A# ^9 v0 C) c) zRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: H( _4 t r L) X" J* Y+ ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
3 m8 ^$ h. B' X+ I5 O' ^# E/ jRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
/ V" f6 Q" J! z: J$ y# k
8 R9 X/ w' F) b8 N/* create a logger instance */
- w. U: G$ t. z) _( _4 y( u) B6 Yvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf'); j) G- F8 L% _& k, a
var loggerBufP = new LoggerBuf.Params();
4 f9 i: P7 z, y' j) gloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */! A6 p6 ~ {! g4 R, Q# I
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
G. Z: A7 I8 j# p* _; l
7 C$ c1 L" U8 [3 ~. q. b$ E8 ~var appLogger = LoggerBuf.create(loggerBufP);. \$ P+ \1 n. ^# I+ C
appLogger.instance.name = "AppLog_Core1";+ u# a7 g1 B2 b* B
Defaults.common$.logger = appLogger;* T% s9 }1 M9 c
Memory.defaultHeapSize = 0x8192;
+ ^9 Y/ g, G: @& F3 oIdle.idleFxns[0] = "&LEDStatus";
! w) [& d U/ A) n, a5 j8 X9 g5 aCache.initSize.l2Size = Cache.L2Size_32K;6 M" Z( _# z; ~1 \- _
3 A$ }- Y, l% c+ b! Z7 h
|
|