|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
: x1 f2 R' i% Q+ }/ U3 h) r我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下
% c5 O& r; X' Q6 f5 N! l(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. b. c: T6 @9 h5 ?% S7 {: D; X6 P1 |2 c/ k
是不是需要在DSP.CFG中进行配置
m# k& d& k9 n( ^5 W我现在的配置为
Z. @( k( y8 e6 h* V) _$ F( z+ S8 q" v+ }2 w! C$ I
/*3 q" N/ }( M, v# U7 O' E
* ======== Operating System Configuration ========% Q, |' b) D! k. f6 f
*// s; _' r! ~: B& @, F5 w6 i8 U
" W3 J. U' E- k8 x- a7 V. N4 E; F
/* no rts heap */
% J. g7 Y0 P9 N. hProgram.heap = 0;
) ~1 a, Y* x7 B0 V/ ^; T% Z: J' Q; JProgram.argSize = 100; /* minimum size */' A, m) b q/ r) N' e2 A9 m* m
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大' p; r- S- h& ~6 [+ Z! r
. c! x2 Z8 \; a, i7 }# D4 {6 w) ~
/* create a default heap */
9 \( Z: N; D9 R% mvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
1 ~$ [5 @) c6 a7 d9 _& z2 ?var heapMemParams = new HeapMem.Params();+ w- D# f6 h1 d4 b% \" v+ l) y: d
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
7 h; t7 V8 ]0 I+ a( s/ m/ `& j( }6 v3 {0 f2 ^6 t: V; I
var Memory = xdc.useModule('xdc.runtime.Memory');
6 y) D1 j% Z0 ?+ c! jMemory.defaultHeapInstance = HeapMem.create(heapMemParams);- n& [( ?/ k5 V
Z' s6 ?' s; V: v/ P
/* configure System module */
, o' l( b/ S. m- M6 W4 z0 X: mvar SysMin = xdc.useModule('xdc.runtime.SysMin');+ |2 {( Z8 `7 }3 c4 s
SysMin.bufSize = 0x1000;
) b- r& O3 X& o8 b2 L1 u) U( o/ }SysMin.flushAtExit = false;7 C! @# f+ T% s- K) [
- m. r1 y4 U$ Z2 X, q bvar System = xdc.useModule('xdc.runtime.System');* ^% m6 E$ r' m8 `/ C
System.SupportProxy = SysMin;5 Z0 f9 V( @+ v+ Z
8 K+ B9 Q- R$ [9 b
/* configure SysBios to use the lower half of Timer 1 */
! k8 M$ H" Q$ c3 _2 ~, J! ~var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
& Z c1 D8 w; T: D; ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');* J# Z7 V: [, n
Timer.timerSettings[1].master = true;( X7 j9 I. r" ~5 p
Timer.defaultHalf = Timer.Half_LOWER;( [0 K' z- S1 v0 u
Clock.timerId = 1;
0 L# ?: d- z# c0 Z7 t1 U4 J" x. ]( H8 N }! ?9 {
! \& |% E4 f- u, ]) C1 c* u# @/*8 w: N0 G8 w" U
* ======== Miscellaneous Configuration ========+ s8 F' I9 Q! r; \& W2 _
*/
Z9 b5 e W% _. C* A& }( H% }
+ W" B# M7 ^) J8 s$ l% G2 m" V9 F! j4 I/* set default diags mask */
4 D& L$ D0 M: l' A+ H& lvar Diags = xdc.useModule('xdc.runtime.Diags');2 @6 Q, U6 p5 j6 i2 @* k
var Defaults = xdc.useModule('xdc.runtime.Defaults');9 ]2 s- J* G( g, V- |' C
/ {8 l% U8 ?4 N, y! q- V: _5 W+ YDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;. \: f" f5 Q8 P! j7 {1 l
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& y: I/ [# @% s! V8 g( C- i
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
* V ]3 L5 p& P/ d* YDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
) D7 e. |/ N. K- U# B% B8 V6 wDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
- a1 H$ I1 J0 C; O L) z2 [* jDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. A. y+ Y) e" }# n n1 C! d
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) m( w, E# ^ r2 {( @
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
' U6 [! N0 K& CDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;# N6 M* n! E3 L( @8 Z
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;- n- c, x% E( t8 R
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;6 O! R! h8 w5 A( S
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;8 f/ i; V# w7 f- Q. a' G
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
# D0 T/ G m8 hDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 ~* N: ?6 o) u; n* p
0 M8 W- _( \ E3 n/* override diags mask for selected modules */
9 @- s" m7 S. I4 J/ Zxdc.useModule('xdc.runtime.Main');2 z' L# r6 y: Z
Diags.setMaskMeta(# x) D2 A# R0 p' h6 Q
"xdc.runtime.Main",5 ]% r) K" Q) E4 U
Diags.ENTRY | Diags.EXIT | Diags.INFO,
- n( k) B* U! M4 @3 I) Z7 @0 X3 ] Diags.RUNTIME_ON
! ?3 T0 S& W! \);
& \( p6 Q4 M: L( j4 s, e3 J
+ ~+ a7 ~# K: a4 r7 Wvar Registry = xdc.useModule('xdc.runtime.Registry');5 f. @" E. e: q8 F6 p. p1 \
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; z# f' @& p+ O
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
! m9 ?) O' G4 w: I! p6 m9 w. LRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
$ p7 b6 N% J* nRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
) Y9 [( y1 O `" Q( B; f" `! R" ~, K* S3 k8 a+ u$ l
/* create a logger instance */
1 Q% ~, O' u6 x. J9 \$ Ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');, Z, M( }! O3 { R9 X* O7 ~
var loggerBufP = new LoggerBuf.Params();0 C! d! d9 k) u* B' e
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */. s& R H: S8 m) o+ s: a: z
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
% c, p: A r. U$ |
8 ]- g+ P3 |( i" g Ovar appLogger = LoggerBuf.create(loggerBufP);
: v7 D# r' r! p& ~appLogger.instance.name = "AppLog_Core1";
1 W" w. q- ~2 f* ]' IDefaults.common$.logger = appLogger;, v, H3 M# ]( q. k4 L# b
Memory.defaultHeapSize = 0x8192; % s9 t2 b: i7 l7 I
Idle.idleFxns[0] = "&LEDStatus";
5 k/ Z$ y+ r! A1 I) }, ^5 e N' SCache.initSize.l2Size = Cache.L2Size_32K;; v+ ?2 ], Y6 b
$ v0 `, k) j& ~( L! S
|
|