Turn-key PCB assembly services in prototype quantities or low-volume to mid-volume production runs

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…

Continue reading

Quick start using WinARM

WinARM is a collection of GNU tools for ARM MCU family packed by Martin Thomas that works on MS Windows. WinARM is developed by inspiration on WinAVR project and it is really simple to start working with it if you had a chance to try WinAVR. WinARM doesn’t depend on cygwin or mingw-environment like GNUARM tools does. WinARM toolset is compilled to work with most ARM microcontrollers including LPC2000 series, Atmel’s ARM microcontrollers and Analog devices ARM microcontrollers as well. Basically tools should work with any microcontroller with ARM architecture.

Continue reading

Prepare GNUARM compiler toolchain for Windows

GNUARM is a toolchain for developing ARM microcontroller projects based on open source compiler GCC. GNUARM works on windows (requires Cygwin), Linux and MacOS. GNUARM doesn’t have any GUI, but you can adapt any GUI that supports commands from command line. One of good project is WinARM where you get all tools needed in one package. Thiswill be discussed later. GNUARM package consists of the GNU binutils, GCC compiler set and debugger (Insight for Windows and Linux, GDB only for MacOS). Newlib is used for the C library. With GNUARM yo uhave ability compile C and C++ programs.

Continue reading