一种嵌入式设备固件在线更新方法及系统技术方案

技术编号:42100771 阅读:21 留言:0更新日期:2024-07-25 00:26
本发明专利技术涉及一种嵌入式设备固件在线更新方法及系统,属于嵌入式开发技术领域,解决了现有固件更新复杂、效率低且易出错的问题。包括:S1、将存储区划分为BootLoader分区、App控制分区和多个App程序分区;S2、BootLoader分区的引导程序读取App控制分区的App控制信息进行跳转,执行固件程序;S3、在固件程序的更新主线程中初始化状态机,注册回调函数后进入监听操作;当接收到命令包或数据包后执行回调函数,将数据包写入至非当前App程序分区中,变更状态机的状态;在监听操作中发送响应消息,当完成固件更新时,更新App控制信息后重启嵌入式设备,返回至步骤S2。实现了高效可靠的固件更新。

【技术实现步骤摘要】

本专利技术涉及嵌入式开发,尤其涉及一种嵌入式设备固件在线更新方法及系统


技术介绍

1、随着嵌入式设备在各行业的广泛应用和普及,其中的固件版本更新迭代越来越频繁。一般嵌入式设备均带有flash存储空间,或者通过接口外接flash芯片。固件就存储在flash存储空间中。在固件的开发、调试、功能增强、性能提升、漏洞修复等过程中,对固件进行版本更新与版本回退成为一个常见且频繁的业务需求。

2、常用的固件更新方法主要有两种:通过jtag(joint testaction group,联合测试工作组)等专用调试口下载和通过iap(in application programming,应用编程)更新固件。其中前者主要用于调试阶段,需要专用的高速接口,不能进行远程升级,更新固件时需要拆卸设备,连接jtag接口才能进行,操作繁琐;后者一般由两部分组成:引导程序bootloader和用户固件,引导程序通常不变,通过jtag等专用接口预先下载进入嵌入式设备,之后就可以通过各种外接通信手段:串口、usb、无线网络、以太网、蓝牙等,将用户固件远程下载至嵌入式设备。...

【技术保护点】

1.一种嵌入式设备固件在线更新方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的嵌入式设备固件在线更新方法,其特征在于,所述App控制信息包括:启动控制信息和各App程序分区的程序控制信息,其中,所述启动控制信息记录当前可启动的App程序分区的索引;所述各App程序分区的程序控制信息均包括:固件入口地址、固件版本和固件长度。

3.根据权利要求2所述的嵌入式设备固件在线更新方法,其特征在于,所述根据所述App控制信息跳转至对应的App程序分区执行其中的固件程序,包括:

4.根据权利要求1或2所述的嵌入式设备固件在线更新方法,其特征在于,所述命令包...

【技术特征摘要】

1.一种嵌入式设备固件在线更新方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的嵌入式设备固件在线更新方法,其特征在于,所述app控制信息包括:启动控制信息和各app程序分区的程序控制信息,其中,所述启动控制信息记录当前可启动的app程序分区的索引;所述各app程序分区的程序控制信息均包括:固件入口地址、固件版本和固件长度。

3.根据权利要求2所述的嵌入式设备固件在线更新方法,其特征在于,所述根据所述app控制信息跳转至对应的app程序分区执行其中的固件程序,包括:

4.根据权利要求1或2所述的嵌入式设备固件在线更新方法,其特征在于,所述命令包的类型包括:升级命令包和回退命令包;所述状态机的状态变更根据命令包的类型、数据包总长度和数据包总校验结果而触发。

5.根据权利要求4所述的嵌入式设备固件在线更新方法,其特征在于,在所述回调函数中设置发送标记是对接收到的命令包或数据包进行crc校验,crc校验通过后放入缓存中,并设置发送标记为待发送;在所述监听操作中根据所述发送标记发送响应消息,是从缓存中识别所述发送标记是否为待发送,如果为待发送,则将缓存中的命令包或数据包作为响应消息回传至上位机进行全量字节校验,并设置发送标记为已发送。

【专利技术属性】
技术研发人员:马杰勇陈俊华季雷王梦石焦辰辉
申请(专利权)人:北京中航智科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1