2011-10-17 08:06 AM
Hi all,
I noticed that arm-elf-gcc, arm-elf-binutils and arm-elf-newlib are included as pre-built packages with Cygwinports. ftp://sourceware.org/pub/cygwinports/portslist.txt Can this tool-chain be used for STM32 development targeting bare metal hardware? I have a simple ''LED blinker'' project that was once working with an old-ish version of the YAGARTO tool-chain which was also arm-elf-* (later versions are now arm-none-eabi-*). This project *does* build with the Cygwin tools using the original Makefile, but unfortunately no blinky LED. Various ''fumbling in the dark'' style attempts to fix up the build process have unsurprising not passed further than a heap of compile errors. The original project included its own custom linker script. Is that still required? Is a new linker script required to match the new tool-chain, or indeed should this feature be provided by the tool-chain itself? I suppose fundamentally what I need to know is am I on a hiding to nothing trying to target the Cygwinports arm-gcc tools at STM32 bare metal hardware? If not, then is there an example working project I could look at for inspiration?... it would be so much easier to start with a working solution and move backwards to where I need to be. Btw, yes I am aware of CodeSourcery but I would prefer to either use pre-built Cygwin packages if possible, with the ultimate aim of building a complete Cygwin-based tool-chain from source. Thanks! #cygwin-arm-elf-gcc-linker-script2011-10-17 12:12 PM
Have used WinARM and Yagarto with some success. You need a linker script to get the correct placement of code/data in memory, and you need the correct start up code and vector placement for it to run properly.
I don't think the way you host the tools will make a significant difference to the ARM code output. You'd need to look at the ELF/HEX outputs to generally confirm you have viable code.