|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
O+ V: K' s& W e( V- [我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下! w' s4 F( }! T" E8 d% q
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)
. @) w/ m3 P4 x7 r j# \$ j* U8 [' X8 w @' p# ~+ R% `
是不是需要在DSP.CFG中进行配置
) t m1 J1 w( T) l$ |& G& D* ^我现在的配置为
* U, A9 y6 B& }/ x9 O, u d) z
. u# ^$ r. Q% m+ L/ o) I/*( W3 s' t* q# k8 o
* ======== Operating System Configuration ========
0 h$ p, a) v3 E$ k/ Q# @: | */' Z$ X1 X+ z3 T: [. m* Z) K5 C, k* G
# y2 U6 p# S: b" x( a8 `3 S6 h/* no rts heap */( J# T& n# h' W2 [
Program.heap = 0;
7 G2 }" Z# d, B+ n1 y# |- HProgram.argSize = 100; /* minimum size */- J/ v- `% i7 ^5 K# |5 f, s
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
0 K Q6 L2 R+ N- K& w
" n! R. s {6 J* u- A$ R+ n/* create a default heap */
8 C: A1 W# D2 h( \var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
3 P) |( S' E( l1 L/ \: T- svar heapMemParams = new HeapMem.Params();
( e5 T8 w" d" \- ?/ ?heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大+ P- h' f9 N' I
2 D) C4 g6 t1 @
var Memory = xdc.useModule('xdc.runtime.Memory');
7 L; v2 K2 _% Y2 ]- T$ \5 p2 XMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
! I$ d5 E, \, y4 f* \
/ O6 d) I2 X+ l3 x' N q; R# k/* configure System module */) B3 h$ T, Z9 |
var SysMin = xdc.useModule('xdc.runtime.SysMin');* Q) x5 T2 Q6 C# E7 K: r* ]+ h" u
SysMin.bufSize = 0x1000;2 x. G2 Y* @( `9 K7 }' @* ?
SysMin.flushAtExit = false;
- z J9 ^( a+ \/ e+ |+ n1 c/ K. z4 R/ J( ~* a
var System = xdc.useModule('xdc.runtime.System');
7 l3 F4 J4 l) b- R B- o7 QSystem.SupportProxy = SysMin;3 Y- V: m$ T( n
Z5 R% l3 E3 L) p& p/* configure SysBios to use the lower half of Timer 1 */
) G- q9 J* f$ O) G" t3 Avar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');
4 M$ T* ]7 S& Q, h5 T* Nvar Clock = xdc.useModule('ti.sysbios.knl.Clock');
5 R, p( Q8 u7 J( ^! \Timer.timerSettings[1].master = true;* `0 u- ]0 K, {9 k
Timer.defaultHalf = Timer.Half_LOWER;
( U1 s! ^( [0 L- k" l5 `/ SClock.timerId = 1;
# @( T) ~' Y$ G6 t# F# _7 B( m$ J3 w5 L3 g, A
; V7 S! P2 a' n7 @. I q( O' |
/*' e9 Y! J( Z# J$ \! d
* ======== Miscellaneous Configuration ========
1 t& t" A0 Q5 g& n G9 d */, G7 O$ O# L) } F/ u8 {6 p
3 \6 n: q H# j5 m' a" y; ]
/* set default diags mask */
; e& u1 z, N1 F* ~9 `* m' n) f4 \var Diags = xdc.useModule('xdc.runtime.Diags');% u$ c( w+ q# Y" [
var Defaults = xdc.useModule('xdc.runtime.Defaults');
2 c" [' o& i c7 N; }% b v/ P: p8 e" m) a- f7 q/ T% S) o) d
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;
+ w) u9 t O7 H# ]8 vDefaults.common$.diags_EXIT = Diags.ALWAYS_OFF;4 L/ i3 k9 i- _) ^, `! p2 k3 ~4 v3 t
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;; |: c8 v2 p, F
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts *// O$ x- z7 u- K7 |8 _+ l4 ~' g* z! g
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */& W/ T# \3 a& H1 c' i: L
Defaults.common$.diags_STATUS = Diags.RUNTIME_ON;) K3 C! v( D. u6 v L8 |
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;) c( H. R( F2 ^9 z0 A
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;
0 g+ R! ~+ F4 \$ G" [Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ c5 g' n2 F" S' ^, Q" f
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
; |, W$ j! Y1 |7 ?$ f3 p& D- eDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
$ H6 r3 _9 \3 T7 s: f% wDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;
. z, f' B0 I# o Q! \Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;. B& X; l7 t" S
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
7 M) e% a3 m* p7 Q2 j1 L; T- ^
1 T2 d, u; |- R! A' H& x/* override diags mask for selected modules */* Z& i8 Q/ k! n" K, |
xdc.useModule('xdc.runtime.Main');
( J6 T, ~# b$ ^, I& V4 Z1 @Diags.setMaskMeta(5 _3 J. [! k5 |) b
"xdc.runtime.Main",: b5 R! k/ h# w, s
Diags.ENTRY | Diags.EXIT | Diags.INFO,
! I( L) L: Q9 N; n3 `0 r+ X' J Diags.RUNTIME_ON9 K+ l0 u% E/ Y4 `& M; r' X
);6 w/ s% D" V, C9 }- h
; }6 P! k' _& A! I, M
var Registry = xdc.useModule('xdc.runtime.Registry');4 P1 Q/ u) Y, i: c+ A% @
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF; X, j+ N. {' N' y% n: Y" R4 d* L4 } h
Registry.common$.diags_EXIT = Diags.RUNTIME_OFF;
' Q4 u6 U1 d; n+ V- f. N k* ORegistry.common$.diags_INFO = Diags.RUNTIME_OFF;
1 {! d5 v* E: d' U% SRegistry.common$.diags_USER1 = Diags.RUNTIME_OFF;! v# p" q; T% \! I" G
) t) ^9 z, D7 I3 `+ n; ?6 r/* create a logger instance */
4 ~( c5 `/ C i1 J4 ovar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');
( S1 G5 C/ m3 e; h& dvar loggerBufP = new LoggerBuf.Params();
5 x# p) ] K) H. g- q) _1 l2 k" MloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
# |8 Q: B: e+ I9 xloggerBufP.bufType = LoggerBuf.BufType_FIXED;' Z) O) f% t1 q& _! k7 J. o
0 j. N! b* v1 v5 B
var appLogger = LoggerBuf.create(loggerBufP);0 b( L- q# E: \
appLogger.instance.name = "AppLog_Core1";4 j i% I+ r6 ~1 A
Defaults.common$.logger = appLogger;
9 c) [! u4 E' t/ _3 q# jMemory.defaultHeapSize = 0x8192;
! r* ^) I1 G8 y( P0 ]! f( g MIdle.idleFxns[0] = "&LEDStatus";
( h/ s) r$ V" G0 ?/ sCache.initSize.l2Size = Cache.L2Size_32K;4 w+ @4 q5 G$ [/ {6 G
: P8 y8 T8 ~1 z: x# ^, y' a |
|