Amap

Amap #

amap : a tool to analyze .MAP files produced by 32/64-bit Visual Studio compiler and report the amount of memory being used by data and code. This app can also read and analyze MAP files produced by the GCC, Xbox360, Wii, PS3 (gcc and SNC), and PS4 compilers.

Features #

  • Grouping by module, by file, by section, and by memory configuration (GCC)
  • Searching substrings
  • Command line arguments
  • Can be used as a command line tool, although it is still a GUI app
  • Sorting by columns
  • Summary
  • Drag & Drop
  • Works on Windows, Linux, and MacOS X
  • Works with Wine on Linux and MacOS X
  • Freeware

Command line arguments #

Usage:

amap [options] [map-file-name]

Options:

-f - export data into files
-g - output result via GUI

In case of the -f option amap will create five new files (with extensions .all, .module, .file, .subsection, and .section) next to a map file.

Known problems #

  • Map files created with WinAVR toolchain are malformed. Their sub-sections are not sorted by address. Because of this amap will show negative code size in some cases.

How to #

  • Extract executable on Linux: tar -xzf archive_name

Screenshots #

Installation #

Application doesn’t require installation.

Download #

Changes #

  • Updated MacOS 11.1 app. It is a zip archive now. Unpack it into /Applications.
  • Uploaded 0.32 build for Ubuntu 21.04.
  • Uploaded 0.32 build for MacOS 11.1.
  • Uploaded 0.30 build for MacOS 10.13.
  • Version 0.30
    • Improved parsing of Cortex-M map-files.
  • Version 0.29
    • Improved parsing of GCC map-files.
    • Added new tab “Memory Configuration”. It is disabled by default. It can be enabled in “Options –> Show Memory Configuration” menu for GCC-based map-files.
  • Version 0.28
    • Improved export of data into files.
  • Version 0.27
    • Improved parsing of GCC 5.2 ARM map-files.
  • Version 0.26
    • Improved parsing of ARM-Cortex-M map-files. Cortex-M compiler often produces malformed map file.
  • Version 0.25
    • Fixed parsing of ARM-Cortex-M map-files.
    • Fixed parsing of module/file name.
  • Version 0.24
    • Fixed exporting of parsed data.
  • Version 0.23
    • Improved parsing of GCC map-files.
  • Version 0.22
    • Improved parsing of Microchip v1.40 map-files.
  • Version 0.21
    • Improved look and feel with UHD displays.
    • Improved parsing of GCC map-files.
    • Changed algorithm of detecting of SubSections in GCC map files. It is still not perfect but works better with ARM-related map files.
  • Version 0.20
    • Improved parsing of GCC map-files.
    • Added parsing of Microchip map-files.
  • Version 0.19
    • Improved parsing of CodeWarrior map-files.
  • Version 0.18
    • Current Windows 32-bit version is still compiled with MSVC. I still have problems compiling with 32-bit MINGW. 64-bit version for Windows is compiled with MINGW and capable of demangling of GCC symbol names.
    • Linux version is available.
  • Version 0.17
    • Current version is compiled with MSVC. GCC-based version is not available yet.
    • Improved parsing of GCC for ARM map files.
    • Parse section and sub-section names.
    • Added “By Section” tab.
  • Version 0.16
    • Improved parsing of GCC for ARM map files.
  • Version 0.15
    • Improved parsing of GCC map files. There is still a known issue with parsing of map files compiled for ARM. In this case all symbols are marked as belonging to .text sub-section.