本发明属于电池管理系统领域,具体是一种具备历史版本保存功能的软件分区升级方法。
背景技术:
1、随着技术的发展和功能的升级,电池管理系统软件也需要不断更新优化。常规的升级方式是将专门的升级器连接到电池管理系统电路板上专门的升级端口上,再通过对应的开发软件将新软件升级到芯片当中。这种方式对设备和操作人员的要求比较高,升级操作人员必须持有专门的升级器和安装了开发软件的电脑,同时他还需要熟悉开发软件的升级操作步骤,才能完成软件升级。
2、在升级过程中,如果发生数据传输出错或者升级中断等情况,不仅新软件升级失败,老软件也会因为在升级之前已经被删除而无法继续运行,此时必须重新升级好的软件才能解决,这样不仅浪费时间,而且影响使用体验。
技术实现思路
1、为了解决这个问题,本发明提出了一种具备历史版本保存功能的软件智能分区升级方法。该方法摆脱了软件升级对于专用升级器和升级电脑的依赖,同时还具备软件分区升级功能,能够保存软件的历史版本,防止出现升级过程出错或中断而导致设备死机无法使用的情况。
2、所述的一种具备历史版本保存功能的软件分区升级方法,包括以下步骤:
3、s1将电池管理系统的软件储存空间按照地址从低到高的顺序划分,分别为引导程序区、软件运行区、软件下载区和升级标志区;
4、s2上位机向系统发送升级指令,系统接收升级指令后运行引导程序区内的升级引导软件;
5、s3上位机将需要升级的软件数据分批次传输给升级引导程序;
6、s4升级引导程序收到软件数据包后,对其进行一次校验,若校验通过,则将软件数据按批次顺序存储到软件下载区中;否则,将让上位机重新传输该批次的软件数据包;
7、s5所有软件数据包都传输完成,且全部数据都已存储到软件下载区后,升级引导程序会对软件数据进行全局校验,并反馈校验结果;
8、s6根据步骤s5中的校验结果,进行
9、s62全局校验成功,将存储在软件下载区的新软件数据整体迁移到软件运行区,并且跳转运行新软件;
10、s62全局校验失败,反馈全局校验失败的结果,等待上位机的下一步指令。
11、进一步的,所述步骤s62包括:
12、s621上位机重新进行软件升级,重复步骤s1-s5;
13、s622上位机放弃本次升级,不再发送升级指令,系统运行存储在软件运行区的旧软件。
14、进一步的,所述通过引导程序区内的升级引导软件与上位机软件建立升级通信,并将接收的软件下载区。
15、进一步的,在软件运行区存储系统运行的软件数据。
16、进一步的,在升级标志区内存放升级过程中产生的标志,并通过标志指示升级过程的不同状态。
17、与现有技术相比,本发明有以下优点:
18、该方法只需要设备与上位机软件建立通信连接即可实现升级功能,摆脱了设备软件升级对专用升级器和安装了开发软件的电脑的依赖,同时对升级操作人员的要求也更低。另外,通过对设备的软件存储空间进行了重新规划,提高了存储空间利用率,并且实现了具备历史版本保存功能的软件分区升级方法。
1.一种具备历史版本保存功能的软件分区升级方法,其特征在于包括以下步骤:
2.根据权利要求1所述的一种具备历史版本保存功能的软件分区升级方法,其特征在于所述步骤s62包括:
3.根据权利要求1所述的一种具备历史版本保存功能的软件分区升级方法,其特征在于所述通过引导程序区内的升级引导软件与上位机软件建立升级通信,并将接收的软件下载区。
4.根据权利要求1所述的一种具备历史版本保存功能的软件分区升级方法,其特征在于在软件运行区存储系统运行的软件数据。
5.根据权利要求1所述的一种具备历史版本保存功能的软件分区升级方法,其特征在于在升级标志区内存放升级过程中产生的标志,并通过标志指示升级过程的不同状态。