兼用多模式的嵌入式设备固件无线升级方法、设备、介质与流程

文档序号:19673629发布日期:2020-01-10 22:59阅读:115来源:国知局
兼用多模式的嵌入式设备固件无线升级方法、设备、介质与流程

本发明涉及设备固件升级技术领域,尤其涉及兼用多模式的嵌入式设备固件无线升级方法、设备、介质。



背景技术:

嵌入式技术的迅速发展使得嵌入式系统在日常生活中越来越普及。可穿戴式设备、监控摄像头、环境监测仪、工业自动控制器等都属于嵌入式设备。嵌入式设备不仅广泛应用在日常场合,某些嵌入式设备还会安装在偏远的无人值守的野外。嵌入式设备出厂时,由工厂通过jtag烧录工具烧入固件,设备的烧录接口一般不会裸露在外,防止外界操作损坏cpu。出厂的固件未经过市场的检验,可能存在弊端和缺陷需要及时修复,为了让嵌入式设备可以适用于新环境需求要对固件做修改,这些情况都要对嵌入式设备的固件进行升级。传统的升级方法需要将新版本的固件重新烧录到cpu内。一般应用在日常场合的嵌入式设备可由客户寄回厂家进行烧录升级,而安装在偏远野外的嵌入式设备需要维护人员带着烧录工具到现场降设备外壳拆开进行升级,操作复杂,浪费时间和人力,成本高,效率低。



技术实现要素:

为了克服现有技术的不足,本发明的目的在于提供兼用多模式的嵌入式设备固件无线升级方法,支持蓝牙、lora、4g等多种无线通讯途径对嵌入式设备固件进行升级,嵌入式设备处于任何环境,只要其需要修复或升级,都能轻松地对其传输新版本固件,不用大费周章地寄回厂家或维护人员到现场拆机升级。

本发明提供兼用多模式的嵌入式设备固件无线升级方法,包括以下步骤:

划分存储空间,将嵌入式设备处理器中内部存储器的存储空间划分为bootloader程序存放区、application程序存放区、固件备份区、数据存储区;

获取新固件标志位,从所述数据存储区获取接收到的新固件标志位;

解析固件,若所述新固件标志位被置位,则从所述数据存储区解析固件的大小,根据固件大小将所述固件备份区的缓存固件拷贝到代码运行区,再强制跳转到application程序的起始地址开始执行;

接收外部指令,通过多模式无线模块接收外部指令,若接收到升级命令,则进入升级处理任务;

无线升级固件,将多模式无线模块接收到的固件内容写入所述固件备份区,将固件大小写入所述数据存储区,将接收到的固件标志位置位后复位嵌入式设备,让所述嵌入式设备进入bootloader程序。

进一步地,所述解析固件步骤中,若所述新固件标志位未被置位,则强制跳转到application程序的起始地址开始执行。

进一步地,所述接收外部指令步骤中,所述多模式无线模块包括蓝牙模块、lora模块、4g模块,通过所述蓝牙模块、所述lora模块或所述4g模块接收外部指令。

进一步地,所述无线升级固件步骤中,所述蓝牙模块、所述lora模块或所述4g模块先接收到固件的大小、名称,再接收到固件的内容。

进一步地,所述无线升级固件步骤中,将所述蓝牙模块、所述lora模块或所述4g模块接收到的每包数据进行crc校验,当校验通过时,将数据写入所述固件备份区。

进一步地,所述无线升级固件步骤中,当固件的内容全部传输完毕时,将传输的数据量和固件的实际大小进行比较,若相同,则将固件大小写入所述数据存储区,将接收到的固件标志位置位后复位嵌入式设备,让所述嵌入式设备进入bootloader程序,若不相同,则退出升级或重新传输固件。

进一步地,所述蓝牙模块、所述lora模块或所述4g模块与所述嵌入式设备处理器的usart接口连接通讯。

一种电子设备,包括:处理器;

存储器;以及程序,其中所述程序被存储在所述存储器中,并且被配置成由处理器执行,所述程序包括用于执行上述兼用多模式的嵌入式设备固件无线升级方法。

一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行上述兼用多模式的嵌入式设备固件无线升级方法。

相比现有技术,本发明的有益效果在于:

本发明提供兼用多模式的嵌入式设备固件无线升级方法,包括以下步骤:划分存储空间,将嵌入式设备处理器中内部存储器的存储空间划分为bootloader程序存放区、application程序存放区、固件备份区、数据存储区;获取新固件标志位,从数据存储区获取接收到的新固件标志位;解析固件,若新固件标志位被置位,则从数据存储区解析固件的大小,根据固件大小将固件备份区的缓存固件拷贝到代码运行区,再强制跳转到application程序的起始地址开始执行;接收外部指令,通过多模式无线模块接收外部指令,若接收到升级命令,则进入升级处理任务;无线升级固件,将多模式无线模块接收到的固件内容写入固件备份区,将固件大小写入数据存储区,将接收到的固件标志位置位后复位嵌入式设备,让嵌入式设备进入bootloader程序。本发明涉及电子设备与可读存储介质,用于执行兼用多模式的嵌入式设备固件无线升级方法。本发明简化了升级嵌入式设备固件需要各种线缆连接的方式,通过蓝牙、lora、4g等无线通讯手段,远程对嵌入式设备进行固件升级,由于多种途径的支持,嵌入式设备处于任何环境,只要其需要修复或升级,都能轻松地对其传输新版本固件,不用大费周章寄回厂家或维护人员到现场拆机升级,节省了大量的人力和时间资源。

上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,并可依照说明书的内容予以实施,以下以本发明的较佳实施例并配合附图详细说明如后。本发明的具体实施方式由以下实施例及其附图详细给出。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的兼用多模式的嵌入式设备固件无线升级方法流程图;

图2为本发明的嵌入式设备处理器中内部存储器的存储空间示意图;

图3为本发明的嵌入式设备处理器与无线模块连接示意图。

具体实施方式

下面,结合附图以及具体实施方式,对本发明做进一步描述,需要说明的是,在不相冲突的前提下,以下描述的各实施例之间或各技术特征之间可以任意组合形成新的实施例。

兼用多模式的嵌入式设备固件无线升级方法,如图1所示,包括以下步骤:

划分存储空间,将嵌入式设备处理器中内部存储器的存储空间划分为bootloader程序存放区、application程序存放区、固件备份区、数据存储区;本实施例中,嵌入式设备cpu采用内核架构为arm32位cortex-m4型号的stm32f427vit6c,有丰富的串口资源,内部存储器为容量高达2mb的flash存储器,可读写同步。如图2所示,对嵌入式设备cpu内部2mbflash存储器的存储空间划分区间,地址0x8000000-0x8004000为bootloader程序存放区,bootloader程序存放区占16k,地址0x8004000-0x8084000为application程序存放区,application程序存放区占512k,地址0x8084000-0x8104000为固件备份区(图2中的backup存放区),固件备份区占512k,从地址0x8104000开始为数据存储区(图2中的data存储区),数据存储区占1008k。嵌入式设备cpu内部flash存储器存储的程序包括bootloader程序和application程序。

在bootloader程序中执行以下步骤:

获取新固件标志位,从数据存储区获取接收到的新固件标志位;

解析固件,若新固件标志位被置位,则从数据存储区解析固件的大小,根据固件大小将固件备份区的缓存固件拷贝到代码运行区,再强制跳转到application程序的起始地址开始执行;若新固件标志位未被置位,则强制跳转到application程序的起始地址开始执行。

在application程序中执行以下步骤:

接收外部指令,通过多模式无线模块接收外部指令,本实施例中,多模式无线模块包括蓝牙模块、lora模块、4g模块,通过蓝牙模块、lora模块或4g模块接收外部指令,若接收到升级命令,则进入升级处理任务。如图3所示,优选的,蓝牙模块、lora模块或4g模块与嵌入式设备处理器的usart接口连接通讯。通过无线模块,无需深入蓝牙协议栈、tcp/ip协议栈,大大缩短产品开发周期。通过桥接模式,可用cpu用at指令对蓝牙模块、lora模块、4g模块进行操作。借助蓝牙模块,可以通过手机上的app对cpu上的参数进行管理控制;借助lora模块,可以通过与之配对的lora主机通过对主机广播控制从机;借助4g模块,通过与平台服务器建立tcp/ip连接,与服务器进行数据传输。

无线升级固件,在升级处理任务中,蓝牙模块、lora模块或4g模块先接收到固件的大小、名称,再接收到固件的内容,为了防止升级出错,将蓝牙模块、lora模块或4g模块接收到的每包数据进行crc校验,当校验通过时,再将数据写入固件备份区,当固件的内容全部传输完毕时,将传输的数据量和固件的实际大小进行比较,若相同,则将固件大小写入数据存储区,将接收到的固件标志位置位后复位嵌入式设备,让嵌入式设备进入bootloader程序,若不相同,则退出升级或重新传输固件。

一种电子设备,包括:处理器;

存储器;以及程序,其中程序被存储在存储器中,并且被配置成由处理器执行,程序包括用于执行上述兼用多模式的嵌入式设备固件无线升级方法。

一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行上述兼用多模式的嵌入式设备固件无线升级方法。

本发明摒弃了传统有线升级的繁琐,支持三种无线通讯模式,分别是蓝牙、lora、4g对嵌入式设备固件进行升级。蓝牙是手机最基本的配置,在短距离范围内,使用手机上的app进行控制,向嵌入式设备发送新固件就可以对其进行升级。如果嵌入式设备处于远距离,可以使用平台的服务器和设备的4g模块建立tcp/ip连接,通过平台服务器远程控制,向嵌入式设备发送新固件对其进行升级。如果设备处于远距离,而且当地的网络信号也弱,则可以通过近端的lora模块主机设备与远端的嵌入式设备的lora模块进行匹配,匹配成功后就能对远端的嵌入式设备控制和交互,发送新固件对其进行升级。

本发明提供兼用多模式的嵌入式设备固件无线升级方法,包括以下步骤:划分存储空间,将嵌入式设备处理器中内部存储器的存储空间划分为bootloader程序存放区、application程序存放区、固件备份区、数据存储区;获取新固件标志位,从数据存储区获取接收到的新固件标志位;解析固件,若新固件标志位被置位,则从数据存储区解析固件的大小,根据固件大小将固件备份区的缓存固件拷贝到代码运行区,再强制跳转到application程序的起始地址开始执行;接收外部指令,通过多模式无线模块接收外部指令,若接收到升级命令,则进入升级处理任务;无线升级固件,将多模式无线模块接收到的固件内容写入固件备份区,将固件大小写入数据存储区,将接收到的固件标志位置位后复位嵌入式设备,让嵌入式设备进入bootloader程序。本发明涉及电子设备与可读存储介质,用于执行兼用多模式的嵌入式设备固件无线升级方法。本发明简化了升级嵌入式设备固件需要各种线缆连接的方式,通过蓝牙、lora、4g等无线通讯手段,远程对嵌入式设备进行固件升级,由于多种途径的支持,嵌入式设备处于任何环境,只要其需要修复或升级,都能轻松地对其传输新版本固件,不用大费周章寄回厂家或维护人员到现场拆机升级,节省了大量的人力和时间资源。

以上,仅为本发明的较佳实施例而已,并非对本发明作任何形式上的限制;凡本行业的普通技术人员均可按说明书附图所示和以上而顺畅地实施本发明;但是,凡熟悉本专业的技术人员在不脱离本发明技术方案范围内,利用以上所揭示的技术内容而做出的些许更动、修饰与演变的等同变化,均为本发明的等效实施例;同时,凡依据本发明的实质技术对以上实施例所作的任何等同变化的更动、修饰与演变等,均仍属于本发明的技术方案的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1