12.2.1. Sample models

The ARMulator is supplied with the following models:

Basic models

The following source files are provided for the basic models:

tracer.c

The tracer module can trace instruction execution and events from within the ARMulator.

profiler.c

The profiler module provides the profiling functionality. This includes basic instruction sampling and more advanced use, such as profiling cache misses.

winglass.c

This module is used only with the ARM Debugger for Windows.

pagetab.c

This module sets up the MMU/cache and associated pagetables inside the ARMulator on reset.

Memory models

The following source files are provided for memory models:

armflat.c

This memory model implements a flat model of 4GB RAM.

armfast.c

This memory model implements a flat model of 2MB RAM.

armmap.c

This is another memory model that allows you to have an armsd.map file specifying memory layout. (This slows down emulation speed, so when no armsd.map file is present, ARMulator uses the faster armflat.c model in preference.)

bytelane.c

This is an example of a memory model veneer. A veneer is a model that sits between the processor and the real memory model. This model converts the accesses from the core into byte-lane (also known as byte-strobe) accesses.

trickbox.c

This is a memory model of a system that shows how accessing various addresses causes events, such as aborts and interrupts, to occur.

tracer.c

As well as being a basic model, the tracer module provides a veneer memory model that can log memory accesses.

armpie.c

This is a model of the ARM PIE card. (UNIX only.)

example.c

This memory model is the example described in A sample memory model.

Coprocessor models

dummymmu.c

This is a cut-down model of coprocessor 15 (the system coprocessor).

validate.c

This is a small coprocessor that is used to validate the behavior of the ARM emulator. It can cause interrupts and busy-waits, for example. It is supplied as an example.

Operating system models

angel.c

This is an implementation of the Software Interrupts (SWIs) and environment required for running programs linked with the Angel semihosted C library on ARMulator.

noos.c

This is a dummy operating system model, where no SWIs are intercepted.

Copyright © 1997, 1998 ARM Limited. All rights reserved.ARM DUI 0040D
Non-Confidential