12.14.1. The memory map

This example deals with example.c, a device in which memory is split into two 128KB pages:

Addresses wrap around above 256KB for the first 1GB of memory, as if bits 29:18 of the address bus were ignored. Bits 31:30 are statically decoded:

Table 12.1. Address bus

bit 31bit 30Description
00Memory access.
01Bits 18:16 of the address select the physical page mapped in to the top page.
10I/O port. (see Figure 12.2)
11Generates an abort.

This produces the memory map shown in Figure 12.1.

Figure 12.1. Memory map

The I/O area, that is accessible only in privileged modes, is split as follows:

Figure 12.2. I/O area split

These function as follows:

Schedule_IRQ

An IRQ is raised after n cycles, where n is the bottom 8 bits of the address.

Schedule_FIQ

An FIQ is raised after n cycles, where n is the bottom 8 bits of the address.

Out channel

The character represented by the bottom 8 bits of the data is sent to the screen for a write, and is ignored on read.

In channel

A byte is read from the terminal for a read, or ignored for a write.

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