一种工程机械用车载控制器及其程序更新方法与流程
- 国知局
- 2024-09-14 14:36:30
本发明涉及车载控制器,尤其涉及一种工程机械用车载控制器及其程序更新方法。
背景技术:
1、工程机械在设计、生产、使用、维护过程中需要对车载控制器应用程序进行更新,因此对控制器程序更新方法的稳定性要求较高,应杜绝因程序升级失败导致控制器失效而造成的工程机械无法使用的问题。车载控制器软件中通常包含两部分内容,引导加载程序bootloader和应用程序(app)。bootloader程序与应用程序都固化在控制器flash中,控制器上电时,嵌入式系统首先运行bootloader程序,对控制器硬件、软件进行初始化操作,并判断是否需要更新应用程序,如不需要更新应用程序,程序运行跳转至应用程序起始位置,并将应用程序加载到ram空间中运行。如判断需要更新应用程序,bootloader通过通信总线下载上位机中待更新的app至控制器flash中原app存储位置,实现控制器应用程序更新。
2、因使用车载控制器的工程机械普遍有软件功能升级的需求,可靠的控制器程序升级方法是保障控制器正常工作的重要组成。常规的程序更新方法缺少对原应用程序的备份,在程序更新中遇到异常断电等问题时会出现应用程序更新失败的情况,导致控制器重新上电后无法正常使用。
技术实现思路
1、本发明的目的在于克服现有技术中的不足,提供一种工程机械用车载控制器及其程序更新方法种,解决现有程序更新方法缺少对更新失败情况的应对方法的技术问题。
2、为达到上述目的,本发明是采用下述技术方案实现的:
3、第一方面,本发明提供了一种工程机械用车载控制器程序更新方法,所述车载控制器与上位机通讯连接,包括:
4、车载控制器上电,运行flash内存中的主bootloader程序存储区中的主bootloader程序,接收上位机的通讯信息,并判断是否存在程序更新命令;
5、若存在程序更新命令,则从上位机下载待更新程序至ram内存的从bootloader程序存储区;
6、对从bootloader程序存储区内待更新程序进行完整性校验,若校验通过,则将待更新程序拷贝至flash内存中的上一版本程序存储区,并擦除从bootloader程序存储区中的待更新程序;
7、对上一版本程序存储区内待更新程序进行完整性校验,若校验通过,则交换flash内存中的当前版本程序存储区和上一版本程序存储区的应用程序运行权限。
8、可选的,所述车载控制器和所述上位机通过can总线通讯连接。
9、可选的,所述程序更新命令通过上位机修改主bootloader程序的程序更新执行校验位实现。
10、可选的,所述完整性校验通过crc校验实现。
11、可选的,所述交换flash内存中的当前版本程序存储区和上一版本程序存储区的程序运行权限通过修改应用程序的运行区域校验位实现。
12、可选的,所述应用程序运行权限交换后,将当前版本程序存储区作为上一版本程序存储区,同时将上一版本程序存储区作为当前版本程序存储区。
13、可选的,若需要撤销程序更新,则通过上位机发送撤销程序更新指令;主bootloader程序再次交换flash内存中的当前版本程序存储区和上一版本程序存储区的应用程序运行权限。
14、第二方面,本发明提供了一种工程机械用车载控制器,包括flash内存和ram内存,所述flash内存包括主bootloader程序存储区、当前版本程序存储区以及上一版本程序存储区,所述ram内存包括从bootloader程序存储区;所述车载控制器用于与上位机通讯连接,并实现如权利要求1-7任一项所述的程序更新方法。
15、可选的,所述车载控制器和所述上位机通过can总线通讯连接。
16、可选的,所述主bootloader程序存储区为受保护内存,所述当前版本程序存储区和所述上一版本程序存储区为可擦写内存。
17、与现有技术相比,本发明所达到的有益效果:
18、本发明提供的一种工程机械用车载控制器及其程序更新方法,通过设置主、从bootloader减少对车载控制器flash内存的过多占用。通过在flash内存中设置当前版本区、上一版本区实现应用程序的版本备份,在应用程序更新过程中遇到突发情况导致程序更新失败,或更新后应用程序需返回上一版本的情况下保障控制器应用程序的正常工作。通过多次数据完整性校验,保障更新应用程序的完整、准确。通过以上设计,极大降低了工程机械用控制器在使用过程中因程序更新导致控制器出现问题的概率,增强了控制器的稳定性,进而保障工程机械主机的可靠使用。
技术特征:1.一种工程机械用车载控制器程序更新方法,所述车载控制器与上位机通讯连接,其特征在于,包括:
2.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,所述车载控制器和所述上位机通过can总线通讯连接。
3.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,所述程序更新命令通过上位机修改主bootloader程序的程序更新执行校验位实现。
4.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,所述完整性校验通过crc校验实现。
5.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,所述交换flash内存中的当前版本程序存储区和上一版本程序存储区的程序运行权限通过修改应用程序的运行区域校验位实现。
6.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,所述应用程序运行权限交换后,将当前版本程序存储区作为上一版本程序存储区,同时将上一版本程序存储区作为当前版本程序存储区。
7.根据权利要求1所述的工程机械用车载控制器程序更新方法,其特征在于,若需要撤销程序更新,则通过上位机发送撤销程序更新指令;主bootloader程序再次交换flash内存中的当前版本程序存储区和上一版本程序存储区的应用程序运行权限。
8.一种工程机械用车载控制器,其特征在于,包括flash内存和ram内存,所述flash内存包括主bootloader程序存储区、当前版本程序存储区以及上一版本程序存储区,所述ram内存包括从bootloader程序存储区;所述车载控制器用于与上位机通讯连接,并实现如权利要求1-7任一项所述的程序更新方法。
9.根据权利要求8所述的工程机械用车载控制器,其特征在于,所述车载控制器和所述上位机通过can总线通讯连接。
10.根据权利要求8所述的工程机械用车载控制器,其特征在于,所述主bootloader程序存储区为受保护内存,所述当前版本程序存储区和所述上一版本程序存储区为可擦写内存。
技术总结本发明公开了一种工程机械用车载控制器及其程序更新方法,其方法包括:运行Flash内存中的主BootLoader程序存储区中的主BootLoader程序,接收上位机的通讯信息,并判断是否存在程序更新命令;若存在程序更新命令,则从上位机下载待更新程序至RAM内存的从BootLoader程序存储区;对从BootLoader程序存储区内待更新程序进行完整性校验,若校验通过,则将待更新程序拷贝至Flash内存中的上一版本程序存储区,并擦除从BootLoader程序存储区中的待更新程序;对上一版本程序存储区内待更新程序进行完整性校验,若校验通过,则交换Flash内存中的当前版本程序存储区和上一版本程序存储区的应用程序运行权限;通过在FLASH内存中设置两个应用程序区,从而实现应用程序的更新和备份,提高车载控制器使用可靠性。技术研发人员:张琛,高参,刘洋受保护的技术使用者:江苏汇智高端工程机械创新中心有限公司技术研发日:技术公布日:2024/9/12本文地址:https://www.jishuxx.com/zhuanli/20240914/295037.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。
下一篇
返回列表