Skip to content

Memory Map

Travis Goodspeed edited this page Sep 8, 2016 · 2 revisions

The following is a map of the STM32F405's memory layout, as illuminated by Ange Albertini. For reverse engineering, the handiest regions to know are that Flash resides at 0x08000000, SRAM at 0x20000000, TCRAM at 0x10000000, and IO at 0x40000000.

STM32F405 Memory Map

Our patches are linked into unused memory by the applet-$version.ld linking script. For example, when compiling for version 2.032, we place our globals at 0x1000B000 in the Tightly-Coupled RAM, while locating our firmware at 0x0809D000, where the Chinese font was previously found.

We maintain a separate linking script for each target version.

MEMORY
{
  FLASH (rx)      : ORIGIN = 0x0809D000, LENGTH = 200K /* Chinese font region. */
  RAM (xrw)       : ORIGIN = 0x1000b000, LENGTH = 20K /* Bytes after 1000a868 are free.*/
}
Clone this wiki locally