What are differences between WinARM and WinAVR
Everyone who is working with AVR microcontrollers knows this powerful tool – WinAVR which is completely open source and does the job comparable to commercial. It already has many routine tasks included in package that you don't need to worry about. So when shifting to ARM7 microcontrollers it is logical to try WinARM as nice alternative to WinAVR. WinARM tools are collected by Martin Thomas and put in one distribution package ready to use under Windows platform. But in fact these tools are very different despite there is same GCC compiler used. First of all WinAVR is targeted to one manufacturer(ATMEL) AVR microcontrollers. One core allows to robust many routine tasks as RAM, ROM defining. WinARM targets various manufacturers who produce microcontrollers with ARM core which may vary in type. The arm-gcc toolchain is also very different from avr-gcc because of different MCU core architecture, memory organisation. For example cede can be executed form ROM and RAM memory. These all flexibilities of course implies in complexity in tools. I think trickiest part of preparing project is initializing MCU. Defining has to be done before main program flow. In WinARM you have to do this by yourself – by writing startup…