[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
More MVME167 BSP
- Date: Wed, 24 Feb 1999 14:38:57 -0500
- From: Charles.Gauthier at iit.nrc.ca (Charles Gauthier)
- Subject: More MVME167 BSP
Eric Norum wrote:
> Charles Gauthier wrote:
>
> > I would recommend the following approach when building MVME167 applications:
> >
> > - If the application does anything more sophisticated that simple floating-point
> > arithmetic and I/O, use the FPSP and link with the default variants of libc, libm and
> > libgcc. The MVME167 port is set up to install the FPSP by default, and to link with
> > the default variants of the libraries (for all samples and tests in the rtems
> > distribution).
> >
> > - If the application does not do any floating-point operations or floating point I/O,
> > comment out the line that installs the FPSP in bsp_start(). Link against either the
> > default variants of the libraries or the msoft-float variants. It probably does not
> > matter which variants are used given that no floating-point operations are done.
> >
> > - If the application does only simple floating point operations or does floating point
> > I/O, and if the overhead of the FPSP is not acceptable, remove it and link the
> > application with the msoft-float variants of the libraries.
>
> I can't think of any reason why you would ever want to do the latter. The msoft-float libraries and support routines are much larger than the FPSP routines so you would have even *more* overhead in this case.
>
Wouldn't that depend on what actually gets linked in? rtmonuse is one test that does floating-point output at the end, but that runs fine without the FPSP. Linking rtmonuse with the default libraries and the FPSP
yields the following executable image size:
% m68k-rtems-size o-mvme167/rtmonuse.exe
text data bss dec hex filename
132640 2388 74764 209792 33380 o-mvme167/rtmonuse.exe
In the case where the FPSP is not linked in and the msoft-float libraries are used, the executable image size is:
% m68k-rtems-size o-mvme167/rtmonuse.exe
text data bss dec hex filename
99456 2344 74728 176528 2b190 o-mvme167/rtmonuse.exe
The FPSP causes a larger image in this case. But in general, I believe you are right. Furthermore, I have not looked at all at the executions times, so the FPSP may be the right choice most of the time.
BTW, initially, I had missed the FPSP and was using the default variants of the libraries; I was getting unimplemented floating point instruction exceptions in some tests. Joel pointed out to me that you has
ported the FPSP, and that I should use it. I explored the use of the msoft-float libraries after seeing that you used the m68000/msoft-float ones for the gen68360_040 port. I was then somewhat puzzled that you had
combined the FPSP and the msoft-float libaries, and that you had not installed the FPSP by default in your port, or did I miss something?
Charles