嵌入式固件升级设计 您所在的位置:网站首页 固件和嵌入式的关系 嵌入式固件升级设计

嵌入式固件升级设计

2024-07-18 02:10| 来源: 网络整理| 查看: 265

文章目录 IAP、DFU和OTA的区别DFU模式DFU单区和双区双区DFU设计

IAP、DFU和OTA的区别

IAP(In Application Programming),IAP是用户自己的程序在运行过程中对User Flash的部分区域进行烧写,属于软件编程方面的概念。

DFU(Device Firmware Update),就是设备固件升级的意思,升级方式包括有线传输和无线传输。

OTA(Over The Air)是实现DFU的一种方式,准确说,OTA的全称应该是OTA DFU,即通过空中无线方式实现设备固件升级。有时候大家也将OTA称为FOTA,即Firmware OTA。

DFU模式

DFU包括后台式(background)和非后台式两种模式。

后台式DFU,又称静默式DFU(Silent DFU),在升级的时候,新固件在后台悄悄下载,即新固件下载属于应用程序功能的一部分,在新固件下载过程中,应用可以正常使用,也就是说整个下载过程对用户来说是无感的,下载完成后,系统再跳到BootLoader程序,由BootLoader完成新老固件拷贝操作,至此整个升级过程结束。比如智能手机升级Android或者iOS系统都是采用后台式DFU方式,新系统下载过程中,手机可以正常使用。

非后台式DFU,在升级的时候,系统需要先从应用程序跳到BootLoader程序,由BootLoader进行新固件下载工作,下载完成后BootLoader继续完成新老固件拷贝操作,至此升级结束。早先的功能机就是采用非后台式 DFU来升级操作系统的,即用户需要先长按某些按键进入bootloader模式,然后再进行升级,整个升级过程中手机正常功能都无法使用。

DFU单区和双区

下面再讲双区(2 Slot)DFU和单区(1 Slot)DFU,双区或者单区DFU是新固件覆盖老固件的两种方式。

后台式DFU必须采用双区模式进行升级,即老系统(老固件)和新系统(新固件)各占一块Slot(存储区),假设老固件放在Slot0中,新固件放在Slot1中,升级的时候,应用程序先把新固件下载到Slot1中,只有当新固件下载完成并校验成功后,系统才会跳入BootLoader程序,然后擦除老固件所在的Slot0区,并把新固件拷贝到Slot0中,或者把Slot0和Slot1两者的image进行交换。非后台式DFU可以采用双区也可以采用单区模式,与后台式DFU相似,双区模式下新老固件各占一块Slot(老固件为Slot0,新固件为Slot1),升级时,系统先跳入BootLoader程序,然后BootLoader程序把新固件下载到Slot1中,只有新固件下载完成并校验成功后,才会去擦除老固件所在的Slot0区,并把新固件拷贝到Slot0区。

单区模式的非后台式DFU只有一个Slot0,老固件和新固件分享这一个Slot0,升级的时候,进入bootloader程序DFU模式后立马擦除老固件,然后直接把新固件下载到同一个Slot中,下载完成后校验新固件的有效性,新固件有效升级完成,否则要求重来。跟非后台式DFU双区模式相比,单区模式节省了一个Slot的Flash空间,在系统资源比较紧张的时候,单区模式是一个不错的选择。不管是双区模式还是单区模式,升级过程出现问题后,都可以进行二次升级,都不会出现“变砖”情况。不过双区模式有一个好处,如果升级过程中出现问题或者新固件有问题,它还可以选择之前的老固件老系统继续执行而不受其影响。而单区模式碰到这种情况就只能一直待在bootloader中,然后等待二次或者多次升级尝试,此时设备的正常功能已无法使用,从用户使用这个角度来说,你的确可以说此时设备已经“变砖”了。

所以说,虽然双区模式牺牲了很多存储空间,但是换来了更好的升级体验。

在这里插入图片描述

双区DFU设计

单片机需要有两段程序, 首先上电是bootloader程序,程序中要负责升级的传输和flash的读写。 然后是application程序,实现具体的项目功能。 像cortex-M3 M4这钟RAM小的单片机,通常还需要双备份。 以确保在传输结束后发现程序有问题还可以回退到正常执行版本。

bootloader上电后要校验固件合法性, 可以在app固件末尾附加CRC32,进行运算校验。 还可以在中断向量表的保留寄存器中写入标志位, 并在固件开头进行查询核对。

bootloader的中断在跳转到APP之后记得要关闭。

bootloader在上电后在flash中存储异常重启计数。 app开始执行一段时间后,将异常重启计数清零。 如果bootloader发现异常重启溢出,便停留在boot中等待升级。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有