|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: ]: x& Q3 n$ a7 _5 f我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! i, k6 t% p. o( y" @
(不过疑惑的是,为何单独DSP仿真就没有问题呢?); |9 ~5 ^8 `5 o, \7 q
! ^0 U6 q7 S6 D/ r' K. R% r8 r
是不是需要在DSP.CFG中进行配置" O: ^, M4 }+ L0 G" [
我现在的配置为7 l* C# D, z# d$ ] j% v1 ^3 B
9 x: t" t+ A/ G9 _4 ~8 W" w) _
/*4 y) D3 Q# \* n! E8 O
* ======== Operating System Configuration ========; J1 x* T' a/ ?
*/
6 _+ M( |: ~( S# T* x5 g. w3 |: m3 Z0 n$ `! n
/* no rts heap */5 Q5 ^: Q* j: l8 r
Program.heap = 0;
2 L; ~: |+ u& P0 eProgram.argSize = 100; /* minimum size */
4 c9 A8 U' {, @& M* b: H( SProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
( P n4 U. P5 @; l7 m5 [1 H! x Z# P# o' }; W$ j" V# C; V7 a
/* create a default heap */* b" j5 o% K) P P* G/ ]( ]7 Y; z4 W& B
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
# r- {: O8 a1 |# J! r Kvar heapMemParams = new HeapMem.Params();& J& H/ }' u2 A. ^+ X
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
2 C* l* @% l3 ]% i2 l. l F# a6 }2 y5 K' ?, t
var Memory = xdc.useModule('xdc.runtime.Memory');
( ~ ?7 b% |- iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);4 ?5 d0 I' y4 {( ?0 z' W) S p/ R
0 _/ {* x$ F9 Y) G! b0 D' }9 w
/* configure System module */
2 j7 i" a% t. U, ivar SysMin = xdc.useModule('xdc.runtime.SysMin');
! i- K4 \. \- A" dSysMin.bufSize = 0x1000;( ]) l/ M, V% w8 A+ D
SysMin.flushAtExit = false;% g; D- f' ]" k5 r4 L% G
o! L, X* U- b% f3 vvar System = xdc.useModule('xdc.runtime.System');2 k) P) C* \8 K/ e- ]9 ~& s
System.SupportProxy = SysMin;$ w6 T$ T" H. ~" z: |$ q, c
) X* h4 ]3 R5 c4 L' z! t! w
/* configure SysBios to use the lower half of Timer 1 */% g' f: {* M3 L& {
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');: r$ F* M# g% U( Z# Q. I/ x
var Clock = xdc.useModule('ti.sysbios.knl.Clock');' l+ V8 l: N$ W# [# m* r
Timer.timerSettings[1].master = true;
% G& a6 m+ `: B, l6 xTimer.defaultHalf = Timer.Half_LOWER;
2 ~) C+ O0 C$ w+ M, g% E g/ CClock.timerId = 1;: D1 F* o/ d2 T/ {" }* P8 G
/ J L) b q1 f8 S \! s
9 X- q1 N# \8 C. ~
/*6 [+ h9 E8 n$ h, m6 t. i( F5 A8 U
* ======== Miscellaneous Configuration ========
4 O% c( w4 D5 E6 a; A+ Z8 Q& T( t */
" a7 E/ y O( z; w3 C1 a+ |" m. \+ q6 z
/* set default diags mask */5 H4 U2 m: |5 v
var Diags = xdc.useModule('xdc.runtime.Diags');
+ j7 V; }2 x0 L/ y1 d3 qvar Defaults = xdc.useModule('xdc.runtime.Defaults');; Q! b/ u8 s G: d {
( b$ g1 j8 a" L+ C5 R! p {Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* N5 T" Z) i5 zDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
. A* B5 t$ y) S7 N; U/ M2 YDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;5 V% e% P5 [- T, k7 J
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
( j g% K! P' r x& uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
, M9 P; b# ^7 K# q- b4 K! M4 l) V4 GDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
$ v+ c6 a+ C- w; G+ N- aDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 g$ q: a. g$ a" S( a5 Y- t0 P2 n( Y
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
9 S) G3 [4 z6 V7 I7 t; [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;6 y& I+ I- N9 t4 m, C; N
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;4 ]! h- ]; T8 w
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;2 n- k: l& u; L8 T. t
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" n k; ?5 c: k# T) z! F# K0 w$ WDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;* h% y7 S' e; ~4 ?# U# i0 k
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
0 V" D; [7 L6 Z2 j( w. \. H: k
( L0 x/ S5 b/ c" n+ Q1 I9 Z/* override diags mask for selected modules */
6 p8 i, r) A, Z+ Q) I- V8 kxdc.useModule('xdc.runtime.Main');: _- D' I i! E
Diags.setMaskMeta(
# F4 F% ^0 E7 @- S1 U# r+ _ "xdc.runtime.Main",
3 M d$ d g4 V Diags.ENTRY | Diags.EXIT | Diags.INFO,
; O. E& u5 ?1 t' r( g5 ~. L Diags.RUNTIME_ON
w0 X/ m, o6 j" L" @( k, |( F);
" F% X M7 [. c3 @( W+ O+ F W! c
8 z& m" s# l& Mvar Registry = xdc.useModule('xdc.runtime.Registry');6 e7 o! d( z. w$ A7 J* [ t, p
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
1 P% ]0 [6 B4 }6 Y7 KRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
. C5 f! Q2 l/ p5 b5 uRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;$ q7 x1 I! U4 T) z V/ r6 _" t. N
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
+ Q' O. ^" _$ }4 Q
% [, M5 K4 ~, T& G0 E/* create a logger instance */
4 Y+ K! z: I6 vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');1 n1 o% f6 `( G; J, T# g
var loggerBufP = new LoggerBuf.Params();
& i4 Q) _: z+ P1 N1 c& UloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. T3 K, H) C2 Y7 g% M# a& o6 e
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
) z5 q: N% l2 @# X* t+ _! R8 A0 h- l: o, D; y3 q& O3 p
var appLogger = LoggerBuf.create(loggerBufP);
8 i6 K3 R3 M* B: r$ z& ^; H" e8 P" Z, HappLogger.instance.name = "AppLog_Core1";
: v' a3 _1 R i* xDefaults.common$.logger = appLogger;
7 a- ^: G( b8 E) c8 j5 tMemory.defaultHeapSize = 0x8192; * ?9 f$ s5 ~' d4 T
Idle.idleFxns[0] = "&LEDStatus";
a7 f8 _" p+ ^0 n/ x! D: SCache.initSize.l2Size = Cache.L2Size_32K;
: q8 d8 Z, e2 ]4 }5 w, c) d. u* b5 `, D c( g6 T3 c
|
|