CN117215603B - 域控制器的软件刷写方法、装置、计算机设备和存储介质 - Google Patents
域控制器的软件刷写方法、装置、计算机设备和存储介质 Download PDFInfo
- Publication number
- CN117215603B CN117215603B CN202311475008.9A CN202311475008A CN117215603B CN 117215603 B CN117215603 B CN 117215603B CN 202311475008 A CN202311475008 A CN 202311475008A CN 117215603 B CN117215603 B CN 117215603B
- Authority
- CN
- China
- Prior art keywords
- software
- cluster
- software cluster
- target
- target software
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 230000001680 brushing effect Effects 0.000 claims abstract description 17
- 238000012795 verification Methods 0.000 claims description 173
- 230000002452 interceptive effect Effects 0.000 claims description 65
- 238000004590 computer program Methods 0.000 claims description 21
- 230000003993 interaction Effects 0.000 claims description 21
- 230000008569 process Effects 0.000 description 21
- 238000010586 diagram Methods 0.000 description 10
- 238000007726 management method Methods 0.000 description 8
- 238000004891 communication Methods 0.000 description 6
- 230000001419 dependent effect Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000012360 testing method Methods 0.000 description 4
- 230000006872 improvement Effects 0.000 description 3
- 238000002360 preparation method Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000011010 flushing procedure Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- OKTJSMMVPCPJKN-UHFFFAOYSA-N Carbon Chemical compound [C] OKTJSMMVPCPJKN-UHFFFAOYSA-N 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 125000004122 cyclic group Chemical group 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 229910021389 graphene Inorganic materials 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000007257 malfunction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请涉及一种域控制器的软件刷写方法、装置、计算机设备和存储介质。所述方法包括:获取待刷写文件,待刷写文件包括编译后文件;确定待刷写文件对应的目标软件簇,其中,域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方;基于编译后文件对目标软件簇的存储区域进行刷写。采用本方法能够有效提高域控制器刷写效率。
Description
技术领域
本申请涉及智能控制技术领域,特别是涉及一种域控制器的软件刷写方法、装置、计算机设备、存储介质和计算机程序产品。
背景技术
随着对车辆智能化要求的提高,整车电子电气架构逐渐朝域控和区域集中化发展,域控制器或区域控制器上需要整合集成多个供应方提供的应用,来为用户提供相应的智能化服务。而为了满足用户的实际需求,域控制器或区域控制器上所集成的应用软件经常需要进行刷写,以完成相应功能的更新迭代。
在对域控制器上的应用软件进行刷写时,需要域控制器进行长时间的刷写编译,当编译出现错误时,需要与多方供应方进行交互,反复通知供应方进行修改,因此,常用的域控软件集成方法容易出现编译时间长,刷写效率低的问题。
发明内容
基于此,有必要针对上述技术问题,提供一种能够有效提高域控制器刷写效率的域控制器的软件刷写方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
第一方面,本申请提供了一种域控制器的软件刷写方法,所述方法包括:
获取待刷写文件,所述待刷写文件包括编译后文件;
确定所述待刷写文件对应的目标软件簇,其中,所述域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方;
基于所述编译后文件对所述目标软件簇的存储区域进行刷写。
上述实施例中,通过将域控制器的软件刷写过程以软件簇的方式进行解耦的同时,直接获取编译后文件进行软件刷写,能够有效减少域控制器与多方供应方的交互,同时减少域控制器的编译时长,大幅度提高了域控制器的软件刷写效率。
在其中一个实施例中,所述基于所述编译后文件对所述目标软件簇的存储区域进行刷写,包括:
对所述目标软件簇进行软件簇信息核验;
在所述软件簇信息核验成功的情况下,擦除所述目标软件簇的存储区域中的历史应用程序;
根据所述编译后文件在所述目标软件簇的存储区域刷写所述目标软件簇的目标应用程序。
上述实施例中,通过对目标软件簇进行软件簇信息核验,并在核验成功的情况下才继续进行软件刷写操作,能够有效提高域控制器软件刷写的准确性。
在其中一个实施例中,所述对所述目标软件簇进行软件簇信息核验,包括:
获取所述目标软件簇的软件簇编码;
将所述软件簇编码与所述域控制器的配置软件簇编码范围进行比较;
在所述软件簇编码属于所述配置软件簇编码范围的情况下,确定所述目标软件簇的编码信息核验成功。
上述实施例中,通过将目标软件簇的软件簇编码与域控制器的配置软件簇编码范围进行比较,可以快速确定目标软件簇的编码信息核验结果,只有在目标软件簇编码信息核验成功的情况下才继续执行后续的刷写步骤,有效降低了刷写过程中刷写失败的概率,提高了域控制器软件刷写效率。
在其中一个实施例中,所述对所述目标软件簇进行软件簇信息核验,还包括:
从所述编译后文件中获取所述目标软件簇的版本兼容范围;
将所述历史应用程序的历史程序版本与所述目标软件簇的版本兼容范围进行比较;
在所述历史程序版本属于所述版本兼容范围的情况下,确定所述目标软件簇的版本信息核验成功。
上述实施例中,通过将目标软件簇历史应用程序的历史程序版本与目标软件簇的版本兼容范围进行比较,可以快速确定目标软件簇的版本信息核验结果,只有在目标软件簇版本信息核验成功的情况下才继续执行后续的刷写步骤,有效降低了刷写过程中刷写失败的概率,提高了域控制器软件刷写效率。
在其中一个实施例中,所述根据所述编译后文件在所述目标软件簇的存储区域刷写所述目标软件簇的目标应用程序,包括:
对所述目标软件簇进行软件簇交互依赖校验;
在所述软件簇交互依赖校验成功的情况下,根据从所述编译后文件中下载的所述目标软件簇的目标应用程序,对所述目标软件簇对应存储区域进行刷写。
上述实施例中,通过对目标软件簇进行软件簇交互依赖校验,并在核验成功的情况下才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
在其中一个实施例中,所述对所述目标软件簇进行软件簇交互依赖校验,包括:
从所述编译后文件中获取所述目标软件簇的版本依赖信息,所述版本依赖信息包括所述目标软件簇对所述域控制器中其他软件簇的版本依赖范围;
在所述域控制器中所述其他软件簇的当前版本均属于其他软件簇对应的版本依赖范围的情况下,确定所述目标软件簇的交互版本依赖校验成功。
上述实施例中,通过将域控制器中其他软件簇的当前版本分别与目标软件簇的版本依赖范围进行比较,能够快速确定目标软件簇的交互版本依赖校验结果,只有在目标软件簇的交互版本依赖校验成功的情况下,才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
在其中一个实施例中,所述方法还包括:
在所述目标软件簇的交互版本依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题版本软件簇;
在所述问题版本软件簇的当前状态为刷写状态,且所述目标软件簇与所述问题版本软件簇互为对方的问题版本软件簇的情况下,确定所述目标软件簇交互版本依赖校验成功。
上述实施例中,在目标软件簇的交互版本依赖校验不成功的情况下,对目标软件簇与问题版本软件簇进行版本循环依赖问题判定,当确定存在版本循环依赖问题时,通过开放目标软件簇对问题版本软件簇的版本依赖范围,能够使目标软件簇正常更新,有效提高了域控制器的刷写效率。
在其中一个实施例中,所述对所述目标软件簇进行软件簇交互依赖校验,包括:
从所述编译后文件中获取所述目标软件簇的本地接口清单,所述目标软件簇的本地接口清单包括所述目标软件簇的输入接口信息和输出接口信息;
获取所述域控制器中其他软件簇的本地接口清单,所述其他软件簇的本地接口清单包括所述其他软件簇的输入接口信息和输出接口信息;
将所述目标软件簇的本地接口清单与所述其他软件簇的本地接口清单进行比较;
在所述目标软件簇中存在所述其他软件簇需要的输出接口,且,所述其他软件簇中存在所述目标软件簇的输入接口的情况下,确定所述目标软件簇的交互接口依赖校验成功。
上述实施例中,通过将目标软件簇的本地接口清单与域控制器中其他软件簇的本地接口请单进行比较,能够快速确定目标软件簇的交互接口依赖校验结果,只有在目标软件簇的交互接口依赖校验成功的情况下,才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
在其中一个实施例中,所述方法还包括:
在所述目标软件簇的交互接口依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题接口软件簇;
在所述问题接口软件簇的当前状态为刷写状态,且所述目标软件簇与所述问题接口软件簇互为对方的问题接口软件簇的情况下,确定所述目标软件簇交互接口依赖校验成功。
上述实施例中,在目标软件簇的交互接口依赖校验不成功的情况下,对目标软件簇与问题接口软件簇进行接口循环依赖问题判定,当确定存在接口循环依赖问题时,通过开放目标软件簇对问题版本软件簇的接口依赖范围,能够使目标软件簇正常更新,有效提高了域控制器的刷写效率。
第二方面,本申请还提供了一种域控制器的软件刷写装置,所述装置包括:
文件获取模块,用于获取待刷写文件,所述待刷写文件包括编译后文件;
目标软件簇确定模块,用于确定所述待刷写文件对应的目标软件簇,其中,所述域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方;
刷写模块,用于基于所述编译后文件对所述目标软件簇的存储区域进行刷写。
第三方面,本申请还提供了一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法的步骤。
第四方面,本申请还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述的方法的步骤。
第五方面,本申请还提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述的方法的步骤。
上述域控制器的软件刷写方法、装置、计算机设备、存储介质和计算机程序产品,将域控制器中来自于同一程序供应方的应用程序聚类为一个软件簇,域控制器可以认为是由两个以上的软件簇配置而成的集成式控制器,在进行刷写时,域控制器无需对所有应用程序的源代码进行编译集成刷写,而是直接获取目标软件簇的待刷写文件,待刷写文件中包括了编译后文件,域控制器可以基于编译后文件对目标软件簇的存储区域进行刷写。通过将域控制器的软件刷写过程以软件簇的方式进行解耦的同时,直接获取编译后文件进行软件刷写,能够有效减少域控制器与多方供应方的交互,同时减少域控制器的编译时长,大幅度提高了域控制器的软件刷写效率。
附图说明
图1为一些实施例中域控制器的软件刷写方法的应用环境图;
图2为一些实施例中域控制器的软件刷写方法的流程示意图;
图3为一些实施例中基于编译后文件对目标软件簇的存储区域进行刷写步骤的流程示意图;
图4为另一些实施例中基于编译后文件对目标软件簇的存储区域进行刷写步骤的流程示意图;
图5为一些实施例中对目标软件簇进行软件簇信息核验步骤的流程示意图;
图6为一些实施例中版本循环依赖问题的产生示意图;
图7为一些实施例中对目标软件簇进行软件簇交互依赖校验步骤的流程示意图;
图8为一些实施例中本地接口清单的格式示意图;
图9为一些实施例中接口循环依赖问题的产生示意图;
图10为一些实施例中域控制器的结构框图;
图11为一些实施例中域控制器的存储区域分布示意图;
图12为另一些实施例中域控制器的软件刷写方法的流程示意图;
图13为一些实施例中域控制器的软件刷写方法的交互示意图;
图14为一些实施例中域控制器的软件刷写装置的结构框图;
图15为一些实施例中计算机设备的内部结构图。
具体实施方式
下面将结合附图对本申请技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同;本文中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请;本申请的说明书和权利要求书及上述附图说明中的术语“包括”和“具有”以及它们的任何变形,意图在于覆盖不排他的包含。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
在本申请实施例的描述中,术语“多个”指的是两个以上(包括两个),同理,“多组”指的是两组以上(包括两组),“多片”指的是两片以上(包括两片)。
在本申请实施例的描述中,技术术语“中心”“纵向”“横向”“长度”“宽度”“厚度”“上”“下”“前”“后”“左”“右”“竖直”“水平”“顶”“底”“内”“外”“顺时针”“逆时针”“轴向”“径向”“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请实施例和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请实施例的限制。
在本申请实施例的描述中,除非另有明确的规定和限定,技术术语“安装”“相连”“连接”“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;也可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请实施例中的具体含义。
整车电子电气架构中的域控是指由一个整合集成了多个供应方提供的应用的控制设备,相对集中的控制系统中的每个域,以实现快速响应决策的整车控制方式。而随着用户使用需求的不断提升,域控制器上集成的应用软件也需要进行更新迭代,以满足用户的实际需求,因此,域控制器上所集成的应用软件经常需要进行刷写更新,以完成相应功能的更新迭代。
在对域控制器上的应用软件进行刷写时,通常采用的方式是由多个供应方提供待刷写软件的源代码文件,随后由域控制器对不同供应方提供的源代码文件进行整合和集成编译,生成整个域控的刷写文件Bin,随后将整个域控的刷写文件返回给各供应方进行测试,当测试成功后,域控制器再根据刷写文件在内部进行软件刷写。使用这种方式进行域控制器软件刷写时,域控制器中的每个软件发生变更时,都需要域控制器对源代码文件进行集成编译,刷写整个域控软件,整个过程涉及多个供应方的反复交流确认,且集成编译的耗时也会拉长整个刷写过程的时长,从而降低域控制器的刷写效率,同时,在测试阶段,需要将集成编译后的整个域控软件暴露给其他供应方进行测试,存在一定的信息安全风险。
为了能够提高域控制器的软件刷写效率,可以将域控制器中来自于同一个程序供应方的应用程序聚类为一个软件簇,域控制器可以认为是由两个以上的软件簇配置而成的集成式控制器,在进行刷写时,域控制器无需对所有应用程序的源代码进行编译集成刷写,而是直接获取目标软件簇的待刷写文件,待刷写文件中包括了编译后文件,域控制器可以基于编译后文件对目标软件簇的存储区域进行刷写。通过将域控制器的软件刷写过程以软件簇的方式进行解耦的同时,直接获取编译后文件进行软件刷写,能够有效减少域控制器与多方供应方的交互,同时减少域控制器的编译时长,大幅度提高了域控制器的软件刷写效率。
本申请实施例提供的域控制器的软件刷写方法,可以应用于如图1所示的应用环境中。其中,域控制器102通过网络和服务器104进行通信,数据存储系统可以存储域控制器102需要处理的数据。数据存储系统可以集成在域控制器102,也可以放在云上或其他网络服务器上。其中,域控制器102中配置有两个以上的软件簇1021,同一个软件簇1021中的应用层序来自于同一个程序供应方。在需要对域控制器102中的某个软件簇1021进行软件刷写时,服务器104直接将待刷写文件发送给域控制器102,域控制器102获取包括编译后文件的待刷写文件,确定待刷写文件对应的目标软件簇1021,基于编译后文件对目标软件簇1021的存储区域进行刷写。域控制器102可以是任意一种具备域控能力的控制芯片或控制架构。服务器104可以用独立的服务器或者是多个服务器组成的服务器集群来实现,可以理解的,服务器104可以是各程序供应方的服务器,也可以是整车管理系统的服务器。
在一些实施例中,如图2所示,提供了一种域控制器的软件刷写方法,以该方法应用于图1中的域控制器102为例进行说明,包括以下步骤:
S202,获取待刷写文件,待刷写文件包括编译后文件。
其中,编译后文件是域控制器在对集成的软件簇进行更新时,可以直接使用的更新文件数据。编译后文件可以包括编译后的软件簇的应用程序,以及该软件簇更新后的软件簇基本信息,例如软件簇编码、软件簇编码范围、软件簇的本地接口清单等。
在其中一些实施例中,当需要对域控制器上某个集成的软件簇进行更新时,该软件簇的程序供应方将会对该软件簇的应用程序和相关基础信息进行集成编译,得到该软件簇的编译后文件,再基于该软件簇的编译后文件生成待刷写文件,将待刷写文件发送给域控制器。可以理解的,待刷写文件除了编译后文件,还可以包括例如刷写文件生成时间、刷写文件发送地址等刷写文件基础信息。
在其中一些实施例中,程序供应方可以将待刷写文件发送给整车管理服务器,由整车管理服务器将待刷写文件发送给域控制器。
在一些可选实施例中,域控制器获取服务器发送的待刷写文件,待刷写文件中包括编译后文件。
S204,确定待刷写文件对应的目标软件簇,其中,域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方。
其中,域控制器中配置了两个以上的软件簇,软件簇是指将来自于同一家程序供应方的应用程序进行聚类划分得到的软件单元,例如,在其中一些实施例中,可以将来自于程序供应方1的电机控制应用程序、电机保护应用程序等聚类为MCU应用软件簇,可以将来自于程序供应方2的动力控制应用程序、能量管理应用程序和整车上下电管理等聚类为VCU应用软件簇,可以将高压上下电应用程序、电池监控应用程序、充电管理应用程序等聚类为BMS应用软件簇。可以理解的,各个应用程序聚类得到的软件簇可以认为是一个单独的应用程序。
目标软件簇则是指通过待刷写文件中的编译后文件能够实现软件更新的软件簇。例如,当域控制器获取的待刷写文件中的编译后文件能够对MCU应用软件簇中软件的应用程序进行迭代更新时,MCU应用软件簇即为目标软件簇。
在一些可选实施例中,域控制器根据待刷写文件确定待刷写文件对应的目标软件簇。
在其中一些实施例中,域控制器可以从待刷写文件中获取需要刷写的软件簇的目标标识信息,根据目标标识信息以及预先配置的各软件簇与标识信息的对应关系,确定与目标标识信息对应的目标软件簇。
S206,基于编译后文件对目标软件簇的存储区域进行刷写。
其中,软件刷写是指将编译好的应用程序写入到域控制器存储区域的特定地址段的过程,通过将编译后的应用程序写入域控制器内存的特定地址段,即可使域控制器能够运行该应用程序,实现其特有功能的过程。
为了能够实现对任意软件簇的单独刷写,设计人员在域控制器的存储模块中,为每个软件簇都设置了独立的存储区域,软件簇的单独刷写过程都会在对应的独立存储区域中完成。
在一些可选实施例中,域控制器在确定待刷写文件对应的目标软件簇后,可以直接根据获取到的待刷写文件中的编译后文件,对目标软件簇的存储区域进行刷写,将编译后文件中携带的编译好的应用程序写入目标软件簇的存储区域中,完成目标软件簇的刷写过程,更新目标软件簇中的应用程序。
上述域控制器的软件刷写方法中,将域控制器中来自于同一程序供应方的应用程序聚类为一个软件簇,域控制器可以认为是由两个以上的软件簇配置而成的集成式控制器,在进行刷写时,域控制器无需对所有应用程序的源代码进行编译集成刷写,而是直接获取目标软件簇的待刷写文件,待刷写文件中包括了编译后文件,域控制器可以基于编译后文件对目标软件簇的存储区域进行刷写。通过将域控制器的软件刷写过程以软件簇的方式进行解耦的同时,直接获取编译后文件进行软件刷写,能够有效减少域控制器与多方供应方的交互,同时减少域控制器的编译时长,大幅度提高了域控制器的软件刷写效率。
域控刷写过程一般包含三个阶段:预编程阶段、主编程阶段和后编程阶段。其中,预编程阶段可以认为是刷写前的准备阶段,用于执行准备工作,关闭故障码(DTC)和通信,主编程阶段则是主要执行阶段,用于执行将编译后的应用程序刷写到域控制器存储区域的步骤,后编程阶段则是开启DTC和通信阶段。
由于常见的域控刷写方案都是对域控软件进行整体刷写更新,因此在预编程阶段,常见的域控刷写方案都是对编程条件进行检查,例如检查升级前置环境、提高刷写网络速度等,无需考虑其他的检查核验工作。
而在需要对由两个以上的软件簇配置而成的集成式控制器中,任意一个或多个软件簇进行单独刷写时,除了上述常见的编程条件检查外,在一些实施例中,如图3所示,基于编译后文件对目标软件簇的存储区域进行刷写,包括:
S302,对目标软件簇进行软件簇信息核验。
其中,软件簇信息核验是用于判断目标软件簇是否符合刷写条件的核验操作。由于是对域控制器上配置的软件簇进行单独刷写,因此为了提高软件刷写的准确性,需要对目标软件簇进行软件簇信息核验。可以理解的,在其中一些实施例中,软件簇信息核验可以包括对目标软件簇的基本信息,例如软件簇标识信息进行核验,也可以包括对目标软件簇的实质刷写信息,例如目标软件簇版本信息进行核验。
在一些可选实施例中,域控制器在根据待刷写文件确定目标软件簇后,可以根据预设的信息核验方式对目标软件簇进行软件簇信息核验。
S304,在软件簇信息核验成功的情况下,擦除目标软件簇的存储区域中的历史应用程序。
其中,在目标软件簇的软件簇信息校验成功的情况下,可以认为该目标软件簇符合刷写条件,可以根据待刷写文件中的编译后文件对该目标软件簇进行刷写。
目标软件簇的存储区域中存储有目标软件簇的历史应用程序,历史应用程序是指上一次对目标软件簇进行刷写或将目标软件簇集成在域控制器上时,在目标软件簇的存储区域写入的应用程序。
在一些可选实施例中,在确定可以对目标软件簇进行刷写的情况下,若直接将编译好的目标应用程序写入目标软件簇的存储区域,则存储区域中将存在两个应用程序,域控制器也将无法使用更新后的应用程序。为了使刷写过的应用程序能够在域控制器上正常运行,需要先将目标软件簇的存储区域中的历史应用程序进行擦除,为后续在存储区域中重新下载编译后的目标应用程序做准备。
S306,根据编译后文件在目标软件簇的存储区域刷写目标软件簇的目标应用程序。
其中,目标应用程序则是指当前需要进行刷写,以实现目标软件簇更新的编译后应用程序。
在一些可选实施例中,在域控制器擦除了目标软件簇对应存储区域中的历史应用程序的情况下,域控制器即可根据编译后文件,对目标软件簇的存储区域进行刷写,将编译后文件中携带的编译好的应用程序写入目标软件簇的存储区域中,完成目标软件簇的刷写过程,更新目标软件簇中的应用程序。
上述实施例中,通过对目标软件簇进行软件簇信息核验,并在核验成功的情况下才继续进行软件刷写操作,能够有效提高域控制器软件刷写的准确性。
对目标软件簇进行软件簇信息核验的具体核验方式以及核验内容都可以根据实际刷写情况决定,以下通过两种不同的核验方式对软件簇信息核验的具体步骤进行说明。
在一些实施例中,如图4所示,基于编译后文件对目标软件簇的存储区域进行刷写,包括:
S402,获取目标软件簇的软件簇编码。
其中,目标软件簇的软件簇编码是目标软件簇的唯一标识信息,可以对目标软件簇进行唯一标识。由于域控制器上配置了两个以上的软件簇,为了能够准确定位每一个软件簇,域控制器上的每个软件簇都有对应的软件簇编码。
在一些可选实施例中,域控制器从待刷写文件中,获取目标软件簇的软件簇编码。
S404,将软件簇编码与域控制器的配置软件簇编码范围进行比较。
其中,域控制器的配置软件簇编码范围是用于记录当前域控制器上配置的所有软件簇的软件簇编码的信息数据。配置软件簇编码范围由设计人员预先根据域控制器上配置的所有软件簇的软件簇编码生成。可以理解的,为了便于管理,设计人员可以采用连续编码的方式为同一域控制器上配置的软件簇进行编码,得到各软件簇的软件簇编码,例如域控制器上配置了4个软件簇,设计人员可以为4个软件簇分别设置编码为软件簇1、软件簇2、软件簇3和软件簇4,此时域控制器的配置软件簇编码范围为软件簇1~4。设计人员将域控制器的配置软件簇编码范围存储在域控制器的存储区域中,便于在进行软件簇信息核验时随时调用。
在一些可选实施例中,域控制器在获取到目标软件簇的唯一软件簇编码时,从存储区域中获取域控软件簇自身的配置软件簇编码范围,将目标软件簇的唯一软件簇编码与域控制器的配置软件簇编码范围进行比较。
S406,在软件簇编码属于配置软件簇编码范围的情况下,确定目标软件簇的编码信息核验成功。
在一些可选实施例中,在软件簇编码属于域控制器的配置软件簇编码范围的情况下,说明目标软件簇是域控制器上配置的软件簇之一,确定目标软件簇的编码信息核验成功,可以执行后续的刷写步骤。
在另一些实施例中,在软件簇编码不属于域控制器的配置软件簇编码范围的情况下,说明待刷写文件确定的目标软件簇并不是域控制器上配置的软件簇,确定目标软件簇的编码信息核验失败,生成提示信息提示管理人员无法进行刷写。
上述实施例中,通过将目标软件簇的软件簇编码与域控制器的配置软件簇编码范围进行比较,可以快速确定目标软件簇的编码信息核验结果,只有在目标软件簇编码信息核验成功的情况下才继续执行后续的刷写步骤,有效降低了刷写过程中刷写失败的概率,提高了域控制器软件刷写效率。
除了对目标软件簇进行编码信息核验外,在另一些实施例中,如图5所示,对目标软件簇进行软件簇信息核验,还包括:
S502,从编译后文件中获取目标软件簇的版本兼容范围。
其中,编译后文件中携带有目标软件簇的版本兼容范围,版本兼容范围是指目标软件簇当前需要刷写的目标应用程序能够向下兼容的版本范围,可以由目标软件簇的程序供应方提供。对于某些特定软件,在软件进行更新时,历史应用程序的历史版本与目标应用程序的待更新版本之间存在版本兼容问题,若历史版本不在目标应用程序能够向下兼容的版本范围内,将无法根据目标应用程序对软件进行刷写,因此需要对软件簇进行版本信息核验,降低由于版本不兼容导致的刷写失败的概率。
在一些可选实施例中,域控制器从编译后文件中获取目标软件簇的版本兼容范围。
S504,将历史应用程序的历史程序版本与目标软件簇的版本兼容范围进行比较。
在一些可选实施例中,域控制器可以从目标软件簇的存储区域中获取目标软件簇历史应用程序的历史程序版本,并将历史程序版本与目标软件簇的版本兼容范围进行比较。
S506,在历史程序版本属于版本兼容范围的情况下,确定目标软件簇的版本信息核验成功。
在一些可选实施例中,在历史程序版本属于版本兼容范围的情况下,可以认为目标软件簇当前要刷写的目标应用程序与历史应用程序不存在版本兼容问题,域控制器确定目标软件簇的版本信息核验成功,可以执行后续刷写操作。
在另一些实施例中,在历史程序版本不属于版本兼容范围的情况下,可以认为目标软件簇当前要刷写的目标应用程序与历史应用程序存在版本兼容问题,域控制器确定目标软件簇的版本信息核验失败,生成提示信息提示管理人员由于版本不兼容问题无法进行刷写。
上述实施例中,通过将目标软件簇历史应用程序的历史程序版本与目标软件簇的版本兼容范围进行比较,可以快速确定目标软件簇的版本信息核验结果,只有在目标软件簇版本信息核验成功的情况下才继续执行后续的刷写步骤,有效降低了刷写过程中刷写失败的概率,提高了域控制器软件刷写效率。
需要说明的是,上述两种进行软件簇信息核验的方式可以根据域控制器的实际刷写情况单独使用,也可以同时对目标软件簇进行编码信息核验和版本信息核验,以进一步提高目标软件簇刷写的准确性,可以理解的,在同时对目标软件簇进行编码信息核验和版本信息核验的过程中,两个信息核验的具体核验顺序可以根据实际核验情况决定,例如可以先进行编码信息核验,后进行版本信息核验,或先进行版本信息核验,后进行编码信息核验。在其中一些实施例中,为了进一步提高软件簇信息核验效率,也可以使用分线程的方式同时对目标软件簇的版本信息和编码信息进行核验。
除了上述两种核验方式外,在其中一些实施例中,域控制器还可以对目标软件簇中是否含有关键程序进行核验,其中,关键程序是指域控制器实现正常运行时的必要程序,关键程序不能随便进行更新,更新后可能会导致域控制器运行出现故障,因此,如果目标软件簇中含有关键程序,例如BSW中的核心OS等,域控制器可以暂停对目标软件簇的刷写操作,生成提示信息提示用户当前目标软件簇中存在关键程序,由用户确定是否需要继续进行刷写。
在目标软件簇的软件簇信息核验成功,且编程条件检查合格的情况下,确定准备工作执行完毕,关闭DTC和通信,即可进入主编程阶段。
主编程阶段是将编译后的目标应用程序刷写到域控制器存储区域的阶段,在常见的域控刷写方案中,由于是对域控软件进行整体刷写更新,因此不会存在依赖问题,而在需要对由两个以上的软件簇配置而成的集成式控制器中,任意一个或多个软件簇进行单独刷写时,由于各个软件簇之间可能存在的依赖关系,单独刷写依赖关系中的某一软件簇就有可能存在依赖问题,例如软件簇1引用了软件簇2的变量,则软件簇1和软件簇2之间存在依赖关系,若单独对软件簇1进行刷写,有可能出现软件簇1无法引用软件簇2变量的情况产生。因此,在主编程阶段,对域控制器进行软件刷写时,还需要注意目标软件簇可能出现的依赖问题。
基于此,在一些实施例中,根据编译后文件在目标软件簇的存储区域刷写目标软件簇的目标应用程序,包括:
对目标软件簇进行软件簇交互依赖校验,在软件簇交互依赖校验成功的情况下,根据从编译后文件中下载的目标软件簇的目标应用程序,对目标软件簇对应存储区域进行刷写。
其中,软件簇交互依赖校验是用于判断目标软件簇是否存在依赖问题的校验操作。由于是对域控制上配置的软件簇进行单独刷写,为了提高软件刷写的成功率,需要对目标软件簇进行软件簇交互依赖校验。可以理解的,软件簇交互依赖校验可以是对目标软件簇的交互接口进行的依赖校验操作,也可以是对目标软件簇的程序版本进行的交互依赖校验操作。
在一些可选实施例中,域控制器获取到目标软件簇的目标应用程序后,可以根据预设的软件簇交互依赖校验方式对目标软件簇进行软件簇交互依赖校验。在目标软件簇的软件簇交互依赖校验成功的情况下,可以认为该目标软件簇与域控制器中其他的软件簇不存在依赖问题,根据该目标软件簇的目标应用程序对该目标软件簇进行刷写更新,域控制器能够正常运行。域控制器将从编译后文件中下载的目标软件簇的目标应用程序,写入目标软件簇的存储区域中,对域控制器上目标软件簇的应用程序进行更新。
上述实施例中,通过对目标软件簇进行软件簇交互依赖校验,并在核验成功的情况下才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
对目标软件簇进行软件簇交互依赖校验的具体校验方式以及校验内容都可以根据实际刷写情况确定,以下通过两种不同的校验方式对软件簇交互依赖校验的具体步骤进行说明。
在一些实施例中,对目标软件簇进行软件簇交互依赖校验,包括:
从编译后文件中获取目标软件簇的版本依赖信息,版本依赖信息包括目标软件簇对域控制器中其他软件簇的版本依赖范围。在域控制器中其他软件簇的当前版本均属于其他软件簇对应的版本依赖范围的情况下,确定目标软件簇的交互版本依赖校验成功。
其中,编译后文件中携带有目标软件簇的版本依赖信息,版本依赖信息是指目标软件簇中的软件刷写更新后,对于域控制器上的其他软件簇的版本要求信息,具体包括了目标软件簇对域控制器中其他软件簇的版本依赖范围。可以理解的,目标软件簇的版本依赖信息可以由目标软件簇的程序供应方根据目标软件簇中目标应用程序的实际运行需求确定。
在一些可选实施例中,域控制器在获取了目标软件簇对其他软件簇的版本依赖范围后,从域控制器的存储区域获取当前域控制器上其他软件簇的当前版本,分别将其他软件簇的当前版本与目标软件簇对其他软件簇的版本依赖范围进行比较,在域控制器中其他软件簇的当前版本均属于对应的版本依赖范围的情况下,可以认为目标软件簇与域控制器中其他软件簇不存在版本依赖问题,确定目标软件簇的交互版本依赖校验成功。
以目标软件簇为域控制器上配置的软件簇1为例进行说明,目标软件簇的版本依赖信息包括的内容如下:
对其他软件簇2的版本依赖范围为2.0~4.0,对其他软件簇3的版本依赖范围为1.0~5.0,若目标软件簇对其他软件簇4不存在版本依赖,则目标软件簇对对其他软件簇4的版本依赖范围可以写成0x00000000-0xFFFFFFFF,此时域控制器获取其他软件簇2当前版本为3.0,其他软件簇3当前版本为5.0,其他软件簇4当前版本为4.0,则可以认为此时域控制器中其他软件簇的当前版本均属于对应的版本依赖范围,确定目标软件簇的交互版本依赖校验成功。
上述实施例中,通过将域控制器中其他软件簇的当前版本分别与目标软件簇的版本依赖范围进行比较,能够快速确定目标软件簇的交互版本依赖校验结果,只有在目标软件簇的交互版本依赖校验成功的情况下,才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
在另一些实施例中,若存在任意一个其他软件簇的当前版本不属于该软件簇对应的版本依赖范围,例如目标软件簇对其他软件簇2的版本依赖范围为2.0~4.0,而其他软件簇2的当前版本为5.0,则可以认为其他软件簇2的当前版本不属于该软件簇对应的版本依赖范围,说明此时目标软件簇与其他软件簇2存在版本依赖问题,域控制器在更新了目标软件簇的应用程序后,目标软件簇和其他软件簇2将无法进行交互,域控制器无法正常运行,域控制器可以确定目标软件簇交互版本依赖校验不成功。
而在对域控制器上配置的软件簇进行单独升级时,若出现目标软件簇交互版本依赖校验不成功的情况,还需要考虑目标软件簇与存在版本依赖问题的其他软件簇是否发生了版本循环依赖问题。软件簇的版本循环依赖问题,是指相互构成版本依赖的两个软件簇都处于升级状态,而两个软件簇的当前版本均不在对方的版本依赖范围内,二者都不能升级,则可以认为这两个软件簇存在版本循环依赖问题。
如图6所示,例如软件簇1和软件簇2均需要升级,软件簇1升级对软件簇2的版本要求是2.0~4.0,软件簇2升级对软件簇1的版本要求是2.0~4.0,而此时软件簇1和软件簇2的当前版本都为1.0,则两个软件簇无论哪个先刷写,都会由于版本依赖问题而无法刷写成功。
针对版本循环依赖问题,在一些实施例中,在目标软件簇的交互版本依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题版本软件簇。在问题版本软件簇的当前状态为刷写状态,且目标软件簇与问题版本软件簇互为对方的问题版本软件簇的情况下,确定目标软件簇交互版本依赖校验成功。
其中,当问题版本软件簇的当前状态为刷写状态时,可以认为该问题版本软件簇处于升级状态。需要进行版本循环依赖问题判定。
域控制器在目标软件簇的交互版本依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题版本软件簇,确定目标软件簇与问题版本软件簇是否互为对方的问题版本软件簇,若目标软件簇与问题版本软件簇互为对方的问题版本软件簇,为了解除版本循环依赖问题,域控制器将整车开放对问题版本软件簇的版本依赖范围,确定目标软件簇交互版本依赖校验成功。当目标软件簇升级成功后,目标软件簇将不再与问题版本软件簇存在版本依赖问题,问题版本软件簇后续也可以正常执行升级刷写操作。
同样以图6为例,首先刷写软件簇1,整车开放对软件簇2的版本依赖范围,软件簇1刷写中的交互版本依赖校验通过,再按照常规流程刷写软件簇2。
在其中一些实施例中,域控制器在确定目标软件簇的问题版本软件簇的当前状态为刷写状态时,获取该问题版本软件簇的版本依赖范围,以及目标软件簇的历史应用程序的历史版本,将目标软件簇的历史版本与问题版本软件簇的版本依赖范围进行比较,若目标软件簇的历史版本不在问题版本软件簇的版本依赖范围内,确定目标软件簇与问题版本软件簇互为对方的问题版本软件簇。
上述实施例中,在目标软件簇的交互版本依赖校验不成功的情况下,对目标软件簇与问题版本软件簇进行版本循环依赖问题判定,当确定存在版本循环依赖问题时,通过开放目标软件簇对问题版本软件簇的版本依赖范围,能够使目标软件簇正常更新,有效提高了域控制器的刷写效率。
除了对目标软件簇进行交互版本依赖校验外,在另一些实施例中,如图7所示,对目标软件簇进行软件簇交互依赖校验,包括:
S702,从编译后文件中获取目标软件簇的本地接口清单,目标软件簇的本地接口清单包括目标软件簇的输入接口信息和输出接口信息。
其中,编译后文件中携带有目标软件簇的本地接口清单。域控制器上的各个软件簇之间的交互需要通过交互接口完成,因此每个软件簇都有相应的输入接口和输出接口,而目标软件簇的本地接口清单就是用来记录目标软件簇更新后的交互接口信息的清单,通过将目标软件簇的本地接口清单写入域控制器中,可以便于域控制器对目标软件簇的交互接口进行管理。
目标软件簇的本地接口清单中可以包括目标软件簇更新后的输入接口信息和输出接口信息,例如输入接口个数和各输入接口的相关信息,输出接口个数和各输出接口的相关信息。其中,输入接口是用于接收输入信息的交互接口,输出接口是用于输出交互信息的交互接口。在其中一些实施例中,本地接口清单的格式可以如图8所示。
在一些可选实施例中,域控制器从编译后文件中获取目标软件簇的本地接口清单,从本地接口清单中获取目标软件簇的输入接口信息和输出接口信息。
在其中一些实施例中,目标软件簇的本地接口清单由目标软件簇的程序供应方根据目标软件簇的目标应用程序,以及域控制器的全局接口清单定义生成。其中域控制器的全局接口清单是根据域控制器中所有软件簇交互接口的接口信息定义生成的清单数据。程序供应方根据全局接口清单定义生成目标软件簇的本地接口清单,可以使域控制器中所有软件簇的本地接口清单具备统一性,便于后期的管理。
S704,获取域控制器中其他软件簇的本地接口清单,其他软件簇的本地接口清单包括其他软件簇的输入接口信息和输出接口信息。
域控制器从存储区域中获取域控制器上配置的其他软件簇的本地接口信息,其他软件簇的本地接口清单包括其他软件簇的输入接口信息和输出接口信息,例如其他软件簇的输入接口个数和各输入接口的相关信息,输出接口个数和各输出接口的相关信息。
S706,将目标软件簇的本地接口清单与其他软件簇的本地接口清单进行比较。
在一些可选实施例中,域控制器在获取到目标软件簇的本地接口清单和其他软件簇的本地接口清单后,将目标软件簇的本地接口清单与其他软件簇的本地接口清单进行比较。
在其中一些实施例中,将目标软件簇的本地接口清单与其他软件簇的本地接口清单进行比较包括:域控制器将目标软件簇本地接口清单中的输入接口,与其他软件簇的本地接口清单中的输出接口进行匹配,将目标软件簇本地接口清单中的输出接口,与其他软件簇的本地接口清单中的输入接口进行匹配。
S708,在目标软件簇中存在其他软件簇需要的输出接口,且,其他软件簇中存在目标软件簇的输入接口的情况下,确定目标软件簇的交互接口依赖校验成功。
在一些可选实施例中,域控制器在确定目标软件簇中存在其他软件簇需要的输出接口,且其他软件簇中也存在目标软件簇的输入接口的情况下,可以认为此时目标软件簇的交互接口是完整的,能够执行交互任务的接口,确定目标软件簇的交互接口依赖校验成功。
以目标软件簇为域控制器上的软件簇1为例进行说明,目标软件簇的本地接口清单可以包括:
输入接口个数:2个;
输出接口个数:3个;
输入接口1的信息:002A;
输入接口2的信息:003A;
输出接口1的信息:001A;
输出接口2的信息:001B;
输出接口3的信息:001C。
其中,001、002、003分别代表该接口提供方软件簇的标识信息,例如接口提供方软件簇的编码ID。001可以认为是软件簇1的编码ID,002可以认为是软件簇2的编码ID,003可以认为是软件簇3的编码ID,可以理解的,各软件簇的编码ID都由全局接口清单统一确定。
软件簇2的本地接口清单可以包括:
输入接口个数:1个;
输出接口个数:1个;
输入接口1的信息:001A;
输出接口1的信息:002A。
软件簇3的本地接口清单可以包括:
输入接口个数:2个;
输出接口个数:1个;
输入接口1的信息:001B;
输入接口2的信息:001C;
输出接口1的信息:003A。
将目标软件簇的输入接口与软件簇2和软件簇3的输出接口进行匹配,可以确定其他软件簇存在目标软件簇的输出接口,将目标软件簇的输出接口与软件簇2和软件簇3的输入接口进行匹配,可以确定目标软件簇中存在其他软件簇需要的输出接口,此时可以认为目标软件簇的交互接口依赖校验成功。
上述实施例中,通过将目标软件簇的本地接口清单与域控制器中其他软件簇的本地接口请单进行比较,能够快速确定目标软件簇的交互接口依赖校验结果,只有在目标软件簇的交互接口依赖校验成功的情况下,才继续对域控制器上目标软件簇的应用程序进行更新,能够有效提高域控制器软件刷写的成功率,进而提高域控制器软件刷写的刷写效率。
同样的,在对域控制器上配置的软件簇进行单独升级时,若出现目标软件簇交互接口依赖校验不成功的情况,还需要考虑目标软件簇与存在接口依赖问题的其他软件簇是否发生了接口循环依赖问题。软件簇的接口循环依赖问题,是指相互构成接口依赖的两个软件簇都处于升级状态,而两个软件簇中均没有对方需要的交互接口,二者都不能升级,此时可以认为这两个软件簇存在接口循环依赖问题。
如图9所示,例如软件簇1和软件簇2均需要升级,软件簇1升级需要软件簇2的新输出接口2,软件簇2升级需要软件簇1的新输出接口2,则两个软件簇无论先刷写哪个,都会由于接口依赖问题而无法刷写成功。
针对接口循环依赖问题,在一些实施例中,在目标软件簇的交互接口依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题接口软件簇。在问题接口软件簇的当前状态为刷写状态,且目标软件簇与问题接口软件簇互为对方的问题接口软件簇的情况下,确定目标软件簇交互接口依赖校验成功。
其中,当问题接口软件簇的当前状态为刷写状态时,可以认为该问题接口软件簇处于升级状态。需要进行接口循环依赖问题判定。
域控制器确定目标软件簇与问题接口软件簇是否互为对方的问题接口软件簇,若目标软件簇与问题接口软件簇互为对方的问题接口软件簇,为了解除接口循环依赖问题,域控制器将整车开放对问题接口软件簇的接口依赖范围,确定目标软件簇交互接口依赖校验成功。当目标软件簇升级成功后,目标软件簇将不再与问题接口软件簇存在接口依赖问题,问题接口软件簇后续也可以正常执行升级刷写操作。
同样以图9为例,首先刷写软件簇1,整车开放对软件簇2的接口依赖范围,软件簇1刷写中的交互接口依赖校验通过,再按照常规流程刷写软件簇2。
在其中一些实施例中,域控制器在确定目标软件簇的问题接口软件簇的当前状态为刷写状态时,获取问题接口软件簇刷写时使用的本地接口清单,目标软件簇本地接口清单中的输入接口,与问题接口软件簇刷写时使用的本地接口清单中的输出接口进行匹配,将目标软件簇本地接口清单中的输出接口,与问题接口软件簇刷写时使用的本地接口清单中的输入接口进行匹配,根据匹配结果确定目标软件簇与问题接口软件簇是否互为对方的问题接口软件簇。
上述实施例中,在目标软件簇的交互接口依赖校验不成功的情况下,对目标软件簇与问题接口软件簇进行接口循环依赖问题判定,当确定存在接口循环依赖问题时,通过开放目标软件簇对问题版本软件簇的接口依赖范围,能够使目标软件簇正常更新,有效提高了域控制器的刷写效率。
需要说明的是,上述几种进行软件簇交互依赖校验的方式可以根据域控制器实际刷写情况单独使用,也可以同时对目标软件簇进行交互版本依赖校验和交互接口依赖校验,以进一步提高目标软件簇刷写的成功率,可以理解的,在同时对目标软件簇进行交互版本依赖校验和交互接口依赖校验的过程中,两个校验的具体校验顺序可以根据实际核验情况决定,例如可以先进行交互版本依赖校验,后进行交互接口依赖校验,或先进行交互接口依赖校验,后进行交互版本依赖校验。在其中一些实施例中,为了进一步提高软件簇信息校验效率,也可以使用分线程的方式同时对目标软件簇进行交互版本依赖校验和交互接口依赖校验。
在一些实施例中,提供了一种域控制器的软件刷写方法,以该方法应用于图10所示的域控制器为例进行说明,其中,域控制器上配置有MCU应用软件簇、VCU应用软件簇、BMS应用软件簇、BSW应用软件簇,域控制器中为每个应用软件簇均配置了相应的存储区域,域控制器的存储区域分布如图11所示,其中,域控制器的存储区域前端位置用于存储域控制器的全局接口清单,是每个软件簇对应的存储区域,每个软件簇的存储空间地址和范围固定,并且都预留有一段间距,用于存储后续新增的功能。在一些实施例中,为了能够进一步提高域控制器的刷写成功率,可以将域控制器的存储区域分为主存储区域Flash Bank0和备份存储区域Flash Bank1,在Bank0刷写出现问题的情况下,可以回滚到Bank1运行。
如图12所示,域控制器的软件刷写方法具体包括以下步骤:
S1201,域控制器获取待刷写文件,待刷写文件中包括了编译后文件。
其中,编译后文件主要包含以下信息:
目标软件簇版本信息,用来核对刷写的版本是否能向下兼容。目标软件簇版本信息具体包括内容有目标软件簇编码信息,可以用来定位刷写哪个软件簇;软件簇是否包含BSW,用于标识该目标软件簇中是否包含BSW(核心OS等);软件簇当前版本以及软件簇向下兼容的版本范围,用于识别目标软件簇向下兼容的版本范围。
目标软件簇依赖信息,用来检查对其他软件簇的版本依赖是否一致。目标软件簇依赖信息具体包含了目标软件簇的版本依赖范围。
目标软件簇本地接口清单,用于记录目标软件簇与其他软件簇的交互接口信息。
目标应用程序,为目标软件簇的主体运行程序,具体包含了编译后的运行指令代码。
S1202,域控制器进入预编程阶段,在预编程阶段前段对目标软件簇进行软件簇信息核验。
其中,域控制器从编译后文件中获取目标软件簇版本信息,将目标软件簇版本信息中的目标软件簇编码信息与域控制器的配置软件簇编码范围进行比较,在目标软件簇编码在配置软件簇编码范围内时,确定目标软件簇编码信息核验通过,从目标软件簇在域控制器上的存储区域中获取目标软件簇历史应用程序的历史程序版本,将历史程序版本与目标软件簇版本信息中软件簇向下兼容的版本范围进行比较,在历史程序版本属于软件簇向下兼容的版本范围的情况下,确定目标软件簇版本信息核验成功。
S1203,在目标软件簇的软件簇信息核验不成功的情况下,域控制器确定目标软件簇刷写失败,停止刷写,并生成提示信息向用户进行提示。
S1204,在目标软件簇的软件簇信息核验成功的情况下,域控制器检测MCU编程条件,当条件符合时,关闭DTC和通信,进入主编程阶段。
S1205,域控制器将目标软件簇对应存储区域中的历史应用程序进行擦除,随后从编译后文件中下载目标应用程序。
S1206,域控制器对目标应用程序进行完整性检测。
S1207,在完整性检测不成功的情况下,域控制器确定目标软件簇刷写失败,停止刷写,并生成提示信息向用户进行提示。
S1208,在完整性检测成功的情况下,域控制器对目标软件簇进行软件簇交互依赖校验。
其中,域控制器从编译后文件中获取目标软件簇版本依赖信息,版本依赖信息包括目标软件簇对域控制器中其他软件簇的版本依赖范围,从域控制器的存储区域获取当前域控制器上其他软件簇的当前版本,分别将其他软件簇的当前版本与目标软件簇对其他软件簇的版本依赖范围进行比较,在域控制器中其他软件簇的当前版本均属于对应的版本依赖范围的情况下,确定目标软件簇的交互版本依赖校验成功。
若存在任意一个其他软件簇的当前版本不属于该软件簇对应的版本依赖范围,将不属于该软件簇对应的版本依赖范围的其他软件簇确定为问题版本软件簇,确定目标软件簇与问题版本软件簇是否互为对方的问题版本软件簇,若目标软件簇与问题版本软件簇不存在版本循环依赖问题,则确定目标软件簇交互版本依赖校验失败。若目标软件簇与问题版本软件簇互为对方的问题版本软件簇,域控制器将整车开放对问题版本软件簇的版本依赖范围,确定目标软件簇交互版本依赖校验成功。
域控制器从编译后文件中获取目标软件簇的本地接口清单,从存储区域获取其他软件簇的本地接口清单,将目标软件簇的本地接口清单与其他软件簇的本地接口清单进行比较,在目标软件簇中存在其他软件簇需要的输出接口,且,其他软件簇中存在目标软件簇的输入接口的情况下,确定目标软件簇的交互接口依赖校验成功。
若目标软件簇的交互接口依赖校验不成功,域控制器将校验不成功的其他软件簇确定为问题接口软件簇。在问题接口软件簇的当前状态为未刷写状态,或,目标软件簇与问题接口软件簇不互为对方的问题接口软件簇的情况下,确定目标软件簇的交互接口依赖校验失败。在问题接口软件簇的当前状态为刷写状态,且目标软件簇与问题接口软件簇互为对方的问题接口软件簇的情况下,确定目标软件簇交互接口依赖校验成功。
S1209,在目标软件簇交互依赖校验失败的情况下,域控制器确定目标软件簇刷写失败,停止刷写,并生成提示信息向用户进行提示。
S1210,在目标软件簇交互依赖校验成功的情况下,确定目标应用程序一致性通过,执行复位操作,主编程阶段完成,进入后编程阶段。
S1211,域控制器开启DTC和通信,完成整个软件刷写过程。
为了更加直观的看到本实施例中的域控制器的软件刷写方法,图13中展示了本实施例中在对域控制器的软件簇进行单独刷写更新时,程序供应方与域控制器之间的交互过程。
通过上述实施例中的域控制器的软件刷写方法,域控中的各个程序供应方均可以自行刷写自身的软件簇应用程序,进行功能测试,假设域控制器中总共配置了4个软件簇,其刷写效率提升情况如下表所示:
其中,表格中的出现概率为软件簇进行刷写时,四种同时刷写个数对应的出现概率。如表格所示,在刷写时,1个软件簇刷写的出现概率为80%,2个软件簇同时刷写出现的概率为10%,3个软件簇同时刷写出现的概率为6%,4个软件簇同时刷写出现的概率为4%。
由上表可以看出,本实施例提供的软件刷写方法相比于常用的刷写方法,可以提升60%以上的域控刷写时间,大大提高了域控制器的刷写效率和开发效率。
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
基于同样的发明构思,本申请实施例还提供了一种用于实现上述所涉及的域控制器的软件刷写方法的域控制器的软件刷写装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个域控制器的软件刷写装置实施例中的具体限定可以参见上文中对于域控制器的软件刷写方法的限定,在此不再赘述。
在一些实施例中,如图14所示,提供了一种域控制器的软件刷写装置1400,包括:文件获取模块1401、目标软件簇确定模块1402和刷写模块1403,其中:
文件获取模块1401,用于获取待刷写文件,待刷写文件包括编译后文件。
目标软件簇确定模块1402,用于确定待刷写文件对应的目标软件簇,其中,域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方。
刷写模块1403,用于基于编译后文件对目标软件簇的存储区域进行刷写。
上述域控制器的软件刷写装置,将域控制器中来自于同一程序供应方的应用程序聚类为一个软件簇,域控制器可以认为是由两个以上的软件簇配置而成的集成式控制器,在进行刷写时,域控制器无需对所有应用程序的源代码进行编译集成刷写,而是直接获取目标软件簇的待刷写文件,待刷写文件中包括了编译后文件,域控制器可以基于编译后文件对目标软件簇的存储区域进行刷写。通过将域控制器的软件刷写过程以软件簇的方式进行解耦的同时,直接获取编译后文件进行软件刷写,能够有效减少域控制器与多方供应方的交互,同时减少域控制器的编译时长,大幅度提高了域控制器的软件刷写效率。
在一些实施例中,刷写模块还用于:对目标软件簇进行软件簇信息核验;在软件簇信息核验成功的情况下,擦除目标软件簇的存储区域中的历史应用程序;根据编译后文件在目标软件簇的存储区域刷写目标软件簇的目标应用程序。
在一些实施例中,刷写模块还用于:获取目标软件簇的软件簇编码;将软件簇编码与域控制器的配置软件簇编码范围进行比较;在软件簇编码属于配置软件簇编码范围的情况下,确定目标软件簇的编码信息核验成功。
在一些实施例中,刷写模块还用于:从编译后文件中获取目标软件簇的版本兼容范围;将历史应用程序的历史程序版本与目标软件簇的版本兼容范围进行比较;在历史程序版本属于版本兼容范围的情况下,确定目标软件簇的版本信息核验成功。
在一些实施例中,刷写模块还用于:对目标软件簇进行软件簇交互依赖校验;在软件簇交互依赖校验成功的情况下,根据从编译后文件中下载的目标软件簇的目标应用程序,对目标软件簇对应存储区域进行刷写。
在一些实施例中,刷写模块还用于:从编译后文件中获取目标软件簇的版本依赖信息,版本依赖信息包括目标软件簇对域控制器中其他软件簇的版本依赖范围;在域控制器中其他软件簇的当前版本均属于其他软件簇对应的版本依赖范围的情况下,确定目标软件簇的交互版本依赖校验成功。
在一些实施例中,刷写模块还用于:在目标软件簇的交互版本依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题版本软件簇;在问题版本软件簇的当前状态为刷写状态,且目标软件簇与问题版本软件簇互为对方的问题版本软件簇的情况下,确定目标软件簇交互版本依赖校验成功。
在一些实施例中,刷写模块还用于:从编译后文件中获取目标软件簇的本地接口清单,目标软件簇的本地接口清单包括目标软件簇的输入接口信息和输出接口信息;获取域控制器中其他软件簇的本地接口清单,其他软件簇的本地接口清单包括其他软件簇的输入接口信息和输出接口信息;将目标软件簇的本地接口清单与其他软件簇的本地接口清单进行比较;在目标软件簇中存在其他软件簇需要的输出接口,且,其他软件簇中存在目标软件簇的输入接口的情况下,确定目标软件簇的交互接口依赖校验成功。
在一些实施例中,刷写模块还用于:在目标软件簇的交互接口依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题接口软件簇;在问题接口软件簇的当前状态为刷写状态,且目标软件簇与问题接口软件簇互为对方的问题接口软件簇的情况下,确定目标软件簇交互接口依赖校验成功。
上述域控制器的软件刷写装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一些实施例中,提供了一种计算机设备,该计算机设备可以是域控制器,其内部结构图可以如图15所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储各软件簇的刷写文件和应用程序数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种域控制器的软件刷写方法。
本领域技术人员可以理解,图15中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一些实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述域控制器的软件刷写方法的具体实施步骤。
在一些实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述域控制器的软件刷写方法的具体实施步骤。
在一些实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述域控制器的软件刷写方法的具体实施步骤。
需要说明的是,本申请所涉及的用户信息(包括但不限于用户设备信息、用户个人信息等)和数据(包括但不限于用于分析的数据、存储的数据、展示的数据等),均为经用户授权或者经过各方充分授权的信息和数据。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-OnlyMemory,ROM)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(ReRAM)、磁变存储器(Magnetoresistive Random Access Memory,MRAM)、铁电存储器(Ferroelectric Random Access Memory,FRAM)、相变存储器(Phase Change Memory,PCM)、石墨烯存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器等。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random AccessMemory,SRAM)或动态随机存取存储器(Dynamic RandomAccess Memory,DRAM)等。本申请所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本申请所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请的保护范围应以所附权利要求为准。
Claims (10)
1.一种域控制器的软件刷写方法,其特征在于,所述方法包括:
获取待刷写文件,所述待刷写文件包括编译后文件;所述编译后文件由所述待刷写文件对应的目标软件簇的程序供应方,对所述目标软件簇的应用程序和相关基础信息进行集成编译得到;
确定所述待刷写文件对应的目标软件簇,其中,所述域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方;
对所述目标软件簇进行软件簇信息核验;
在所述软件簇信息核验成功的情况下,擦除所述目标软件簇的存储区域中的历史应用程序;
对所述目标软件簇进行软件簇交互依赖校验;所述软件簇交互依赖校验是用于判断目标软件簇是否存在依赖问题的校验操作;
在所述软件簇交互依赖校验成功的情况下,根据从所述编译后文件中下载的所述目标软件簇的目标应用程序,对所述目标软件簇对应存储区域进行刷写;
所述对所述目标软件簇进行软件簇交互依赖校验,包括:
从所述编译后文件中获取所述目标软件簇的版本依赖信息,所述版本依赖信息包括所述目标软件簇对所述域控制器中其他软件簇的版本依赖范围;
在所述域控制器中所述其他软件簇的当前版本均属于其他软件簇对应的版本依赖范围的情况下,确定所述目标软件簇的交互版本依赖校验成功。
2.根据权利要求1所述的方法,其特征在于,所述对所述目标软件簇进行软件簇信息核验,包括:
获取所述目标软件簇的软件簇编码;
将所述软件簇编码与所述域控制器的配置软件簇编码范围进行比较;
在所述软件簇编码属于所述配置软件簇编码范围的情况下,确定所述目标软件簇的编码信息核验成功。
3.根据权利要求2所述的方法,其特征在于,所述对所述目标软件簇进行软件簇信息核验,还包括:
从所述编译后文件中获取所述目标软件簇的版本兼容范围;
将所述历史应用程序的历史程序版本与所述目标软件簇的版本兼容范围进行比较;
在所述历史程序版本属于所述版本兼容范围的情况下,确定所述目标软件簇的版本信息核验成功。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述目标软件簇的交互版本依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题版本软件簇;
在所述问题版本软件簇的当前状态为刷写状态,且所述目标软件簇与所述问题版本软件簇互为对方的问题版本软件簇的情况下,确定所述目标软件簇交互版本依赖校验成功。
5.根据权利要求1所述的方法,其特征在于,所述对所述目标软件簇进行软件簇交互依赖校验,包括:
从所述编译后文件中获取所述目标软件簇的本地接口清单,所述目标软件簇的本地接口清单包括所述目标软件簇的输入接口信息和输出接口信息;
获取所述域控制器中其他软件簇的本地接口清单,所述其他软件簇的本地接口清单包括所述其他软件簇的输入接口信息和输出接口信息;
将所述目标软件簇的本地接口清单与所述其他软件簇的本地接口清单进行比较;
在所述目标软件簇中存在所述其他软件簇需要的输出接口,且,所述其他软件簇中存在所述目标软件簇的输入接口的情况下,确定所述目标软件簇的交互接口依赖校验成功。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:
在所述目标软件簇的交互接口依赖校验不成功的情况下,将校验不成功的其他软件簇确定为问题接口软件簇;
在所述问题接口软件簇的当前状态为刷写状态,且所述目标软件簇与所述问题接口软件簇互为对方的问题接口软件簇的情况下,确定所述目标软件簇交互接口依赖校验成功。
7.一种域控制器的软件刷写装置,其特征在于,所述装置包括:
文件获取模块,用于获取待刷写文件,所述待刷写文件包括编译后文件;所述编译后文件由所述待刷写文件对应的目标软件簇的程序供应方,对所述目标软件簇的应用程序和相关基础信息进行集成编译得到;
目标软件簇确定模块,用于确定所述待刷写文件对应的目标软件簇,其中,所述域控制器中配置有两个以上的软件簇,同一个软件簇中的应用程序来自于同一个程序供应方;
刷写模块,用于对所述目标软件簇进行软件簇信息核验;在所述软件簇信息核验成功的情况下,擦除所述目标软件簇的存储区域中的历史应用程序;对所述目标软件簇进行软件簇交互依赖校验;所述软件簇交互依赖校验是用于判断目标软件簇是否存在依赖问题的校验操作;在所述软件簇交互依赖校验成功的情况下,根据从所述编译后文件中下载的所述目标软件簇的目标应用程序,对所述目标软件簇对应存储区域进行刷写;所述对所述目标软件簇进行软件簇交互依赖校验,包括:从所述编译后文件中获取所述目标软件簇的版本依赖信息,所述版本依赖信息包括所述目标软件簇对所述域控制器中其他软件簇的版本依赖范围;在所述域控制器中所述其他软件簇的当前版本均属于其他软件簇对应的版本依赖范围的情况下,确定所述目标软件簇的交互版本依赖校验成功。
8.根据权利要求7所述的装置,其特征在于,所述刷写模块还用于:
获取所述目标软件簇的软件簇编码;
将所述软件簇编码与所述域控制器的配置软件簇编码范围进行比较;
在所述软件簇编码属于所述配置软件簇编码范围的情况下,确定所述目标软件簇的编码信息核验成功。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311475008.9A CN117215603B (zh) | 2023-11-08 | 2023-11-08 | 域控制器的软件刷写方法、装置、计算机设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311475008.9A CN117215603B (zh) | 2023-11-08 | 2023-11-08 | 域控制器的软件刷写方法、装置、计算机设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117215603A CN117215603A (zh) | 2023-12-12 |
CN117215603B true CN117215603B (zh) | 2024-04-02 |
Family
ID=89039301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311475008.9A Active CN117215603B (zh) | 2023-11-08 | 2023-11-08 | 域控制器的软件刷写方法、装置、计算机设备和存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117215603B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762783A (zh) * | 2018-05-21 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 车辆系统的软件更新方法、装置及车辆系统 |
CN113525263A (zh) * | 2020-04-14 | 2021-10-22 | 北京新能源汽车股份有限公司 | 一种车辆控制系统及汽车 |
CN114675855A (zh) * | 2021-12-16 | 2022-06-28 | 北京新能源汽车股份有限公司 | 整车软件远程升级方法、装置及平台设备 |
CN114741121A (zh) * | 2022-04-14 | 2022-07-12 | 哲库科技(北京)有限公司 | 用于模块加载的方法与装置、电子设备 |
CN114860276A (zh) * | 2022-03-25 | 2022-08-05 | 东风汽车集团股份有限公司 | 车辆自检及电机刷写方法、装置、设备及存储介质 |
CN115567895A (zh) * | 2022-09-27 | 2023-01-03 | 苏州挚途科技有限公司 | Ota软件更新数据传输方法及系统 |
CN115757167A (zh) * | 2022-11-29 | 2023-03-07 | 重庆长安汽车股份有限公司 | 智能驾驶软件集成测试部署方法、装置、设备和介质 |
CN116156485A (zh) * | 2023-02-24 | 2023-05-23 | 浙江极氪智能科技有限公司 | 车辆软件文件刷写方法、车辆制造系统及存储介质 |
CN116560688A (zh) * | 2023-05-05 | 2023-08-08 | 上汽通用汽车有限公司 | 用于域控制器的软件更新方法 |
CN116578319A (zh) * | 2023-05-04 | 2023-08-11 | 合众新能源汽车股份有限公司 | 固件升级方法及装置、文件生成方法及装置 |
CN116719586A (zh) * | 2023-08-11 | 2023-09-08 | 宁德时代新能源科技股份有限公司 | 软件模块调用方法、装置、设备、存储介质和程序产品 |
-
2023
- 2023-11-08 CN CN202311475008.9A patent/CN117215603B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108762783A (zh) * | 2018-05-21 | 2018-11-06 | 腾讯科技(深圳)有限公司 | 车辆系统的软件更新方法、装置及车辆系统 |
CN113525263A (zh) * | 2020-04-14 | 2021-10-22 | 北京新能源汽车股份有限公司 | 一种车辆控制系统及汽车 |
CN114675855A (zh) * | 2021-12-16 | 2022-06-28 | 北京新能源汽车股份有限公司 | 整车软件远程升级方法、装置及平台设备 |
CN114860276A (zh) * | 2022-03-25 | 2022-08-05 | 东风汽车集团股份有限公司 | 车辆自检及电机刷写方法、装置、设备及存储介质 |
CN114741121A (zh) * | 2022-04-14 | 2022-07-12 | 哲库科技(北京)有限公司 | 用于模块加载的方法与装置、电子设备 |
CN115567895A (zh) * | 2022-09-27 | 2023-01-03 | 苏州挚途科技有限公司 | Ota软件更新数据传输方法及系统 |
CN115757167A (zh) * | 2022-11-29 | 2023-03-07 | 重庆长安汽车股份有限公司 | 智能驾驶软件集成测试部署方法、装置、设备和介质 |
CN116156485A (zh) * | 2023-02-24 | 2023-05-23 | 浙江极氪智能科技有限公司 | 车辆软件文件刷写方法、车辆制造系统及存储介质 |
CN116578319A (zh) * | 2023-05-04 | 2023-08-11 | 合众新能源汽车股份有限公司 | 固件升级方法及装置、文件生成方法及装置 |
CN116560688A (zh) * | 2023-05-05 | 2023-08-08 | 上汽通用汽车有限公司 | 用于域控制器的软件更新方法 |
CN116719586A (zh) * | 2023-08-11 | 2023-09-08 | 宁德时代新能源科技股份有限公司 | 软件模块调用方法、装置、设备、存储介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN117215603A (zh) | 2023-12-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1983266B (zh) | 闪速类介质中存储事务记录的文件系统 | |
CN109726105A (zh) | 测试数据构造方法、装置、设备及存储介质 | |
CN103577201B (zh) | 嵌入式双系统的更新方法及系统 | |
JP2007012056A (ja) | データ保全の先送りされた認証を有するファイルシステム | |
CN109189405A (zh) | 一种验证程序Flash数据一致性的方法及系统 | |
CN111078507A (zh) | 数据监控方法、系统、计算机设备和存储介质 | |
CN102163155A (zh) | 存储设备的升级方法及升级控制装置 | |
JPH07160547A (ja) | ファイル管理方式 | |
CN112100184A (zh) | 车辆总里程数据存储方法和计算机存储介质 | |
CN103455750B (zh) | 一种嵌入式设备的高安验证方法及装置 | |
CN114780138A (zh) | 流场模拟软件代码版本管理方法、装置和存储介质 | |
CN117215603B (zh) | 域控制器的软件刷写方法、装置、计算机设备和存储介质 | |
CN112052032B (zh) | 电子控制单元的刷写方法及装置 | |
CN117075801A (zh) | 数据存储管理方法、装置及设备 | |
CN113505026B (zh) | 验证备份数据的方法、装置、设备及存储介质 | |
CN115827691A (zh) | 批量处理结果验证方法、装置、计算机设备、存储介质 | |
CN117193147B (zh) | 域控制设备 | |
US8000451B1 (en) | System and method for managing network switch transaction dependencies | |
CN111159123A (zh) | 一种嵌入式可靠参数储存文件系统及方法 | |
CN111506315A (zh) | 一种柔性数字控制的代码部署方法、及数字控制平台 | |
CN110275596A (zh) | 基于固态硬盘的上电初始化加速方法、装置和计算机设备 | |
CN118276753A (zh) | 一种数据存储方法、设备及存储介质 | |
CN112948480B (zh) | 数据抽取方法、装置、电子设备及存储介质 | |
CN114595159B (zh) | 测试数据生成方法、装置、设备及存储介质 | |
CN112379909A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |