|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
$ i+ z! z/ b6 }) y, {, D我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下: M( b% ^+ F9 a3 `$ @5 v
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
% I! d u9 W% \3 d
4 ^% G; \' }2 L4 Q& q是不是需要在DSP.CFG中进行配置9 q* Q* H" ~3 X8 E5 P5 j
我现在的配置为
: A3 U3 {5 a+ y5 O- A) A3 l
* _$ I2 X" G; J* h" L7 y/*% A6 l$ Q0 X9 B3 J
* ======== Operating System Configuration ========
! g( s2 \4 P% \8 p& s7 e */
( X. O4 K: k* s) {: o& ?5 O" k9 z" r7 E4 w1 s0 x2 q2 C
/* no rts heap */
- _' P% X2 v" P1 AProgram.heap = 0;
" H+ J+ z5 G# c3 R1 i6 A1 y5 w7 `3 j3 \Program.argSize = 100; /* minimum size */; z$ ?1 t+ E; {( ]- ^
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大* ?0 O# O F3 K" o
; e. @6 n+ X- v, g# l7 }/* create a default heap */$ N+ r/ i3 D: b8 ~! s% {9 t
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');# ?" G: K; i1 y2 _, a" ]
var heapMemParams = new HeapMem.Params();
6 V& r" U# {; N H# eheapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大* |* L* z$ _: o+ ]; v
- q6 L& f, p* y* s
var Memory = xdc.useModule('xdc.runtime.Memory');
1 ?0 W% X; W. o' a' ?& {2 p6 ZMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
$ W: i+ W0 I/ y9 q+ ]: j+ h5 j
4 o/ {* k J& D ?* K" S7 d/* configure System module */
7 e" s- v) z: q8 ^2 Q, o( U; |var SysMin = xdc.useModule('xdc.runtime.SysMin');9 Z1 g4 x1 G5 a9 ^- j
SysMin.bufSize = 0x1000;; @% Z( V7 v: m( y
SysMin.flushAtExit = false;
2 a: f& g$ t( M
6 o2 Y! g, \* h# Y. i/ l/ B+ nvar System = xdc.useModule('xdc.runtime.System');
" Z7 ]1 V$ U. _3 \System.SupportProxy = SysMin;
$ m- c- O* O2 W& t% I. y( m: g0 |2 s! C, x( K. z, P" |# Y3 Z
/* configure SysBios to use the lower half of Timer 1 */3 `% R( E0 M! U/ b8 H
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
7 ^- n' m. ^; M+ J# [var Clock = xdc.useModule('ti.sysbios.knl.Clock');, a% v* E/ Q+ T
Timer.timerSettings[1].master = true;
% W" ]: \" |- F6 ~/ M/ n) PTimer.defaultHalf = Timer.Half_LOWER;+ c$ o: v. D; Q) k+ ^* I% F
Clock.timerId = 1;5 z) h# a) s! I
6 H, A5 E; u) d% x' E
) m+ \6 a- e0 b6 i7 O6 X: T4 o2 U# Y
/*
8 H) } \: _4 P& r# \( a * ======== Miscellaneous Configuration ========
0 P& R4 C1 O" Y$ ` */2 c! d3 |9 `9 t5 O# Q9 }
) ]6 ^% u6 R! R9 v" }4 q
/* set default diags mask */
U! Y; |; a& L/ m" o: n2 ?, Bvar Diags = xdc.useModule('xdc.runtime.Diags');
6 O# K" C1 \: A( s* ovar Defaults = xdc.useModule('xdc.runtime.Defaults');, z n4 R2 A7 ^# ?: a3 @
# b. F( P$ d, C* H K# G0 U
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;) `: U+ L) ~/ r. K. N3 z8 [
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;* I, k9 W# s1 V' \3 `
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
; J7 L3 B6 T3 P5 l, gDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */2 S; E5 u0 A9 W) C
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
! d6 N4 t# x4 @9 b- o8 H4 E7 m! BDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;+ U! T, }. i( {" p4 I: M
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
+ B9 Y/ L" @6 w3 F8 f5 lDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
" F, w( x2 G1 V) H4 F# f, qDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
4 y- {8 L6 B! Y/ P1 A& g/ ZDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 q* M- b+ F1 A+ ?2 P; dDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
5 P) i% H6 a. V% iDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ W! X+ J5 A9 I* z3 l& J# U/ ZDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
- R7 E7 L, y; M, }% fDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
) B Y. M2 R1 ^9 U/ V/ a+ e
7 _3 I& M* v9 {; N4 h/* override diags mask for selected modules */
, X$ [4 }% h2 o. axdc.useModule('xdc.runtime.Main');
_7 Y+ H+ M& E$ y) D5 | FDiags.setMaskMeta(
2 N, ?' W) f8 x0 ?3 ~- x( g% V. p) x "xdc.runtime.Main",- d. W* T, p+ O5 J
Diags.ENTRY | Diags.EXIT | Diags.INFO,2 O/ s( O. f" v0 A1 Y: t
Diags.RUNTIME_ON
. r% z3 V: t3 x);
# ?& x w$ X2 [8 K$ n5 a* `7 c4 l
# C+ K" g- P7 mvar Registry = xdc.useModule('xdc.runtime.Registry');
- W2 q9 A9 `8 I, I. `6 m4 IRegistry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
0 `' P+ P% R8 A; \4 nRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
; @/ G% @5 I5 o; x2 T: dRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;- ^$ {- y2 y5 [5 _
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;! \& @) r1 b( u0 s) @! L# z: g
- G1 E5 c2 A6 Q8 r; s
/* create a logger instance *// e1 D: c! I3 [' x9 o0 x$ w, Y! `6 B
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');! y2 }) m. M2 n$ U) k1 p
var loggerBufP = new LoggerBuf.Params();5 G) ]' l/ _* _. {) b; q
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */' f; O3 g7 A' o
loggerBufP.bufType = LoggerBuf.BufType_FIXED;. z0 d9 R( u p; Y
+ n7 |2 y& T4 K8 b! M4 K; _) ]0 I
var appLogger = LoggerBuf.create(loggerBufP);4 D; b3 ]1 H9 c: e5 r8 v. b
appLogger.instance.name = "AppLog_Core1";
: c# V+ o; }1 ]5 u& ?Defaults.common$.logger = appLogger;: L" i3 z1 N% w! u5 ]- D
Memory.defaultHeapSize = 0x8192; ) Y K9 K9 y' ^2 Z( r
Idle.idleFxns[0] = "&LEDStatus";
1 Q( n) _/ e e& S; D$ DCache.initSize.l2Size = Cache.L2Size_32K;
& A4 F, f7 o, m8 q. H! B H* A+ t5 x: ]" B7 f5 C
|
|