Re: REPOST: ARM11 Hardware Vector Floating Point (VFP) Support CE6.0 R2

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance



On Jun 3, 11:02 am, "AndrewScholan[MCTS]" <a...@xxxxxxxxxxxxx> wrote:
We use a Freescale iMX31 which includes a hardware Vector Floating
Point unit, and we're using CE 6.0 R2 on this unit.

Having had a little hunt on the various newsgroups, am I correct in
deducing that:

1. The MS ARM compiler for CE 6.0 does not actually generate inlineVFPinstructions?
2. All floating point arithmetic is handles by the CRT, which is
using
a floating point emulation library?
3. If I want to use the hardwareVFPthen I need to use the new
SYSGEN_OEM_FPCRT - catalog item "OEM Floating Point CRT (ARM only) -
and supply my own CRT which makes use of theVFPhardware?

If I'm correct in these assumptions, has anyone out there generated a
floating point CRT using the ARM11VFP?

Thanks,
Andrew.

(Sorry for reposting this question - it would appear that my posts on
Google groups were not making it to the MS newsgroup server - maybe
someone who didn't see it on Google has the answer.)

And the answer is:

The VS2005 compiler used by PB for CE6.0 emits no VFP instructions and
unless you implement FPCRT.DLL for an ARM then all CE implementations
are integer (default MS implementation of FPCRT uses software
emulation), even if you have a hardware VFP in your core (e.g. ARM11
or Cortex-A8). To actually use the VFP you must do the following:

1. Use SYSGEN_OEM_FPCRT - catalog item "OEM Floating Point CRT (ARM
only)
2. Download the VFPv2 library support from the ARM website and
incorporate it into your build:
www.arm.com/products/os/windowsce_vfp_dl.html

Instructions are included with the download from ARM.

My tests show a 4x increase in performance on floating point
operations on a release build on an ARM1136JF-S core.

Andrew.
.



Relevant Pages

  • Re: Direct3D mobile reference driver
    ... Now its clear that this driverwill run on my platform without ... I'm using ARM with VFP. ... floating point emulation library (as do all CE applications built with the ...
    (microsoft.public.windowsce.platbuilder)
  • Re: STM32 ARM toolset advice?
    ... GCC Generates quite good code for the ARM these days. ... linux libraries for the TRITON boards, is that floating point operations ... I did find that an AT91SAM7S at 16Mhz using the IAR libraries, ...
    (comp.arch.embedded)
  • Re: Another port of dcraw available
    ... No future ARM CPU will have FPA10-compatible floating point ... way possible, that style needs changing. ...
    (comp.sys.acorn.apps)
  • Re: STM32 ARM toolset advice?
    ... GCC Generates quite good code for the ARM these days. ... linux libraries for the TRITON boards, is that floating point operations ... I did find that an AT91SAM7S at 16Mhz using the IAR libraries, ...
    (comp.arch.embedded)
  • Re: STM32 ARM toolset advice?
    ... GCC Generates quite good code for the ARM these days. ... linux libraries for the TRITON boards, is that floating point operations ... are executed as kernel interrupts (Undefined Instruction generating ... I did find that an AT91SAM7S at 16Mhz using the IAR libraries, ...
    (comp.arch.embedded)