|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
+ v( q2 a% B2 D4 ^/ n/ k& Q; ]& B我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' Y6 ]5 } j( ~ d
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ t) T6 C! ^) H" C) [
" e& E0 M/ G( }
是不是需要在DSP.CFG中进行配置
8 Q4 p6 e3 n( S+ [我现在的配置为
, _1 i) o, Z4 Y2 W
7 c2 h% M# L8 [2 @+ W/*
# f5 r2 ~5 @5 ?& H( { * ======== Operating System Configuration ========" E; ]2 ]) Z- c8 M. p! [* L
*/* |' p0 J3 Q. g1 Y
0 m3 {( b" t: P/ q$ s8 V/* no rts heap */* {9 r4 p" T" o. `
Program.heap = 0;+ X+ u% g8 q" R1 {
Program.argSize = 100; /* minimum size */
: ]! F! O$ k0 t9 ^% P/ n, S8 ]Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
9 Z6 o+ h) ^3 `- k2 | f7 w3 B- [- a: m& W, l$ J/ X p, p
/* create a default heap */* m$ w s4 p2 K4 z
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
, Q; F8 G C! {; j, D$ wvar heapMemParams = new HeapMem.Params();/ ~, f( z# o5 O$ d' z) O3 T
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大" ~* G) _4 j% b/ S! n
9 _* c" j3 _. M. uvar Memory = xdc.useModule('xdc.runtime.Memory'); P6 k, e W+ d' g' v
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);: i" a% y2 P V8 f; b3 I
; ^0 s3 w) G) z7 Y
/* configure System module */
3 b2 h) T7 `5 c* X3 \: svar SysMin = xdc.useModule('xdc.runtime.SysMin');! d% G3 P2 G# a: z6 S
SysMin.bufSize = 0x1000;
* E5 G }1 V3 ~! j. \) b% QSysMin.flushAtExit = false;: h" O7 Z: _9 t g; Q/ g% s
& q9 z/ y0 a; K, nvar System = xdc.useModule('xdc.runtime.System');+ z% p5 M7 D. ?. D) q! g9 \7 f
System.SupportProxy = SysMin;
# _& m; |% B# m" M/ I5 t
5 F/ O x- U r+ ?1 S3 m4 |/* configure SysBios to use the lower half of Timer 1 */
/ h6 B/ T) X. k2 M/ ^) _var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
! O! C7 \1 r( b+ o/ R6 R" Ovar Clock = xdc.useModule('ti.sysbios.knl.Clock');& m+ `+ i9 o7 Y3 j
Timer.timerSettings[1].master = true; T" d$ E" ~3 \2 G, `
Timer.defaultHalf = Timer.Half_LOWER;" T, J9 |8 M* _4 c0 M4 h
Clock.timerId = 1;
7 }. g6 n! a$ x! ~
( i) D, }+ g/ `1 b5 d& d* j) N/ M9 k9 ~0 ^
/*
$ c- L7 R# `$ e) L& j# r * ======== Miscellaneous Configuration ========4 q: J; P/ f, R( v
*/
+ ` T/ X1 z$ G9 ^( ~/ _! T
2 z" U' Z8 r1 t$ w$ I7 i- w/* set default diags mask */- X/ W* g7 b5 N* P- c; Q
var Diags = xdc.useModule('xdc.runtime.Diags');: {5 I% b+ e% M8 Z# l$ r
var Defaults = xdc.useModule('xdc.runtime.Defaults');- L6 O, F5 T* ?" y2 \, }5 z, A
. n$ O- ~+ X# Q" f2 A/ c' hDefaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;; y1 [4 |7 u1 _" z) S
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 p! Y3 J; A( k! y7 K/ X7 Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;* x1 Y8 g* n* p
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */7 G* z- g" ~1 `7 d8 s
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */$ J# @6 {! V4 l6 U, P6 ?
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;' S `0 }' k) y" a1 [7 Q
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;- E1 W0 A2 e" s0 ]; \, D" _
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;* V6 }0 W4 H9 F8 E i; G7 D: G
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
0 H' h+ S1 k a1 E" sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;5 P$ b) `& y1 [+ {! u
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;* u! } \; K! }: Y8 W y _( k
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;7 k( D I% b4 S8 P' g% C% p
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;# d# {% s7 ~ L! w
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;7 Z. E/ [$ d, b8 h; B
( d% D6 q: }3 U
/* override diags mask for selected modules */
& D' T" {6 _! [+ O0 @# y3 wxdc.useModule('xdc.runtime.Main');3 s9 {1 I0 m. x2 e: u' y/ [
Diags.setMaskMeta(
% D# F1 K9 ~/ g1 z "xdc.runtime.Main",
. f- V1 i1 Y& v* h! w Diags.ENTRY | Diags.EXIT | Diags.INFO,: i& P+ X: n, P& |/ A; C0 ~ w4 G' J: a
Diags.RUNTIME_ON, r" [/ O' O3 l, m0 I# h* w
);) o8 Y+ i! C: _6 k" W4 b/ Q
8 _4 S4 P: J9 U( n
var Registry = xdc.useModule('xdc.runtime.Registry');$ N% l z7 I L/ l2 ^+ n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
6 m O0 ^ z9 m/ }- |Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
3 Y+ h! h. k1 r; c* J; D! YRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ @5 [$ z" i# B5 V0 f& |+ RRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;- [/ v8 W! B$ |+ y! X
3 Z) d' J7 r% A' w1 t' l
/* create a logger instance */
/ d0 r# [! y. Svar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
2 F. C6 o. c* y! cvar loggerBufP = new LoggerBuf.Params();
+ h7 s9 G* _3 g2 eloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
6 o H0 o7 H2 a& I0 DloggerBufP.bufType = LoggerBuf.BufType_FIXED;
$ `7 n$ [8 |# {8 [- d! N( p
# C' z; w' U0 Q8 `; e$ ?var appLogger = LoggerBuf.create(loggerBufP);
2 r4 |9 {: }2 B; }, d) dappLogger.instance.name = "AppLog_Core1";
' Y' u/ ~4 G3 e: m& {' cDefaults.common$.logger = appLogger;& v, B% Q- B' Y. ~$ x j: d
Memory.defaultHeapSize = 0x8192; " b8 u3 _( R! k/ h" K/ f6 ^
Idle.idleFxns[0] = "&LEDStatus"; i( j; ?+ U+ b' Z: _
Cache.initSize.l2Size = Cache.L2Size_32K;" p7 z, s" A$ S& Y; q% R4 r' b
) R4 U& i* |9 ~0 s
|
|