WinARM is a collection of GNU tools for the ARM MCU family packed by Martin Thomas that works on MS Windows. WinARM is developed by inspiration on the WinAVR project, and it is effortless 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 do. WinARM toolset is compiled to work with most ARM microcontrollers, including the LPC2000 series, Atmel’s ARM microcontrollers, and Analog devices ARM microcontrollers. Basically, tools should work with any microcontroller with ARM architecture.
Latest WinARM includes in Version 20060606:
- GNU-C/C++-Compiler Version 4.1.1 incl. stdlib3. The configuration supports ARM-Mode, Thumb-Mode and Mixed(ARM/Thumb)-Mode, little/big-endian and floating point-emulation;
- newlib Version 1.14.0;
- newlib-lpc Rel.5a (reentrant syscalls for newlib and Philips LPCs)
- GNU-Utils to support the compiler/linker;
- ARM header-files (register-defintions);
- Example applications with full source-code, makefiles, linker-scripts and startup-code for Philips LPC2000, ADuC7k and Atmel AT91SAM7 ARM7TDMI controllers.
- Programmers Notepad Editor Version 126.96.36.199
- The lpc21isp in-system-programming-software for Philips LPC2xxx and the Analog Devices ADUC 70xx family by Martin Maurer. Included Versions: 1.31 and 1.37(BETA)
- Bray Terminal by Vlado Brajer
- Insight-GDB 6.5.50-20060517 – Win32-Native from devkitpro.org
- gdb (command-line without Insight) GNU gdb 188.8.131.5260226-cvs from;
- Setup-Exe of Macraigor’s OCDRemote (Wigger-gdb interface, Ver. 2.16);
- Open On-Chip Debugger (OpenOCD, SVN Version 65) made by Dominic Rath ;
- H-JTAG (Ver. 0.2.1 beta 20060402) made by “twentyone” ;
- J-Link gdb-Server V1.0 from the gnuarm yahoo-group;
There is still installer needs to be done.
Few ease steps to start working with WINARM:
- Download WinARM from here or more compressed 7zip package here.
- Extract package contents in system root (for instance on C:WinARM);
- Set Environmental variables. Goto “Control Panel” -> “System” -> “Advanced Tab” -> “Environmental variables”
Edit “System Variables” -> Pathadd the following lines in the end of the Path variable.
(if you extracted WinARM to c:); c:WinARMbin; c:WinARMutilsbin;
You are set up. Now lets compile an example project:
Open Programmers Notepad (pn.exe) from C:WinARMpn folder:
Then in Programmes Notepad (PN) open example project from c:WinARMexampleslpc2106_blink_switch folder called ledswitch.pnproj:
And now you can compile(make) the program by selecting one of following commands:
- Make All – compile the program to hex file;
- Make Clean – remove all the object files and binaries of previous compilation;
- Make Program – run the lpc21isp to download the compiled hex file to your LPC ARM( makefile has to be set up for this operation).
Now you know ho the things are working. It is time to dig more deeper.