Map Browser

The Map Browser provides you an easy way to see and browse the selected project’s memory footprint. You can choose between three different view contents to see better details of the memory utilization. The Memory Regions, Output sections and Symbols. The Map Browser can be opened either directly by double-click to memory map file (*.map, *.ymap, *.gmap) or by R-click to memory map file  Open With  Symbol Browser.

ide map browser main
Fig. 1. Map Browser
Number Element Description

1

View content selector

You can select this kind of views:

  • Memory Regions

  • Output Sections

  • Symbols

2

Filter area

You can limit the amount of displayed data by applying a filter. See the Data Filtering for further details.

3

Clear filtering.

Clear the filter string.

4

Refresh content area

Reload the Map Bowser data.

5

View content area

The area where the content of the selected kind of view appears.

6

Applied filter

The latest applied filter string.

Memory Regions

The Memory Regions shows the memory regions, as you defined within the linker script by the command MEMORY. It provides this information:

  • The memory name.

  • The memory origin address.

  • The size of used memory in [bytes] units.

  • The length of the memory in [bytes] units.

  • The list of memory attributes.

ide map browser memory regions
Fig. 2. Memory Regions

Output Sections

The Output Sections shows the list of all output sections and provides this information for each of them:

  • The output section name.

  • The Virtual memory address (VMA) of the output section.

  • The Load memory address (LMA) of the output section.

  • The output section size in [bytes] units.

  • The Virtual memory region name.

  • The Load memory region name.

  • The list of the output section attributes.

ide map browser output sections
Fig. 3. Output Sections

Symbols

The Symbols shows the list of all symbols and provides this information for each of them:

  • The symbol name.

  • The symbol value.

  • The symbol size.

  • The memory region name to which the symbol belongs.

  • The output section name.

  • The input section name.

  • The symbol scope (local/global).

  • The object name from which the symbol comes.

ide map browser symbols
Fig. 4. Symbols

Find the symbol declaration

You can find the symbol declaration by the R-click to symbol name  Open Declaration.

ide map browser symbols find declaration
Fig. 5. Find Declaration

If the Symbol Browser find the declaration, then opens it in the source editor.

ide map browser symbols find declaration source

Data filtering

Full-text filter

The full-text filter applies to all string-based fields in the current view, such as a region, a section, or a symbol name. The filter accepts wildcards for single/multiple characters (? and *) as well as numerous keywords separated by the ` ` (space). Space acts as a logical AND operation here. The filter input is case insensitive.

For example, to display only rows containing in any of its string-based columns both '.code' value and any value beginning with 'flash', type:

.code flash*.

Advanced filter

The advanced filter is an extension of the full-text-based filter. It enables you to perform more precise data filtering than the simple search can provide. Compared to a full-text filter, the advanced filter allows specifying filter criteria over arbitrary columns in a view.

You start the advanced filtering by entering the double colon :: prefix following the column name, equal operator =, and the value to search. You may specify several such column_name = value terms in the filter, provided each column_name is unique.

The column_name applicable to the filter must match one of the column names displayed in the table header for the currently selected Map Browser view.

The value form depends on the column type. String-based columns accept wildcards for single/multiple characters (? and *). Numeric-based columns enables you to specify either a single value (e.g. 0x8000) or a value range in the format of start - end (e.g. 0x80000000 - 0x8000FFFF). You may use both decimal (without prefix) and hex numbers (with 0x prefix).

The column names and values are both case-insensitive. You may see typical usage in the following examples.

Filter all items containing the main string in the Name column:

::Name = *main*

To filter all items containing the main string in the Name column and also int_flash string in the Region column, you can use this expression:

::Name = *main* region = int_flash

To filter all elements with the Size equal 0x8, you can use the following filter:

::size = 0x8

If you are interested in size range, then you can use a filter like the following one:

::size = 0x8 - 0x18

Supported map file formats

The variety of data types available in the view differ depending on the toolchain in use and the type of the MAP file produced. The overview of the current status summarizes the following table.

Tab. 1. Map file support in the Map Browser view
Architecture GNU Text-based MAP YAML-based MAP

ARM GNU

+

-

ARM LLVM

-

+

MCS

+

-

PowerPC GNU

+

-

TriCore LLVM

-

+

TriCore GNU

+

-

SCR

-

-