一种具备升级功能的机器程序系统及升级方法与应用

文档序号:1921169 发布日期:2021-12-03 浏览:12次 >En<

阅读说明:本技术 一种具备升级功能的机器程序系统及升级方法与应用 (Machine program system with upgrading function, upgrading method and application ) 是由 梁凤涛 刘楷 于 2021-08-16 设计创作,主要内容包括:本发明涉及一种具备升级功能的机器程序系统,以双flash设计为基础,应用机器处理器外部flash接收、并存储待升级固件,结合位于机器处理器内部包含Base区、固件信息存储区、APP区、各BOOT区的flash设计,由固件信息存储区对待升级固件信息存储,实现两flash之间信息联系,并在机器boot程序与app程序的分开存储下,实现各存储地址对升级固件的分别写入,而且多BOOT区的设计,使得机器的工作状态不受同时所执行固件升级程序写入动作的影响;相应设计升级方法,通过彼此之间通信逻辑的设计,有效提高了机器程序的升级效率;整个设计在割草机器人的应用上,能够有效提高割草机器人的实际工作效率。(The invention relates to a machine program system with an upgrading function, which is based on double flash design, uses flash outside a machine processor to receive and store firmware to be upgraded, combines flash design which is positioned inside the machine processor and comprises a Base area, a firmware information storage area, an APP area and each BOOT area, uses the firmware information storage area to store the firmware information to be upgraded, realizes information connection between the two flashes, realizes the respective writing of each storage address to the upgraded firmware under the separate storage of the machine BOOT program and the APP program, and ensures that the working state of a machine is not influenced by the writing action of the firmware upgrading program executed at the same time due to the design of multiple BOOT areas; the corresponding design upgrading method effectively improves the upgrading efficiency of the machine program through the design of communication logic among the machines; the whole design can effectively improve the actual working efficiency of the mowing robot in the application of the mowing robot.)

一种具备升级功能的机器程序系统及升级方法与应用

技术领域

本发明涉及一种具备升级功能的机器程序系统及升级方法与应用,属于机器程序升级技术领域。

背景技术

机器在出厂后,可能会因为功能升级的需要进行固件升级。固件升级从本质上区分有直接法和间接法两种。直接法是指直接将二进制的固件文件通过程序下载口烧录到对应芯片的flash中,间接法是指通过串口、USB等片上外设将二进制固件文件写入到对应芯片的flash中。二者各有优缺点。直接法虽然升级时简单且下载速度快,但前期流程很繁琐,往往需要拆开机器。间接法虽然不需要拆开机器,但是程序设计更复杂,需要运行bootloader程序,并且下载速度稍慢(需要从片上外设下载固件,受限于外设的通信速度降低了固件下载速度),且存在升级失败的风险。但是综合而言,间接法下载速度的降低相较于直接法的拆装机器,间接法更具有可接受性,应用也更广泛。而且采用间接法时的程序设计主要采用分区设计,一个BOOT区+APP区,且BOOT区的固件无法被修改。

发明内容

本发明所要解决的技术问题是提供一种具备升级功能的机器程序系统,采用全新程序划分结构设计,结合相互间的通信,能够有效提高机器程序的升级效率。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种具备升级功能的机器程序系统,包括机器内部设置于机器处理器内部的第一flash存储模块、以及设置于机器处理器外部的第二flash存储模块;

其中,第二flash存储模块基于其所接机器上的外部接口、接收用于升级机器程序的待升级固件进行存储,待升级固件包括boot程序升级固件或app程序升级固件;

第一flash存储模块包括固件信息存储区、APP区、至少两个BOOT区,其中,固件信息存储区存储第二flash存储模块中待升级固件所适用对象、以及该待升级固件对应预设各信息类型的信息;各个BOOT区分别用于存储机器所适用不同版本的boot程序;APP区用于存储实现机器功能的app程序;机器处理器分别与第二flash存储模块、以及第一flash存储模块中固件信息存储区、APP区、各BOOT区相连通信;

基于机器处理器与固件信息存储区之间的通信,在存在待升级固件的情况下,由机器处理器根据待升级固件所适用对象、以及该待升级固件对应预设各信息类型的信息,确定APP区或BOOT区作为待升级地址,并写入待升级固件实现更新,再通过对最新boot程序、最新app程序的依次加载,完成对机器的升级。

作为本发明的一种优选技术方案:所述固件信息存储区存储升级标志,由升级标志表示第二flash存储模块中待升级固件所适用对象,升级标志包括升级标志位、升级BOOT区标志位、升级APP区标志位,其中,升级标志位用于表示第二flash存储模块中是否存在待升级固件,升级BOOT区标志位用于表示待升级固件所适用对象是否为boot程序,升级APP区标志位用于表示待升级固件所适用对象是否为app程序。

作为本发明的一种优选技术方案:所述固件信息存储区所存储待升级固件对应的预设各信息类型包括待升级固件在第二flash存储模块中的存储地址。

作为本发明的一种优选技术方案:所述固件信息存储区所存储待升级固件对应的预设各信息类型还包括待升级固件的长度、待升级固件的校验值,其中,待升级固件的校验值用于实现对待升级固件的校验操作。

作为本发明的一种优选技术方案:所述第二flash存储模块所接机器上的外部接口包括有线通信接口、无线通信接口中的任意一种或多种。

作为本发明的一种优选技术方案:所述BOOT区的个数为2个。

与上述相对应,本发明还要解决的技术问题是提供一种基于具备升级功能的机器程序系统的升级方法,基于机器升级系统的划分结构设计,设计彼此之间的通信逻辑,保证机器正常工作的同时,提高机器程序升级的工作效率。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于具备升级功能的机器程序系统的升级方法,包括如下步骤:

步骤A. 基于机器处理器与固件信息存储区之间的通信,由机器处理器根据升级标志位,判断所述第二flash存储模块中是否存在待升级固件,是则进入步骤B;否则进入步骤F;

步骤B. 由机器处理器根据升级BOOT区标志位与升级APP区标志位,判断第二flash存储模块中所存储待升级固件所适用对象是否为boot程序,是则进入步骤C;否则由机器处理器选择APP区作为待升级地址,并进入步骤D;

步骤C. 由机器处理器从非存储最新版本boot程序的各个BOOT区中,随机选择一个BOOT区作为待升级地址,并进入步骤D;

步骤D. 由机器处理器根据待升级固件在第二flash存储模块中的存储地址,从第二flash存储模块中读取待升级固件,并根据待升级固件的长度、待升级固件的校验值,针对待升级固件进行校验操作,若校验失败,则升级结束,并进入步骤F;若校验成功,则进入步骤E;

步骤E. 由机器处理器将待升级固件写入待升级地址,更新第一flash存储模块中相应区位置内的程序,然后进入步骤F;

步骤F. 由机器处理器选择存储最新版本boot程序的BOOT区,运行该BOOT区中的boot程序,并跳转至APP区执行app程序。

作为本发明的一种优选技术方案:所述第一flash存储模块中还包括Base区,基于存储在Base区、并可在所述机器处理器上运行的计算机程序,由机器处理器执行该计算机程序实现权利要求7所述的升级方法。

与上述相对应,本发明还要解决的技术问题是提供一种基于具备升级功能的机器程序系统及升级方法的应用,基于机器升级系统的划分结构设计,以及彼此间通信逻辑的设计,应用多种外部通信方式,提高机器程序升级过程的工作效率。

本发明为了解决上述技术问题采用以下技术方案:本发明设计了一种基于具备升级功能的机器程序系统及升级方法的应用,包括分别与机器通信连接的移动终端、PC终端、网络服务器,其中,移动终端、PC终端、网络服务器分别经机器上的外部接口连接机器,并与第二flash存储模块相通信,实现将待升级固件发送至第二flash存储模块进行存储。

作为本发明的一种优选技术方案:所述机器为割草机器人。

本发明所述一种具备升级功能的机器程序系统及升级方法与应用,采用以上技术方案与现有技术相比,具有以下技术效果:

(1)本发明所设计一种具备升级功能的机器程序系统,以双flash设计为基础,应用机器处理器外部flash接收、并存储待升级固件,结合位于机器处理器内部包含Base区、固件信息存储区、APP区、各BOOT区的flash设计,由固件信息存储区对待升级固件信息存储,实现两flash之间信息联系,并建立关于程序升级的侦测,而且在机器boot程序与app程序的分开存储下,实现各存储地址对升级固件的分别写入,而且多BOOT区的设计,使得机器的工作状态不受同时所执行固件升级程序写入动作的影响;相应设计了基于此系统的升级方法,通过彼此之间通信逻辑的设计,有效提高了机器程序的升级效率;整个设计结合多种外部通信方式的应用,提升了机器固件升级的灵活性,并且在割草机器人的应用上,能够有效提高割草机器人的实际工作效率。

附图说明

图1是本发明所设计具备升级功能的机器程序系统中第一flash存储模块的结构示意图;

图2是本发明所设计具备升级功能的机器程序系统的升级方法的流程示意图。

具体实施方式

下面结合说明书附图对本发明的具体实施方式作进一步详细的说明。

本发明设计了一种具备升级功能的机器程序系统及升级方法与应用,在实际应用当中,具体针对割草机器人机器进行设计应用,其中,针对割草机器人上搭载外部接口,包括有线通信接口、无线通信接口,并且在具体的通信方式上,可以应用蓝牙、WIFI、LTE、USB等方式。

配合外部接口的搭载设计,在实际应用中,针对割草机器人,可以进一步应用加入移动终端、PC终端、网络服务器,应用中,移动终端、PC终端、网络服务器分别经割草机器人上的外部接口即可实现与割草机器人的连接通信。

在针对割草机器人的机器程序系统的具体设计中,包括割草机器人内部设置于机器处理器内部的第一flash存储模块、以及设置于机器处理器外部的第二flash存储模块;应用中,第二flash存储模块基于其所接割草机器人上的外部接口、接收用于升级机器程序的待升级固件进行存储,其中待升级固件具体包括boot程序升级固件或app程序升级固件,即在实际应用中,可以针对割草机器人实现boot程序的升级、app程序升级或两者的升级。

第一flash存储模块的设计中,如图1所示,其中包括Base区、固件信息存储区、APP区、至少两个BOOT区,其中,基于存储在Base区、并可在所述机器处理器上运行的计算机程序,由机器处理器执行该计算机程序实现分别与第二flash存储模块、以及第一flash存储模块中固件信息存储区、APP区、各BOOT区相连通信;基于机器处理器与第二flash存储模块通信,由固件信息存储区存储第二flash存储模块中所存储待升级固件所适用对象、以及该待升级固件对应预设各信息类型的信息,并且在实际的具体实施中,固件信息存储区中设计存储升级标志,由升级标志表示第二flash存储模块中待升级固件所适用对象,并且升级标志设计具体包括升级标志位、升级BOOT区标志位、升级APP区标志位,其中,升级标志位用于表示第二flash存储模块中是否存在待升级固件,升级BOOT区标志位用于表示待升级固件所适用对象是否为boot程序,升级APP区标志位用于表示待升级固件所适用对象是否为app程序。

关于上述升级标志位、升级BOOT区标志位、升级APP区标志位在实际应用当中的设计,诸如定义升级标志位=1,即表示第二flash存储模块中存在待升级固件,定义升级标志位=0,即表示第二flash存储模块中不存在待升级固件;定义升级BOOT区标志位=1,即表示待升级固件所适用对象为boot程序,定义升级BOOT区标志位=0,即表示待升级固件所适用对象不是boot程序;定义升级APP区标志位=1,即表示待升级固件所适用对象为app程序,定义升级APP区标志位=0,即表示待升级固件所适用对象不是app程序。

而且对于固件信息存储区所存储待升级固件对应的预设各信息类型的信息来说,实际具体实施应用中,设计所存储待升级固件对应的预设各信息类型包括待升级固件在第二flash存储模块中的存储地址、待升级固件的长度、待升级固件的校验值,其中,待升级固件的校验值用于实现对待升级固件的校验操作。

第一flash存储模块中所设计的各个BOOT区分别用于存储机器所适用不同版本的boot程序;APP区用于存储实现机器功能的app程序。

基于机器处理器与固件信息存储区之间的通信,在存在待升级固件的情况下,由机器处理器根据待升级固件所适用对象、以及该待升级固件对应预设各信息类型的信息,确定APP区或BOOT区作为待升级地址,并写入待升级固件实现更新,再通过对最新boot程序、最新app程序的依次加载,完成对机器的升级。

并且在具体的实际实施应用中,如图1所示,设计采用2个BOOT区,诸如BOOT0区域BOOT1区,即可在实际对BOOT区执行boot程序升级固件写入的操作中,选择区别于正在应用的BOOT区,而选择另一BOOT区执行boot程序升级固件的写入,并影响正在应用的boot程序。

在实际应用中,基于移动终端、PC终端、网络服务器分别可经割草机器人上外部接口实现与割草机器人连接通信的基础上,进而具体实现与割草机器人内部、位于机器处理器外部的第二flash存储模块相通信,即在实际固件升级操作中,可由移动终端、PC终端、网络服务器的任意一处将待升级固件发送至第二flash存储模块进行存储。

基于上述,本发明进一步设计了基于具备升级功能的机器程序系统的升级方法,实际应用当中,如图2所示,具体设计执行如下步骤。

步骤A. 基于机器处理器与固件信息存储区之间的通信,由机器处理器根据升级标志位,判断所述第二flash存储模块中是否存在待升级固件,是则进入步骤B;否则进入步骤F。

步骤B. 由机器处理器根据升级BOOT区标志位与升级APP区标志位,判断第二flash存储模块中所存储待升级固件所适用对象是否为boot程序,是则进入步骤C;否则由机器处理器选择APP区作为待升级地址,并进入步骤D。

上述步骤A至步骤B关于与升级标志位、升级BOOT区标志位、升级APP区标志位的比较,即可按上述1或0的定义,结合实际发生,完成这里的判断。

步骤C. 由机器处理器从非存储最新版本boot程序的各个BOOT区中,随机选择一个BOOT区作为待升级地址,并进入步骤D。

基于实际应用中关于2个BOOT区的设计,即BOOT0区与BOOT1区,则在步骤C的执行中,即当BOOT0区中存储着最新版本的boot程序时,即表示割草机器人此时正应用着BOOT0区中的boot程序,则这里选择BOOT1区作为待升级地址;相应的,当BOOT1区中存储着最新版本的boot程序时,即表示割草机器人此时正应用着BOOT1区中的boot程序,则这里选择BOOT0区作为待升级地址。

步骤D. 由机器处理器根据待升级固件在第二flash存储模块中的存储地址,从第二flash存储模块中读取待升级固件,并根据待升级固件的长度、待升级固件的校验值,针对待升级固件进行校验操作,若校验失败,则升级结束,并进入步骤F;若校验成功,则进入步骤E。

步骤E. 由机器处理器将待升级固件写入待升级地址,更新第一flash存储模块中相应区位置内的程序,然后进入步骤F。

步骤F. 由机器处理器选择存储最新版本boot程序的BOOT区,运行该BOOT区中的boot程序,并跳转至APP区执行app程序。

对于上述所设计的升级方法来说,在实际应用中,即基于存储在所述第一flash存储模块中Base区、并可在所述机器处理器上运行的计算机程序,由机器处理器执行该计算机程序实现上述所设计的升级方法。

上述技术方案所设计一种具备升级功能的机器程序系统,以双flash设计为基础,应用机器处理器外部flash接收、并存储待升级固件,结合位于机器处理器内部包含Base区、固件信息存储区、APP区、各BOOT区的flash设计,由固件信息存储区对待升级固件信息存储,实现两flash之间信息联系,并建立关于程序升级的侦测,而且在机器boot程序与app程序的分开存储下,实现各存储地址对升级固件的分别写入,而且多BOOT区的设计,使得机器的工作状态不受同时所执行固件升级程序写入动作的影响;相应设计了基于此系统的升级方法,通过彼此之间通信逻辑的设计,有效提高了机器程序的升级效率;整个设计结合多种外部通信方式的应用,提升了机器固件升级的灵活性,并且在割草机器人的应用上,能够有效提高割草机器人的实际工作效率。

下面结合附图对本发明的实施方式作了详细说明,但是本发明并不限于上述实施方式,在本领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下做出各种变化。

10页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:基于云应用的应用磁盘热更新方法、装置、介质及设备

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!