STM32F407 Memory Map Explorer
This is a personal tool. I build my own firmware for the boards I design, and bare-metal STM32 work means living inside a reference manual where the memory map, the register tables and the clock-enable bits are hundreds of pages apart. So I built the version I wanted: the whole 4 GB Cortex-M4 address space as one expandable tree, with the registers, the bus each peripheral sits on, and the calculators I kept re-doing on paper.
It lives on this site because firmware-aware layout is a large part of what I actually sell. Knowing which pin can be an ADC input, which peripherals share a bus, and what the chip reads at boot is what decides where parts go on the board — and the difference between a schematic that routes cleanly and one that fights you.
- Address calculatorpaste any hex address, get region, bus, peripheral and register
- Bit-band calculatorsSRAM and peripheral aliases, both directions
- Baud-rate calculatorUSART BRR mantissa / fraction, with the error percentage
- Register viewsoffsets and one-line meanings, per peripheral
- Clock pathsHSI → PLL → SYSCLK → bus, and the RCC enable bit each block needs
- Search, bookmarks, minimapfor finding your way back to the block you were on
Targets the STM32F407VGT6 as fitted to the Discovery board; addresses and register offsets are taken from ST’s RM0090 reference manual. Blocks tagged DISC are the ones actually wired on that board. The colour coding is functional — each bus family keeps its own hue — so it does not follow the rest of the site’s palette, only its background.
Best on a wide screen — it is a memory map, and memory maps are wide.