docs: 添加 Bootloader Flash 偏移配置说明
This commit is contained in:
@@ -11,6 +11,7 @@
|
||||
- [快速开始](#快速开始)
|
||||
- [工程结构](#工程结构)
|
||||
- [板级配置](#板级配置)
|
||||
- [Flash 偏移配置(配合 Bootloader)](#flash-偏移配置配合-bootloader)
|
||||
- [工具链准备](#工具链准备)
|
||||
- [使用说明](#使用说明)
|
||||
- [时钟配置说明](#时钟配置说明)
|
||||
@@ -142,6 +143,32 @@
|
||||
|
||||
---
|
||||
|
||||
## Flash 偏移配置(配合 Bootloader)
|
||||
|
||||
如果固件需要通过 Bootloader 启动(Bootloader 占用 Flash 前部区域),需修改两处:
|
||||
|
||||
**1. 链接脚本** — `LD/gd32e23x_flash.ld` 第 15 行:
|
||||
```c
|
||||
// 默认:从 Flash 起始运行
|
||||
FLASH (rx) : ORIGIN = 0x08000000, LENGTH = 16K
|
||||
|
||||
// 配合 Bootloader:前 8KB 留给 Bootloader,App 从 0x08002000 开始
|
||||
FLASH (rx) : ORIGIN = 0x08002000, LENGTH = 8K
|
||||
```
|
||||
|
||||
**2. 向量表偏移** — `Src/system_gd32e23x.c` 第 44 行:
|
||||
```c
|
||||
// 默认
|
||||
#define VECT_TAB_OFFSET (uint32_t)0x00
|
||||
|
||||
// 配合 Bootloader(值 = Flash 偏移量,不含 0x0800 前缀)
|
||||
#define VECT_TAB_OFFSET (uint32_t)0x2000
|
||||
```
|
||||
|
||||
> ⚠️ 两个偏移值必须对应修改:`LD` 中的 `ORIGIN` 减去 `0x08000000` 应等于 `VECT_TAB_OFFSET`。
|
||||
|
||||
---
|
||||
|
||||
## 工具链准备
|
||||
|
||||
### 1. ARM GCC 工具链
|
||||
|
||||
Reference in New Issue
Block a user