|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
# j3 b6 N# G0 T6 l2 Z4 q我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下* x' \( z9 j; ^9 S8 H7 K
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)9 r6 G; d3 m5 I' P9 K
1 |- l; @0 m9 M# b
是不是需要在DSP.CFG中进行配置" m- r+ u8 N6 I+ b
我现在的配置为
1 m. \1 {7 w& G
1 N9 z* r6 e% C: e5 {/*# Y$ U7 E$ B% B1 ]) v- I/ B
* ======== Operating System Configuration ========* P L; y$ {+ g" q6 d
*/
D# R$ x1 |1 i" _6 E. o1 n
. c! s# T; v0 F. r/* no rts heap */( ^& v3 V1 I9 }6 C) E8 R! o
Program.heap = 0;
/ U( V: u3 p& j# P) x0 |Program.argSize = 100; /* minimum size */
6 s7 w9 l6 n% U7 r1 {Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大5 ~$ u% N6 u2 S' Y
# z1 n! j* v( U4 p
/* create a default heap */: F% P* ?; }' y, x3 j& A5 Q D$ h
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');& ]5 Q; m' j% M+ e5 u- e
var heapMemParams = new HeapMem.Params();
4 r9 T+ H5 z, r$ Y/ S4 x* |heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
, k( G7 H8 ^0 G" u1 K
+ i/ y* {6 M9 zvar Memory = xdc.useModule('xdc.runtime.Memory');1 n6 x7 |$ Q* \6 A# M$ ]8 Z
Memory.defaultHeapInstance = HeapMem.create(heapMemParams);& ?2 N$ y0 E2 J7 @
, ^3 T; K* x( L7 q( g) [
/* configure System module */
! G$ \) D- f' v) g% U, J& Qvar SysMin = xdc.useModule('xdc.runtime.SysMin');
% g8 v t: u2 Z7 aSysMin.bufSize = 0x1000;* \. Z) d5 g) N) u
SysMin.flushAtExit = false;& q. U7 ~ ]( N% b2 G; a5 P) u
! P0 f# O( s/ E( }
var System = xdc.useModule('xdc.runtime.System');
# H ?+ b7 J" ^2 p$ V8 `* mSystem.SupportProxy = SysMin;. m' `9 s2 C" ^# c9 r
1 z, n" ~- T4 o: }7 G/* configure SysBios to use the lower half of Timer 1 */
t: k' M3 R$ l F0 h, H% cvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');4 p6 C+ h6 y5 \/ U
var Clock = xdc.useModule('ti.sysbios.knl.Clock');
! ~7 M6 k$ ~) a5 w* KTimer.timerSettings[1].master = true;
. E5 C; u; ~5 p0 @/ N# sTimer.defaultHalf = Timer.Half_LOWER;4 f- }0 y/ N0 Z7 w
Clock.timerId = 1;5 m' x S/ O' B0 o$ o# }9 z( c3 A
; o9 b! n0 Y q0 K1 X; K* X4 Z$ J& L: o+ z4 ^
/*( \5 N: ~3 `7 O
* ======== Miscellaneous Configuration ========: o1 K" D @' j+ a- y
*/; A3 W( K' ?1 a5 \
& K1 E& G; |* F/* set default diags mask */
3 `& B: n s1 J" A3 ~9 [+ yvar Diags = xdc.useModule('xdc.runtime.Diags');
) Q8 S( L3 T. W: L( v; e+ Uvar Defaults = xdc.useModule('xdc.runtime.Defaults');' q0 O: @4 c7 @" o8 |
2 d/ b1 c) E& H( |6 a) [Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;- R% I% e7 \ a0 U9 I9 a
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;, k7 j( b @$ w# V4 p4 A
Defaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;. `- t9 [( r3 ]
Defaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */5 o# e- ?5 a) O) o: U0 P& a2 Q
Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
+ Z! m o" L' T* E) \8 E tDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. N6 ]2 i6 W. N
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;
Y7 J3 s+ B- C/ C* gDefaults.common$.diags_USER2 = Diags.ALWAYS_OFF;% C2 O, R2 l- B+ Q% a8 E2 U- O5 s% \
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;
$ b* A# G# Q) y) n! ]" sDefaults.common$.diags_USER4 = Diags.ALWAYS_OFF;
/ l/ D: f; ^- K/ T XDefaults.common$.diags_USER5 = Diags.ALWAYS_OFF;
' K& H( t. }5 t; ]$ B4 jDefaults.common$.diags_USER6 = Diags.ALWAYS_OFF;" O$ |1 B5 Q% \
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF;
1 _. B% k' ^5 K; m: W7 W& QDefaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;1 s! c) z- ^9 Y7 |& k3 J
V: V, ]8 N2 [; F+ P
/* override diags mask for selected modules */
/ u7 O+ N+ h, U5 C! f' q# p' {& Fxdc.useModule('xdc.runtime.Main');4 [ U; n; r" } q% {# v% f
Diags.setMaskMeta(
2 B1 j9 z6 o7 U0 R" F! B: | "xdc.runtime.Main",
6 |& ?# l7 S8 o8 X4 v. O2 l, d" n3 Y Diags.ENTRY | Diags.EXIT | Diags.INFO,
: K7 ]! F+ e3 L# q+ O; m3 R" R# { Diags.RUNTIME_ON3 |. I' y+ ?8 z
);, K+ \/ ]0 a9 z/ c0 [0 \9 W& B
( b) g2 ] o. ?7 g" M4 }var Registry = xdc.useModule('xdc.runtime.Registry');9 K7 {' T3 L" A4 G. O% n
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
+ Q6 j' M0 n! {' [3 WRegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;
6 z( C7 O! n$ M" n% j: L/ lRegistry.common$.diags_INFO = Diags.RUNTIME_OFF;5 q2 u5 o! i+ g* K2 {# |
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
- q) `6 H9 C/ h8 z0 m; M h& |* M; [- {' m. a B
/* create a logger instance */ L) ?: m9 |. O: C4 T
var LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');2 T! i" B# }. M3 o
var loggerBufP = new LoggerBuf.Params();5 l$ w1 f- ~+ I2 Y4 X2 b. v6 T
loggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */
2 F1 q' ?% m! ?loggerBufP.bufType = LoggerBuf.BufType_FIXED;
* c$ @. v5 P! J2 E# \: ]3 E+ q
/ |- k0 X! }& kvar appLogger = LoggerBuf.create(loggerBufP);
: R& G/ M& T* T2 AappLogger.instance.name = "AppLog_Core1";
; Z2 y3 z! S6 r; }( aDefaults.common$.logger = appLogger;# ~6 N; L2 s+ C
Memory.defaultHeapSize = 0x8192; 1 H. F7 g- l, B1 v4 Y3 t
Idle.idleFxns[0] = "&LEDStatus";2 }9 \+ ~" U5 d8 v0 K* X
Cache.initSize.l2Size = Cache.L2Size_32K;% w& z5 ^" l' Z4 N! U% p
6 Q* f0 y) u7 W# z2 X( a* e$ c. T |
|