stm32 固件逆向
# 系统架构
stm32 基于 ARM 公司设计的 Cortex-M 系列芯片
# stm32 的存储器映射
作为一块 32 位芯片,stm32 把其拥有的 4GB 地址空间里分配为几大,
详细分配大概是这样
- 0x00000000 ~ 0x1FFFFFFF (代码块) 512MB
- 0x20000000 ~ 0x3FFFFFFF (SRAM 内存) 512MB
- 0x40000000 ~ 0x5FFFFFFF (片上外设) 512MB
- 0x60000000 ~ 0xFFFFFFFF (拓展 RAM 和一些其他的东西)
对于 M3 系列芯片代码块里作为可编程部分 (给 flash 的) 一般只有 0x08000000~0x0807FFFF (512KB)
对于 M4 系列的则为 0x08000000~0x081FFFFF(2MB)
其他 M 系列也大同小异