本发明专利技术提供一种提高固件升级成功率的固件加载和固件升级机制,涉及硬件升级技术领域。该提高固件升级成功率的固件加载和固件升级机制,包括应用程序远程升级陈防错机制及流程和BOOTLOADER加载应用程序防错机制及处理流程,应用程序远程升级陈防错机制及流程包括AT命令检查、升级包检查、MD5校验检查、写入升级标志。本发明专利技术的固件升级机制主要应用于嵌入式产品应用程序的升级和BOOTOLADER加载应用程序,为预防不同产品的硬件版本错误升级导致产品死机,在编译应用程序时,会将硬件芯片版本代号(不同芯片配置不同的芯片代号)和软件版本(不同产品分配不同的软件版本段)写入程序代码某个位置,并在制作升级程序时在程序尾加MD5校验,预防升级接收完成的包校验错误。预防升级接收完成的包校验错误。预防升级接收完成的包校验错误。
【技术实现步骤摘要】
一种提高固件升级成功率的固件加载和固件升级机制
[0001]本专利技术涉及硬件升级
,具体为一种提高固件升级成功率的固件加载和固件升级机制。
技术介绍
[0002]固件就是写入EPROM(可擦写可编程只读存储器)或EEPROM(电可擦可编程只读存储器)中的程序。固件是指设备内部保存的设备“驱动程序”,通过固件,操作系统才能按照标准的设备驱动实现特定机器的运行动作,比如光驱、刻录机等都有内部固件。固件是担任着一个系统最基础最底层工作的软件。而在硬件设备中,固件就是硬件设备的灵魂,因为一些硬件设备除了固件以外没有其它软件组成,因此固件也就决定着硬件设备的功能及性能。
[0003]在现有技术中固件升级时不同产品的硬件版本错误升级会导致产品死机,造成数据丢失造成较大的损失。
技术实现思路
[0004](一)解决的技术问题
[0005]针对现有技术的不足,本专利技术提供了一种提高固件升级成功率的固件加载和固件升级机制,解决了不同产品的硬件版本错误升级会导致产品死机的问题。
[0006](二)技术方案
[0007]为实现以上目的,本专利技术通过以下技术方案予以实现:一种提高固件升级成功率的固件加载和固件升级机制,包括应用程序远程升级陈防错机制及流程和BOOTLOADER加载应用程序防错机制及处理流程,所述应用程序远程升级陈防错机制及流程包括AT命令检查、升级包检查、MD5校验检查、写入升级标志、文件大小、文件CRC16和升级头CRC16,所述BOOTLOADER加载应用程序防错机制及处理流程包括产品上电或复位、读取升级标志以及验证片内LASH应用程序与片外FLASH对比是否一致。
[0008]优选的,所述应用程序远程升级陈防错机制及流程步骤如下:
[0009]步骤一.在升级开始时进行AT命令检查,当收到升级的AT命令则选择是否升级第一帧,若为收到AT命令则继续执行AT命令检查;
[0010]步骤二.选择是否升级第一帧
[0011]a.当不选择升级第一帧时进行升级包检查,升级包没有问题则请求下一级升级包,若升级包出现问题则对MD5进行检查,若没有问题则请求当前升级包并重新从步骤一执行,若MD5进行检查出现问题则终止升级重新从步骤一执行;
[0012]b.当选择升级第一帧时,检查芯片版本和软件版本是否匹配,若匹配则保存升级参数,请求下一级升级包,若不匹配则重新从步骤一执行;
[0013]步骤三.当收到下一级升级包后进行MD5校验检查,检查通过则写入升级标志、文件大小、文件CRC16和升级头CRC16并进行复位硬件处理,若检查未通过则重新从步骤一执
行,当未收到下一级升级包则重新从步骤一执行。
[0014]优选的,升级包检查包括对包大小、块号、当前包CRC和全包MD5的检查,保存的升级参数包括文件大小、升级类型、升级包大小和MD5校验数据。
[0015]优选的,所述BOOTLOADER加载应用程序防错机制及处理流程步骤如下:
[0016]步骤一.产品上电或复位,读取升级标志
[0017]a.升级标志无效跳转到应用程序;
[0018]b.升级标志有效,检验片外FLAS的CRC16是否合格,若不合格则跳转到应用程序,若检验合格则拷贝片外FLASH保存应用程序到片内FLASH,检测片外FLASH应用程序与片内FLASH是否一致;
[0019]步骤三.若片外FLASH应用程序与片内FLASH一致则跳转到一用程序,若不一致则对产品复位处理并重新从步骤一执行。
[0020](三)有益效果
[0021]本专利技术提供了一种提高固件升级成功率的固件加载和固件升级机制。具备以下有益效果:
[0022]固件升级机制主要应用于嵌入式产品应用程序的升级和BOOTOLADER加载应用程序,为预防不同产品的硬件版本错误升级导致产品死机,在编译应用程序时,会将硬件芯片版本代号(不同芯片配置不同的芯片代号)和软件版本(不同产品分配不同的软件版本段)写入程序代码某个位置,并在制作升级程序时在程序尾加MD5校验,预防升级接收完成的包校验错误。
附图说明
[0023]图1为本专利技术一种提高固件升级成功率的固件加载和固件升级机制流程图。
具体实施方式
[0024]下面将结合本专利技术实施例中的附图,对本专利技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本专利技术保护的范围。
[0025]实施例一:
[0026]如图1所示,本专利技术实施例提供一种提高固件升级成功率的固件加载和固件升级机制,包括应用程序远程升级陈防错机制及流程和BOOTLOADER加载应用程序防错机制及处理流程,所述应用程序远程升级陈防错机制及流程包括AT命令检查、升级包检查、MD5校验检查、写入升级标志、文件大小、文件CRC16和升级头CRC16,所述BOOTLOADER加载应用程序防错机制及处理流程包括产品上电或复位、读取升级标志以及验证片内LASH应用程序与片外FLASH对比是否一致。
[0027]应用程序远程升级陈防错机制及流程步骤如下:
[0028]步骤一.在升级开始时进行AT命令检查,当收到升级的AT命令则选择是否升级第一帧,若为收到AT命令则继续执行AT命令检查;
[0029]步骤二.选择是否升级第一帧
[0030]a.当不选择升级第一帧时进行升级包检查,升级包没有问题则请求下一级升级包,若升级包出现问题则对MD5进行检查,若没有问题则请求当前升级包并重新从步骤一执行,若MD5进行检查出现问题则终止升级重新从步骤一执行;
[0031]b.当选择升级第一帧时,检查芯片版本和软件版本是否匹配,若匹配则保存升级参数,请求下一级升级包,若不匹配则重新从步骤一执行;
[0032]步骤三.当收到下一级升级包后进行MD5校验检查,检查通过则写入升级标志、文件大小、文件CRC16和升级头CRC16并进行复位硬件处理,若检查未通过则重新从步骤一执行,当未收到下一级升级包则重新从步骤一执行。
[0033]升级包检查包括对包大小、块号、当前包CRC和全包MD5的检查,保存的升级参数包括文件大小、升级类型、升级包大小和MD5校验数据。
[0034]所述BOOTLOADER加载应用程序防错机制及处理流程步骤如下:
[0035]步骤一.产品上电或复位,读取升级标志
[0036]a.升级标志无效跳转到应用程序;
[0037]b.升级标志有效,检验片外FLAS的CRC16是否合格,若不合格则跳转到应用程序,若检验合格则拷贝片外FLASH保存应用程序到片内FLASH,检测片外FLASH应用程序与片内FLASH是否一致;
[0038]步骤三.若片外FLASH应用程序与片内FLASH一致则跳转到一用程序,若不一致则对产品本文档来自技高网...
【技术保护点】
【技术特征摘要】
1.一种提高固件升级成功率的固件加载和固件升级机制,其特征在于:包括应用程序远程升级陈防错机制及流程和BOOTLOADER加载应用程序防错机制及处理流程,所述应用程序远程升级陈防错机制及流程包括AT命令检查、升级包检查、MD5校验检查、写入升级标志、文件大小、文件CRC16和升级头CRC16,所述BOOTLOADER加载应用程序防错机制及处理流程包括产品上电或复位、读取升级标志以及验证片内LASH应用程序与片外FLASH对比是否一致。2.根据权利要求1所述的一种提高固件升级成功率的固件加载和固件升级机制,其特征在于:所述应用程序远程升级陈防错机制及流程步骤如下:步骤一.在升级开始时进行AT命令检查,当收到升级的AT命令则选择是否升级第一帧,若为收到AT命令则继续执行AT命令检查;步骤二.选择是否升级第一帧a.当不选择升级第一帧时进行升级包检查,升级包没有问题则请求下一级升级包,若升级包出现问题则对MD5进行检查,若没有问题则请求当前升级包并重新从步骤一执行,若MD5进行检查出现问题则终止升级重新从步骤一执行;b.当选择升级第一帧时,检查芯片版本和软件版本是否匹配,若匹配则保存升级参数,...
【专利技术属性】
技术研发人员:刘春华,向程,李晓光,刘诗海,
申请(专利权)人:深圳弘星智联科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。