|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
! L- \3 m( h4 a* `8 U' `我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下9 b. f. n! O. Q2 M
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
2 D4 }1 |+ a; B, K, R* z" e8 x& {6 F* b2 E+ i
是不是需要在DSP.CFG中进行配置
# G6 @- P% v- u: n4 s q2 q R9 x我现在的配置为
6 j- ~) Y3 k9 j# {; n9 w
+ j3 l* U; A4 j- f2 m/*
6 R7 v s3 h$ G7 o: k# W6 i* r5 D * ======== Operating System Configuration ========
: u1 y+ N L6 o) U/ W/ h */7 S1 Z& \' A3 o b0 V9 K$ q- l5 G
, E w6 C5 R+ R0 n) g# o/* no rts heap */. o) }3 N3 `$ F* ]4 y' F+ ~
Program.heap = 0;- S% t- Z- Q( j' D8 C7 x
Program.argSize = 100; /* minimum size */4 v9 W1 X% @: [: @
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
& T9 E$ n. d/ ^! q1 b. T% Q9 `! M
/* create a default heap */
' `* s3 f) p0 j1 nvar HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');7 H+ ^" k5 R. L; B
var heapMemParams = new HeapMem.Params();" ?5 y. I# g1 _3 z8 R& c7 J
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
$ N' Y; I6 P" f5 D/ P& ^, D5 Q Q2 v! U" _8 E
var Memory = xdc.useModule('xdc.runtime.Memory');
- |8 ]1 I3 j( i; g* n. bMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
' B) L9 j$ o. d+ [* Z' M {$ D* ^+ [; T) j; N3 V: R
/* configure System module */
+ T$ D( w1 x/ ?4 ]' G; u! {" r4 c! dvar SysMin = xdc.useModule('xdc.runtime.SysMin');
& D; l2 w! @ |4 Q4 h8 Y4 ^& a1 iSysMin.bufSize = 0x1000;. K q. H6 S$ ~- x
SysMin.flushAtExit = false;
$ @5 L; i, u" _# h9 p/ i4 L1 U
6 w3 l5 M3 m& F# [, H/ _5 B! X/ x: wvar System = xdc.useModule('xdc.runtime.System');) X+ ]6 [: D3 C
System.SupportProxy = SysMin;
/ m" q# Q6 V( T0 D$ B2 P6 j5 A& o
/* configure SysBios to use the lower half of Timer 1 */
6 y8 {+ W6 L& m6 hvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');+ g+ a6 P8 a5 Z3 ?8 B6 ~2 m
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 m" ?) v! d& x8 N; ]
Timer.timerSettings[1].master = true;
. d5 P6 i$ @# p bTimer.defaultHalf = Timer.Half_LOWER;: ~# |- C' [' J1 N/ U
Clock.timerId = 1;
! e2 f- i3 g, e5 ^" Y& i X/ w' Q M( f# f: S* t: A+ s/ p
+ |: D9 J/ t" U: B# P8 I* o+ ~/*- F' [. m4 T( z Q1 m& u
* ======== Miscellaneous Configuration ========& i: _! f. z- ^, i
*/
% u0 Y* n" i7 v% z7 a& Y' Z+ G+ j# R- U" s, g" |/ ?
/* set default diags mask */' ]* o/ j8 t& ?- F: G3 Q' f: N8 C
var Diags = xdc.useModule('xdc.runtime.Diags');) O& O* c9 u# x( f! c
var Defaults = xdc.useModule('xdc.runtime.Defaults');
7 S* s& b* H1 s. G/ E! r r5 g% u) }, X& T; [
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;: W' u$ o6 x4 O6 f2 O7 F
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;# K7 N& T' G3 N- b! P
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
1 f. |5 W% w6 l& G) W- Q2 mDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
6 v7 U2 D6 B# K2 ^8 cDefaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */1 N9 a4 l& K: H5 J; I. R2 F K
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;% c3 Q5 U" k+ a j$ X
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;, B6 B' D1 k( T, e/ {6 p) C4 o
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
4 l" t5 `( v- S& p! _+ F, @3 X4 YDefaults.common$.diags_USER3 = Diags.ALWAYS_OFF;! L7 G' K7 ^6 _' Q2 q. E8 Z7 s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
4 o, F- T6 b) d9 i# E& w% j) WDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;: E& [3 U6 `$ w! N2 e
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
" q) K' T% x, i! D/ rDefaults.common$.diags_INFO = Diags.ALWAYS_OFF;
& o2 T, t. o' P- S$ gDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;, y2 P# W! q) X
; \ M$ s4 u1 u6 m5 k' t/* override diags mask for selected modules */' G+ K0 ~1 v# e
xdc.useModule('xdc.runtime.Main');
1 f J: ?" h& L8 H. m7 p7 e j, s( BDiags.setMaskMeta(
, p/ \5 o: |( `+ Q "xdc.runtime.Main",- I/ ]" b% V0 N* F9 b
Diags.ENTRY | Diags.EXIT | Diags.INFO,
. h: p9 L! A$ t) s- i Diags.RUNTIME_ON
, G3 i6 a# q5 ]$ ^2 t: T: o2 c& c/ C o8 x);
/ D" p- f% w" Y4 [& ^$ b. {5 d$ S% t; O' h
var Registry = xdc.useModule('xdc.runtime.Registry');5 R- _ R( E9 O, `4 Y2 @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;& C# a& p! B( f# f
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;$ Z. Y. n+ ]. x
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;
# J+ R" G" ^+ j( R) S5 `4 s* yRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;
& O# X& ?7 D7 N3 I+ ?1 Y2 X
/ l4 ^$ W3 u4 Z/ }/* create a logger instance */
" }; @) C- L+ x8 ?% tvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
# l9 t: d4 E# {2 avar loggerBufP = new LoggerBuf.Params();% X4 L/ ?. v3 @4 r O
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
5 d+ n( s O- g% N! S# ologgerBufP.bufType = LoggerBuf.BufType_FIXED;+ n3 m1 R ?+ Q* {+ Y
; l/ C7 d3 j+ l, @# |" G" {var appLogger = LoggerBuf.create(loggerBufP);
6 J( `! Q: W# }9 r' ?; `" [appLogger.instance.name = "AppLog_Core1";
8 P- V2 f- @$ d2 r& B6 HDefaults.common$.logger = appLogger;6 y, ~) G: `- ]! D& `/ | G3 k g4 N
Memory.defaultHeapSize = 0x8192; ; Z& s5 c8 U7 ]4 ?0 r
Idle.idleFxns[0] = "&LEDStatus";
, O: w7 k* Q7 [5 K! T- GCache.initSize.l2Size = Cache.L2Size_32K;
( `; W. V! N# F6 Z: V3 u$ Z8 t9 P0 Q* J7 ^9 q* k
|
|