Index of /MCU/Frameworks/ARM
Name Size
Parent Directory -
FreeRTOS/ -
at91sam7s/ -
atsam3s/ -
common/ -
efm32/ -
include/ -
lpc17xx/ -
lpc23xx/ -
lwip/ -
stm32f1/ -
stm32f4/ -
str91x/ -
toolchain/ -
utilities/ -
wiznet/ -
ARM Microcontroller Firmware Development Framework
ARM Microcontroller Firmware Development Framework
Here is a framework for developing firmware for a number of ARM (Advanced RISC Machine)
architecture single chip microcontrollers.
Each MCU directory includes startup code, linker script, newlib syscall bindings,
and OpenOCD
scripts for debugging and flashing. Each MCU directory also contains a few
sample programs for toggling I/O pins, testing C standard I/O over a serial
console, and testing timer driven interrupts. I plan to implement more sample
programs for testing A/D converters, USB, Ethernet, and other features in the
future.
The ARM7 and ARM9 devices supported here must now be considered legacy
devices. The Cortex-Mx devices are clearly the future for ARM microcontrollers.
I will therefore be concentrating future efforts on the Cortex-Mx
microcontroller families.
News
- 7 June 2011 -- Massive reorganization around MCU families.
- 8 June 2011 -- Added EFM32 family with support for EFM32-G8XX-STK.
- 11 June 2011 -- Added abstract LED driver for all targets.
- 15 June 2011 -- Added abstract GPIO pin driver for all Cortex-M3
targets.
- 13 July 2011 -- Validated all targets with GCC 4.6.1.
- 15 July 2011 -- Moved all FreeRTOS sources to common directory.
- 31 August 2011 -- Added support for WizNet W5200E01-M3 and its STM32F103C8
(the W5200 driver is still WIP).
- 19 September 2011 -- Fixed longstanding bug with errno handling in driver
modules like device.c and serial.c.
- 26 September 2011 -- Created common library directory. Moved common source
files to it and common include files to the include directory.
- 6 October 2011 -- Added compiler and linker flags to permit dead code
removal.
- 20 October 2011 -- Major overhaul of the device abstraction layer. Device
settings (such as serial port baud rate) can now be appended to the device
name.
- 3 November 2011 -- Upgraded GCC to 4.6.2.
- 4 November 2011 -- Moved the burgeoning number of utility programs to a new
subdirectory, utilities. Started adding support for the
STM32F4 Cortex-M4 family.
- 15 November 2011 -- Upgraded OpenOCD to 0.5.0. Cleaned up a lot of the
OpenOCD scripts at the same time.
- 18 November 2011 -- Performed a full regression test, all programs on all
targets with all flash programming methods. Renamed stm32 to stm32f1.
- 28 November 2011 -- Overhauled all the debug scripts. Debugging with GDB
and OpenOCD, J-Link, and St-Link now works for all targets. Added support for
user button(s) for every target board that has button(s). Finished porting to
the STM32F4 family and the STM32F4 Discovery evaluation board.
- 29 November 2011 -- Another big overhaul of make files. All of the various
flash and debug rules have been sucked out of ARM.mk and the MCU dependent make
files and separated into adapter specific make files in the include
subdirectory.
- 30 November 2011 -- Did another full regression test, concentrating on GDB
infrastructure. Corrected a number of minor annoyances. OpenOCD is robust.
J-Link and ST-Link can be finicky.
- 2 December 2011 -- Removed CMSIS directories. Replaced each CMSIS directory
with an import of the MCU's vendor supplied CMSIS and/or peripheral library
distribution.
- 7 December 2011 -- Reworked _sbrk_r in syscalls.c and all of the linker
scripts to bound the heap area.
- 9 January 2012 -- Downloaded and tested latest
Code Sourcery, devkitARM, and
Yagarto toolchains.
Neither devkitARM nor Yagarto latest releases appear to work from Cygwin
makefiles anymore.
MCU Independent Subdirectories:
| FreeRTOS |
MCU independent FreeRTOS real time operating system source files (Cortex-M3
only) |
| common |
MCU independent common library source files |
| include |
MCU independent include files |
| lwip |
MCU independent LWIP TCP/IP network protocol stack source files |
| toolchain |
ARM toolchain (arm-elf binutils, gcc, newlib, gdb) builder |
| utilities |
Utility programs and scripts |
| wiznet |
MCU independent WizNet driver library source files |
Questions or comments to Philip Munts phil@munts.net
$Id: README.html 3538 2012-01-09 15:23:58Z svn $
I am available for custom system development (hardware and software) of
products using these ARM microcontrollers.