|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明% n& Q9 m* M; p! [6 V# {& N
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下4 c! o4 R- V- J- ~
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
1 C9 J& D# N; t, v. |$ m G: D0 ?6 |5 S+ N: ^& l! D; ~# j: P& h
是不是需要在DSP.CFG中进行配置
1 Q' y& k3 N/ z我现在的配置为" o7 c! ~7 T) d" v3 O
1 |5 T( C+ | T$ _. [$ S2 x0 X9 L/*
+ F: n3 h, Y C- s: U * ======== Operating System Configuration ========% p( J, s: Q. p) W6 L9 V
*/( s# n1 ~" Q/ o& o: T- O
" r7 o7 j Q% h ]' C
/* no rts heap */0 V9 J, G! Z* ^0 [) T4 r
Program.heap = 0;$ H+ W5 F, z" h2 I+ V
Program.argSize = 100; /* minimum size */# c* u! @ I' A! i+ g/ l& m) \8 u( z
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大# G9 M0 H% M% {; g% W7 M( b- J
2 F% P/ N1 G7 j6 S/* create a default heap */5 E, g5 g. L2 S
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
; D/ G! g, X4 p% Q5 `; n' Fvar heapMemParams = new HeapMem.Params();; @" p3 @' _/ {5 W/ H
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
) u8 v/ G) y2 ?3 B* w- F
; q+ W+ G) Z' K4 p* \- w3 [var Memory = xdc.useModule('xdc.runtime.Memory');8 v* w6 p+ A' j# X% W- f4 n! y5 T
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);
& O- N4 I( j# M2 N6 X5 B5 r" s4 Q. G! ^
7 |: F6 L5 m7 e# O) q/* configure System module */6 d4 \7 n3 @; o6 N2 c' F: T
var SysMin = xdc.useModule('xdc.runtime.SysMin');
2 c/ \. i y3 {3 C5 }5 m9 ], }; ESysMin.bufSize = 0x1000;
& c' E' M' Q. l# GSysMin.flushAtExit = false;) c3 G7 G8 Q4 W5 E3 m! m
3 F9 m2 q) q( |9 X- Y& I. s, N/ D
var System = xdc.useModule('xdc.runtime.System');
( _: R4 P+ F5 T0 s4 Z2 @System.SupportProxy = SysMin;8 Q6 P$ l" ?. Z) [. Q! }
( E( ^1 \! ~3 y9 g7 |/* configure SysBios to use the lower half of Timer 1 */
0 r8 `3 n% Z8 avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
1 p* B$ B4 G: M9 [) a Qvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
; r, O. N8 z0 R* M- U- YTimer.timerSettings[1].master = true;
1 {' T7 {5 c, c y6 PTimer.defaultHalf = Timer.Half_LOWER;
5 i( U' ]$ H! N5 [# s3 J9 IClock.timerId = 1; s. P! y9 ^5 Z0 V1 z
* P% a& g, ]3 v4 Y( R4 U3 ?1 B$ c- b) S8 B2 B, E i, [$ n
/*( P5 \1 R1 c5 d! [% U
* ======== Miscellaneous Configuration ========
3 C( F' A2 Q% Q. V3 N. I */
" E# \0 s+ {. d" F' S8 @; H9 D3 `6 f
/* set default diags mask */& Q0 p9 l# V3 G
var Diags = xdc.useModule('xdc.runtime.Diags');
) k! |. a4 ], d4 |# Xvar Defaults = xdc.useModule('xdc.runtime.Defaults');
5 y% m% k5 c8 ?/ C, j U$ s ~$ q- T9 P$ `" ]3 ?# [1 G% b
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;" y- R4 h2 [6 J4 c
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;9 H4 r) \- V s1 ?6 n7 o& Z
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
$ E( L, F* X" R$ ~7 xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */; l4 r0 U+ Q. F! Y+ C( E B
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
; h0 l: H' i5 D- ?* YDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
6 ^3 Y! G' |, _: p8 W, M1 R$ eDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
8 T3 k0 `" ` g) i7 CDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
& ~8 O- m' p' _1 U; @# R1 ZDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;, o& M4 n% Z1 G4 r$ P/ c9 ^" S
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF; |# E3 }: C" M; v0 I1 g/ M
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
1 _3 m$ `+ l/ n# j o; A3 UDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
+ F0 O$ }' W6 k# ~6 j) k5 aDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;5 H5 ~. {4 I) H3 h! H- s) T
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
6 m" Y2 W; T8 Y( H# T0 {" w6 t
/ _5 u' q9 ]& e2 ^" v9 ?: }& Z/* override diags mask for selected modules */& X& l' J' x( d( L
xdc.useModule('xdc.runtime.Main');
$ W: R6 i" D9 t3 Z; V& Z! [Diags.setMaskMeta(
. A+ J; e8 ?# d) z, ^$ X7 ] a "xdc.runtime.Main",$ W3 R/ @, y4 @5 a
Diags.ENTRY | Diags.EXIT | Diags.INFO,; U9 ]/ W& H4 ~5 S3 n
Diags.RUNTIME_ON- D/ T% l) `! t5 I- ~$ a; e$ Y
);
v+ l& {5 \, ?7 B7 C1 R, x1 W* Y% l3 r
var Registry = xdc.useModule('xdc.runtime.Registry');7 m( w+ A" m. w1 Q* q
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;0 P$ c5 X0 u1 J6 n. a3 H
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
: X6 P" V& c3 d" lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
/ K' E3 R8 ^- E: E+ U rRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;; r6 N2 z' q& y- U$ c v- e
' ?& n" ~! u; E( j9 K7 F9 a/* create a logger instance */* H- v; @0 x0 [% x% x& R+ Z) A% }6 B
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
9 t! ], P5 q% }* h3 v; jvar loggerBufP = new LoggerBuf.Params(); ~! Q1 `9 ]0 g
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
3 v8 j A$ Q4 w" w: y" s9 IloggerBufP.bufType = LoggerBuf.BufType_FIXED;6 L) t7 B; j; B6 M4 M5 W1 N( H
6 Y3 e$ r$ p4 v0 U# E# f3 \+ [2 U3 jvar appLogger = LoggerBuf.create(loggerBufP);
0 i! b7 n' R8 L V+ L& jappLogger.instance.name = "AppLog_Core1";8 ]4 S7 t2 ^9 ^' H5 I
Defaults.common$.logger = appLogger;9 ]! c- t( ]3 C5 e( n8 C, X
Memory.defaultHeapSize = 0x8192; / H! O3 Y9 L7 c' l
Idle.idleFxns[0] = "&LEDStatus";, c9 ~ n) u0 |' }; \
Cache.initSize.l2Size = Cache.L2Size_32K;
( X" x5 a; u3 g: S" b: M* Z; V5 h8 T: h7 g. F! l2 K
|
|