|
沙发
楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明7 R3 B y. ~3 ?7 C
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下" `- t: K4 X3 @* K- P8 g) ^
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ P; p5 Q( w8 E1 E* t
1 w( P! B3 b. y& W" Z+ G
是不是需要在DSP.CFG中进行配置& S' D3 Y q/ b# I+ f: @
我现在的配置为
* }, x' U( @# L# ?- n& {0 ^. H; e$ Z8 g2 k
/*
j4 e$ k8 k, a$ ]8 I* y R" B3 P6 T" _ * ======== Operating System Configuration ========
! l& N4 N& |: b8 A6 `& Y% U */( q0 H X- v) U3 [0 R* Q
( r" I5 X1 i8 M& V) ^# m8 k* n/* no rts heap */
6 R5 ]+ C$ @: |Program.heap = 0;% [. V* [+ L- A3 B
Program.argSize = 100; /* minimum size */
& L. J7 s/ ]* G: CProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
3 ?- e! p; q# X% F! E. a7 v3 |8 {* ~0 a
/* create a default heap */
5 x Q; X" B" hvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');- n8 @, O9 y2 C4 k
var heapMemParams = new HeapMem.Params();2 H4 @5 F' ^- x4 K; X9 S3 j9 m
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大; P9 G: X; l; w& V/ _. {
, w! ?& n5 p" J- t# q" lvar Memory = xdc.useModule('xdc.runtime.Memory');. _. J& X, O5 B. K$ c0 J# F3 t
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: f. N/ Y* N8 A# H
3 v* \; \4 x# F2 t0 o9 ~9 Y
/* configure System module */6 U; x4 C( J3 @9 G6 a0 V! J
var SysMin = xdc.useModule('xdc.runtime.SysMin');
, x/ n* H1 O4 t2 ?, a0 J0 A- T* \1 V! uSysMin.bufSize = 0x1000;) e$ p9 c/ O* k! m" G
SysMin.flushAtExit = false;
. f @% m4 F" N% m& r4 {8 ^- W9 b1 [( V: J$ t* Z
var System = xdc.useModule('xdc.runtime.System');+ a# U9 j# z+ f' H5 V @9 L
System.SupportProxy = SysMin;
* B$ p1 S1 G( t8 ~- P* O2 w; M9 n4 ]" {- K
/* configure SysBios to use the lower half of Timer 1 */
9 F- L8 }. ~* p0 `var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ d, ? ?+ ?( A2 ~9 Q
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
; z5 b ~6 ^. m/ r: gTimer.timerSettings[1].master = true;
" }! W- z5 b) K n) |Timer.defaultHalf = Timer.Half_LOWER;) `* k0 ^! b* v! p+ [! I
Clock.timerId = 1;
s9 h% L* r: q" [ a2 V; o1 Y# b( ]. A1 z- F; W8 ?. Y6 Q
5 }3 Q! G* K* \
/*
6 Z0 U M: x& H( z6 s& z6 {& u' f * ======== Miscellaneous Configuration ========
; {" `, R, D0 k" y */0 x M5 o+ i) Q" f! x
5 E- ?; P& D3 ?! V! u2 v
/* set default diags mask */
; F' L' e% w U* S' S) v. nvar Diags = xdc.useModule('xdc.runtime.Diags');
2 u" d% {1 o# n5 ^3 pvar Defaults = xdc.useModule('xdc.runtime.Defaults');
% u5 U) V4 u" W/ L: P
. a8 r4 Y% n# c0 y IDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
( P0 X5 A, H4 I: G" p: r9 i: V0 I' lDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;6 w7 X( R5 e& }
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;8 H* l1 ^1 o( K2 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
$ Q% U# I' l4 W; B/ `Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ W2 a: V2 ]) E& h K/ H
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ J. ~" P9 |1 O. _$ D
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
: H5 o; X; `7 W2 `$ h" v9 _Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
B/ j* d3 j* ^0 L% `Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ A* V9 m- I! A l' f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;* T6 L B% d) @! e$ q4 }: Q
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ j- L' w3 T, l0 FDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& k3 }# q) E: Y G! ^1 n$ i4 R; y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;( q2 p- z) Q5 v& K+ T, V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;" ?: Z( d8 m! g, R5 E; I
* {0 F! U; r v% a$ ]+ C3 k
/* override diags mask for selected modules */# S. J( W' p( l& x
xdc.useModule('xdc.runtime.Main');3 A* O% T1 G0 E5 I
Diags.setMaskMeta(8 Y3 O" j: E5 {0 ~7 O; ^
"xdc.runtime.Main",3 l9 j* g2 Y& i0 B: [0 _0 K$ L% V" G
Diags.ENTRY | Diags.EXIT | Diags.INFO,
! g* b- j. o7 g- n1 _6 t& S Diags.RUNTIME_ON
$ _$ S5 A& R. x5 @3 R);( Y9 d& v2 U5 ^
: p, P" V, K8 m2 @ ~6 e3 P
var Registry = xdc.useModule('xdc.runtime.Registry');
* ` _2 r0 Z7 ]# k! y" FRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;3 u1 G9 _$ ~" E! L! N5 n% i/ m/ L
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
/ ]# Z0 p3 Z% ]Registry.common$.diags_INFO = Diags.RUNTIME_OFF;$ b) y4 i+ H9 X, c" Y1 R D5 }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;' t4 O2 A& Q+ Q
; `' m# G8 y2 C0 c6 T- ^/* create a logger instance */
9 `9 V4 ]: z( O& |) o7 Jvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 b: k, [9 B* w# s8 c1 ~var loggerBufP = new LoggerBuf.Params();, Y) _7 }9 b3 j' [+ R* o3 X
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
; A- F: O2 }; K1 YloggerBufP.bufType = LoggerBuf.BufType_FIXED;
( E4 Y$ G6 U+ U3 \8 e% v6 ?
, G7 ?% T$ \- e! f8 Yvar appLogger = LoggerBuf.create(loggerBufP);
b7 R4 }" X4 E4 z+ CappLogger.instance.name = "AppLog_Core1";9 J" c: _& ]# K8 }1 b( k9 P4 b
Defaults.common$.logger = appLogger;
j( Y( p' b4 S' d8 u( A6 DMemory.defaultHeapSize = 0x8192;
- W' [' j& Y9 _1 R! \" b9 XIdle.idleFxns[0] = "&LEDStatus";
; x, y" n/ v& @* p4 LCache.initSize.l2Size = Cache.L2Size_32K;& K6 r1 `6 p8 N3 R! e: n
: i% ?% A) c2 m. m) h: m5 @
|
|