Locating The Foreground Monitor Using The Mmu Address Translation Tables - HP MC68040 User Manual

Emulator, graphical user interface
Table of Contents

Advertisement

Chapter 8: Configuring the Emulator
Providing MMU Address Translation for the Foreground Monitor
Locating the Foreground Monitor using the MMU
Address Translation Tables
Locate the foreground monitor at a specific page address and add the proper
address translation for this page in your supervisor address translation tables. The
minimum page size is 4 Kbytes so the monitor only requires a single translation.
The page that contains the foreground monitor must always be resident, translated
1:1 (logical address = physical address), and never be write-protected.
The most direct way to do this is to modify the address translation tables in your
source code, rebuild your executable file, and download the executable into RAM,
or reprogram the executable into ROM. For systems that use an operating system
to manage dynamic translation tables in RAM, the page allocated to the monitor
must not be allowed to be swapped out by the operating system. This may require
that the page selected for the monitor reside in unused space within the operating
system (assuming the operating system is translated 1:1). The easiest way to create
unused space is to globally define an 8-Kbyte array of data that is never referenced
by your software. After rebuilding your operating system software, refer to the
linker symbol map file to determine the address range of this array. Use the lowest
address that resides on a 4-Kbyte boundary within this range as the starting address
for the monitor.
As a last resort, if your target system software cannot be rebuilt, you can use the
emulator to modify your translation tables directly.
The emulator provides a command to display individual address translations in
detail, including address, value, and mnemonic information about each descriptor
from the translation tables. You may be able to provide the proper address
translation for the monitor by simply modifying a single descriptor (long word) to
convert an invalid page into a resident page.
If the translation tables are located in ROM, you will need to copy them into
emulation memory before you attempt to modify them. This is done by storing all
or part of your ROM to a file, and then mapping emulation memory over the ROM
address range and reloading the file.
351

Advertisement

Table of Contents
loading

This manual is also suitable for:

Ec040Lc04064783a64783b

Table of Contents