WinARM Readme
WinARM
Version 20050819
WinARM is collection of tools to develop applications for ARM-controllers in C and C++ on MS-Windows platforms ("hosts").
Installation
Unpack the archive to C:\ (i.e. C:\WinARM\bin should exist) and extend the system search-path (%PATH%) by
C:\WinARM\bin;C:\WinARM\utils\bin; Other locations/drives have not been tested but should work too.
Components
- GNU-C/C++-Compiler (cross compiler/linker/assembler arm-elf-*) Version 4.0.1 incl. stdlib3. Compiled from the FSF-Sources
using a patch from gnuarm.org. The configuration supports ARM-Mode, Thumb-Mode and Mixed(ARM/Thumb)-Mode, little/big-endian and
floating point-emulation (all targets which are also supported by gnuarm)
- GNU-Binutils Version Version 2.15.94 (from mingw)
- newlib Version 1.13.0 (build for reentrant syscalls)
- newlib-lpc Rel.4 (reentrant functions to fill newlib-stubs for Philips LPCs)
- GNU-Utils do support the compiler/linker (make, sh etc. all Win32-native)
- ARM header-files (register-defintions) from gnuarm.org
- Example applications with full source-code, makefiles, linker-scripts and startup-code (partly tested with Philips LPC2106 and LPC2129 ARM7TDMI-S and AT91SAM7S64 ARM7TDMI)
- Programmers Notepad Editor Version 2.0.5.48
- The lpc21isp in-system-programming-software for
Philips LPC2xxx and the Analog Devices ADUC 70xx family by Martin Maurer. Included: Version 1.28 and Version 2.01 (BETA!)
- Bray Terminal
- Insight-GDB 5.2.1 (old) - Win32-Native (devkit.tk)
- GDB (command-line without Insight) Version 6.3.50 from Codesourcery
- Setup-Exe of Macraigors OCDRemote
Hints
- Programmers Notepad can be used as Editor. Some items in the tools-menue have been added for WinARM. First steps: start Programmer-Notepad (pn/pn.exe) and load a
project file from the examples.
- The makefiles supplied with the examples can be used as templates for own projects.
- Some documentation is included - see the doc/ subdirectory
- For JTAG-debugging e.g. with a "Wiggler": install ocdremote from subdirectory utils/debugger/macraigor. Start ocdremote and start insight 5.2.1 (utils/debugger/insight/bin/arm-elf-gdb).
The supplied version of Insight-gdb is rather old but the only one I've found that works without cygwin-DLLs. More information on the FreeRTOS and Macraigor Web-Pages.
- The Bray-Terminal (utils/bin/terminal.exe) can be used for I/O via RS232.
- The programming-software lpc21isp only supports Philips LPC2xxx and and Analog Devices ADUC70xx controllers which can programmed via
a serial connection ("RS232"). If you have other ARM controllers you may have to use extra hardware like ULINK (Keil) or J-LINK (Segger).
Remarks
- Man and info-pages are included just because they have been created during the build-processes.
WinARM does not include any software to read these files. See the directory /doc for some documentation
in pdf and html-format.
- Check out Dev-C++ which offers much more freatures than Programmers Notepad and can be configured to
work with WinARM.
- The makefile in the LPC2129_adc_stio-Example is the one I use as template for own projects.
- If WinAVR is installed on your system there is not need to add the WinARM/utils/-directory to the path. WinAVR provides the needed tools
in it's WinAVR/utils/bin/-directory.
TODO
- Installer
- Check out Atmel's SAM-BA (so far I do not own an Board with an AT91SAM7S)
Please send bug-reports and feedback.
Martin Thomas (eversmith@heizung-thomas.de)
Changelog
Version 5/2005 -> Version 8/2005
- arm-elf-gcc Version 4.0.1 (was 4.0.0)
- lpc21isp 1.28 and 2.01 (latest "official" and beta versions at release date)
- lpc21isp now in /WinARM/bin (was /WinARM/utils/bin) so the WinARM/utils/bin is not needed
in the path if MinGW/minSYS, Cygwin or WinAVR is installed.
- make.exe now 3.78.1 again
- sh.exe now the old zsh again
- added Codesourcery's gdb 6.3.50 (for tests with DEV-C++ as "IDE")
- latest versions of the Macraigor-Utils
- sync of examples with those from the web-page (some new LPC2129 and a AT91SAM7S64 example)
- FreeRTOS 3.2.0 in the example-directory
(latest = by the time of writing this = 19. Aug. 2005)