The ARMulator is a program that emulates the instruction sets and architecture of various ARM processor cores. It provides an environment for the development of ARM-targeted software on the supported workstation and PC host systems.
The ARMulator is instruction-accurate. That is, it models the instruction set and counts cycles accurately. As a result, it is well suited to software development and benchmarking of ARM-targeted software. It is not a cycle-accurate model because it does not model the precise timing characteristics of processors.
The ARMulator also supports a full ANSI C library to enable complete C programs to run on the emulated system. Refer to Chapter 4 The C and C++ Libraries for more information on C library support. See also Chapter 13 Angel in the ARM Software Development Toolkit User Guide for information on the C library semihosting SWIs supported by ARMulator.
The ARMulator is transparently connected to the ARM debuggers to provide a hardware-independent ARM software development environment. Communication takes place across the Remote Debug Interface (RDI). You can supply models written in C that interface to the external interface of the ARMulator.
This chapter provides details of the functions you can use to write your own models. For additional information about the ARMulator, refer to the ARM Software Development Toolkit User Guide.