System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及控制领域,尤其涉及一种控制器程序刷写方法、装置、存储介质及控制器。
技术介绍
1、近年来,随着新能源汽车技术的迅速发展,越来越多的人更倾向使用新能源汽车,同时人们对汽车各功能、驾驶安全性以及舒适度也有了更高的要求,在一定的程度上也促进了新能源汽车相关行业的发展。为了应对这些要求,新能源汽车需要不断进行更新完善。
2、控制器作为新能源汽车的核心部件,决定着整车的各项功能,而控制器的功能通常由软件程序设定,其中都涉及到软件的更新刷写问题。同时,在新能源汽车的研发、生产、售后等阶段,几乎每个阶段都有软件程序更新的需求。但是在更新程序的过程中,总会遇到许多问题,例如程序的逻辑可能存在漏洞,或者程序的刷写过程可能会出现错误,导致无法进行刷写。
3、在控制器中,软件程序存储于运行芯片flash中,flash根据不同芯片划分为多个扇区,用于存储软件程序。程序烧录也存在多种方式,例如仿真器烧录、spi、can、串口等方式。目前行业内普遍采用can通信进行数据收发烧录程序,其优点在于不用拆卸控制器、更新速度快、接线方便等。采用can通信方式进行程序烧录,通常控制器程序需要分为底层boot程序和应用程序,分别存储于flash中不同扇区。底层程序用于更新应用程序程序,作为应用程序载体,接收应用程序数据并烧录至芯片flash指定扇区;而应用程序为控制器功能程序。
4、相关技术中的程序刷写流程图如图2所示,其通过上位机采用can通信进行数据收发方式,请求执行握手动作,应用程序根据接收到的握手请求信号,跳转
5、在以上程序刷写过程中,在接收校验并存储应用程序期间,若中途出现异常,如断电、数据接收中断等,将导致程序刷写失败,应用程序数据丢失。再次进行刷写更新时,将无法由应用程序进行跳转至boot程序握手,导致应用程序无法刷写。
技术实现思路
1、本专利技术的主要目的在于克服上述相关技术的缺陷,提供一种控制器程序刷写方法、装置、存储介质及控制器,以解决相关技术中因应用程序刷写失败导致应用程序数据丢失,最后无法刷写程序的问题。
2、本专利技术一方面提供了一种控制器程序刷写方法,包括:在所述控制器上电后,由所述控制器的底层boot程序检测所述控制器中是否存在应用层程序;若检测所述控制器中无应用层程序,则所述底层boot程序接收上位机发送的握手指令;在所述底层boot程序接收到上位机发送的握手指令,并与所述上位机握手成功后,所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用层程序数据,并存储至所述应用层程序存储区中。
3、可选地,还包括:若检测所述控制器中存在应用层程序,则确定是否进行应用层程序的强制刷写;若确定进行应用程序的强制刷写,则所述底层boot程序接收上位机发送的握手指令;在所述底层boot程序接收到上位机发送的握手指令,并与所述上位机握手成功后,所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用程序数据,并存储至所述应用层程序存储区中。
4、可选地,还包括:若确定不进行应用程序的强制刷写,则所述应用层程序接收上位机发送的握手指令;在所述应用层程序接收到上位机发送的握手指令,并与所述上位机握手成功后,跳转到所述底层boot程序,由所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用程序数据,并存储至所述应用层程序存储区中。
5、可选地,确定是否进行应用层程序的强制刷写,包括:识别上位机发送的握手指令中的预设字段是否为进行强制刷写的标识;若所述预设字段为进行强制刷写的标识,则确定进行应用层程序的强制刷写;其中,上位机在显示界面上显示是否进行强制刷写的选项,并接收对所述是否进行强制刷写的选项的选择,以确定是否进行强制刷写。
6、本专利技术另一方面提供了一种控制器程序刷写装置,包括:检测单元,用于在所述控制器上电后,由所述控制器的底层boot程序检测所述控制器中是否存在应用层程序;第一接收单元,用于若检测所述控制器中无应用层程序,则所述底层boot程序接收上位机发送的握手指令;刷写单元,用于在所述底层boot程序接收到上位机发送的握手指令,并与所述上位机握手成功后,所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用层程序数据,并存储至所述应用层程序存储区中。
7、可选地,还包括:确定单元,用于若检测所述控制器中存在应用层程序,则确定是否进行应用层程序的强制刷写;所述第一接收单元,还用于:若确定进行应用程序的强制刷写,则所述底层boot程序接收上位机发送的握手指令;所述刷写单元,进一步用于:在所述底层boot程序接收到上位机发送的握手指令,并与所述上位机握手成功后,所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用程序数据,并存储至所述应用层程序存储区中。
8、可选地,还包括:第二接收单元,用于若确定不进行应用程序的强制刷写,则所述应用层程序接收上位机发送的握手指令;跳转单元,用于在所述应用层程序接收到上位机发送的握手指令,并与所述上位机握手成功后,跳转到所述底层boot程序;所述刷写单元,进一步用于:由所述底层boot程序擦除应用层程序存储区中原有的数据,接收所述上位机发送的更新的应用程序数据,并存储至所述应用层程序存储区中。
9、可选地,所述确定单元,确定是否进行应用层程序的强制刷写,包括:识别上位机发送的握手指令中的预设字段是否为进行强制刷写的标识;若所述预设字段为进行强制刷写的标识,则确定进行应用层程序的强制刷写;其中,上位机在显示界面上显示是否进行强制刷写的选项,并接收对所述是否进行强制刷写的选项的选择,以确定是否进行强制刷写。
10、本专利技术又一方面提供了一种存储介质,其上存储有计算机程序,所述程序被处理器执行时实现前述任一所述方法的步骤。
11、本专利技术再一方面提供了一种控制器,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现前述任一所述方法的步骤。
12、本专利技术再一方面提供了一种控制器,包括前述任一所述的控制器程序刷写装置。
13、根据本专利技术的技术方案,在应用层程序缺失的情况下,能够通过上位机与底层boot程序进行直接握手方式,无需通过应用程序跳转握手,实现应用程序强制刷写功能,解决了因应用程序程序的丢失导致无法刷写程序的问题,提高了刷写程序的效率。
14、根据本专利技术的技术方案,增加强制刷写模式,能够避免程序测试时无法刷写程序的问题,同时提高了控制器售后刷写程序的效率。
本文档来自技高网...【技术保护点】
1.一种控制器程序刷写方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求2或3所述的方法,其特征在于,确定是否进行应用层程序的强制刷写,包括:
5.一种控制器程序刷写装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,还包括:
7.根据权利要求6所述的装置,其特征在于,还包括:
8.根据权利要求6或7所述的装置,其特征在于,所述确定单元,确定是否进行应用层程序的强制刷写,包括:
9.一种存储介质,其特征在于,其上存储有计算机程序,所述程序被处理器执行时实现权利要求1-4任一所述方法的步骤。
10.一种控制器,其特征在于,包括处理器、存储器以及存储在存储器上可在处理器上运行的计算机程序,所述处理器执行所述程序时实现权利要求1-4任一所述方法的步骤,或者包括如权利要求5-8任一所述的控制器程序刷写装置。
【技术特征摘要】
1.一种控制器程序刷写方法,其特征在于,包括:
2.根据权利要求1所述的方法,其特征在于,还包括:
3.根据权利要求2所述的方法,其特征在于,还包括:
4.根据权利要求2或3所述的方法,其特征在于,确定是否进行应用层程序的强制刷写,包括:
5.一种控制器程序刷写装置,其特征在于,包括:
6.根据权利要求5所述的装置,其特征在于,还包括:
7.根据权利要求6所述的装置,其特征在于,还包括:<...
【专利技术属性】
技术研发人员:陈广辉,钟国翔,张功骁,
申请(专利权)人:珠海格力电器股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。