Bootloader
引言
概述
本文档对 bootloader 功能及使用说明进行简单描述,供开发者和设计者理解 bootloader 功能。
术语定义
术语 |
定义 |
CRC |
Cyclic Redundancy Check |
IMAGE |
Binary File |
MAC |
Medium Access Control |
QFLASH |
Quad-SPI Flash |
RAM |
Read-Write Memory |
ROM |
Read-Only Memory |
UART |
Universal asynchronous receiver-transmitter |
MB |
Mega Byte |
KB |
Kilo Byte |
Bootloader 流程图

Bootloader 功能
Bootloader 功能说明
IMAGE 启动部分
QFlash 工作模式切换
针对未知的 Flash 厂商,当从 ROM 跳转到 QFlash 时,需要切换 QFlash 的工作模式:从 1 线切换到 4 线模式。
IMAGE 完整性校验(CRC32)
IMAGE 头进行 CRC 校验;
IMAGE 的内容进行 CRC 校验。
在此校验之后,对启动代码进行后续的动作。
IMAGE 整体的签名校验
代码解压
针对客户为了节省空间对代码进行压缩的情况,依据使用的压缩算法对代码进行解压。 需要考虑使用那些压缩解压缩算法,及压缩率。 仅支持 XZ 算法。
代码搬移
解压后的代码是需要放置到指定的运行位置,依据 IMAGE 的 header 信息去确定。
代码解密设置
针对代码是加密的情况,需要配置代码的解密信息。
代码跳转运行
代码搬移后,确定代码的复位向量地址,从 bootloader 跳转到用户的 image 去运行。
升级功能
升级方式
同 ROM 升级方式,xmodem。
特殊就指令
同 ROM 支持的指令。