CN / EN
文档反馈
感谢关注汇顶文档,期待您的宝贵建议!
感谢您的反馈,祝您愉快!

升级速率比较

在固件升级速度方面,GR5xx提供普通模式和快速模式两种,快速模式的升级速度高于普通模式。两者的对比如下表所示。

表 3 普通模式与快速模式比较
模式 固件传输方式 RAM占用 耗时 说明

普通

每传输一帧数据,设备端都会回复一帧当前数据的校验值。

需要2 KB Buffer接收固件

在固件尚未发送完时如果出现一帧数据错误,可立即发现并终止升级流程。

快速

所有固件写入完毕再回复校验值。

最大带宽配置下需要8 KB Buffer接收固件

较少

升级大固件时可显著缩短升级时间,但不存在每一帧数据的校验,固件传输完成才会进行校验。

在最大带宽的情况下,快速模式的升级速度可达到普通模式的6倍左右,虽然理论上快速模式在传输过程中可能会出现错误,在最后校验过程中才会被发现,出错后时间成本比较高。但在实际测试过程中,出错的概率较低,因此在升级体积较大的固件时,可使用快速模式,提升效率。

快速模式的引入也导致了RAM占用的增加,因此在某些应用场景下,留给固件升级的RAM空间非常有限,使用快速模式可能导致系统RAM空间不足,只能使用普通模式进行升级。在这种RAM空间紧缩的场景中,固件端需要进行相关配置,以尽量减少RAM占用。配置文件路径位于SDK_Folder\components\libraries\dfu_port\dfu_port.h,配置内容如下,基于此配置,可使RAM占用最少。

#define ONCE_WRITE_DATA_LEN                  1024                                                         
#define DFU_BUFFER_SIZE                      2048                                                       

快速模式和普通模式的数据交互原理如下图所示。

图 10 普通模式
图 11 快速模式

普通模式主机端每发送一帧固件数据,设备端就需要回复一帧,而快速模式只有在数据全部发送完成之后才会进行回复,所以快速模式比普通模式速率高。

扫描关注

打开微信,使用“扫一扫”即可关注。