Skip to main content

Memory usage visualiser for embedded applications

Project description

Overview

Nesiac is a terminal tool for visualising memory usage in embedded programs.

As an example when run on the STM32 "HID_Standalone" project for STM32H747I-DISCO board:

image

Installation

Nesiac may be installed with pip via:

python -m pip install nesiac

The nesiac executable will then be made available in your python executables directory, which should be on your path.

Usage

Nesiac requires two files to do its analysis:

  • An ELF file for section and symbol info
  • A map file (in GCC style) for memory region info

If Nesiac is given a single path as argument, that path should be a directory containing exactly one .elf and one .map file. In that case, Nesiac will use those files for analysis.

Alternatively those paths may be overriden with the -e,--elf-file and -m,--map-file arguments.

Exporting a map file from GCC may be enabled with the -Wl,-Map=<FILE> flag.

If you are using a linker that cannot generate GCC style map files, then you can provide a dummy map file with the region info in the correct format:

Memory Configuration

Name             Origin             Length             Attributes
FLASH            0x0000000008000000 0x0000000000100000 xr
RAM              0x0000000024000000 0x0000000000020000 xrw
ITCMRAM          0x0000000000000000 0x0000000000010000 xrw
*default*        0x0000000000000000 0xffffffffffffffff

Languages

Nesiac will demangle C++ and Rust symbols when it finds them.

image

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

nesiac-0.4.1.tar.gz (8.0 kB view details)

Uploaded Source

Built Distribution

nesiac-0.4.1-py3-none-any.whl (10.1 kB view details)

Uploaded Python 3

File details

Details for the file nesiac-0.4.1.tar.gz.

File metadata

  • Download URL: nesiac-0.4.1.tar.gz
  • Upload date:
  • Size: 8.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Windows/10

File hashes

Hashes for nesiac-0.4.1.tar.gz
Algorithm Hash digest
SHA256 6ddd6907b2d706dd781ffc75a5ee8ceb0808bdd2cb4364370e7c4b01cf9c334d
MD5 b1329474075ae97c2c4bfdaa68a1a30b
BLAKE2b-256 10b47193db76b8b7dde778e25d07911514338552ed50a596b425c46ec3b51856

See more details on using hashes here.

File details

Details for the file nesiac-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: nesiac-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 10.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.6.1 CPython/3.11.3 Windows/10

File hashes

Hashes for nesiac-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 2fb3cb54d4806e4b352a020d5da197dfbc236dfa8f9dbacf2aba24e809bed837
MD5 6d9d5991cec31a54c9d656d6eb7c1c7d
BLAKE2b-256 01dbbe4acff80b01fbe496521516f58b04c3e25d4d3d2d0ec8081777096029cb

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page