CN113093694B - 一种基于uds的车载电控单元数据刷写方法及系统 - Google Patents
一种基于uds的车载电控单元数据刷写方法及系统 Download PDFInfo
- Publication number
- CN113093694B CN113093694B CN202110292867.9A CN202110292867A CN113093694B CN 113093694 B CN113093694 B CN 113093694B CN 202110292867 A CN202110292867 A CN 202110292867A CN 113093694 B CN113093694 B CN 113093694B
- Authority
- CN
- China
- Prior art keywords
- vehicle
- control unit
- data
- electric control
- mounted electric
- 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
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B23/00—Testing or monitoring of control systems or parts thereof
- G05B23/02—Electric testing or monitoring
- G05B23/0205—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults
- G05B23/0218—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterised by the fault detection method dealing with either existing or incipient faults
- G05B23/0221—Preprocessing measurements, e.g. data collection rate adjustment; Standardization of measurements; Time series or signal analysis, e.g. frequency analysis or wavelets; Trustworthiness of measurements; Indexes therefor; Measurements using easily measured parameters to estimate parameters difficult to measure; Virtual sensor creation; De-noising; Sensor fusion; Unconventional preprocessing inherently present in specific fault detection methods like PCA-based methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明公开了一种基于UDS的车载电控单元数据刷写方法及系统,涉及数据刷写领域,该方法包括:基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写。本发明在减少刷写耗时的同时也能够降低刷写过程的失败率。
Description
技术领域
本发明涉及数据刷写领域,具体涉及一种基于UDS的车载电控单元数据刷写方法及系统。
背景技术
当前,在车辆的售后服务升级过程中,经常遇见需对车载电控单元进行软件程序升级的场景,一般情况下,车载电控单元的软件程序是一种特殊格式的数据文件,其包含了十六进制的字节数据,以及与数据对应的内存地址信息。随着汽车行业网联化、智能化的发展,车载电控单元的控制策略也变的越来越复杂,车载电控单元的集成度也越来越高,导致与车载电控单元配套的数据文件也越来越大,使得在车载电控单元的售后软件升级上耗时越来越长,失败率也越来越高。
目前,对于车载电控单元数据的刷写,常见做法是使用售后诊断仪,以网络下发或离线拷贝刷写文件,提取出文件中的数据和地址信息,得到新的数据,然后使用UDS(Unified Diagnostic Services,统一诊断服务)协议擦除车载电控单元中的所有数据,最后将新的数据写入到车载电控单元内存对应的地址中。但目前对于车载电控单元数据的刷写方法,存在以下缺点:
1、刷写过程中会对文件中的所有数据段都进行擦除和刷写,而CAN(ControllerArea Network,控制器局域网络)总线的传输数据量有限,若刷写文件较大,则会导致刷写耗时较长;
2、刷写过程中只能对刷写文件进行整包传输,而数据传输过程中可能出现传输意外中断的情形,此种情形下,则需要对已经传输过的数据进行重新擦写,增加整个刷写过程的失败率;
3、在数据传输完成后,只会进行软件程序的依赖检查,不会对传输数据进行校验,导致安全性较低。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种基于UDS的车载电控单元数据刷写方法及系统,在减少刷写耗时的同时也能够降低刷写过程的失败率。
为达到以上目的,本发明提供的一种基于UDS的车载电控单元数据刷写方法,具体包括以下步骤:
基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;
基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;
将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;
删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写。
在上述技术方案的基础上,
所述数据段包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段;
每个数据段均由起始地址、数据长度和数据内容三部分组成。
在上述技术方案的基础上,
所述BBS段用于存放车载电控单元程序未初始化的全局变量;
所述代码段用于存放车载电控单元程序的执行代码;
所述标定数据段用于存放标定数据;
所述图片段用于存放图片资源;
所述音频段用于存放音频资源;
所述视频段用于存放视频资源;
所述其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
在上述技术方案的基础上,所述基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码,具体步骤为:
进入车载电控单元的扩展模式,关闭车载电控单元的故障码设置和应用报文;
进入车载电控单元的编程模式,请求得到车载电控单元的安全访问种子,并向车载电控单元发送安全访问密钥;
查询得到车载电控单元的校验码表,并进行例程执行状态的查看;
基于例程执行状态查看结果,得到车载电控单元中基于逻辑分区的数据段以及每个数据段的校验码。
在上述技术方案的基础上,在将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对之前,还包括:
对刷写文件数据段的个数和车载电控单元数据段的个数进行判断;
获取刷写文件每个数据段的起始地址以及车载电控单元每个数据段的起始地址,并对刷写文件和车载电控单元中对应数据段的起始地址进行判断;
基于判断结果,当且仅当刷写文件和车载电控单元数据段的个数相同,刷写文件和车载电控单元中对应数据段的起始地址相同时,将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,反之,则退出对车载电控单元的数据刷写操作。
在上述技术方案的基础上,所述下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写,具体步骤包括:
下载刷写文件中的数据段至车载电控单元,且下载至车载电控单元的数据段,与车载电控单元中删除的数据段对应;
检查车载电控单元程序的兼容性;
重启车载电控单元,完成车载电控单元的数据刷写。
在上述技术方案的基础上,当下载刷写文件中对应的数据段至车载电控单元之后,还包括:
将刷写文件的每个数据段的校验码均发送至车载电控单元;
基于下载至车载电控单元的校验码,与验证车载电控单元中已存在的数据段的校验码对应进行比对,以判断传输至车载电控单元的数据段是否存在错误。
在上述技术方案的基础上,当得到校验码存在差异的数据段之后,还包括:将得到的校验码存在差异的数据段存入差异表,并判断所有数据段的校验码是否比对完成,若是,则结束比对,若否,则再次将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对。
本发明提供的一种基于UDS的车载电控单元数据刷写系统,包括:
第一获取模块,其用于基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;
第二获取模块,其用于基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;
比对模块,其用于将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;
写入模块,其用于删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写。
在上述技术方案的基础上,
所述数据段包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段,且每个数据段均由起始地址、数据长度和数据内容三部分组成;
所述BBS段用于存放车载电控单元程序未初始化的全局变量,所述代码段用于存放车载电控单元程序的执行代码,所述标定数据段用于存放标定数据,所述图片段用于存放图片资源,所述音频段用于存放音频资源,所述视频段用于存放视频资源,所述其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
与现有技术相比,本发明的优点在于:通过基于车载电控单元程序的逻辑分区进行数据分段,并增加差异比对流程,基于校验码比对得到车载电控单元中和刷写文件中存在差异的数据段,从而仅下载存在差异的数据段至车载电控单元中,减少车载电控单元的数据刷写量,减少刷写耗时的同时也降低了刷写过程的失败率,并还可以通过校验码对数据段进行校验,保证数据的安全性。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例中一种基于UDS的车载电控单元数据刷写方法的流程图;
图2为本发明实施例中一种基于UDS的车载电控单元数据刷写系统的结构示意图。
具体实施方式
本发明实施例提供一种基于UDS的车载电控单元数据刷写方法,通过基于车载电控单元程序的逻辑分区进行数据分段,并增加差异比对流程,基于校验码比对得到车载电控单元中和刷写文件中存在差异的数据段,从而仅下载存在差异的数据段至车载电控单元中,减少车载电控单元的数据刷写量,减少刷写耗时的同时也降低了刷写过程的失败率,并还可以通过校验码对数据段进行校验,保证数据的安全性。本发明实施例相应的还提供的一种基于UDS的车载电控单元数据刷写系统。
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
参见图1所示,本发明实施例提供的一种基于UDS的车载电控单元数据刷写方法,具体包括以下步骤:
S1:基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码。
本发明实施例中,数据段包括BBS(Block Started by Symbol,以符号开始的块)段、代码段、标定数据段、图片段、音频段、视频段和其它资源段,即对刷写文件进行分段,得到BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段,且每个段均对应有校验码,校验码根据数据段的具体内容计算后得到,当两个数据段的内容相同时,计算得到校验码也相同。计算校验码的算法可以为CRC(Cyclic Redundancy Check,循环冗余校验码)32算法。每个数据段均由起始地址、数据长度和数据内容三部分组成。即在数据段的格式组成中,包括起始地址、数据长度和数据内容,例如,BBS段包括起始地址、数据长度和数据内容,代码段也包括起始地址、数据长度和数据内容。
本发明实施例中,BBS段用于存放车载电控单元程序未初始化的全局变量;代码段用于存放车载电控单元程序的执行代码;标定数据段用于存放标定数据;图片段用于存放图片资源;音频段用于存放音频资源;视频段用于存放视频资源;其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
可以理解的是,对于刷写文件分段后,得到的数据段组成为起始地址、数据长度、数据内容和校验码,例如,BBS段对应包括起始地址、数据长度、数据内容和校验码,代码段也对应包括起始地址、数据长度、数据内容和校验码。
S2:基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码。
具体的,车载电控单元中的数据段也包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段。
S3:将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;
即将车载电控单元中每个数据段的校验码依次与刷写文件中每个数据段的校验码对应比对,例如,将车载电控单元中BBS段的校验码与刷写文件中BBS段的校验码进行比对,将车载电控单元中代码段的校验码与刷写文件中代码段的校验码进行比对,以及进行,直至将车载电控单元和刷写文件中数据段的校验码均比对完成,然后得到校验码存在差异的数据段。
对于得到的校验码存在差异的数据段,例如,将车载电控单元中BBS段的校验码与刷写文件中BBS段的校验码进行比对,若车载电控单元中BBS段的校验码与刷写文件中BBS段的校验码不相同,则车载电控单元中BBS段为存在差异间的数据段,将车载电控单元中代码段的校验码与刷写文件中代码段的校验码进行比对,若车载电控单元中代码段的校验码与刷写文件中代码段的校验码不相同,则车载电控单元中代码段为存在差异间的数据段,按上述比对方式进行,直至找到车载电控单元中所有与刷写文件数据段的校验码存在差异的数据段。
S4:删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写。
对于该步骤,例如,车载电控单元中BBS段和代码段为存在差异间的数据段,则删除车载电控单元中的BBS段和代码段,将刷写文件中的BBS段和代码段下载至车载电控单元,完成车载电控单元的数据刷写。
本发明实施例中,基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码,具体步骤为:
S201:进入车载电控单元的扩展模式,关闭车载电控单元的故障码设置和应用报文;
需要说明的是,当进入车载电控单元的扩展模式,并得到肯定回答后,才会进行后续的流程;当关闭车载电控单元的故障码设置,并得到肯定回答后,才会进行后续的流程;当关闭车载电控单元的应用报文,并得到肯定回答后,才会进行后续的流程。
S202:进入车载电控单元的编程模式,请求得到车载电控单元的安全访问种子,并向车载电控单元发送安全访问密钥;
需要说明的是,当进入车载电控单元的编程模式,并得到肯定回答后,才会进行后续的流程;当请求得到车载电控单元的安全访问种子,并得到肯定回答后,才会进行后续的流程;当向车载电控单元发送安全访问密钥,并得到肯定回答后,才会进行后续的流程;。
S203:查询得到车载电控单元的校验码表,并进行例程执行状态的查看;
需要说明的是,当查询车载电控单元的校验码表,并得到肯定回答后,才会进行后续的流程;例程执行状态的查看,可以得到例程控制ID,并得到例程执行状态。
S204:基于例程执行状态查看结果,得到车载电控单元中基于逻辑分区的数据段以及每个数据段的校验码。通过例程执行状态查看结果,可以得到例程控制ID、数据段的起始地址。数据段的数据长度和数据段的校验码。
本发明实施例中,在将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对之前,还包括:
对刷写文件数据段的个数和车载电控单元数据段的个数进行判断;
获取刷写文件每个数据段的起始地址以及车载电控单元每个数据段的起始地址,并对刷写文件和车载电控单元中对应数据段的起始地址进行判断;
基于判断结果,当且仅当刷写文件和车载电控单元数据段的个数相同,刷写文件和车载电控单元中对应数据段的起始地址相同时,将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,反之,则退出对车载电控单元的数据刷写操作。
本发明实施例中,下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写,具体步骤包括:
S401:下载刷写文件中的数据段至车载电控单元,且下载至车载电控单元的数据段,与车载电控单元中删除的数据段对应;待下载完成后,需判断待下载的数据段是否已全部下载完成,若是,则进行后续的流程操作,若否,则重新进行下载,直至待下载的数据段全部下载完成。
S402:检查车载电控单元程序的兼容性;根据例程控制ID、数据段的起始地址、数据段的数据长度和数据段的校验码进行兼容性检查,并需得到肯定应答。
S403:重启车载电控单元,完成车载电控单元的数据刷写。
本发明实施例中,当下载刷写文件中对应的数据段至车载电控单元之后,还包括:
将刷写文件的每个数据段的校验码均发送至车载电控单元;
基于下载至车载电控单元的校验码,与验证车载电控单元中已存在的数据段的校验码对应进行比对,以判断传输至车载电控单元的数据段是否存在错误。
本发明实施例中,当得到校验码存在差异的数据段之后,还包括:将得到的校验码存在差异的数据段存入差异表,并判断所有数据段的校验码是否比对完成,若是,则结束比对,若否,则再次将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对。
本发明在原有的UDS刷写过程的基础上提供了一种对车载电控单元进行差异数据刷写的方法,主要包含了对车载电控单元刷写文件分段的方法,得到差异化的数据段的方法和差异数据刷写的过程,通过对差异数据刷写来改善每次升级都需要整包刷写的耗时较长问题,以及刷写失败后需要重复刷写的问题。通过差异对比方法可提升车载电控单元软件刷写的时间,且在因异常导致刷写失败后,不需要对已刷写的数据段进行重新刷写,且刷写结束后可对传输数据的完整性和兼容新进行校验,提高刷写的安全性。本发明的车载电控单元数据刷写方法可以用于整车刷写流程开发,能够指导Bootloader(启动装载)供应商或车载电控单元供应商完成车载电控单元刷写功能的开发,对仪表、ADAS(AdvancedDriving Assistance System,高级驾驶辅助系统)或各种域控制器,能够大幅度的降低升级刷写消耗的时间,优化整车的售后刷写和OTA(Over-the-Air Technology,空中下载技术)升级功能。
本发明实施例的基于UDS的车载电控单元数据刷写方法,通过基于车载电控单元程序的逻辑分区进行数据分段,并增加差异比对流程,基于校验码比对得到车载电控单元中和刷写文件中存在差异的数据段,从而仅下载存在差异的数据段至车载电控单元中,减少车载电控单元的数据刷写量,减少刷写耗时的同时也降低了刷写过程的失败率,并还可以通过校验码对数据段进行校验,保证数据的安全性。
参见图2所示,本发明实施例提供的一种基于UDS的车载电控单元数据刷写系统,包括第一获取模块、第二获取模块、比对模块和写入模块。
第一获取模块用于基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;第二获取模块用于基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;比对模块用于将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;写入模块用于删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写。
本发明实施例中,数据段包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段,且每个数据段均由起始地址、数据长度和数据内容三部分组成;BBS段用于存放车载电控单元程序未初始化的全局变量,代码段用于存放车载电控单元程序的执行代码,标定数据段用于存放标定数据,图片段用于存放图片资源,音频段用于存放音频资源,视频段用于存放视频资源,其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
本发明实施例中,第二获取模块基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码,具体过程为:
进入车载电控单元的扩展模式,关闭车载电控单元的故障码设置和应用报文;
进入车载电控单元的编程模式,请求得到车载电控单元的安全访问种子,并向车载电控单元发送安全访问密钥;
查询得到车载电控单元的校验码表,并进行例程执行状态的查看;
基于例程执行状态查看结果,得到车载电控单元中基于逻辑分区的数据段以及每个数据段的校验码。
在将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对之前,还包括:
对刷写文件数据段的个数和车载电控单元数据段的个数进行判断;
获取刷写文件每个数据段的起始地址以及车载电控单元每个数据段的起始地址,并对刷写文件和车载电控单元中对应数据段的起始地址进行判断;
基于判断结果,当且仅当刷写文件和车载电控单元数据段的个数相同,刷写文件和车载电控单元中对应数据段的起始地址相同时,将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,反之,则退出对车载电控单元的数据刷写操作。
本发明实施例中,下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写,具体步骤包括:
下载刷写文件中的数据段至车载电控单元,且下载至车载电控单元的数据段,与车载电控单元中删除的数据段对应;
检查车载电控单元程序的兼容性;
重启车载电控单元,完成车载电控单元的数据刷写。
本发明实施例中,当下载刷写文件中对应的数据段至车载电控单元之后,还包括:
将刷写文件的每个数据段的校验码均发送至车载电控单元;
基于下载至车载电控单元的校验码,与验证车载电控单元中已存在的数据段的校验码对应进行比对,以判断传输至车载电控单元的数据段是否存在错误。
本发明实施例中,当得到校验码存在差异的数据段之后,还包括:将得到的校验码存在差异的数据段存入差异表,并判断所有数据段的校验码是否比对完成,若是,则结束比对,若否,则再次将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对。
本发明实施例的基于UDS的车载电控单元数据刷写系统,通过基于车载电控单元程序的逻辑分区进行数据分段,并增加差异比对流程,基于校验码比对得到车载电控单元中和刷写文件中存在差异的数据段,从而仅下载存在差异的数据段至车载电控单元中,减少车载电控单元的数据刷写量,减少刷写耗时的同时也降低了刷写过程的失败率,并还可以通过校验码对数据段进行校验,保证数据的安全性。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
本发明是参照根据本发明实施例的方法、设备(系统)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
Claims (9)
1.一种基于UDS的车载电控单元数据刷写方法,其特征在于,具体包括以下步骤:
基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;
基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;
将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;
删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写;
其中,所述基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码,具体步骤为:
进入车载电控单元的扩展模式,关闭车载电控单元的故障码设置和应用报文;
进入车载电控单元的编程模式,请求得到车载电控单元的安全访问种子,并向车载电控单元发送安全访问密钥;
查询得到车载电控单元的校验码表,并进行例程执行状态的查看;
基于例程执行状态查看结果,得到车载电控单元中基于逻辑分区的数据段以及每个数据段的校验码。
2.如权利要求1所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于:
所述数据段包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段;
每个数据段均由起始地址、数据长度和数据内容三部分组成。
3.如权利要求2所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于:
所述BBS段用于存放车载电控单元程序未初始化的全局变量;
所述代码段用于存放车载电控单元程序的执行代码;
所述标定数据段用于存放标定数据;
所述图片段用于存放图片资源;
所述音频段用于存放音频资源;
所述视频段用于存放视频资源;
所述其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
4.如权利要求1所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于,在将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对之前,还包括:
对刷写文件数据段的个数和车载电控单元数据段的个数进行判断;
获取刷写文件每个数据段的起始地址以及车载电控单元每个数据段的起始地址,并对刷写文件和车载电控单元中对应数据段的起始地址进行判断;
基于判断结果,当且仅当刷写文件和车载电控单元数据段的个数相同,刷写文件和车载电控单元中对应数据段的起始地址相同时,将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,反之,则退出对车载电控单元的数据刷写操作。
5.如权利要求1所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于,所述下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写,具体步骤包括:
下载刷写文件中的数据段至车载电控单元,且下载至车载电控单元的数据段,与车载电控单元中删除的数据段对应;
检查车载电控单元程序的兼容性;
重启车载电控单元,完成车载电控单元的数据刷写。
6.如权利要求1所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于,当下载刷写文件中对应的数据段至车载电控单元之后,还包括:
将刷写文件的每个数据段的校验码均发送至车载电控单元;
基于下载至车载电控单元的校验码,与验证车载电控单元中已存在的数据段的校验码对应进行比对,以判断传输至车载电控单元的数据段是否存在错误。
7.如权利要求1所述的一种基于UDS的车载电控单元数据刷写方法,其特征在于,当得到校验码存在差异的数据段之后,还包括:将得到的校验码存在差异的数据段存入差异表,并判断所有数据段的校验码是否比对完成,若是,则结束比对,若否,则再次将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对。
8.一种基于UDS的车载电控单元数据刷写系统,其特征在于,包括:
第一获取模块,其用于基于车载电控单元程序的逻辑分区,对刷写文件进行分段,得到多个数据段并获取每个数据段的校验码;
第二获取模块,其用于基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码;
比对模块,其用于将车载电控单元中数据段的校验码与刷写文件中对应数据段的校验码进行比对,得到校验码存在差异的数据段;
写入模块,其用于删除车载电控单元中校验码存在差异的数据段,并下载刷写文件中对应的数据段至车载电控单元,完成车载电控单元的数据刷写;
其中,所述基于车载电控单元程序的逻辑分区,获取车载电控单元中的数据段以及每个数据段的校验码,具体过程为:
进入车载电控单元的扩展模式,关闭车载电控单元的故障码设置和应用报文;
进入车载电控单元的编程模式,请求得到车载电控单元的安全访问种子,并向车载电控单元发送安全访问密钥;
查询得到车载电控单元的校验码表,并进行例程执行状态的查看;
基于例程执行状态查看结果,得到车载电控单元中基于逻辑分区的数据段以及每个数据段的校验码。
9.如权利要求8所述的一种基于UDS的车载电控单元数据刷写系统,其特征在于:
所述数据段包括BBS段、代码段、标定数据段、图片段、音频段、视频段和其它资源段,且每个数据段均由起始地址、数据长度和数据内容三部分组成;
所述BBS段用于存放车载电控单元程序未初始化的全局变量,所述代码段用于存放车载电控单元程序的执行代码,所述标定数据段用于存放标定数据,所述图片段用于存放图片资源,所述音频段用于存放音频资源,所述视频段用于存放视频资源,所述其它资源段用于存放BBS段、代码段、标定数据段、图片段、音频段和视频段所存放数据外的其它资源文件。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292867.9A CN113093694B (zh) | 2021-03-18 | 2021-03-18 | 一种基于uds的车载电控单元数据刷写方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110292867.9A CN113093694B (zh) | 2021-03-18 | 2021-03-18 | 一种基于uds的车载电控单元数据刷写方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113093694A CN113093694A (zh) | 2021-07-09 |
CN113093694B true CN113093694B (zh) | 2022-05-20 |
Family
ID=76668336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110292867.9A Active CN113093694B (zh) | 2021-03-18 | 2021-03-18 | 一种基于uds的车载电控单元数据刷写方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113093694B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113504771A (zh) * | 2021-07-16 | 2021-10-15 | 东风小康汽车有限公司重庆分公司 | 一种控制器升级方法和系统 |
CN113590157B (zh) * | 2021-07-31 | 2024-04-30 | 重庆长安汽车股份有限公司 | 一种车载嵌入式ota刷写文件、刷写装置及刷写方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834286A (zh) * | 2015-03-30 | 2015-08-12 | 北京经纬恒润科技有限公司 | 一种重编程方法、系统、重编程设备及电子控制单元 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110727542A (zh) * | 2019-09-18 | 2020-01-24 | 陕西法士特齿轮有限责任公司 | 一种Hex文件处理方法及应用 |
CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106021003B (zh) * | 2016-05-05 | 2019-11-29 | 捷开通讯(深圳)有限公司 | 智能终端的修复方法、智能终端以及服务器 |
CN107707411A (zh) * | 2017-10-30 | 2018-02-16 | 深圳市飞鸿光电子有限公司 | 一种无源光网络的升级方法和系统 |
TWI658463B (zh) * | 2018-08-23 | 2019-05-01 | 群聯電子股份有限公司 | 資料存取方法、記憶體控制電路單元與記憶體儲存裝置 |
TWI719654B (zh) * | 2019-06-21 | 2021-02-21 | 慧榮科技股份有限公司 | 閃存實體資源集合管理裝置及方法以及電腦程式產品 |
CN112286566B (zh) * | 2020-12-30 | 2021-05-25 | 延锋伟世通电子科技(南京)有限公司 | 一种基于usb传输的汽车仪表差分升级方法 |
-
2021
- 2021-03-18 CN CN202110292867.9A patent/CN113093694B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104834286A (zh) * | 2015-03-30 | 2015-08-12 | 北京经纬恒润科技有限公司 | 一种重编程方法、系统、重编程设备及电子控制单元 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110727542A (zh) * | 2019-09-18 | 2020-01-24 | 陕西法士特齿轮有限责任公司 | 一种Hex文件处理方法及应用 |
CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113093694A (zh) | 2021-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107729757B (zh) | 软件更新之前的软件认证 | |
CN109933348B (zh) | 一种电子控制单元中Bootloader的更新方法和装置 | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
CN113093694B (zh) | 一种基于uds的车载电控单元数据刷写方法及系统 | |
CN107193593B (zh) | 一种可升级文件的升级方法、机顶盒和存储介质 | |
CN108279916B (zh) | 电子控制单元程序更新方法和装置 | |
WO2018176692A1 (zh) | 系统的固件更新方法、装置和电池管理系统 | |
CN111263354B (zh) | 一种ota差分升级方法及装置 | |
CN111722864A (zh) | 一种ecu数据刷写方法及相关装置 | |
CN114895947A (zh) | 车载控制器的软件升级方法、装置、设备和存储介质 | |
CN112000358A (zh) | 充电桩的升级方法与智能充电桩 | |
CN107656765A (zh) | 一种设备初始化的方法、系统及终端设备 | |
CN112596447B (zh) | Ecu刷写数据长度的确定方法、装置、电子设备及介质 | |
CN114840241A (zh) | 一种数据处理方法以及相关设备 | |
CN113885907A (zh) | 一种固件升级系统及方法 | |
CN116755737A (zh) | 汽车软件ota升级方法、装置、设备、存储介质及程序 | |
CN114281374A (zh) | 车辆电控单元的远程刷写方法、系统及存储介质 | |
CN114780114A (zh) | 固件升级方法、系统、车辆及存储介质 | |
CN112732301A (zh) | 一种车辆升级方法和装置 | |
CN111918278A (zh) | 空中下载升级校验方法、装置、介质和智能终端设备 | |
CN112312213A (zh) | 数字电视系统的升级方法及相关装置 | |
CN112287348B (zh) | 一种车载模块的自刷新方法和系统 | |
CN114756258B (zh) | 一种基于odx的ecu软件刷新方法与系统 | |
WO2024131374A1 (zh) | 机顶盒跨系统升级方法、装置、机顶盒及存储介质 | |
CN118233303A (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 |