2.3.83. MEMMAP

Enables you to control memory mapping and to define temporary memory map entries.


MEMMAP [,qualifier...] [={address|address-range}]



One of the following:


Set the memory access type to text, which must be one of the predefined strings:


Memory can be read and written with no specific provision.


Memory can only be read.


Memory can only be written.


There is no memory in this region.


There is Flash memory in this region. It can always be read, and it can be written as required using the Flash memory procedure if this is defined. Also, see the fauto, fclk, and fme qualifiers.


There is memory in this region but the type is inferred by the image that is loaded. Memory in regions not defined by the image are assumed to be absent (equivalent to NOM).


There is memory in this region but you set the type by responding to a prompt when loading an image to it. The default is there is no memory.


The size of memory accesses, where size is one of:


1-byte accesses


2-byte accesses


4-byte accesses


8-byte accesses


When loading an image, create memory mappings automatically from the sections of the image. This is default behavior.


Creates a new memory region using the address range in address. You can specify additional information about the region with the type, access, and description qualifiers.


Deletes memory map entries:

  • if you supply a memory map entry start address in address, delete that entry

  • if you supply no arguments, delete all memory maps.


Set the name of this memory map region to text. This is used to label the entry for your own reference.


Turns off memory mapping control. The debugger assumes that all memory is RAM.


Turns on memory mapping control. This is the default.

The debugger only accesses the target memory in regions that are defined in the map, and uses the access method to determine the operations that are permitted.


Enables the Flash auto-write mode.


If fauto is used and the harware requires a clock frequency, this qualifier specifies the clock in Hz.


For Flash memory, the Flash programming method file (*.fme) that is to be used. You must enter the full path and file name, enclosed in double quotation marks.


Set the memory type to text, which must be one of the defined memory type strings for the processor architecture. For ARM processors, the only available type is Any.


Update the memory map based on the information provided in the board file. This is automatically done when:

  • the debugger starts up

  • the target program stops

  • the registers that control the map are changed by you.

This qualifier enables you to manually request a map update.


The start address of the memory region, specified as a single address. Use this form with the delete qualifier.


The memory region, specified as an address range. Use this form with the define qualifier. The start and the end of the range is included in the range.


For targets that support the TrustZone technology, prefix the start address with S: or N: to identify the Secure World or Normal World. The prefix S: is the default.


The MEMMAP command enables you to:

  • Enable and disable memory mapping.

  • Define new temporary memory regions based on type and access rights. The list of valid access rights and types is defined by the Debug Interface and target processor.

  • Delete memory map entries.

If you have assigned a BCD file to your Debug Configuration, then memoray mapping is automatically enabled when you connect to a target associated with that Debug Configuration. Any memory map settings in a BCD file assigned to the related Debug Configuration are not changed. If you disable and enable memory mapping, any changes you make to the memory map with MEMMAP are preserved. However, the changes are lost when you disconnect. When you next connect to the target, the original memory map from the assigned BCD file is restored.


The following examples show how to use MEMMAP:

memmap,define 0x10000..0x20000

Creates a memory map region from 0x10000 to 0x20000, inclusive. The length of the region is 0x10001 bytes.

memmap,define N:0x10000..0x20000

Creates a memory map region from 0x10000 to 0x20000, inclusive, in the Normal World for a target that supports the TrustZone technology. The length of the region is 0x10001 bytes.

memmap,define 0x10000..+0x10000

Creates a memory map region from 0x10000 to 0x1FFFF, inclusive. The length of the region is 0x10000 bytes.


Define a Flash memory region called Intel, using 4-byte memory accesses, and using the Flash programming method file located in C:\myflash\IntegratorAP\flash_IntegratorAP.fme.

mmap,def,access:RAM,type:Any,description:"Data space"=0x0000..0x7FFF

Define a read/write memory region called Data space in the first 32KB of memory.


Define the 64KB region starting at 0x10000 as a read-only region called Bootrom.

mmap,delete =0x10000

Delete the memory map entry that starts at 0x10000, resetting the map for that area to the Auto map.


Delete all memory map entries, resetting the map to the default Auto map over the whole address space.


Disable memory mapping.


MMAP is an alias of MEMMAP.

See also

Copyright © 2002-2011 ARM. All rights reserved.ARM DUI 0175N