找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 191|回复: 0

联盛德WM_W800_SECBOOT 功能简述 V1.0

[复制链接]

61

主题

5

回帖

195

积分

版主

积分
195
发表于 2024-1-30 15:33:50 | 显示全部楼层 |阅读模式
1 引言
1.1概述
本文档是对 W800 的 SECBOOT 功能及使用说明进行简单描述,供开发者和设计者理解
W800 的 SCEBOOT 功能。
1.2术语定义
术语 定义
CRC Cyclic Redundancy Check
IMAGE Binary File
MAC Medium Access Control
QFLASH Quad-SPI Flash
RAM Read-Write Memory
ROM Read-Only Memory
SECBOOT Second Boot
UART Universal asynchronous
receiver-transmitter
MB Mega Byte
KB Kilo Byte
1.3文献索引
1.《WM_W800_固件生成说明》
2.《WM_W800_QFLASH 布局说明》
5
2 SECBOOT 流程图
开始
切换CPU到更高速率
执行切换QFLASH和控制器
到QIO模式动作
检测到ESC吗? Y ESC计数+1
N 检测到3次ESC吗?
初始化UART0
是否4线模式?
Y
N 尝试切换到QIO 模式吗?
N
Y
读取OTA区IMAGE Header信息:OTAINFO 读取RUN去IMAGE Header信息:RUNINFO
N
计算OTA区和RUN去的固件校
验值:OTACHECK, RUNCHECK
RUNCHECK和OTA
CHECK 校验结果
仅RUNCHECK区域校
验通过
两个区域都校验通

仅OTACHECK校验通

1
2
3
OTA比RUN区域
固件新吗?
Y
是否压缩固
件?
解压并搬移固件到
RUN区
计算RUN区固件校
验值
签名或者CRC校 验通过?
搬移OTA区固件到
RUN区
N
更新Image参数头 清除OTA标志区
更新Image参数头
清除OTA标志区
Y
N
Y
有校验通过的
区域吗?
Y
依据RUN区域的IMAGE头参数确认IMAGE固件相关属性信息
跳转到指定地址运

N
N
是否加密固
件?
获取RUN区复位向
量地址
配置加密相关信息
到控制寄存器
获取RUN区复位向
量地址
恢复DBUS总线为不加密
(针对Flash的读写操 作)
Y
N
跳转到ROM命令模 式
备份RF data 到备
份区
清除OTA标志
6
3 SECBOOT 功能
3.1Secboot 的功能说明
3.1.1 IMAGE 启动部分
3.1.1.1 QFlash 工作模式切换
针对未知的 Flash 厂商,当从 ROM 跳转到 QFlash 时,需要切换 QFlash 的工作模式:
从 1 线切换到 4 线模式。
3.1.1.2 IMAGE 完整性校验(CRC32)
1)IMAGE 头进行 CRC 校验;
IMAGE 的内容进行 CRC 校验。
在此校验之后,对启动代码进行后续的动作。
2)IMAGE 整体的签名校验
3.1.1.3 代码解压
针对客户为了节省空间对代码进行压缩的情况,依据使用的压缩算法对代码进行解压。
需要考虑使用那些压缩解压缩算法,及压缩率。
仅支持 GZIP 算法。
3.1.1.4 代码搬移
解压后的代码是需要放置到指定的运行位置,依据 IMAGE 的 header 信息去确定。
OTA
7
3.1.1.5 代码解密设置
针对代码是加密的情况,需要配置代码的解密信息。
3.1.1.6 代码跳转运行
代码搬移后,确定代码的复位向量地址,从 secboot 跳转到用户的 image 去运行。
3.1.2 升级功能
3.1.2.1 升级方式
同 ROM 升级方式,xmodem。
3.1.3 特殊指令
同 ROM 支持的指令
*滑块验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|北京联盛德微电子有限责任公司 ( 京ICP备13053587号-2 )

GMT+8, 2024-3-29 13:42 , Processed in 0.143649 second(s), 23 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表