11.16 MMU/MPU view

Use the MMU/MPU view to perform address translations or for an overview of the translation tables and virtual memory map.

This view enables you to:

  • Perform simple virtual to physical address translation.

  • Perform simple physical to virtual address translation.

  • Inspect and traverse MMU and MPU tables.

  • See an overview of the virtual memory map.

  • Freeze the view to prevent it from being updated by a running target.

Note:

MMU awareness is only supported on ARMv7-A and ARMv8-A architectures. MPU awareness is only supported on ARMv8-M architecture.

MMU/MPU Translation tab

For targets that support address translations, the Translation tab enables you to translate:

  • Virtual address to physical address.

  • Physical address to one or more virtual addresses.

Figure 11-22 MMU/MPU Translation tab view
MMU/MPU Translation tab view


To perform an address translation in the Translation tab:

  1. Enter a physical or virtual address in the address field. You can also enter an expression that evaluates to an address.

  2. Select Physical to Virtual or Virtual to Physical depending on the translation type.

  3. Click Translate to perform the address translation.

The Result shows the output address after the translation. The view also shows the details of the translation regime and parameters. You can customize these parameters using the MMU Settings dialog.

MMU/MPU Tables tab

The Tables tab displays the content of tables used by the MMU or MPU. For targets with multiple translation regimes, you can change the translation regime using the MMU Settings dialog.

Figure 11-23 MMU/MPU Tables tab view
MMU/MPU Tables tab view


For targets which support address translation, the Tables tab contains the following columns:

Input Address

Specifies the input address to the translation table. This is usually the virtual address, but it can also be an intermediate physical address.

Type

Specifies the type of entry in the translation table, for example Page Table, Section, Super Section, Small Page, or Large Page.

Output Address

Specifies the output address from the translation table. This is usually the physical address, but it can also be an intermediate physical address.

Attributes

Specifies the attributes for the memory region.

The Tables tab also provides additional information for each row of the translation table:

Descriptor Address

Specifies the address of the selected translation table location.

Descriptor Value

Specifies the content of the selected translation table location.

Input Address Range

Specifies the range of input addresses that are mapped by the selected translation table location.

Next-level Table Address

Specifies the Descriptor Address for the next level of lookup in the translation table.

For targets which do not support address translation, the Tables tab contains the following columns:

Base
Specifies the base address of the region.

Note:

For ARMv8-M targets which have an Implementation Defined Attribution Unit (IDAU) region, you must define the IDAU region of your target before the Tables tab can display region information. See set idau-region command documentation for details.
Limit
Specifies the last address of the region.
Type
Specifies the region type.
Attributes

Specifies the memory attributes of the IDAU region.

MMU/MPU Memory Map tab view

The Memory Map tab provides a view of the virtual memory layout by combining the MMU or MPU table entries that map contiguous regions of memory with a common memory type, for example, cacheability, shareability, and access attributes.

Figure 11-24 MMU/MPU Memory Map tab view
MMU/MPU Memory Map tab view


Toolbar and context menu options

The following options are available from the toolbar or context menu:

Linked: context

Links this view to the selected connection in the Debug Control view. This is the default. Alternatively you can link the view to a different connection. If the connection you want is not shown in the drop-down list, you might have to select it first in the Debug Control view.

MMU settings

This enables you to change the translation regime and input parameters. It contains:

Figure 11-25 MMU settings
MMU settings


The MMU Settings dialog contains:

Translation Regimes and Stages

Use this to select the translation you want the debugger to use. The field lists the translation regimes and stages that the debugger is aware of. See the ARM Architecture Reference Manual for more information on the translation regimes.

Select <Follow System> to let the debugger follow the current system state. If the current system state has more than one translation stage, then DS-5 Debugger combines the translation stages when using <Follow System>.

Use current translation settings
Use this to instruct the debugger to use the current translation settings for the selected translation.
Use custom translation settings
Use this to instruct the debugger to override the current translation settings.
Parameters
Use this to specify override values for custom settings. For example, you can change the address in TTBR0 or TTBR1.
View Menu

The following View Menu options are available:

New MMU/MPU View

Displays a new instance of the MMU/MPU view.

Update View When Hidden

Enables the updating of the view when it is hidden behind other views. By default, this view does not update when hidden.

Refresh

Refreshes the view.

Freeze Data

Toggles the freezing of data in the current view. This also disables or enables the Refresh option.

Coalesce Invalid Entries

Condenses the contiguous rows of faulty or invalid input addresses into a single row in the Tables tab.

Non-ConfidentialPDF file icon PDF versionARM 100953_0527_00_en
Copyright © 2010–2017 ARM Limited or its affiliates. All rights reserved.