SWARM is a software model of the basic ARM processor in C++. Rather than a simple emulator, SWARM attempts to simulate the behaviour of the ARM's datapath. It also provides a model of the memory/cache/registers hierarchy for algorithm analysis.
Release Notes: UART and LCD controllers have been added to the processor. A simple interractive debugger was also added, as well as a more realistic cache. SWARM now has sufficient functionality to run a version of uCLinux.
Release Notes: Bugs in fast multiply instructions and in the carry flag were fixed.
Release Notes: The fast multiply instructions found in the ARM 7M and above have been added. The libc implementation for test apps has been extended.
Release Notes: Support for coprocessors was improved. Bug fixes were made to mode changes.
Release Notes: An OS timer, an interrupt controller, and memory mapped devices were added to the processor model. Mode changing was cleaned up, and the test app run-time library was fixed to reflect modes better.