|
|
沙发

楼主 |
发表于 2015-9-4 10:29:21
|
只看该作者
补充说明
, E0 @ R8 @* R3 m& }我大约calloc 每次共计大小为5K*16bits,怀疑哪里需要配置一下. R3 ?) }- f1 U+ |8 E7 y3 u
(不过疑惑的是,为何单独DSP仿真就没有问题呢?)3 q" v3 k. R3 h1 }
+ Q7 a5 [6 T$ I3 u6 ~ s是不是需要在DSP.CFG中进行配置8 n) t' S! ~( z. k
我现在的配置为- C) ]/ S8 z" N; @
5 {7 _" t. a$ E6 p3 b/ e
/*
2 `; f" X& ~, W8 x2 j# Z9 {0 u * ======== Operating System Configuration ========
, `; M4 \( t, W) C2 |/ r: } */
. X' p* u* e0 k/ {
6 S2 a; W$ u8 V, ]/* no rts heap */% J. v* |8 e& H6 \9 q: U: L
Program.heap = 0;
( X6 O' k( y( `, f |5 eProgram.argSize = 100; /* minimum size */! e7 X$ r6 B1 z! U& q; e
Program.stack = 0xF000; //此处修改后的值。不太懂,所以改大
" |# R5 A+ Y% R9 N6 \; N" ?" r# X. }4 N2 [7 p0 j3 T( p" D% ^ P
/* create a default heap */+ k! \; l8 M) \+ m9 Z! U
var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');! J3 Y3 e2 B0 B9 u8 j& M
var heapMemParams = new HeapMem.Params();( p/ l0 E7 c# N% o2 O! d$ c
heapMemParams.size = 0xFf00; //此处修改后的值。不太懂,所以改大
1 ^ [4 ~1 u& v! n) m" |" f9 d2 }- i$ `; a
var Memory = xdc.useModule('xdc.runtime.Memory');
0 e, @: k7 U3 p1 W2 a. O# s* HMemory.defaultHeapInstance = HeapMem.create(heapMemParams);
8 b! Y* m, t6 i2 S* ^5 {
& Y* `8 s1 t) H7 ]' v# C" q7 z6 A9 @/* configure System module */
# V1 d7 t4 X6 M( Hvar SysMin = xdc.useModule('xdc.runtime.SysMin');
' E! L$ X2 d, w9 S9 x$ rSysMin.bufSize = 0x1000;
. r X/ i; p0 l4 B: c; MSysMin.flushAtExit = false;
8 t1 W9 S( \$ v% K4 j5 C
0 J: v, c( }/ K' J0 [% ~! d: Wvar System = xdc.useModule('xdc.runtime.System');& n$ c# [- ~! x5 v$ O3 x
System.SupportProxy = SysMin;
# N( r3 [ I/ e3 ^4 B
# M$ p, [) T6 |9 i5 n3 r/* configure SysBios to use the lower half of Timer 1 */
. M0 G3 r: ^5 Uvar Timer = xdc.useModule('ti.sysbios.timers.timer64.Timer');/ {5 C( D+ T" f) e+ T& c, G
var Clock = xdc.useModule('ti.sysbios.knl.Clock');5 W7 A. r2 q( s: N% N5 b
Timer.timerSettings[1].master = true;) K. k. A( w7 y, u0 d) r9 W
Timer.defaultHalf = Timer.Half_LOWER;& h+ ]4 B- l; E2 C' A6 X7 u+ ?, I
Clock.timerId = 1;
D6 @0 |+ F& t& K5 z
7 F# [5 L2 K0 Q1 M" @( ~, h8 X( v! ?: B
/*2 w# Q" }% G" x! Z z& _ O
* ======== Miscellaneous Configuration ========
! @; A" S" U4 [; j3 }( |* E, K9 z */; z. j, |) Q* `( b% `7 B f
1 A" `3 S0 _1 _
/* set default diags mask */
. H0 Y8 [' ^/ d- Y, |% B1 ivar Diags = xdc.useModule('xdc.runtime.Diags');4 {! `8 ]) y( i; U7 `! ?4 U) X
var Defaults = xdc.useModule('xdc.runtime.Defaults');1 _% I, q8 X0 o
) @0 o) l/ K0 O( R1 Y( w# L
Defaults.common$.diags_ENTRY = Diags.ALWAYS_OFF;7 c& \3 _+ u# V& ^. k1 g! C* j
Defaults.common$.diags_EXIT = Diags.ALWAYS_OFF;
6 V8 i: f! [* Z! p3 Z/ Q2 _. GDefaults.common$.diags_LIFECYCLE = Diags.ALWAYS_OFF;
A7 Q! ]- Q5 d* j4 QDefaults.common$.diags_INTERNAL = Diags.ALWAYS_OFF; /* needed for asserts */
7 B% a' D$ n9 W" Y6 \Defaults.common$.diags_ASSERT = Diags.ALWAYS_OFF; /* development only */
3 c6 ?; r2 v; d4 ?; U. qDefaults.common$.diags_STATUS = Diags.RUNTIME_ON;. |* o5 D C. S2 ] y# s
Defaults.common$.diags_USER1 = Diags.ALWAYS_OFF;! W1 \' R5 D$ K
Defaults.common$.diags_USER2 = Diags.ALWAYS_OFF;. W5 b8 ^8 g: G' u, p. G, W& e
Defaults.common$.diags_USER3 = Diags.ALWAYS_OFF;$ S3 I4 c# v' s
Defaults.common$.diags_USER4 = Diags.ALWAYS_OFF;8 a) v& V( A' c, \) P) d( ~
Defaults.common$.diags_USER5 = Diags.ALWAYS_OFF;4 w( m. ~: L5 L
Defaults.common$.diags_USER6 = Diags.ALWAYS_OFF;& m0 h6 M# T; k- z, t5 _) |
Defaults.common$.diags_INFO = Diags.ALWAYS_OFF; u+ |& R3 l/ L. C* Y) Q, [+ A
Defaults.common$.diags_ANALYSIS = Diags.ALWAYS_OFF;
3 N, d/ N0 N2 s
5 r! W \; a7 a5 |) d9 f/* override diags mask for selected modules */+ U/ B3 \+ D' e3 @1 C
xdc.useModule('xdc.runtime.Main');$ K% {; B' o0 O* D, H
Diags.setMaskMeta(' w% N x2 u0 M* R. D$ ~2 ]) ^
"xdc.runtime.Main",# m. y6 [) a! B# ]6 ]4 _
Diags.ENTRY | Diags.EXIT | Diags.INFO," u2 u0 I* p' y7 K7 o
Diags.RUNTIME_ON8 ]4 I1 @1 E- M/ x* e- q
);
3 e" i% F: x5 Z9 g3 B$ ]5 V5 s, x& D$ m# y* i) V8 t5 T4 f) Q
var Registry = xdc.useModule('xdc.runtime.Registry');) l/ q9 e8 A0 V% Q4 b
Registry.common$.diags_ENTRY = Diags.RUNTIME_OFF;
# O- Y3 v5 z$ U6 ARegistry.common$.diags_EXIT = Diags.RUNTIME_OFF;4 x5 a9 I \( m* y- d+ \
Registry.common$.diags_INFO = Diags.RUNTIME_OFF;! B* I* B* m; Q" i& U4 I% f+ a6 ?, w- n
Registry.common$.diags_USER1 = Diags.RUNTIME_OFF;
6 N5 ?. o: ]4 E0 g3 n* \8 f" E/ X/ R7 E5 R q- O1 k
/* create a logger instance */
$ m% o g( h" W! q/ E# s! w4 vvar LoggerBuf = xdc.useModule('xdc.runtime.LoggerBuf');. s2 e! _" t4 E! {0 h9 c5 B. b
var loggerBufP = new LoggerBuf.Params();
5 L1 V' S4 G) r6 I/ g2 [# ZloggerBufP.numEntries = 128; /* 128 entries = 4 KB of memory */7 C8 m6 d/ W$ h: @
loggerBufP.bufType = LoggerBuf.BufType_FIXED;
n, f# T; [; I2 p( j3 I7 Z7 c7 j8 ^7 i9 m7 o5 ~ x* ?, N
var appLogger = LoggerBuf.create(loggerBufP);
: W+ x6 B" P: j2 a b' _appLogger.instance.name = "AppLog_Core1";
& J" g; `) V. A' KDefaults.common$.logger = appLogger;5 Z0 y. B8 ]5 b) D! |+ \) E
Memory.defaultHeapSize = 0x8192; * r/ t. O; B- D
Idle.idleFxns[0] = "&LEDStatus";
* w9 B1 w9 g# t$ [4 g# K; [- a1 T" D# ~Cache.initSize.l2Size = Cache.L2Size_32K;6 Y2 J0 A- h$ X) m) U N
) K; ^/ w4 x. L) u |
|