CN111831311A - 应用程序升级方法、电子设备及存储介质 - Google Patents
应用程序升级方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN111831311A CN111831311A CN201910314677.5A CN201910314677A CN111831311A CN 111831311 A CN111831311 A CN 111831311A CN 201910314677 A CN201910314677 A CN 201910314677A CN 111831311 A CN111831311 A CN 111831311A
- Authority
- CN
- China
- Prior art keywords
- application program
- data
- information
- storage unit
- application
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
一种应用程序升级方法,包括以下步骤:电池管理系统接收储能逆变器发送的应用程序数据;确认所述应用程序数据是否有匹配的应用程序信息;当所述应用程序信息匹配时,存储所述应用程序数据至第一存储单元,并跳转至bootloader模式;及在所述bootloader模式下读取所述应用程序数据,且将所述应用程序数据写入至第二存储单元。本申请还提供一种电子设备及存储介质。上述应用程序升级方法、电子设备及存储介质,能够识别出电池管理系统与储能逆变器之间的通信过程中所引入的异常,实现可靠及稳定的应用程序升级。
Description
技术领域
本申请涉及计算机软件技术领域,尤其涉及一种应用程序升级方法、电子设备及存储介质。
背景技术
在线升级功能是在应用编程(In Application Programming,IAP)技术的一种实现方式。IAP技术即程序运行时的程序存储器可由程序自身进行擦除和烧写。被烧写的这一段程序是我们的主功能实现程序,即应用程序;执行烧写功能的这一段程序就是bootloader程序。在储能电池管理系统(Battery Management System,BMS)中,bootloader程序的主要作用是实现BMS应用程序代码的更新,即在线更新功能。通过bootloader程序更新所述应用程序是当前BMS系统中广泛使用的一种升级方式。
现有技术中,所述电池管理系统与储能逆变器之间通过CAN总线通信连接,所述电池管理系统接收所述储能逆变器发送的应用程序数据,并通过bootloader程序更新所述应用程序数据对应的应用程序。然而,所述电池管理系统与储能逆变器之间的通信存在不可靠性,容易出现不可预期的不良后果,如更新失败。
发明内容
有鉴于此,有必要提供一种应用程序升级方法、电子设备及存储介质,可以提供可靠的应用程序升级。
本申请一实施方式提供一种应用程序升级方法,该方法包括:接收储能逆变器发送的应用程序数据;确认所述应用程序数据是否有匹配的应用程序信息;当所述应用程序信息匹配时,存储所述应用程序数据至第一存储单元,并跳转至bootloader模式;及在所述bootloader模式下读取所述应用程序数据,且将所述应用程序数据写入至第二存储单元。
根据本申请的一些实施方式,所述接收储能逆变器发送的应用程序数据的步骤包括:比对所述应用程序数据的文件容量是否小于或等于所述第一存储单元中的最大容量;当所述应用程序数据的文件容量小于或等于所述最大容量时,发送确认信息至所述储能逆变器,否则发送超限信息至所述储能逆变器。
根据本申请的一些实施方式,所述确认所述应用程序数据是否有匹配的应用程序信息的步骤包括:读取所述应用程序数据中的第一信息,其中,所述第一信息包括项目版本、厂家名称和硬件版本号;读取所述电池管理系统中保存的第二信息,所述第二信息包括与所述应用程序数据相对应的项目版本、厂家名称和硬件版本号;比对所述第一信息与所述第二信息是否一致;当所述第一信息与所述第二信息一致时,发送匹配成功信息至所述储能逆变器,否则发送匹配不成功信息至所述储能逆变器。
根据本申请的一些实施方式,所述存储所述应用程序数据至第一存储单元,并跳转至bootloader模式的步骤包括:接收所述储能逆变器发送的擦除所述第一存储单元中数据的命令;执行所述命令以擦除所述第一存储单元中的数据;及发送所述第一存储单元中数据擦除成功命令至所述储能逆变器。
根据本申请的一些实施方式,所述步骤还包括:接收步骤:接收所述储能逆变器发送的所述应用程序数据中的数据块和数据命令,所述数据命令包括数据块校验值和重复帧标志位;解析步骤:根据所述重复帧标志位解析所述数据块是否为重复帧;若所述数据块为重复帧,发送重复帧接收成功消息至所述储能逆变器,并通知所述储能逆变器重新发送所述数据块至电池管理系统;若所述数据块不是重复帧,校验所述数据块的准确性。
根据本申请的一些实施方式,所述校验所述数据块的准确性包括:校验步骤:校验所述数据块,并得到第一校验值;比对步骤:比对所述第一校验值与所述数据块校验值是否一致;其中,当所述第一校验值与所述数据块校验值一致时,确认所述数据块准确,且发送成功信息至所述储能逆变器以及将所述数据块写入所述第一存储单元,并重复执行所述接收步骤至所述比对步骤,直至所述应用程序数据中的所有数据块都校验完毕;当所述第一校验值与所述数据块校验值不一致时,确认所述数据块不准确,且发送失败信息至所述储能逆变器,并返回执行所述接收步骤。
根据本申请的一些实施方式,所述步骤还包括:接收所述储能逆变器发送的完成命令,其中所述完成命令包括第二校验值;读取所述第一存储单元中写入的所述应用程序数据;校验所述应用程序数据,得到第三校验值;比对所述第二校验值与所述第三校验值是否一致;当所述第二校验值与所述第三校验值一致时,确认写入至所述第一存储单元中的所述应用程序数据准确,并跳转至所述bootloader模式。
根据本申请的一些实施方式,所述第一存储单元包括外部flash存储单元,所述第二存储单元包括内部flash存储单元。
本申请一实施方式提供一种电子设备,所述电子设备包括:电池;;处理器;以及存储器,所述存储器中存储有多个程序模块,所述多个程序模块由所述处理器加载并执行如上所述的应用程序升级方法。
本申请一实施方式提供一种存储介质,其上存储有至少一条计算机指令,所述指令由处理器加载执行如上所述的应用程序升级方法。
与现有技术相比,上述应用程序升级方法、电子设备及存储介质。通过在所述第一存储单元中暂存所述储能逆变器发送的应用程序数据,并且确认接收的应用程序数据准确无误后,再将所述应用程序数据写入至第二存储单元中。能够识别出电池管理系统与储能逆变器之间的通信过程中所引入的异常,满足了bootloader程序的可靠性设计思想,能够规避传输过程中的丢包、错包和BIN文件错误带来的不良后果,从而实现可靠及稳定的应用程序升级。
附图说明
图1是根据本申请一实施方式的电子设备的结构示意图。
图2是根据本申请一实施方式的应用程序升级方法的流程图。
图3是根据本申请一实施方式的应用程序升级系统的功能模块图。
主要元件符号说明
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
进一步需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者装置中还存在另外的相同要素。
参阅图1所示,应用程序的升级系统10运行于电子设备1中。所述电子设备1包括,但不仅限于,存储器11、至少一个处理器12、电池13、与所述电池13对应的电池管理系统(Battery Management System,BMS)14以及储能逆变器(Power Conversion System,PCS)15。上述元件之间可以通过总线连接,也可以直接连接。
需要说明的是,在本实施方式中,所述电池管理系统14与所述储能逆变器15之间通过CAN总线通信连接。
需要说明的是,图1仅为举例说明电子设备1。在其他实施例中,电子设备1也可以包括更多或者更少的元件,或者具有不同的元件配置。所述电子设备1可以为电动摩托、电动单车、电动汽车、手机、平板电脑、个数数字助理、个人电脑,或者任何其他适合的可充电式设备。
在一个实施例中,所述电池13为可充电电池,用于给所述电子设备1提供电能。所述电池13包括至少一个电池单元(battery cell),其可以采用可循环再充电的方式,并且,所述电池13的类型不受具体限制,所述类型可以包括锂离子电池、锂聚合物电池、镍镉电池、镍氢电池及镍锌电池等。所述电池13通过电池管理系统14与所述处理器12逻辑相连,从而通过所述电池管理系统14实现充电、放电、以及功耗管理等功能。
在一个实施例中,所述存储器11至少包括第一存储单元110和第二存储单元111。所述第一存储单元110为外部flash存储单元,所述第二存储单元111为内部flash存储单元。在本实施方式中,所述外部flash存储单元用于暂存所述储能逆变器15发送的应用程序数据。
在一实施方式中,所述第二存储单元111可以划分为三大部分:一部分为bootloader程序区域,一部分为升级标志数据区域,另一部分为BMS应用程序区域。上述三个区域部分的代码完全独立。为合理利用所述第二存储单元111,上述三个区域部分可以是紧邻着彼此。例如,以ESS48V的SKEAZ128为例,所述bootloader程序区为0x0000~0x2A00-1,占用10.5K存储空间;所述升级标志数据区域为0x2A00~0x2C00-1,占用0.5K存储空间;所述BMS应用程序区域为0x2C00~0x20000-1,占用117K存储空间。
在一实施方式中,所述升级标志数据区域主要用于保存bootloader程序和应用程序有关联的变量。例如,u32File_Size表示需要烧录的应用程序数据对应的文件大小,u32File_Crc32表示需要烧录的应用程序数据的CRC32校验值。
尽管未示出,所述电子设备1还可以包括无线保真(Wireless Fidelity,WiFi)单元、蓝牙单元、扬声器等其他组件,在此不再一一赘述。
请参阅图2,图2为根据本申请一实施方式的应用程序升级方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。所述应用程序升级方法可以包括以下步骤。
步骤S1、接收所述储能逆变器发送的应用程序数据。
在一实施方式中,当需要对所述电池管理系统14中的应用程序进行升级更新时,所述电池管理系统14发送更新请求至所述储能逆变器15,在所述储能逆变器15接收所述更新请求后,发送应用程序数据至所述电池管理系统14。
现有技术中,所述电池管理系统14接收到所述应用程序数据后,存储所述应用程序数据至第二存储单元111。然而,由于电池管理系统14和储能逆变器15之间的通信存在不可靠性。本申请通过所述第一存储单元110暂存所述储能逆变器15发送的应用程序数据,在确认所述应用程序数据准确无误后,再将所述应用程序数据写入至第二存储单元111中,从而实现可靠及稳定的应用程序升级。
在一实施方式中,在接收所述储能逆变器发送的应用程序数据之后,所述方法还包括确认接收的应用程序数据是否满足所述第一存储单元的容量的步骤。
具体地,通过比对所述应用程序数据的文件容量是否小于或等于所述第一存储单元中的最大容量,来确认所述应用程序数据是否满足所述第一存储单元的容量。当所述应用程序数据的文件容量小于或等于所述最大容量时,确认所述应用程序数据满足所述第一存储单元的容量,并且发送确认信息至所述储能逆变器15;当所述应用程序数据的文件容量大于所述最大容量时,确认所述应用程序数据不满足所述第一存储单元的容量,并且发送超限信息至所述储能逆变器15。
步骤S2、确认所述应用程序数据是否有匹配的应用程序信息。当有匹配的应用程序信息时,流程进入步骤S2;当没有匹配的应用程序信息时,流程返回步骤S1。
在一实施方式中,为防止远程升级时需烧录的应用程序数据中的BIN文件与待升级的硬件平台不匹配,导致烧录完成后所述电池管理系统14不能正常工作。需要在烧录所述应用程序数据前对BIN文件进行防呆判断,即确认所述应用程序数据是否有匹配的应用程序信息。以防止电池管理系统14工作不正常的情况发生。
具体地,确认所述应用程序数据是否有匹配的应用程序信息的步骤包括:读取所述应用程序数据中的第一信息,其中,所述第一信息包括项目版本、厂家名称和硬件版本号;读取所述电池管理系统14中保存的第二信息,所述第二信息包括与所述应用程序数据相对应的项目版本、厂家名称和硬件版本号;比对所述第一信息与所述第二信息是否一致;当所述第一信息与所述第二信息一致时,确认所述应用程序数据有匹配的应用程序信息,并发送匹配成功信息至所述储能逆变器15;以及当所述第一信息与所述第二信息不一致时,确认所述应用程序数据没有匹配的应用程序信息,并发送匹配不成功信息至所述储能逆变器15。
步骤S3、当所述应用程序信息匹配时,存储所述应用程序数据至第一存储单元110,并跳转至bootloader模式。
在本实施方式中,当确认所述应用程序信息匹配后,需要擦除所述第一存储单元110中遗留的数据,再将所述应用程序数据存储至所述第一存储单元110。具体地,擦除所述第一存储单元110中遗留的数据包括:接收所述储能逆变器15发送的擦除所述第一存储单元110中数据的命令;执行所述擦除所述第一存储单元110中数据的命令以擦除所述第一存储单元110中的数据;及发送所述第一存储单元110中数据擦除成功命令至所述储能逆变器15。
需要说明的是,在擦除所述第一存储单元110中遗留的数据之后,所述电池管理系统14接收所述储能逆变器15发送的所述应用程序数据。所述储能逆变器15将所述应用程序数据分成预设个数据块,再将所述预设个数据块一个一个依次发送至所述电池管理系统14。并且在发送每个数据块至所述电池管理系统14时,为了保证所述应用程序数据的可靠性,所述电池管理系统14在接收每个数据块后,都会对每个数据块进行校验,以确保每个数据块的准确性。
在一实施方式中,在所述电池管理系统14接收所述应用程序数据之前,还需判断当前接收的数据块对应的数据帧是否为重复帧。例如,当bootloader中上位机接收电池管理系统的响应消息超时或者接收到错误的响应时,所述数据块对应的数据帧为重复帧。具体地,接收所述储能逆变器15发送的所述应用程序数据中的数据块和数据命令,所述数据命令包括重复帧标志位;根据所述重复帧标志位解析所述数据块是否为重复帧;若所述数据块为重复帧,发送重复帧接收成功消息至所述储能逆变器15,以响应所述储能逆变器15接收重复帧成功,并通知所述储能逆变器15重新发送所述数据块至所述电池管理系统14;以及若所述数据块不是重复帧,校验所述数据块的准确性,并接收所述储能逆变器15发送的下一个数据块。
在确认所述数据块不是重复帧之后,所述电池管理系统14需要确认所述数据块的准确性。具体地,通过比对所述数据命令中的数据块校验值和校验所述数据块得到的第一校验值是否一致,来确认所述数据块是否准确。具体步骤如下:(a1)接收所述储能逆变器15发送的所述应用程序数据中的数据块和数据命令,所述数据命令包括数据块校验值;(b1)校验所述数据块,并得到第一校验值;(c1)比对所述第一校验值与所述数据块校验值是否一致。
其中,所述第一校验值与所述数据块校验值一致时,确认所述数据块准确,且发送成功信息至所述储能逆变器15以及将所述数据块写入所述第一存储单元,并重复执行步骤(a1)至所述步骤(c1),直至所述应用程序数据中的所有数据块都确认完毕;当所述第一校验值与所述数据块校验值不一致时,确认所述数据块不准确,且发送失败信息至所述储能逆变器15,并返回步骤(a1)。
在一实施方式中,当所述电池管理系统14接收完所述应用程序数据后,需要对所述应用程序数据再做一次整体校验,以确保所述应用程序数据的整体准确性。
具体地,所述电池管理系统14接收所述储能逆变器15发送的完成命令,其中所述完成命令包括第二校验值;在本实施方式中,所述电池管理系统14存储所述第二校验值至所述第二存储单元111中的升级标志数据区域。所述电池管理系统14读取所述第一存储单元110中写入的所述应用程序数据,并校验所述应用程序数据,得到第三校验值。所述电池管理系统14比对所述第二校验值与所述第三校验值是否一致;当所述第二校验值与所述第三校验值一致时,确认写入至所述第一存储单元110中的所述应用程序数据准确,并跳转至所述bootloader模式,以通过bootloader程序对所述应用程序数据对应的应用程序升级。当所述第二校验值与所述第三校验值不一致时,确认写入至所述第一存储单元110中的所述应用程序数据不准确。
需要说明的是,所述电池管理系统14读取所述第一存储单元110中写入的所述应用程序数据,并校验所述应用程序数据,得到第三校验值包括:
(a2)获取所述完成命令中的第二校验值;
(b2)读取所述第一存储单元110中写入的所述应用程序数据中的数据块;
(c2)校验所述数据块得到校验值;
(d2)读取所述第一存储单元110中写入的所述应用程序数据中的下一数据块;
(e2)以所述校验值为初始值校验所述下一个数据块,得到下一个校验值,并重复执行步骤(d2)和(e2),直至所述应用程序数据中的所有数据块都校验完毕,得到第三校验值;
(f2)比对所述第二校验值和所述第三校验值是否一致;
当所述第二校验值和所述第三校验值一致时,确认电池管理系统14接收的所述应用程序数据准确;当所述第二校验值和所述第三校验值不一致时,确认电池管理系统14接收的所述应用程序数据不准确。
步骤S4、在所述bootloader模式下读取所述应用程序数据,且将所述应用程序数据写入至第二存储单元111。
在本实施方式中,在将所述应用程序数据写入至第二存储单元111之前,需要对所述应用程序数据再进行一次校验,所述将所述应用程序数据写入至第二存储单元111包括:
(a3)读取保存在所述升级标志数据区域的第二校验值;
(b3)读取所述第一存储单元110中写入的所述应用程序数据中的数据块;
(c3)校验所述数据块得到校验值;
(d3)读取所述应用程序数据中的下一数据块;
(e3)以所述校验值为初始值校验所述下一个数据块,得到下一个校验值,并重复执行步骤(d3)和(e3),直至所述应用程序数据中的所有数据块都校验完毕,得到第四校验值;
(f2)比对所述第二校验值和所述第四校验值是否一致;
当所述第二校验值和所述第四校验值一致时,确认所述应用程序数据准确,写入所述应用程序数据至所述第二存储单元111;当所述第二校验值和所述第四校验值不一致时,确认所述应用程序数据不准确。
其中,读取所述第一存储单元110中写入的所述应用程序数据包括:从所述第一存储单元110中中依次读取预设容量的所述应用程序数据;写入读取的预设容量数据至所述第二存储单元111;当最后读取的数据小于所述预设容量时;补写预设值至所述最后读取的数据中。例如,定义了一个预设容量的所述应用程序数据对应的数组Data[256],最后从外部flash读取的数据个数为29个,那么我们就要对Data[29]~Data[255]赋值为0xFF。
需要说明的是,上述对应用程序数据或者应用程序数据中的数据块进行校验的算法可以是CRC32校验算法。
由上述步骤S1-S4可知,通过在所述第一存储单元110中暂存所述储能逆变器15发送的应用程序数据,并且确认接收的应用程序数据准确无误后,再将所述应用程序数据写入至第二存储单元111中。采用这个方案能够识别出电池管理系统与储能逆变器之间的通信过程中所引入的异常,满足了bootloader程序的可靠性设计思想,能够规避传输过程中的丢包、错包和BIN文件错误带来的不良后果,从而可以实现的可靠及稳定的应用程序升级。
请参阅图3,在一实施方式中,在本实施方式中,所述应用程序升级系统10可以被分割成一个或多个模块,所述一个或多个模块存储在所述存储器11中,并由至少一个处理器(本实施例为一个处理器12)执行,以完成本申请。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,所述指令段用于描述所述应用程序升级系统10在所述电子设备1中的执行过程。例如,所述应用程序升级系统10可以被分割成图3中的接收模块101、匹配模块102、存储模块103以及处理模块104。
其中,接收模块101用于接收所述储能逆变器发送的应用程序数据;匹配模块102用于确认所述应用程序数据是否有匹配的应用程序信息;存储模块103用于当所述应用程序信息匹配时,存储所述应用程序数据至第一存储单元110,并跳转至bootloader模式;及处理模块104用于在所述bootloader模式下读取所述应用程序数据,且将所述应用程序数据写入至第二存储单元111。
通过在所述第一存储单元110中暂存所述储能逆变器15发送的应用程序数据,能够确保电池管理系统14与储能逆变器15之间的通信过程中引入的异常被识别出,并且确认接收的应用程序数据准确无误后,再将所述应用程序数据写入至第二存储单元111中。从而可以非常好的满足bootloader程序的可靠性设计思想,能够规避传输过程中的丢包、错包和BIN文件错误带来的不良后果。具体内容可以参见上述应用程序升级方法的实施例,在此不再详述。
本实施例中,所述存储器11可以是电子设备1的内部存储器,即内置于所述电子设备1的存储器。在其他实施例中,所述存储器11也可以是电子设备1的外部存储器,即外接于所述电子设备1的存储器。
在一些实施例中,所述存储器11用于存储程序代码和各种数据,例如,存储安装在所述电子设备1中的应用程序升级系统10的程序代码,并在电子设备1的运行过程中实现高速、自动地完成程序或数据的存取。例如,在本实施例中,所述应用程序升级系统10用于根据计算的所述电池13在放电至放电截止电压时的第一绝对荷电状态值得到所述电池在预设温度和预设电流下的可用容量,再根据所述可用容量与所述电池13的初始容量的比值得到电池健康状态值。
所述存储器11可以包括随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘、智能存储卡(Smart Media Card,SMC)、安全数字(Secure Digital,SD)卡、闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
在一实施方式中,所述处理器12可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器12也可以是其它任何常规的处理器等。
应用程序升级系统10中的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
可以理解的是,以上所描述的模块划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本申请各个实施例中的各功能模块可以集成在相同处理单元中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同单元中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将本申请上述的实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。
Claims (10)
1.一种应用程序升级方法,其特征在于,该方法包括:
接收储能逆变器发送的应用程序数据;
确认所述应用程序数据是否有匹配的应用程序信息;
当所述应用程序信息匹配时,存储所述应用程序数据至第一存储单元,并跳转至bootloader模式;及
在所述bootloader模式下读取所述应用程序数据,且将所述应用程序数据写入至第二存储单元。
2.如权利要求1所述应用程序升级方法,其特征在于,所述接收储能逆变器发送的应用程序数据的步骤包括:
比对所述应用程序数据的文件容量是否小于或等于所述第一存储单元中的最大容量;
当所述应用程序数据的文件容量小于或等于所述最大容量时,发送确认信息至所述储能逆变器,否则发送超限信息至所述储能逆变器。
3.如权利要求1所述应用程序升级方法,其特征在于,所述确认所述应用程序数据是否有匹配的应用程序信息的步骤包括:
读取所述应用程序数据中的第一信息,其中,所述第一信息包括项目版本、厂家名称和硬件版本号;
读取电池管理系统中保存的第二信息,所述第二信息包括与所述应用程序数据相对应的项目版本、厂家名称和硬件版本号;
比对所述第一信息与所述第二信息是否一致;
当所述第一信息与所述第二信息一致时,发送匹配成功信息至所述储能逆变器,否则发送匹配不成功信息至所述储能逆变器。
4.如权利要求1所述应用程序升级方法,其特征在于,所述存储所述应用程序数据至第一存储单元,并跳转至bootloader模式的步骤包括:
接收所述储能逆变器发送的擦除所述第一存储单元中数据的命令;
执行所述命令以擦除所述第一存储单元中的数据;及
发送所述第一存储单元中数据擦除成功命令至所述储能逆变器。
5.如权利要求4所述应用程序升级方法,其特征在于,所述步骤还包括:
接收步骤:接收所述储能逆变器发送的所述应用程序数据中的数据块和数据命令,所述数据命令包括数据块校验值和重复帧标志位;
解析步骤:根据所述重复帧标志位解析所述数据块是否为重复帧;
若所述数据块为重复帧,发送重复帧接收成功消息至所述储能逆变器,并通知所述储能逆变器重新发送所述数据块至电池管理系统;
若所述数据块不是重复帧,校验所述数据块的准确性。
6.如权利要求5所述应用程序升级方法,其特征在于,所述校验所述数据块的准确性包括:
校验步骤:校验所述数据块,并得到第一校验值;
比对步骤:比对所述第一校验值与所述数据块校验值是否一致;
其中,当所述第一校验值与所述数据块校验值一致时,确认所述数据块准确,且发送成功信息至所述储能逆变器以及将所述数据块写入所述第一存储单元,并重复执行所述接收步骤至所述比对步骤,直至所述应用程序数据中的所有数据块都校验完毕;
当所述第一校验值与所述数据块校验值不一致时,确认所述数据块不准确,且发送失败信息至所述储能逆变器,并返回执行所述接收步骤。
7.如权利要求6所述应用程序升级方法,其特征在于,所述步骤还包括:
接收所述储能逆变器发送的完成命令,其中所述完成命令包括第二校验值;
读取所述第一存储单元中写入的所述应用程序数据;
校验所述应用程序数据,得到第三校验值;
比对所述第二校验值与所述第三校验值是否一致;
当所述第二校验值与所述第三校验值一致时,确认写入至所述第一存储单元中的所述应用程序数据准确,并跳转至所述bootloader模式。
8.如权利要求1-7中任一项所述应用程序升级方法,其特征在于,所述第一存储单元包括外部flash存储单元,所述第二存储单元包括内部flash存储单元。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;以及
存储器,所述存储器中存储有多个程序模块,所述多个程序模块由所述处理器加载并执行如权利要求1-8中任意一项所述应用程序升级方法。
10.一种存储介质,其上存储有至少一条计算机指令,其特征在于,所述指令由处理器并加载执行如权利要求1-8中任意一项所述应用程序升级方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314677.5A CN111831311A (zh) | 2019-04-18 | 2019-04-18 | 应用程序升级方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910314677.5A CN111831311A (zh) | 2019-04-18 | 2019-04-18 | 应用程序升级方法、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111831311A true CN111831311A (zh) | 2020-10-27 |
Family
ID=72914947
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910314677.5A Pending CN111831311A (zh) | 2019-04-18 | 2019-04-18 | 应用程序升级方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111831311A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608758A (zh) * | 2021-07-15 | 2021-11-05 | 东莞新能安科技有限公司 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
CN113692065A (zh) * | 2021-07-26 | 2021-11-23 | 东莞新能安科技有限公司 | 一种固件升级方法和电池管理系统 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530146A (zh) * | 2013-09-16 | 2014-01-22 | 成都交大光芒科技股份有限公司 | 低功耗嵌入式设备远程无线升级方法 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和系统 |
CN104102514A (zh) * | 2014-07-18 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种固件升级方法及其装置 |
CN104572195A (zh) * | 2014-12-31 | 2015-04-29 | 天津市飞跃兄弟测控技术有限公司 | 装置远程在线程序更新方法 |
KR101640207B1 (ko) * | 2015-01-20 | 2016-07-15 | 주식회사 뉴티씨 (Newtc) | 부트로더 및 임베디드 시스템 업그레이드 방법 |
CN107797812A (zh) * | 2017-09-15 | 2018-03-13 | 许继电源有限公司 | 一种充电机远程在线升级方法及系统 |
CN107835088A (zh) * | 2017-09-26 | 2018-03-23 | 深圳市亿兆互联技术有限公司 | 一种LoRa终端设备空中升级方法及系统 |
CN107861745A (zh) * | 2017-11-30 | 2018-03-30 | 厦门科华恒盛股份有限公司 | 一种应用程序在线升级方法、装置、设备及存储介质 |
CN107861764A (zh) * | 2016-09-21 | 2018-03-30 | 佛山市顺德区美的电热电器制造有限公司 | 用于烹饪电器的程序升级系统、方法及烹饪电器 |
-
2019
- 2019-04-18 CN CN201910314677.5A patent/CN111831311A/zh active Pending
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103530146A (zh) * | 2013-09-16 | 2014-01-22 | 成都交大光芒科技股份有限公司 | 低功耗嵌入式设备远程无线升级方法 |
CN104090796A (zh) * | 2014-07-08 | 2014-10-08 | 成都万维图新信息技术有限公司 | 一种嵌入式设备程序更新方法和系统 |
CN104102514A (zh) * | 2014-07-18 | 2014-10-15 | 江苏兆伏新能源有限公司 | 一种固件升级方法及其装置 |
CN104572195A (zh) * | 2014-12-31 | 2015-04-29 | 天津市飞跃兄弟测控技术有限公司 | 装置远程在线程序更新方法 |
KR101640207B1 (ko) * | 2015-01-20 | 2016-07-15 | 주식회사 뉴티씨 (Newtc) | 부트로더 및 임베디드 시스템 업그레이드 방법 |
CN107861764A (zh) * | 2016-09-21 | 2018-03-30 | 佛山市顺德区美的电热电器制造有限公司 | 用于烹饪电器的程序升级系统、方法及烹饪电器 |
CN107797812A (zh) * | 2017-09-15 | 2018-03-13 | 许继电源有限公司 | 一种充电机远程在线升级方法及系统 |
CN107835088A (zh) * | 2017-09-26 | 2018-03-23 | 深圳市亿兆互联技术有限公司 | 一种LoRa终端设备空中升级方法及系统 |
CN107861745A (zh) * | 2017-11-30 | 2018-03-30 | 厦门科华恒盛股份有限公司 | 一种应用程序在线升级方法、装置、设备及存储介质 |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113608758A (zh) * | 2021-07-15 | 2021-11-05 | 东莞新能安科技有限公司 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
CN113692065A (zh) * | 2021-07-26 | 2021-11-23 | 东莞新能安科技有限公司 | 一种固件升级方法和电池管理系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9960626B2 (en) | Apparatus and method for updating remote standalone firmware | |
CN109634645B (zh) | 固件升级方法及终端 | |
US7836444B2 (en) | Mobile communication terminal having embedded system for software download and method for software download | |
CN110083374B (zh) | 一种升级回滚方法、系统及终端设备 | |
US20070294685A1 (en) | Program upgrade system and method for ota-capable portable device | |
CN108170455B (zh) | 升级包的打包方法以及升级方法 | |
CN101695162A (zh) | 一种移动终端空中固件升级方法及装置 | |
CN111831311A (zh) | 应用程序升级方法、电子设备及存储介质 | |
CN107908417B (zh) | 固件升级方法及电子设备 | |
CN102004657B (zh) | 一种电子设备及其升级方法 | |
CN103257869B (zh) | 一种ecu程序智能下载方法 | |
CN112925679A (zh) | 固件升级方法、非易失性存储器、计算机存储介质及终端 | |
CN113094072A (zh) | 车辆升级方法、装置、电子装置及存储介质 | |
CN110769411B (zh) | 稳定实现终端设备的批量ota升级方法、装置、设备及系统 | |
CN112579141A (zh) | 一种嵌入式系统的固件更新方法、装置、设备及存储介质 | |
CN101464876B (zh) | 电子词典机数据更新方法 | |
CN113608758A (zh) | 软件升级方法、装置、电池管理系统、电池及用电装置 | |
CN115576487A (zh) | 一种换电型新能源汽车动力电池数据存储方法、装置 | |
CN114860159A (zh) | 数据存取方法和电子设备 | |
CN115098137A (zh) | 电池保护板的升级方法、装置、检测仪、系统及存储介质 | |
CN110008059B (zh) | 非易失性存储介质的数据更新方法、装置及存储介质 | |
CN104751881A (zh) | 快闪存储器烧录方法 | |
KR102324263B1 (ko) | 비휘발성 메모리 업데이트 장치 및 방법 | |
CN115857998A (zh) | 基于zynq和fpga架构的升级方法、装置和介质 | |
CN110032377B (zh) | 通信模块软件升级方法、系统及通信模块 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |