|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# B F& @: K. p% {我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下# S1 A/ n$ {9 l+ ]5 V
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
3 c) T4 L! Z/ r' m, l9 _6 L5 f9 d) ]# `5 w
是不是需要在DSP.CFG中进行配置
3 p T4 r& q8 C [% U/ G我现在的配置为0 R0 u- M8 t- k7 ~) W
7 \: U) }& q& T- K
/*" ~' e% B, g! d& J8 A1 r& z
* ======== Operating System Configuration ========) `- ~/ i4 X# {. j% U
*/
5 f/ g& ^1 c% B- B! h) ~# a0 q8 m% Q2 L0 Y3 B
/* no rts heap */6 J) R" i6 r K1 h) y. G9 \) U7 ~
Program.heap = 0;
( o- H) X. w8 d' q7 Q; TProgram.argSize = 100; /* minimum size */3 O5 H* f- y' [. E/ P2 U7 r
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
! E, {; M5 _0 Q4 [$ l7 Q2 N9 [6 p
0 \* u W( U- |6 x/* create a default heap */
: Z* a! h9 k7 t Tvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');/ J7 c( E! c L5 n5 d2 `) D
var heapMemParams = new HeapMem.Params();5 Y" ?! j9 u- j- Y2 B
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大/ Z: s2 ^" v5 G; J$ b
" q8 b2 L( F1 ^* C4 v* Lvar Memory = xdc.useModule('xdc.runtime.Memory');
9 }6 ]$ t* v* }- d2 K6 iMemory.defaultHeapInstance = HeapMem.create(heapMemParams);: t& o- `: m! _' h$ u" H2 o
2 u2 |1 K4 g) ? t1 x2 X9 y3 E/* configure System module */- s2 T W3 @ F3 }
var SysMin = xdc.useModule('xdc.runtime.SysMin');
; g% H$ [) H# j! V9 Q5 c, _SysMin.bufSize = 0x1000;: E( s# G6 i4 g7 r5 f: M
SysMin.flushAtExit = false;) Y# |" i% w7 E8 z" T& W, \
. z! n3 |( N8 S; |. J# T/ fvar System = xdc.useModule('xdc.runtime.System');; P3 i7 _2 V$ n, W
System.SupportProxy = SysMin;+ C8 _, I X u; l
) ?$ _. s" A7 D( f/* configure SysBios to use the lower half of Timer 1 */
4 F1 O- f# G8 {! D0 Nvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');$ B0 N3 s% s5 p0 J: `1 n8 b; \
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
) w, T$ Q# n" l" {& I/ _7 |4 k0 JTimer.timerSettings[1].master = true;
, K( Z- Q% Q1 Z$ ITimer.defaultHalf = Timer.Half_LOWER;% {8 ?6 B6 }5 C4 ]- l0 b
Clock.timerId = 1;
- B3 h/ v+ m( @% q* v+ H1 @1 _: o4 D* t: l6 D; g0 ^ h
: `( u: k2 d( V3 c7 y/*2 ]; d8 @% c8 ?8 R: F1 V3 c7 d' R
* ======== Miscellaneous Configuration ========/ z8 _! @* s2 b1 _
*/
5 @# W1 C+ p H& W* C8 ~2 n3 X* z, v1 v0 g/ j4 v- b
/* set default diags mask */* X7 {! n# N& O% c0 L0 k
var Diags = xdc.useModule('xdc.runtime.Diags');" O5 H5 N! l* ?, `# _6 q
var Defaults = xdc.useModule('xdc.runtime.Defaults');0 G4 K2 y# e$ P, F0 Z6 E
/ `8 F" \ I' ^$ a9 \Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;6 g% C( q& ~5 o; g) ^$ _
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;3 p! Q1 p, I8 \
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ s" W0 _/ M9 v4 x PDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */6 h" j# ^/ o# T/ V% {& E
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
1 v% F9 ~6 ^) m9 ^" GDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
2 P! X6 t' \2 a: g/ m5 PDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
' h! C7 F. |. h: o8 mDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;2 Y! O, f; k3 @
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
/ N, y7 r; r$ @% K7 o- ?% aDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
( X5 W* O S3 R% j- L. u9 mDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
9 o: q5 k+ m: @! [1 f: c% KDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
0 W( } _! V7 n# |4 B4 ? V$ \# L7 fDefaults.common$.diags_INFO = Diags.ALWAYS_OFF; }" w* C; \* C
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;4 R# J" S3 O/ n) @+ Y- S5 r3 j, n
1 Q& |5 @( R2 D& d/ m& `3 h
/* override diags mask for selected modules */6 B2 H+ Y9 i4 {" V' w a
xdc.useModule('xdc.runtime.Main');9 L& H" n! h/ m! V) L7 L
Diags.setMaskMeta(6 W1 D0 c) c% j- V; `2 e4 ?
"xdc.runtime.Main",
# c" h% b" q: L3 |4 w# [4 A4 s$ R1 Q Diags.ENTRY | Diags.EXIT | Diags.INFO,
8 e! n4 R. Q! V5 E6 N8 n Diags.RUNTIME_ON
2 q& K: I- v* v/ F) x8 g);4 q5 a) R9 e" |) }/ H
2 ?0 a2 E8 U+ j' t- x/ T' U" c, @3 C
var Registry = xdc.useModule('xdc.runtime.Registry');6 R9 g0 Z H6 F
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
- y$ {5 q/ K" S- h' B, M1 _Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
7 V$ {; p- Y. m* |Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 g" j I- y' I' H, L: c; ORegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
$ |2 W' D9 \7 z) `9 r3 F
0 X) l% k9 G1 ~& Z/* create a logger instance */8 s& P1 ~& c# O A0 j) G/ G
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
/ N0 Z' V* A! Y$ w; O- E* w: cvar loggerBufP = new LoggerBuf.Params();2 y% P" K) ]5 l1 ?) V
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
/ Z. \- E2 S* E; UloggerBufP.bufType = LoggerBuf.BufType_FIXED;; N' `" t9 O8 U9 {
; \- d, Z6 p) \' zvar appLogger = LoggerBuf.create(loggerBufP);
% I6 G' X1 H/ I$ Z1 V5 _5 FappLogger.instance.name = "AppLog_Core1";
- k6 B% r2 ?1 n, ZDefaults.common$.logger = appLogger;3 N- |! g6 O" c" X3 ^
Memory.defaultHeapSize = 0x8192;
4 D$ ]' S' q5 H+ j% XIdle.idleFxns[0] = "&LEDStatus";4 E* F# s! f1 G; [) e5 J
Cache.initSize.l2Size = Cache.L2Size_32K;
( V4 G5 a" N1 g) b1 r; v8 l; r! C, \4 B# v% J
|
|