|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: U: f4 A) T/ e6 M6 z" b% u: F我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
# A7 J2 w6 }5 D& Q1 i4 D(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
" B: l; H& @, U5 N/ g5 k& H/ D/ O6 E
是不是需要在DSP.CFG中进行配置
7 K* c3 Z, m, a# h/ T! T我现在的配置为( `# p5 X1 _4 s/ Q% A8 e% w+ y6 O6 Q
. d& _7 j- x' r* Y. G- y
/*7 H( M9 [! x* M) x& b! p% D
* ======== Operating System Configuration ========
( z# q+ _, H5 i! w* q$ \ */0 ^; ~8 t- c" C6 \9 b
1 ^5 `9 u2 F @+ B. l/* no rts heap */+ H- \. h7 p: j/ L. O$ `
Program.heap = 0;
; L2 Q: {) f8 N- zProgram.argSize = 100; /* minimum size */
4 Q5 [5 J1 Y* v6 _3 L4 vProgram.stack = 0xF000; //此处修改后的值。不太懂,所以改大
5 I: \7 F0 u" r9 P
3 @, ]2 K- u& `; a8 [/* create a default heap */$ N: T% J& m0 @" }( I
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
7 T6 l$ Q7 H# G" P! F U9 [) ~var heapMemParams = new HeapMem.Params();8 V+ H7 K( P3 V0 e4 l$ Q7 B' R
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
3 f1 l2 y( [3 a! H- u3 {# e2 U" v8 e6 D# v
var Memory = xdc.useModule('xdc.runtime.Memory');# t3 X; t4 m. v7 A, X; q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
0 F5 n! F/ L+ n) g9 j2 R; I7 i
% Z8 ?8 X- L2 s; u! q/* configure System module */
! y5 Z6 u2 k0 hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
* f* A0 j2 _# P7 xSysMin.bufSize = 0x1000;
- `2 @3 I0 w+ RSysMin.flushAtExit = false;& B7 A6 s' b1 U3 \
1 j D% ?: [! _var System = xdc.useModule('xdc.runtime.System');0 l3 ~6 Y, q9 X% k: g l" _
System.SupportProxy = SysMin;. B1 ]+ w+ g1 N" k
5 Q- ]0 k2 c$ k1 ] b/* configure SysBios to use the lower half of Timer 1 */
. n2 }1 p1 j" L0 s' ]var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');1 Q; |. q+ A; h. ~
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 i" d- m/ Q- r- h7 R: v: H( mTimer.timerSettings[1].master = true;" Y9 q9 r! |' N8 ^, A# \
Timer.defaultHalf = Timer.Half_LOWER;
& x n: o6 i4 i6 i' hClock.timerId = 1;$ x' q, F/ m3 C% Y3 N& Q
, B# P- @2 f8 N, ?* [
+ i! t0 M1 C6 g8 K) @/*+ T) S# q$ Z" J# y' {
* ======== Miscellaneous Configuration ========* E1 P3 R( W$ J7 }- D/ d( B# A
*/' q- }2 U4 m4 h- y; c
4 B+ x* y1 N: ]8 Q% M6 X
/* set default diags mask */
9 L. Z7 b8 P9 K: J/ h8 L2 b$ [8 d2 Jvar Diags = xdc.useModule('xdc.runtime.Diags');# X7 w8 [( U* t
var Defaults = xdc.useModule('xdc.runtime.Defaults');
8 a$ f* C; t/ y" M+ p4 Y: v& c& v& H& `% [" l
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
4 P! h' f/ N* I/ VDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;- M# |) ~& } C# a) z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
- ~" z1 x- c1 R7 e0 K& F" pDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
1 T' E \ }% ]( C8 j# W' uDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only *// o: O/ p2 D; U
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;6 o- @# L6 i! b2 I6 z) Y: J! J& c, Q, g
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;( ^) p# P2 T3 \. e
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;' V. o6 A: Q( s/ w' X4 {
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ H& j7 s j+ M/ x5 i- ~Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;. s1 k9 z' w) B7 }0 D
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
3 M- M& [" j0 M/ cDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
, Z- p" E3 S* O( x HDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;2 W5 j8 [4 n( m5 c& y2 V
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 W8 X4 _7 W( N( N+ G/ ~ E' z$ A% B9 p* Z/ Z- m
/* override diags mask for selected modules */: o8 B0 \! ~6 E, g
xdc.useModule('xdc.runtime.Main');; Z1 I* Z& s& M7 [
Diags.setMaskMeta(
$ Q j, g) j! E. c# ^ "xdc.runtime.Main",
9 X6 H7 I3 ~' S3 n; g Diags.ENTRY | Diags.EXIT | Diags.INFO,
* ~" c0 l$ l- ? Diags.RUNTIME_ON
: ?: W3 C5 {5 ~; h* J);6 n: p& m2 V+ I) |
, I! @: ]4 a; Cvar Registry = xdc.useModule('xdc.runtime.Registry');
7 e5 y; E- i3 }0 _- O' ]1 n4 J1 CRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;! @5 P/ n4 [; U' R
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;8 y1 y/ U2 [' i% `- @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
" R$ \- z' R+ K5 _) H& CRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;3 q: h. H. s0 |! @# d
h0 z3 P' Q6 W% V1 K
/* create a logger instance */
: h( Y& y v5 [' p4 ` `8 P& L) lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
0 l/ \9 I8 P) D, Tvar loggerBufP = new LoggerBuf.Params();
( }$ |6 `; B& ]- uloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */$ R: M$ \0 c# v: g
loggerBufP.bufType = LoggerBuf.BufType_FIXED;( q$ ~( ^* `- U; [# F9 j6 T
% D. J2 t$ |* ]var appLogger = LoggerBuf.create(loggerBufP);
+ p0 S8 J6 h. l- l2 FappLogger.instance.name = "AppLog_Core1";
! m- r6 }! q/ UDefaults.common$.logger = appLogger;
$ _) W5 d4 m# T6 P$ jMemory.defaultHeapSize = 0x8192; 7 i O& a4 o( e
Idle.idleFxns[0] = "&LEDStatus";
- B: x: D: ]6 K$ g1 u% VCache.initSize.l2Size = Cache.L2Size_32K;* U# y* y5 }7 R0 f V. o
+ l q* n$ ]! T. Y* J* L/ C! M
|
|