GD32 单片机的内存结构非常重要,主要是因为它表示了硬件上内存的逻辑划分和外设的地址分配。以下是 GD32F103 单片机的内存映射表:
内存区域 | 基地址 | 大小 | 内存类型 | 备注
----------------|----------------|----------|------------|-----------------------
Main Flash memory| 0x0800 0000 | 64 KB | NOR Flash | 程序代码存储区域
SRAM | 0x2000 0000 | 20 KB | SRAM | 程序 runtime 数据存储区域
System memory | 0x1FFFF 0000 | 2 KB | ROM | 存储唯一硬件 ID 和校验码
Peripheral | 0x4000 0000- | | Memory | 所有的外设 Fast I/O 寄存器
| 0x5FFF FFFF | | |
Backup registers| 0x4000 6C00- | 4 bytes | Memory | SRAM 保存的非易失性信息
| 0x4000 6FFF | | |
其中,SRAM 是用于存储程序 runtime 数据的存储区域,
而主 flash memory 则是用于存储程序代码的存储区域。
System memory 是嵌入式芯片内部用于存储唯一硬件 ID 和校验码的 ROM 存储区域。所有的外设 Fast I/O 寄存器都映射在了一段连续的内存地址上,并按照地址的不同划分为不同的区域,通过读写这些地址就能够操控外设的操作。
Backup registers 则是用于保存一些特殊数据的非易失性存储区,例如系统时钟的校准值等。
需要注意的是,不同型号的 32位 单片机内存映射表可能会有所不同,具体的信息需要参考所用的芯片型号手册。