|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
5 R9 {; h9 W/ x: o( M: \我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下0 {, t1 h! B" p* ~- J# ]
(不过疑惑的是,为何单独DSP仿真就没有问题呢?) O$ y4 I0 O2 H" m) H7 `
# b6 @: B- j/ b n. g7 L/ E
是不是需要在DSP.CFG中进行配置
- e3 t. \- r* G/ \; B2 {# ]+ G我现在的配置为
& k. q* x& ~( L! Y( z, ]) g1 `+ |! N, I. B' ^6 Q% [4 I
/*
, w8 x1 C- Z# n8 {; M * ======== Operating System Configuration ========5 X" F4 X5 ?/ _8 C& n# W5 l& i
*/
i3 a* }/ x# N# a+ F) M( {9 R; d" y+ Z" C" B( x) T3 t1 V" I
/* no rts heap */0 E% D/ F6 a% j; T5 i4 u0 B
Program.heap = 0;
3 i4 ]! O t Y2 [Program.argSize = 100; /* minimum size */
% E2 ~/ {$ n8 h- O- B3 E; G+ Y% mProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& q* M2 S9 B: i9 i: g$ h3 K% X" u! [! j
/* create a default heap */- }6 ^/ K" ~6 e3 ]- _& ` M9 P* P
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
( f- p, u" X0 v+ zvar heapMemParams = new HeapMem.Params();- ]- u$ `1 t6 v# e# @) [
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
8 @4 x/ e& b( h5 E0 @4 `9 c" T; V1 S, t0 O) u0 A8 {
var Memory = xdc.useModule('xdc.runtime.Memory');# ~7 {9 e- @+ n. ]7 \$ Y2 S
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
n' D5 V! N- R" X$ Z8 z/ i3 M4 h; `- t! @: f f
/* configure System module */) O6 b6 G+ l6 v% m$ ]
var SysMin = xdc.useModule('xdc.runtime.SysMin');' ~1 P: P3 w5 R2 r
SysMin.bufSize = 0x1000;5 w9 Y6 N( P( r/ S8 |
SysMin.flushAtExit = false;+ u) u4 I& a$ K3 E) e: g
2 p1 d8 r2 M& o7 ~+ a
var System = xdc.useModule('xdc.runtime.System');0 l; P, c, l9 L* O2 a9 i6 O
System.SupportProxy = SysMin; e& H. e* _1 }3 |
* y3 `" E: ]) L! c9 d. x/* configure SysBios to use the lower half of Timer 1 */
! J' ^0 V7 d& N# w7 h" mvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 V5 m# a5 s& t% O/ L! B4 [6 w
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
8 l; b5 L5 z+ X; ]. c0 F2 z0 VTimer.timerSettings[1].master = true;$ C4 r% u7 |: u5 D. Y
Timer.defaultHalf = Timer.Half_LOWER;, y1 a) E0 ^( m* l6 n2 J+ ^- R1 h
Clock.timerId = 1;
' M8 f7 N: a) Y F- i. s- E; P# V7 R. s
$ L) a r) q/ |8 S/ `% M/*1 E7 J& C% ^, _1 P- m s
* ======== Miscellaneous Configuration ========6 n$ [' ?4 o, v! J' O
*/6 L. V5 q" \8 d5 T; A3 Y
& P3 T0 H9 C G5 W" S+ W
/* set default diags mask */
4 U1 W. `( {- ], }var Diags = xdc.useModule('xdc.runtime.Diags');
3 i) q3 ^3 s6 O: f+ Jvar Defaults = xdc.useModule('xdc.runtime.Defaults');" _( G7 w( Y* @, i- n- D+ M& Z
; M8 c; _6 \ y0 X0 Z) p! V3 v
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: p5 `) a1 v9 Q! l$ V1 x2 c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;' x0 S# z8 I7 r- ~3 y4 e. Y- Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
" n7 e8 Z$ q2 h' Z; P; {* g( H8 zDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
8 s) o6 U/ g! Z7 a9 M3 uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */7 g9 N1 l5 c% \
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;4 H7 {& x, k) Z$ C3 T2 {4 y1 R
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
& T) @: J3 d9 r. A) Y3 {Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 m$ [0 c0 T( v) |2 d# |2 ~0 gDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;) U4 q, X! N! ]# z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
0 z! ~: p1 r- v* mDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
6 ^ {8 d% ^4 t5 y0 Z+ pDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
6 ]+ {. s& R/ ?; k8 QDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
+ C( c$ s/ s; s# k0 X. v8 j) fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
& D, i) z3 ?' @/ s% t, [$ @2 l* O" E+ T" ~' |# s
/* override diags mask for selected modules */3 U0 f2 G. H0 t* r2 V5 H
xdc.useModule('xdc.runtime.Main');. f+ O: O. [- j
Diags.setMaskMeta(9 Y/ y: i( X/ G( U$ h
"xdc.runtime.Main",
: `7 D) |0 ^+ b+ P% w9 R9 p0 z Diags.ENTRY | Diags.EXIT | Diags.INFO,- b) F6 l) S- X" y5 v. K7 f1 {' B
Diags.RUNTIME_ON
5 T" F5 S! S1 B0 I);: Q3 {7 S& K* i: q( F
4 |8 w$ H% w' y5 hvar Registry = xdc.useModule('xdc.runtime.Registry');
* o5 S2 M/ Q# Q: \2 h U# t: URegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
" g7 k1 W- t1 ]Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! n' Z2 v) G% y r# [' W2 `1 x& oRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;2 D% H4 N) E# N2 j" b! _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;5 e) R; v2 [5 `
# U$ c' o( J* U
/* create a logger instance */
4 z) S' P: J: Nvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
. z9 h9 H; h* \2 b, X8 G. v* X! Dvar loggerBufP = new LoggerBuf.Params();
- C c4 M6 w5 _7 IloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */5 B5 R4 W4 C( L+ L# T6 U; L6 ]7 v
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* z1 z7 X4 j, k9 M% d. h8 _5 N
& E- M& p3 H7 V/ bvar appLogger = LoggerBuf.create(loggerBufP);$ \; v8 j3 f/ s/ W' C7 Q" p
appLogger.instance.name = "AppLog_Core1";' j1 h2 O7 x* S9 P1 }4 z7 y
Defaults.common$.logger = appLogger;
( e2 y" p# A3 k0 [) G" q! CMemory.defaultHeapSize = 0x8192; 0 O5 g S; y# Z9 ~
Idle.idleFxns[0] = "&LEDStatus";5 b& G9 [7 I2 P; Z! B3 e0 W
Cache.initSize.l2Size = Cache.L2Size_32K;: [2 f' v2 n; W5 K; _5 J
2 _7 A2 T, ]: e" x/ [ |
|