|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明 M0 L2 }/ N' O
我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下' o; x6 a8 ~( k
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)$ s% ~, i i* T
( z$ Y& U1 y* D |. { ^是不是需要在DSP.CFG中进行配置
- m* M/ E& \! d# t) y我现在的配置为
" G/ o, Q+ ^0 t( I
0 X& I' l. P$ s/*9 b5 a5 ^! L7 p% q) a
* ======== Operating System Configuration ========/ R( Z/ ^. s5 X. M
*/' d* p( U! U% X! f' a4 \0 {1 r
5 Z) c b l% [4 i/* no rts heap */
2 h/ }4 ~4 @$ b& vProgram.heap = 0;
2 Y3 |7 M- S2 K5 EProgram.argSize = 100; /* minimum size */; Y5 l J+ Z8 l* D& ]
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大2 A9 Z; R) \# {8 T+ j4 n
1 \" L! o' G& X& K0 j
/* create a default heap *// [0 h: m i# a
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');: U( p; B7 T' n
var heapMemParams = new HeapMem.Params(); w9 Q" R5 O6 ?" {; |) g' y, @
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
& s9 [& b/ T) r' Q8 P: _7 u4 M- s1 ^+ k, r A% s% @0 s
var Memory = xdc.useModule('xdc.runtime.Memory');3 g4 S. R7 V7 i; j" q
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);; T q$ \3 @& P% Z# X$ p
v/ `9 F, [7 K/ C$ C/* configure System module */& c0 R: i! S6 h$ z
var SysMin = xdc.useModule('xdc.runtime.SysMin');' Z! B7 w$ @; O n. k6 C
SysMin.bufSize = 0x1000;
% C1 t# h. b' J: C4 ]7 `6 ^SysMin.flushAtExit = false;
7 {$ e2 d( D( M2 s! d( _
7 x. t) c- c4 b" Z8 [var System = xdc.useModule('xdc.runtime.System');
% k) |# T0 [8 Z6 \% Q) o1 {System.SupportProxy = SysMin;5 p7 b% T E/ W* `" W
+ S2 X2 q2 a1 n
/* configure SysBios to use the lower half of Timer 1 */) Y1 v! \! _8 O8 s8 ~6 u8 g9 X8 E
var Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');8 }& G! f5 i P5 H6 g* ^8 r0 p) k
var Clock = xdc.useModule('ti.sysbios.knl.Clock'); R2 _& O8 _. ~* H9 a; k
Timer.timerSettings[1].master = true;
. o' ^5 }' A6 a- HTimer.defaultHalf = Timer.Half_LOWER;
9 k6 E0 X$ t) ~/ ], pClock.timerId = 1;/ ~" c) p) f8 k/ |+ h$ Y* m& x0 H# {
$ @) `; x! K, Y: t% b4 s$ U2 O
) C; H' U6 ^6 _- Y/*
2 Y2 }( W, d- ~1 I( \1 M! _; ]4 T0 P * ======== Miscellaneous Configuration ========
" }& x4 D" Z( \3 \9 W: M& u# C */; t/ d' I) y2 ^$ W
~) g$ m: |5 K, {/* set default diags mask *// [9 p8 e1 o: B9 c0 A8 C
var Diags = xdc.useModule('xdc.runtime.Diags');
$ l$ ?" W$ [( p3 ~, s+ O: m5 Nvar Defaults = xdc.useModule('xdc.runtime.Defaults');" e/ N3 U0 o6 X! a, l
' A: g" y, H- i7 |+ y6 [$ O
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
* n9 j- R+ r+ I; ^2 N" ZDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;& u* O3 P1 \4 \0 J$ Z. L0 ^
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
! w) w% Y+ v( K7 xDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */0 f' I6 R! F* S( z! f8 K
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
9 e% n+ \7 T5 z# x/ q* D6 G+ B0 QDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;
) m K1 m) W5 w- }8 l2 c7 P" hDefaults.common$.diags_USER1 = Diags.ALWAYS_OFF;2 C0 e' X8 Z* V' {9 X1 [+ l
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;& o, H* g; {; P- J6 V
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;9 [3 ~( R' V2 x& \
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;3 R9 R ?1 C \5 a2 E
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;; Z$ F- |, e& o. }2 x6 |0 C' g, x) v
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
' _7 y5 L- k, P" r3 t- jDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;( O+ c# z; i" L0 o8 z& X2 o
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;2 c, A3 n/ L( e9 G* R0 }/ P: [" ?
) b1 Q4 e$ D" b/ A
/* override diags mask for selected modules */( y. q: G. X' |( l) L# J3 ]
xdc.useModule('xdc.runtime.Main');5 h) H% ^ ^' ~ t2 E p- h; P
Diags.setMaskMeta(
2 P0 A3 x7 B P) \ "xdc.runtime.Main",
! l* L6 ]* G, C, Q; T% Q# | Diags.ENTRY | Diags.EXIT | Diags.INFO,
* f5 _6 a7 c. h8 ` Diags.RUNTIME_ON$ t& e! t0 Y. Z+ }! C
);9 I- k6 ^! g0 i/ V( x2 _2 {
1 A5 s7 i5 T( T6 H1 c1 _" [: Uvar Registry = xdc.useModule('xdc.runtime.Registry');
3 z ^$ _2 Y9 B1 n3 M7 s: V- S! ?Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ C* o4 I' E5 ]! G1 ZRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;! W+ \: A6 u1 f' O. L7 @
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
6 A% P1 `. q' C2 N$ `* q+ z9 qRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;+ B. i' c# G" R, L/ [: v: @& }
9 P" U' ?! l7 y' d7 f
/* create a logger instance */
0 Z. }0 p' n$ e2 lvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');8 s8 K; G) g& l" J
var loggerBufP = new LoggerBuf.Params();
6 D1 D. c2 d5 d0 L x3 [loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */% p b# t5 `/ F
loggerBufP.bufType = LoggerBuf.BufType_FIXED;) N: ^0 E5 W" f, ]7 d
' A/ s% `% V/ S; h: J% h" K; J i
var appLogger = LoggerBuf.create(loggerBufP);7 k' w+ l' B; v: ]" p2 ^) P
appLogger.instance.name = "AppLog_Core1";4 ^0 ?5 B) c5 n: q0 Z. p
Defaults.common$.logger = appLogger;9 \- u2 O5 a% h9 A0 c9 C% {& x; S
Memory.defaultHeapSize = 0x8192;
& h' D l1 j5 ~( x. M. `& u! oIdle.idleFxns[0] = "&LEDStatus";
8 r$ B& {8 [, u# SCache.initSize.l2Size = Cache.L2Size_32K;. _2 e3 `' d" B! B& A1 {
i) ]( i* ~8 @5 D4 V
|
|