CN113608758A - 软件升级方法、装置、电池管理系统、电池及用电装置 - Google Patents
软件升级方法、装置、电池管理系统、电池及用电装置 Download PDFInfo
- Publication number
- CN113608758A CN113608758A CN202110801591.2A CN202110801591A CN113608758A CN 113608758 A CN113608758 A CN 113608758A CN 202110801591 A CN202110801591 A CN 202110801591A CN 113608758 A CN113608758 A CN 113608758A
- Authority
- CN
- China
- Prior art keywords
- upgrading
- program
- bootloader
- content
- upgrade
- 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
- 238000000034 method Methods 0.000 title claims abstract description 70
- 238000012795 verification Methods 0.000 claims description 9
- 238000007599 discharging Methods 0.000 claims description 4
- 239000000126 substance Substances 0.000 claims 1
- 238000004891 communication Methods 0.000 abstract description 6
- 230000008859 change Effects 0.000 abstract description 4
- 238000007726 management method Methods 0.000 description 21
- 230000008569 process Effects 0.000 description 14
- 230000006870 function Effects 0.000 description 9
- 238000012545 processing Methods 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000009191 jumping Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/4401—Bootstrapping
Abstract
本申请涉及软件升级技术领域,公开了一种软件升级方法、装置、电池管理系统、电池以及用电装置。该方法包括:接收升级指令;获取所述升级指令对应的升级内容;根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作。其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。本申请能够对BootLoader存在的问题进行及时调整,在电池装包以后也能对BootLoader进行功能完善、更改以及通讯协议调整,具有较高的可靠性和灵活性,有效的提升了软件升级的便捷性。
Description
技术领域
本申请涉及软件升级技术领域,特别涉及一种软件升级方法、装置、电池管理系统、电池以及用电装置。
背景技术
传统的电池包组装完成后,由于需求更改、设计缺陷等原因,需要对软件进行升级更新。在升级过程中可能会出现由于操作失误、升级错误文件、软件设计缺陷等原因导致升级错误,此时只能通过拆包重新烧录软件来纠错。
然而,拆包工序复杂,耗时长,对于气密性要求高的电池包来说还会导致气密性问题;对于不可拆包的电池包来说,升级出错更是会导致电池包报废。
发明内容
本申请实施方式至少部分改善了上述问题,提高了电池管理系统在软件升级时的可靠性。
为解决上述技术问题,本申请实施方式采用的一个技术方案是:
在第一方面,本申请实施例提供了一种软件升级方法,所述方法包括:接收升级指令;获取所述升级指令对应的升级内容;根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作。其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序。所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
在一些实施例中,所述升级内容用于指示对所述应用程序进行升级。所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若所述第二BootLoader程序存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容对所述应用程序执行升级操作。
在一些实施例中,所述升级内容用于指示对所述第一BootLoader程序进行升级。所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若所述第二BootLoader程序存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容判断是否对所述应用程序执行升级操作。若不对所述应用程序执行升级操作,则控制所述第二BootLoader程序根据所述升级内容对所述第一BootLoader程序执行升级操作。
在一些实施例中,所述升级内容用于指示对所述第二BootLoader程序进行升级。所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;控制所述第一BootLoader程序根据所述升级内容对所述第二BootLoader程序执行升级操作。
在一些实施例中,在执行所述根据所述引导程序执行软件升级操作的步骤之前,所述方法还包括:根据所述升级内容获取升级文件信息,并校验所述升级文件信息;在所述升级文件信息校验通过时,执行所述根据所述引导程序执行软件升级操作的步骤。
在一些实施例中,所述方法还包括:获取所述升级文件信息对应的防呆信息,所述防呆信息用于标识所述升级文件信息中的升级文件。
在一些实施例中,所述方法还包括:在所述升级文件信息校验通过时,备份所述升级文件信息。
在第二方面,本申请实施例提供了一种软件升级装置,所述装置包括:指令接收模块,用于接收升级指令;升级内容获取模块,用于获取所述升级指令对应的升级内容;软件升级模块,用于根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作。其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
在第三方面,本申请实施例提供了一种电池管理系统,包括:至少一个处理器;以及与所述至少一个处理器通信连接的存储器。其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上所述的方法。
在第四方面,本申请实施例提供了一种电池,包括电芯和如上所述的电池管理系统。所述电池管理系统用于管理所述电芯的充电和放电。
在第五方面,本申请实施例提供了一种用电装置,包括负载和如上所述的电池。其中,该电池用于为该负载供电。
区别于相关技术的情况,本申请实施例提供软件升级方法、装置、电池管理系统、电池以及用电装置,通过接收的升级指令获得升级内容,再根据升级内容跳转至对应的引导程序,最后根据跳转后的引导程序执行软件升级操作,其中,引导程序包括用于升级第二BootLoader程序的第一BootLoader程序,以及用于升级第一BootLoader程序和应用程序的第二BootLoader程序。本申请提供的软件升级方法、装置、电池管理系统、电池以及用电装置能够对BootLoader存在的问题进行及时调整,即便是在电池装包以后也能对BootLoader进行功能完善、更改以及通讯协议调整,具有较高的可靠性和灵活性,有效的提升了软件升级的便捷性。
附图说明
一个或多个实施例通过与之对应的附图进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
图1是本申请实施例提供的一种软件升级方法的流程图;
图2是本申请实施例提供的一种软件升级装置的结构框图;
图3是本申请实施例提供的一种电池管理系统的结构示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,如果不冲突,本申请实施例中的各个特征可以相互组合,均在本申请的保护范围之内。另外,虽然在装置示意图中进行了功能模块的划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置示意图中的模块划分,或流程图中的顺序执行所示出或描述的步骤。
除非另有定义,本说明书所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本申请。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
如图1所示,本申请实施例提供了一种软件升级方法,该方法可应用于电池包BMS(Battery Management System,电池管理系统)软件升级过程,BMS包括硬件和软件两部分,硬件包括电路板、主要芯片和周边电路,软件包括应用软件和软件下载。其中,应用软件即App,软件下载即BootLoader,BootLoader上设有标志位,正常App模式时,该标志位为0;当BootLoader下载软件时,该标志位为1;下载完成后,标志位为0。BMS可用于电池包信号采集以及根据采集结果进行剩余电量计算、电池包控制策略和诊断功能等。通常BMS上设有CAN接口,当BMS为工作状态时,应用软件部分工作;当BMS需要软件更新时,BMS通过CAN接口与电脑连接,电脑上装载有BootLoader上位机,软件下载过程中,通过设定软件标志位、App备份区等,可有效预防软件问题或硬件中断导致的下载后BMS无法正常工作的问题,确保了安全可靠的软件下载过程。该种安全的软件升级方法具体可以包括一下步骤:
步骤S101:接收上位机发送的升级指令。其中,该上位机可以是电脑上的BootLoader上位机,其与BMS的BootLoader模块通过CAN接口连接。
步骤S102:所述BMS获取所述升级指令对应的升级内容。
步骤S103:所述BMS根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作。
其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
在本实施例中,可以通过BMS程序接收BootLoader上位机根据预设的升级协议发送的所述升级指令,在接收到所述升级指令后,会根据升级指令中包含的网络地址或者预先设置在终端上的网络地址,通过网络去所述网络地址获取相应的升级内容,并使用网络下载到终端设备并保存在预先设置的目录下。
在完成所述升级内容的下载后,根据所述引导程序中的指令,先跳转到所述第一BootLoader程序,判断是否需要对所述第二BootLoader程序进行升级,若不需要则跳转到所述第二BootLoader程序,判断是否需要对所述第一BootLoader程序进行升级和/或者对所述应用程序进行升级。
其中,第一BootLoader程序和第二BootLoader程序是BMS上电或复位后最先运行的一段代码。在本实施例中,第一BootLoader程序是BMS上电或复位后运行的最小启动系统,其只需根据内部固定协议升级第二BootLoader程序,只要第一BootLoader程序运行正常,就可以升级第二BootLoader程序。所述第一BootLoader程序只根据固定协议升级所述第二BootLoader程序,不需要跟随客户需求与通讯协议变更而进行变更,可以实现所有硬件结构通用同一个第一BootLoader程序,因此,所述第一BootLoader程序功能简单且固定,具有较高的可靠性。
第二BootLoader程序用于根据公司内部协议与外部客户协议升级所述第一BootLoader程序或应用程序(即App),其功能可以根据客户需求更改而进行调整,可以解决电池包组装完成后BootLoader程序功能完善、更改以及通讯协议调整需求,具有较高的灵活性。通过第二BootLoader程序和所述应用程序能够实现正常应用的功能。
所述第一BootLoader程序和第二BootLoader程序的工作模式包括两种:启动加载模式和下载模式;启动加载模式是所述第一BootLoader程序和第二BootLoader程序从固态存储设备上将需要运行的系统加载到RAM中运行,整个过程并没有用户的介入;下载模式是所述第一BootLoader程序和所述第二BootLoader程序通过串口或者网络连接从预先设置的主机地址下载系统文件,下载完成后先保存到RAM中,然后再被写入到闪存类的固态存储设备中,此种模式一般在第一次安装内核和根文件系统时候使用。同时也可以设置是否允许用户在这两种工作模式之间进行切换。
其中,所述第一BootLoader程序和第二BootLoader程序的启动流程一般分为第一阶段和第二阶段。在第一阶段主要完成基本的硬件初始化,包括屏蔽所有的中断、设置中央处理器的速度和时钟频率、RAM初始化、关闭中央处理器内部指令和数据缓存等;为加载第二阶段准备RAM空间,达到获取更快的执行速度的目的;设置堆栈指针,为执行第二阶段的程序代码做好准备。在第二阶段主要完成本地阶段要使用到的硬件设备的初始化,包括初始化串口、初始化计时器等;检查系统内存映射,即在整个物理地址空间中划分出一定地址范围分配用来寻址系统的RAM单元;将内核映像和文件系统映像从闪存读取加载到RAM空间中;设置内核的全部启动参数并进行启动。
在本申请一实施例中,所述升级内容用于指示对所述应用程序进行升级,所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容对所述应用程序执行升级操作。
其中,在对所述应用程序升级之前,也需要判断所述应用程序是否存在,若存在则执行根据所述升级内容对所述应用程序进行升级操作的步骤,若不存在则不执行根据所述升级内容对所述应用程序进行升级操作的步骤,返回所述应用程序升级失败的结果。
其中,若判断所述第二BootLoader程序不存在,所述升级内容后续步骤无法被执行,则不进行后续所述升级内容包含的升级操作,返回所述应用程序升级过程失败的结果,不会因为执行强制升级导致现有所述应用程序运行出错。
在本申请一实施例中,所述升级内容用于指示对所述第一BootLoader程序进行升级,所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容判断是否对所述应用程序执行升级操作;若不对所述应用程序执行升级操作,则控制所述第二BootLoader程序根据所述升级内容对所述第一BootLoader程序执行升级操作。
其中,若判断所述第二BootLoader程序不存在,所述升级内容后续步骤无法被执行,则不进行后续所述升级内容包含的升级操作,返回所述第一BootLoader程序升级过程失败的结果,不会因为强制执行升级导致现有所述第一BootLoader程序运行出错。
在本申请一实施例中,所述升级内容用于指示对所述第二BootLoader程序进行升级,所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;控制所述第一BootLoader程序根据所述升级内容对所述第二BootLoader程序执行升级操作。
其中,所述升级内容中会包含升级成功后所述第一BootLoader程序和/或所述第二BootLoader程序和/或所述应用程序中的第一程序版本号,在执行升级内容中的步骤之前,需要根据升级内容中需要升级的对象对应先获取未升级的所述第一BootLoader程序和/或所述第二BootLoader程序和/或所述应用程序中的第二程序版本号,只有在所述第一程序版本号大于所述第二程序版本号时,才执行后续的升级操作。
在本申请一实施例中,在执行所述根据所述引导程序执行软件升级操作的步骤之前,所述方法还包括:根据所述升级内容获取升级文件信息,并校验所述升级文件信息;在所述升级文件信息校验通过时,执行所述根据所述引导程序执行软件升级操作的步骤。
其中,根据所述升级内容获取升级文件信息时,会将所述升级文件下载到预设设置的目录中,并且统计所述目录下所有文件的大小,包括所述目录的子目录中所有文件大小,如果所述目录下所有文件的大小超过了预先设置的存储上限,则进一步进行判断,若所述目录下只存在所述升级文件,则直接进行后续的校验所述升级文件信息的步骤,若所述目录下还存在其他升级文件,则对离当前时间最为久远的一个升级文件执行删除操作,再继续统计当前目录下所有文件的大小,若仍然超过预设存储上限,则继续删除离当前时间最为久远的一个升级文件,直至当前目录所有文件大小小于预设存储上限,或者当前目录只剩下获取的升级文件时,停止统计当前目录下所有文件的大小,执行校验所述升级文件信息的步骤。
上述对于所述升级文件的管理方法,不仅降低了旧的所述升级文件对整个系统存储空间的占用,还及时清理存储空间为下一次升级去下载升级文件做好存储空间的准备。
在本申请一实施例中,在执行所述根据所述引导程序执行软件升级操作的步骤之前,所述方法还包括:获取所述升级文件信息对应的防呆信息,所述防呆信息用于标识所述升级文件信息中的升级文件。通过防呆信息能够避免混淆不同厂家、不同项目的升级文件。
其中,校验所述升级文件信息时,会对接收的所述升级文件的名称、创建日期、修改日期、大小、格式等特征信息进行校验,对于所述升级文件的校验方法还包括奇偶校验法、BCC异域校验法、MD5校验和数字签名等。
其中,对于所述升级文件增加对应的防呆信息,包括但不限于:采用统一文件格式来压缩所述升级文件内容与其他非升级文件进行区分、采用统一命名方法来命名所述升级文件来与其他非升级文件进行区分、下载所述升级文件按到按照统一命名方法命名的文件中、下载所述升级文件到预先设置路径的文件夹中。
其中,采用的命名方法来命名所述升级文件,可以用项目名称、产品名称、版本号、创建时间、升级内容等信息来设计防呆措施,以免在实际的升级过程中因为操作失误、升级错误文件等行为产生错误,导致升级失败或其他不可预估的风险。
在本申请一实施例中,所述方法还包括:在所述升级文件信息校验通过时,备份所述升级文件信息。
其中,对所述升级文件信息进行校验通过后,会先将所述升级文件备份到预设设定路径下的文件夹中,在进行备份时,会对备份文件存放的备份文件中所有文件进行大小统计,包括所述备份文件夹中的子文件夹的存储大小,若所述备份文件夹中所有文件的存储大小超过了预设的备份文件夹存储上限,就删除备份时间离当前时间最远的备份升级文件,再进行所有备份升级文件大小统计后进行比较,若还是超过预设的备份文件夹存储上限则继续删除备份时间最久远的备份升级文件,直至所述备份文件夹存储大小小于预设上限或者所述备份文件夹中只剩下当前所述升级文件的一个备份文件,停止统计所述备份文件夹下所有文件的大小,转为执行后续的升级步骤。
本申请实施例提供的软件升级方法,能够对BootLoader存在的问题进行及时调整,即便是在装包以后也能对BootLoader进行功能完善、更改以及通讯协议调整,具有较高的可靠性和灵活性,有效的提升了软件升级的便捷性。
如图2所示,本申请实施例提供了一种软件升级装置20,该软件升级装置20包括指令接收模块21、升级内容获取模块22以及软件升级模块23。其中,指令接收模块21用于接收升级指令;升级内容获取模块22用于获取所述升级指令对应的升级内容;软件升级模块23用于根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作;其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
在一些实施例中,所述升级内容用于指示对所述应用程序进行升级,所述软件升级模块23具体用于:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容对所述应用程序执行升级操作。
在一些实施例中,所述升级内容用于指示对所述第一BootLoader程序进行升级,所述软件升级模块23具体用于:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;判断所述第二BootLoader程序是否存在;若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容判断是否对所述应用程序执行升级操作;若不对所述应用程序执行升级操作,则控制所述第二BootLoader程序根据所述升级内容对所述第一BootLoader程序执行升级操作。
在一些实施例中,所述升级内容用于指示对所述第二BootLoader程序进行升级,所述软件升级模块23具体用于:运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;控制所述第一BootLoader程序根据所述升级内容对所述第二BootLoader程序执行升级操作。
在一些实施例中,所述装置20还包括校验处理模块24,在执行所述软件升级模块23的功能之前,所述校验处理模块24用于根据所述升级内容获取升级文件信息,并校验所述升级文件信息;在所述升级文件信息校验通过时,执行所述软件升级模块23的功能,即根据所述引导程序执行软件升级操作的步骤。
在一些实施例中,所述装置20还包括防呆模块25,所述防呆模块25用于获取所述升级文件信息对应的防呆信息,所述防呆信息用于标识所述升级文件信息中的升级文件。
在一些实施例中,所述装置20还包括信息备份模块26,所述信息备份模块26用于在所述升级文件信息校验通过时,备份所述升级文件信息。
需要说明的是,上述软件升级装置可执行本申请实施例所提供的软件升级方法,具备执行方法相应的功能模块和有益效果。未在本软件升级装置实施例详尽描述的技术细节,可参见本申请实施例所提供的软件升级方法。
如图3所示,本申请实施例提供了一种电池管理系统,该电池管理系统30包括:
一个或多个处理器31以及存储器32,图3中以一个处理器31为例。
处理器31和存储器32可以通过总线或者其他方式连接,图3中以通过总线连接为例。
存储器32作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的软件升级方法对应的程序指令/模块(例如,附图2所示的各个模块)。处理器31通过运行存储在存储器32中的非易失性软件程序、指令以及模块,从而执行所述电池管理系统的各种功能应用以及数据处理,即实现上述方法实施例软件升级方法。
所述一个或者多个模块存储在所述存储器32中,当被所述一个或者多个处理器31执行时,执行上述任意方法实施例中的软件升级方法,例如,执行以上描述的图1中的方法步骤,实现图2中的模块的功能。
本申请实施例提供的电池管理系统30还可以包括:控制模组、显示模组、无线通信模组、采集模组以及电气设备等。该电池管理系统30可以用于智能化管理和维护各个电池单元,防止电池出现过充电和过放电,监控电池的状态以及延长电池的使用寿命;通过传感器对所述电池管理系统中的电池的电压、电流、温度进行试试检测,同时还进行漏电监测、计算剩余容量、报警提醒等。
所述电池管理系统30通过所述处理器31执行所述软件升级方法,有效的避免了在电池管理系统30升级过程中可能会出现由于操作失误、升级错误文件、软件设计缺陷等原因导致升级错误,只能通过拆包重新烧录软件来纠正错误的问题。
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。
本申请实施例还提供了一种电池,该电池包括电芯,以及如上所述的电池管理系统,该电池管理系统用于管理所述电芯的充电和放电。在充电和放电的过程中,可基于上述软件升级方法对所述电池的相关软件进行升级。
本申请实施例还提供了一种用电装置,该用电装置包括负载,以及上述电池,所述电池用于为所述负载供电。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
通过以上的实施方式的描述,本领域普通技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random Access Memory,RAM)等。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的范围。
Claims (11)
1.一种软件升级方法,其特征在于,所述方法包括:
接收升级指令;
获取所述升级指令对应的升级内容;
根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作;
其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
2.根据权利要求1所述的方法,其特征在于,所述升级内容用于指示对所述应用程序进行升级,
所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:
运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;
判断所述第二BootLoader程序是否存在;
若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容对所述应用程序执行升级操作。
3.根据权利要求1所述的方法,其特征在于,所述升级内容用于指示对所述第一BootLoader程序进行升级,
所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:
运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;
判断所述第二BootLoader程序是否存在;
若存在,则运行所述第二BootLoader程序,并控制所述第二BootLoader程序根据所述升级内容判断是否对所述应用程序执行升级操作;
若不对所述应用程序执行升级操作,则控制所述第二BootLoader程序根据所述升级内容对所述第一BootLoader程序执行升级操作。
4.根据权利要求1所述的方法,其特征在于,所述升级内容用于指示对所述第二BootLoader程序进行升级,
所述根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作,包括:
运行第一BootLoader程序,加载所述升级指令,以获得所述升级内容;
控制所述第一BootLoader程序根据所述升级内容对所述第二BootLoader程序执行升级操作。
5.根据权利要求1至4任一项所述的方法,其特征在于,在执行所述根据所述引导程序执行软件升级操作的步骤之前,所述方法还包括:
根据所述升级内容获取升级文件信息,并校验所述升级文件信息;
在所述升级文件信息校验通过时,执行所述根据所述引导程序执行软件升级操作的步骤。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
获取所述升级文件信息对应的防呆信息,所述防呆信息用于标识所述升级文件信息中的升级文件。
7.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述升级文件信息校验通过时,备份所述升级文件信息。
8.一种软件升级装置,其特征在于,所述装置包括:
指令接收模块,用于接收升级指令;
升级内容获取模块,用于获取所述升级指令对应的升级内容;
软件升级模块,用于根据所述升级内容跳转至对应的引导程序,并根据所述引导程序执行软件升级操作;其中,所述引导程序包括:第一BootLoader程序和第二BootLoader程序,所述第一BootLoader程序用于升级所述第二BootLoader程序,所述第二BootLoader程序用于升级所述第一BootLoader程序或应用程序。
9.一种电池管理系统,其特征在于,包括:
至少一个处理器;以及,
与所述至少一个处理器通信连接的存储器;其中,
所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1至7任一项所述的方法。
10.一种电池,其特征在于,包括电芯和如权利要求9所述的电池管理系统,所述电池管理系统用于管理所述电芯的充电和放电。
11.一种用电装置,包括负载,其特征在于,还包括如权利要求10所述的电池,所述电池为所述负载供电。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110801591.2A CN113608758A (zh) | 2021-07-15 | 2021-07-15 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110801591.2A CN113608758A (zh) | 2021-07-15 | 2021-07-15 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113608758A true CN113608758A (zh) | 2021-11-05 |
Family
ID=78304713
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110801591.2A Pending CN113608758A (zh) | 2021-07-15 | 2021-07-15 | 软件升级方法、装置、电池管理系统、电池及用电装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113608758A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268971A (zh) * | 2022-09-27 | 2022-11-01 | 北京东远润兴科技有限公司 | 信号处理系统的更新方法、装置、设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070074015A1 (en) * | 2005-09-29 | 2007-03-29 | Nec Corporation | Control apparatus, upgrade method and program product of the same |
CN106257417A (zh) * | 2015-06-17 | 2016-12-28 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
CN111831311A (zh) * | 2019-04-18 | 2020-10-27 | 东莞新能安科技有限公司 | 应用程序升级方法、电子设备及存储介质 |
CN112527371A (zh) * | 2020-12-17 | 2021-03-19 | 杭州海康威视数字技术股份有限公司 | 一种引导加载程序升级方法、装置、电子设备及存储介质 |
CN112596766A (zh) * | 2020-12-24 | 2021-04-02 | 浙江合众新能源汽车有限公司 | 基于Bootloader的软件升级方法及装置 |
WO2021115477A1 (zh) * | 2019-12-13 | 2021-06-17 | 中兴通讯股份有限公司 | 程序升级方法、装置、电子设备及存储介质 |
-
2021
- 2021-07-15 CN CN202110801591.2A patent/CN113608758A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070074015A1 (en) * | 2005-09-29 | 2007-03-29 | Nec Corporation | Control apparatus, upgrade method and program product of the same |
CN106257417A (zh) * | 2015-06-17 | 2016-12-28 | 中兴通讯股份有限公司 | 引导程序升级方法、嵌入式设备、控制设备及嵌入式系统 |
CN111831311A (zh) * | 2019-04-18 | 2020-10-27 | 东莞新能安科技有限公司 | 应用程序升级方法、电子设备及存储介质 |
WO2021115477A1 (zh) * | 2019-12-13 | 2021-06-17 | 中兴通讯股份有限公司 | 程序升级方法、装置、电子设备及存储介质 |
CN112527371A (zh) * | 2020-12-17 | 2021-03-19 | 杭州海康威视数字技术股份有限公司 | 一种引导加载程序升级方法、装置、电子设备及存储介质 |
CN112596766A (zh) * | 2020-12-24 | 2021-04-02 | 浙江合众新能源汽车有限公司 | 基于Bootloader的软件升级方法及装置 |
Non-Patent Citations (2)
Title |
---|
ALIOS THINGS: ""AliOS Things 二级bootloader方案介绍"", pages 1 - 13, Retrieved from the Internet <URL:《https://blog.csdn.net/HaaSTech/article/details/114946049》> * |
刘荣: ""一种适用于MCU的通用Bootloader设计与实现"", 《电子技术与软件工程》, no. 10, pages 54 - 56 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115268971A (zh) * | 2022-09-27 | 2022-11-01 | 北京东远润兴科技有限公司 | 信号处理系统的更新方法、装置、设备及存储介质 |
CN115268971B (zh) * | 2022-09-27 | 2023-01-10 | 北京东远润兴科技有限公司 | 信号处理系统的更新方法、装置、设备及存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103455354A (zh) | 一种防止固件升级失败的方法和设备 | |
US9471435B2 (en) | Information processing device, information processing method, and computer program | |
US20140310698A1 (en) | Apparatus and method for upgrading firmware of mobile terminal | |
JP4482029B2 (ja) | 無線基地局および無線基地局の運用方法 | |
CN110333891A (zh) | 基于物联网的增强型ota升级的方法 | |
CN105260215A (zh) | 一种u盘升级车载行车记录仪终端的方法 | |
CN101807152B (zh) | 自我验证选择只读存储器的基本输出入系统及其验证方法 | |
CN101639785A (zh) | 软件升级方法及装置 | |
CN103106083B (zh) | 一种固件的加载方法及装置 | |
CN111651174A (zh) | 一种mcu程序远程升级方法和系统 | |
CN112152846B (zh) | 一种基于物联网的计量仪表远程升级方法 | |
CN114115984A (zh) | 服务器固件升级的方法、存储设备及终端 | |
CN113608758A (zh) | 软件升级方法、装置、电池管理系统、电池及用电装置 | |
CN114443081A (zh) | 终端升级的方法及终端 | |
CN110007935B (zh) | 一种程序升级的处理方法、装置及设备 | |
CN113360175A (zh) | 车辆控制器的应用更新方法及车辆控制器 | |
CN112181455B (zh) | 微控制器的在线升级方法、微控制器及存储介质 | |
EP3043262A1 (en) | Method and device for remote base station version installation | |
CN111984287A (zh) | 设备升级方法及系统 | |
CN111831311A (zh) | 应用程序升级方法、电子设备及存储介质 | |
KR100832269B1 (ko) | 무선 통신 단말의 프로그램 갱신 방법 및 시스템 | |
CN106104474B (zh) | 用于更新低存储量装置上的固件的方法 | |
CN110309018B (zh) | 充电设备系统切换方法、充电设备及可读存储介质 | |
CN108920480B (zh) | 一种文件系统异常的处理方法及设备、计算机存储介质 | |
KR20090005906A (ko) | 휴대 단말기의 데이타 백업장치 및 방법 |
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 |