What is ARMSim#?

ARMSim# is a desktop application running in a Windows environment. It allows users to simulate the execution of ARM assembly language programs on a system based on the ARM7TDMI processor.

ARMSim# includes both an assembler and a linker; when a file is loaded, the simulator automatically assembles and links the program. ARMSim# also provides features not often found in similar applications. They enable users both to debug ARM assembly programs and to monitor the state of the system while a program executes. The monitoring information includes both cache states and timing information. ARMSim# is also able to link object files - please see the documentation.

An important feature not found elsewhere is the addition of graphical views, programmed as plugins, allowing execution of interactive interfaces and supporting interrupt processing. The main view included is that of a board including an ARM processor and a set of peripherals - buttons, LED lights, keyboard, small LCD screen. Other plugins are also included - for example, the simulation of a traffic light controller. Instructions on how to design and implement others are included.

ARMSim# has been developed by members of the Department of Computer Science at the University of Victoria, in Victoria, British Columbia, Canada. It is distributed for free for academic use. For commercial use, please contact the authors.