|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 ~9 W2 j2 K2 n) i m. Y$ E
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下 G: s" V: V7 n6 L1 k" {
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)1 L# i. i1 S) d6 q F
8 O/ i6 V8 h- c是不是需要在DSP.CFG中进行配置
7 h2 V& p6 @# z" z( J我现在的配置为$ _+ q& C- d5 S8 q3 g
$ r7 U1 W) |4 p: l) O) e% D* `
/*
& }& w& j: W. ?& R * ======== Operating System Configuration ========3 o- O/ U% U$ s
*/( H' Y; g1 j( d9 G! w; \
5 [: E; A' [! B O6 \
/* no rts heap */
; W |& W5 u; t- k9 `' WProgram.heap = 0;2 ~' d" c0 L0 U$ T0 ?1 A
Program.argSize = 100; /* minimum size */. a4 q8 @1 _& ~' y: u
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大0 N' C1 C) b7 ?5 |) F. p. B
" E$ \ `( D" e% c6 l ?1 L/ E5 A" z
/* create a default heap */
, w* n3 a4 j& f" I6 a1 [# T0 A4 Xvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
% `3 g0 ]9 R/ R1 lvar heapMemParams = new HeapMem.Params();' X$ ]( ~# R+ z# {. ]7 b2 o
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
" ]% m U4 v5 B1 o
4 q. I% |+ j! pvar Memory = xdc.useModule('xdc.runtime.Memory');
! g) O. d$ x9 P8 C& fMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
4 h: M$ h1 I& f" L! j, s. s8 @' S5 Y M1 Q6 t+ ?( A
/* configure System module */7 [9 @( v% R" f( `, N V/ c
var SysMin = xdc.useModule('xdc.runtime.SysMin');
% Q- D' j' @2 {* X$ F) P- _SysMin.bufSize = 0x1000;/ C y' O+ p" x3 _4 q1 k
SysMin.flushAtExit = false;' d W1 A) Z; L- {7 I
/ x, s9 n" p$ n6 q1 C j0 M+ B
var System = xdc.useModule('xdc.runtime.System');
# B/ `- n; |9 F2 X5 r; FSystem.SupportProxy = SysMin;1 o8 ~$ d, y2 [* p4 i
& n, W# |5 z& Y2 h
/* configure SysBios to use the lower half of Timer 1 */
8 {4 v7 _ @: o! J9 u) x8 l% K- ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
; y' u2 N- d9 Z6 b- ?* Ivar Clock = xdc.useModule('ti.sysbios.knl.Clock');
) {, i5 r# B i6 W8 dTimer.timerSettings[1].master = true;! w$ x1 a; p6 S- u4 Q) R3 y& a
Timer.defaultHalf = Timer.Half_LOWER;2 F3 r7 O& J- ]5 l
Clock.timerId = 1;! N# m* g4 Y# b9 I* w
$ U/ S0 K6 | z o4 M) a
) q" {. H( F2 T" A! U6 U6 b
/*1 ?7 a6 \+ \0 }
* ======== Miscellaneous Configuration ========
4 z* m3 j6 Q1 E$ z */
. l8 J) l* p( M/ ]
7 o* Z5 i2 ?4 k8 q; W& B/* set default diags mask */) Q' x1 l F% @2 w$ T6 a
var Diags = xdc.useModule('xdc.runtime.Diags');
/ e1 K! i( K. G9 R/ o0 E: P4 j3 o' t5 yvar Defaults = xdc.useModule('xdc.runtime.Defaults');; W& ^& Z$ t* _1 i2 [
6 z8 L4 @. f5 Z
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;5 j" G+ {$ @ A/ c+ j
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
( a, n5 d- [) ~Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;2 w; K4 l) V; O; p# b: G" t
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */( ~% O" z/ P v) F1 |9 v: {. U
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */9 Z/ Z+ |& ~* Z, }! ~# l* v/ f
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;
4 X- j- c8 i; bDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
- w. w" K$ \* M, V o( XDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
+ Z5 P2 A0 \5 R8 q! dDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;3 o6 y+ s$ z& w: ?4 ?
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 ^" Y2 m( G I* d0 `: K, U
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
" R* S' u! O+ P% x0 zDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF; P3 D0 F K& |- U j3 F& u$ \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;- f3 L( m( k! y1 t! z1 }
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;' _; J/ m* E& ~
9 U0 ^5 K3 C* g3 w% k/* override diags mask for selected modules */
. |$ E& p) o6 [% u, L& G) `: `xdc.useModule('xdc.runtime.Main');
2 ?' X% X, v1 V |Diags.setMaskMeta(8 k @0 s$ P5 b& r$ |
"xdc.runtime.Main",, K5 x% C9 U8 ]+ e9 Y
Diags.ENTRY | Diags.EXIT | Diags.INFO,
, S4 r/ U. E' |- @6 N3 P Diags.RUNTIME_ON
& W1 ~6 N) g! ^/ J' |& ^);" ?. Y: w6 G: r" k! K# Y& d! J1 J
. H% ?* x# b$ Z5 U; S1 ]5 O
var Registry = xdc.useModule('xdc.runtime.Registry');2 s* [, U0 q" `- h
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 \8 \ @% A% ^
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;3 z" I, l- J. b# j7 V
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
' P! y/ U [8 bRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
8 c! ~! K9 _# |$ P+ t l
V8 x+ Y8 Q( ~/ S; {& w2 B6 V6 R; q/* create a logger instance */
8 y; I0 S7 |0 N/ xvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
) Z1 @( ^8 @# yvar loggerBufP = new LoggerBuf.Params();
# _8 Z0 [5 f+ o% m, QloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
$ m4 j p0 Z! p9 A3 C( iloggerBufP.bufType = LoggerBuf.BufType_FIXED;
3 D/ f `, l2 K2 v; p7 t. B/ f' m, d6 ~6 W3 a" ?0 z
var appLogger = LoggerBuf.create(loggerBufP);( p, A# z4 P: ]5 Y2 ]
appLogger.instance.name = "AppLog_Core1";, h; j- a$ ]2 v/ l+ B
Defaults.common$.logger = appLogger;( x4 ~& E- [7 V1 j4 y! A6 h
Memory.defaultHeapSize = 0x8192;
$ r' A; M& w1 `9 I; P) UIdle.idleFxns[0] = "&LEDStatus";0 S. W4 n) j$ d3 T
Cache.initSize.l2Size = Cache.L2Size_32K;
2 r: f2 |3 x3 s) f+ i A0 f, |4 l2 m% Q% i a8 q
|
|