|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ p, l6 Q; {7 l# C" w我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
: E" l; v5 C/ J( D(不过疑惑的是,为何单独DSP仿真就没有问题呢?)& @8 N, ^; Z0 \+ M5 i2 \& h
; n4 j6 z2 h! b. Q
是不是需要在DSP.CFG中进行配置
4 G, _ Y: \& X" p+ B. J) I' Q6 g我现在的配置为2 B7 q0 {; M; q5 Y
6 c3 V$ t# s$ ]' k
/*
, o7 d( G9 n( m2 { * ======== Operating System Configuration ========
# E/ W2 f9 ?4 V( M+ ? */) c% ?; i# Z0 i/ Y2 e! S, a! N
! N+ }2 `7 U' Y9 Q9 j+ T1 [4 O, s& X/* no rts heap */0 \! f! L2 B, C
Program.heap = 0;( ^! T2 @& k8 p; N2 f6 {
Program.argSize = 100; /* minimum size */
# q7 k0 P k4 e8 o* c& v$ |) o+ ~Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大7 }& _& @2 |* T- b% L0 b/ z
) N( [$ t ]* f2 Y( v/* create a default heap */
* g8 S: b% J% h! P' avar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');9 R+ Q4 a7 u/ J: Z9 {' ]8 K/ R
var heapMemParams = new HeapMem.Params();3 {2 ^! C9 w9 ]! E( l# E) O: s
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 a7 r K$ r" Z% I. g$ z& {2 N; L
2 t$ M- v, w) ]5 Y' y* a2 ~var Memory = xdc.useModule('xdc.runtime.Memory');3 s1 ~3 ]$ P) S2 l
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);4 _8 p8 C" x: b; n9 Q! y- [% A! N
) I3 Y; P8 Y5 d( |2 x! A. E4 K
/* configure System module */
. M9 g, l( l, J, a2 z: Svar SysMin = xdc.useModule('xdc.runtime.SysMin');4 {8 O6 h% r4 w; _1 Y
SysMin.bufSize = 0x1000;
% ?9 m7 s2 l& Z& v g' XSysMin.flushAtExit = false;
V, C1 Q/ t4 ?7 T* [
" s4 P# G( U) Cvar System = xdc.useModule('xdc.runtime.System');: N/ s8 ]4 n, F8 d7 L4 ^
System.SupportProxy = SysMin;
% g) m1 l h/ w( K" }" k: S4 M& D7 P* {
/* configure SysBios to use the lower half of Timer 1 */
! [& a0 e! _" Vvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');% ? l+ m3 F- ^, M
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
* J# T/ ^% n7 x6 I1 QTimer.timerSettings[1].master = true;
$ A' X: j/ x, h( w# A/ FTimer.defaultHalf = Timer.Half_LOWER;
7 G2 T* X) d( E- P4 N7 H, qClock.timerId = 1; X: a7 D+ u$ W3 Z2 ^
" Y8 @' n& B. C# C/ m+ G! y# e. _/ g- {1 W7 y: C
/*
, {# `" q( `3 c7 a6 W * ======== Miscellaneous Configuration ========
& k4 H- `- a+ G0 i: V$ ` */
( y+ H- ]3 B& A7 P! ^! Y8 D1 c: u
9 Q$ a& D5 s k/* set default diags mask */- |' L+ C: B1 ^7 j/ m/ B( ~/ p0 U
var Diags = xdc.useModule('xdc.runtime.Diags');6 _7 ]9 u5 e5 R7 l
var Defaults = xdc.useModule('xdc.runtime.Defaults');" j. j1 |/ ]5 j, g) z
0 D8 T2 J6 B( O$ r! |$ `Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
. p5 W$ _, n1 BDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
/ v6 {/ H; q1 a2 H3 GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;$ F7 r( k+ t4 {
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */" P) U4 E( R! [; Y5 a+ B/ v
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */; R/ w& E' L6 C7 t" R `$ v7 Y3 A7 D
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;$ j8 D9 W9 d, \( N6 v2 I
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;3 f1 t* V% K7 R J$ v: P+ N
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;- X1 C* P: a: F7 Y) W. C% j
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
2 p m5 h4 N) ^$ g% v* hDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
' ?# J I/ P% w0 T7 Q7 N3 IDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 I; t9 l" s- J5 z, h/ Y
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;; M2 a$ M0 y' L" h M( Y# }- T# z( y
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;* n3 s+ h* ]( s. [1 P1 @: j, t' S
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 _7 B! o& \, Y3 B% @' v. B6 Y. z4 G7 J3 G
/* override diags mask for selected modules */6 r, R2 j% P# U" Y5 O1 |: w
xdc.useModule('xdc.runtime.Main');
3 b4 t/ Z% J4 k( ]( i9 ]" ]Diags.setMaskMeta(+ i" S) e2 o5 b# V/ d
"xdc.runtime.Main",
5 e! m! Y+ w @0 Z! @, ^& t. U Diags.ENTRY | Diags.EXIT | Diags.INFO,
0 e0 ?% G' @7 s% }* }3 l4 Z Diags.RUNTIME_ON0 F3 l4 R& O6 u8 z2 u: ]
);9 [0 M5 U, ?, ~
1 i* T! o" f% e. q) q% Y
var Registry = xdc.useModule('xdc.runtime.Registry');
G7 F8 S) n) ^; i4 d3 ?Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;) e* C/ D+ `# y% I) D
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
% i; O, B7 C* JRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;# N: X; Z: M, i& X" A, F' f/ }
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;1 h; O1 ?' C8 M& `+ ^7 N% ^
9 v8 C$ \- A5 ~1 k
/* create a logger instance */4 k6 P4 K0 K8 n u( z" _$ v
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
% |5 K2 ^, S; a R) N4 Mvar loggerBufP = new LoggerBuf.Params();
J) C9 A# Q0 S% c2 S3 TloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
) R7 p+ u4 _2 m/ I$ J% c2 hloggerBufP.bufType = LoggerBuf.BufType_FIXED;
- m" D, h1 U( A
3 U2 ~$ g0 n$ d7 Svar appLogger = LoggerBuf.create(loggerBufP);
4 M+ ?3 H/ I# n% S+ ~appLogger.instance.name = "AppLog_Core1";
; X2 f! S. M, n1 N; `Defaults.common$.logger = appLogger;2 j! b2 B% d+ _2 R$ Y
Memory.defaultHeapSize = 0x8192; 9 F( h; T1 E" m8 I7 t1 d
Idle.idleFxns[0] = "&LEDStatus";3 Q0 P$ T, ]3 x+ F
Cache.initSize.l2Size = Cache.L2Size_32K;- O; w" K+ R5 w. C
& e' j( }8 m* O7 j# K* Z& V1 k |
|