2
votes

I have started working on STM32F4 Discovery board and have compiled and run a few basic programs using the latest Yagarto toolchain containing the GCC 4.6.2. Lately though on several forums I have read that many toolchains including the latest Yagarto have problems when it comes to using the on-board hardware FPU. I have also read that the latest CodeSourcery toolchain does support hardware floating point, but not in the lite edition!!

While digging deep into the topic I found this toolchain which is specifically for ARM Cortex M/R controllers, and claims to have no problems when it comes to hardware FPU.

https://launchpad.net/gcc-arm-embedded

I wanted to know from users' experience, if the hardware FPU problems really exist in Yagarto? I am interested in using Yagarto because I also work on ARM7 and yagarto supports that as well. So instead of having different toolchains for different architectures, it is convineant to have one for both ARM7 and Cortex M/R.

If the FPU problems do really exist, then could anyone suggest me a good tried and tested toolchain for both ARM7 and Cortex M/R?

P.S. : I use CodeSourcery's latest GNU Linux toolchain for the BeagleBoard (Cortex A-8), havn't yet faced any issues with it.

1
github.com/dwelch67/stm32f4d I just use codesourcery or any generic gcc/binutils for arm, and do the floating point in asm routines. As was with thumb2 for the -m3, I would expect correct/complete support for the -m0 and -m4 to take a while. The above approach works today and will still work tomorrow. - old_timer
Thanks for the link. I like the idea of writing the floating point stuff in assembly. I guess i am better off using the GNU ARM toolchain at the launchpad site for the Cortex M/R and something like WINARM for ARM7. But when it comes to sensitive FP operations, i'll stick to your idea of writing them in asm. Thanks - MAYURESH MANJREKAR

1 Answers

-1
votes

I just wrote an article about using ARM's free GCC toolchain (GNU Tools for ARM Embedded Processors) and STLINK on Linux/Ubuntu to write/program/debug code for an STM32F4 Discovery Board (the F4 is a Cortex M4) - that may help you, the compiler does have hardware floating point support and I'm using it in my examples...

http://www.wolinlabs.com/blog/linux.stm32.discovery.gcc.html