avrmem
AVR ELF memory and symbol explorer.
avrmem analyzes AVR ELF32 executables and presents:
- ELF sections and their VMA/LMA mappings
- ELF symbols and their AVR memory mappings
- physical FLASH, SRAM, and EEPROM regions
- AVR-GCC linker address-space regions
- AVR SFR/register information
.datainitialization relationships- complete AVR memory maps
Documentation
API documentation (Doxygen)
Generated API documentation for sources and headers:
Run make doxygen first — docs/html/ is generated locally and not
committed, so these links resolve in a local Jekyll site (or any static
server over docs/) but not in hosted builds that skip generation.
Project overview
The project separates the following responsibilities:
+----------------+
| avrmem.c |
| CLI/presentation|
+--------+-------+
|
+---------------+---------------+
| |
v v
+-------------+ +---------------+
| avr_elf.c | | avr_device.c |
| ELF parser | | Device model |
+------+------+ +-------+-------+
| |
| v
| +---------------+
| | Probe layer |
| +-------+-------+
| |
| +--------------+--------------+
| | |
v v v
ELF image avr-gcc -dM -E avr-gcc linker map
| |
v v
avr_sfr.c linker regions
Source tree
src/
include/
bin/
docs/
The executable produced by the build is:
bin/avrmem
Command-line examples
bin/avrmem firmware.elf
bin/avrmem --memory firmware.elf
bin/avrmem --sections firmware.elf
bin/avrmem --symbols firmware.elf
bin/avrmem --symbol led_app firmware.elf
bin/avrmem --map firmware.elf
bin/avrmem --device atmega328p firmware.elf
Options must precede the ELF filename.
```
docs/README.md
This is the documentation-site copy of the top-level README. Use the same content as the root README.md, with links adjusted for the docs/ location.