CN107976986A - 用于对车辆电子控制模块编程的方法 - Google Patents
用于对车辆电子控制模块编程的方法 Download PDFInfo
- Publication number
- CN107976986A CN107976986A CN201710780137.7A CN201710780137A CN107976986A CN 107976986 A CN107976986 A CN 107976986A CN 201710780137 A CN201710780137 A CN 201710780137A CN 107976986 A CN107976986 A CN 107976986A
- Authority
- CN
- China
- Prior art keywords
- reprogramming
- uds
- file
- ecu
- target
- 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.)
- Granted
Links
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/0208—Electric testing or monitoring by means of a monitoring system capable of detecting and responding to faults characterized by the configuration of the monitoring system
- G05B23/0213—Modular or universal configuration of the monitoring system, e.g. monitoring system having modules that may be combined to build monitoring program; monitoring system that can be applied to legacy systems; adaptable monitoring system; using different communication protocols
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/654—Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
- B60W2050/0062—Adapting control system settings
- B60W2050/0075—Automatic parameter input, automatic initialising or calibrating means
- B60W2050/0083—Setting, resetting, calibration
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W2556/00—Input parameters relating to data
- B60W2556/45—External transmission of data to or from the vehicle
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60W—CONJOINT CONTROL OF VEHICLE SUB-UNITS OF DIFFERENT TYPE OR DIFFERENT FUNCTION; CONTROL SYSTEMS SPECIALLY ADAPTED FOR HYBRID VEHICLES; ROAD VEHICLE DRIVE CONTROL SYSTEMS FOR PURPOSES NOT RELATED TO THE CONTROL OF A PARTICULAR SUB-UNIT
- B60W50/00—Details of control systems for road vehicle drive control not related to the control of a particular sub-unit, e.g. process diagnostic or vehicle driver interfaces
-
- 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
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24065—Real time diagnostics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
- G06F8/63—Image based installation; Cloning; Build to order
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种用于对车辆电子控制模块编程的方法。一种用于生成用于对目标车辆中的目标电子控制单元(ECU)重编程的重编程文件的方法,包括:利用来自字典数据库中的特定于目标ECU的高到低级的命令转换以根据高级语言命令生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;将目标ECU的二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级,该多个级中的每一级包括一个对应的数据块或多个数据块;以及将多个UDS级和处理例程汇编成重编程文件。
Description
发明领域
本发明涉及车辆电子控制单元或模块的编程和重编程。
发明背景
车辆系统通常由一个或更多个电子控制单元(ECU)或电子控制模块控制。每个ECU包括为了各种目的(包括提供校正、改进和增强)而不时更新的软件。软件通常存储在快闪存储器中。
通常,这种更新由车辆所有者安装,车辆所有者常常响应于接收到来自车辆制造商的通知而将车辆带到车辆经销商或服务中心以用于更新安装。用于提供和安装更新的费用从经销商传递到车辆制造商。那些费用是当更新在车辆代理商处被执行时对于车辆制造商的相当大的费用。此外,车辆所有者由于不得不将车辆带到经销商并在经销商处花费时间来使安装被更新而感到不便。更进一步地,车辆所有者可能不会收到更新通知,或可能由于不便而决定不添加更新。
也被称为固件空中下载(FOTA)的空中下载(OTA)编程是远程地更新以前在电信行业中用于移动无线设备(诸如蜂窝电话、个人数字助理等)的软件的过程。然而,在汽车行业中,FOTA具有受限的使用。
ECU重编程的已确立的过程利用有线连接和诊断工具。有线连接直接在诊断工具和车辆网关之间。
现代车辆诊断系统配置为执行XML脚本。这种方法是标准化的,并且利用在脚本语言中、特别是在开放测试序列数据交换(OTX,Open Test sequence data eXchange)中编译的输出脚本。另外,利用标准化描述语言,即提供用于软件配置的基本信息的开放诊断数据交换(ODX,Open Diagnostic Data Exchange)。ODX在国际标准ISO 22901-1中被标准化。
ODX和OTX文件被存储为XML文件,并且可以占用存储器的几兆字节。典型的诊断工具集成ODX/OTX协议的XML解释器,并将指令发送到车辆网关。
可能为车辆提供运行诸如Linux的可集成XML解释器的强大的操作系统的车辆网关,如在汽车修理厂诊断工具中完成的。然而,这些模块需要大的快闪存储器和RAM存储器,并且具有非常高的成本。该成本对低端车辆是令人望而却步的。
因此,具有在快闪存储器和RAM存储器以及CPU吞吐量方面使用有限的硬件资源来执行OTA车辆编程的系统和方法是合乎需要的。
概述
提供了用于在车辆中重编程和重新刷新ECU的方法和系统的实施例。各种实施例使得信息娱乐/网关ECU的存储器需求被优化和最小化。
生成用于对目标车辆中的目标电子控制单元(ECU)重编程的重编程文件的系统的实施例包括存储器和一个或更多个处理器,其被编程为:从字典数据库提取特定于目标ECU的高到低级命令转换并生成统一诊断服务(UDS,Unified Diagnostic Services)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;将目标ECU的二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级;将多个UDS级和处理例程汇编成重编程文件;以及将重编程文件存储在存储器中用于传输到目标车辆。
在系统的实施例中,利用包括开放测试序列数据交换(OTX)的标准化规范语言编辑器生成高级语言诊断指令。
在系统的实施例中,重编程文件包括头部,其包括一般参数、一般执行条件和多个UDS级的数量。
在系统的实施例中,命令式语言指令包括C语言指令。
在系统的实施例中,重编程文件可以包括头部,其包括一般参数、一般执行条件和多个UDS级的数量。
在系统的实施例中,重编程文件可以包括创建用于对目标ECU重编程的重新刷新场景的步骤、控制重编程的步骤以及将重编程数据发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证所述重编程的成功的步骤以及发起错误处理操作的步骤。
一种用于对布置在目标车辆内的目标电子控制单元(ECU)重编程的系统的实施例,该系统包括服务器和一个或更多个处理器。一个或更多个处理器可操作来:访问包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本文件的重编程序列文件以及包括字典数据库和包括每个车辆ECU中央处理单元(CPU)存储器的二进制图像的车辆描述数据的数据文件;提取来自所述OTX脚本文件的命令和来自字典数据库的特定于目标ECU的高到低级命令转换,以生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;将二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级;以及将多个UDS级和处理例程汇编成用于对目标ECU重编程的重编程文件。服务器可操作来访问目标车辆并将重编程文件传输到目标车辆。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,命令式语言指令包括C语言指令。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,重编程文件可以包括头部,其包括一般参数、一般执行条件和多个UDS级的数量。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,重编程文件可以包括创建用于对目标ECU重编程的刷新场景的多个步骤、控制重编程的步骤和将重编程数据发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证所述重编程的成功的步骤以及发起错误处理操作的步骤。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,多个级中的至少一些级被布置成每个级包括用于刷新目标ECU的快闪存储器的相应块的相应的一个二进制数据块。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,目标车辆包括电子模块,其包括处理器和相关联的存储器;目标车辆将重编程文件存储在与存储器相关联的电子模块中;以及电子模块处理器在逐级基础上执行重编程文件以在逐块基础上刷新快闪存储器。
用于通过刷新ECU的存储器来对布置在目标车辆内的目标电子控制单元(ECU)重编程的系统的实施例包括服务器、存储器和一个或更多个处理器,其可操作来访问包括高级语言诊断序列命令的开放测试序列数据交换脚本的重编程序列文件以及包括字典数据库和包括每个车辆ECU中央处理单元(CPU)存储器的二进制图像的车辆描述数据的数据文件。一个或更多个处理器从字典数据库中提取特定于目标ECU的高到低级命令转换以生成统一诊断服务(UDS)操作事务,将高级语言诊断序列命令转换为命令式语言指令,将命令式语言指令编译成对应于处理例程的二进制代码,将二进制图像分割成多个数据块,编译多个数据块和各自的UDS操作事务以提供多个UDS级,以及将多个UDS级和处理例程汇编成用于对目标ECU重编程的重编程文件。重编程文件存储在存储器中。服务器操作来访问重编程文件,并将重编程文件传输到目标车辆。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,命令式语言指令包括C语言指令。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,重编程文件可以包括头部,其包括一般参数、一般执行条件和多个UDS级的数量。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,重编程文件包括创建用于对目标ECU重编程的刷新场景的多个步骤、控制重编程的步骤和将重编程数据发送到目标ECU的步骤。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,一个或更多个处理器形成多个级中的至少一些级,每个级包括用于刷新目标ECU的快闪存储器的相应块的相应的一个二进制数据块。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,重编程文件可以由目标车辆在逐级基础上执行,以在逐数据块基础上刷新快闪存储器。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,服务器经由无线链路将重编程文件发送到目标车辆。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,车辆可以包括电子模块,其包括存储器和处理器,车辆将重编程文件存储在电子模块存储器中,并且电子模块在逐级基础上执行重编程文件,以在逐数据块基础上刷新快闪存储器。
在用于对目标电子控制单元(ECU)重编程的系统的实施例中,车辆包括电子模块,其包括存储器和处理器,车辆将重编程文件存储在电子模块存储器中,并且电子模块在逐级基础上执行重编程文件以在逐数据块基础上刷新快闪存储器。
一种用于生成用于对目标车辆中的目标电子控制单元(ECU)重编程的重编程文件的方法的实施例包括:提供对包括用于对目标ECU重编程的以标准化规范语言的高级语言指令的第一文件的访问;提供对用于多个车辆的车辆数据以及对多个车辆中的每个车辆的对应的多个ECU存储器的多个二进制存储器图像和相应映射的访问;提供对字典数据库的访问,以将高级语言命令转换为统一诊断服务(UDS)操作事务;利用来自字典数据库的特定于目标ECU的高到低级命令转换,以根据高级语言命令生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;将目标ECU的二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级,该多个级中的每一级包括一个对应的数据块或多个数据块;以及将多个UDS级和处理例程汇编成重编程文件。
在该方法的实施例中,利用包括开放测试序列数据交换(OTX)的标准化规范语言编辑器生成高级语言诊断指令。
在该方法的实施例中,该方法可以包括汇编重编程文件以包括头部部分,其包括一般参数、一般执行条件和多个UDS级的数量。
在该方法的实施例中,重编程文件包括创建用于对目标ECU重编程的刷新场景的步骤、控制重编程的步骤以及将重编程数据发送到目标ECU的步骤。重编程文件可以包括在逐块基础上验证重编程的成功的步骤以及发起错误处理操作的步骤。
一种用于对布置在目标车辆内的目标电子控制单元(ECU)重编程的方法的实施例包括:访问包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本的重编程序列文件以及包括字典数据库和包括目标ECU的存储器的二进制图像的车辆描述数据的数据文件;从字典数据库中提取特定于目标ECU的高到低级命令转换,以生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为C语言指令;将C语言指令编译成对应于处理例程的二进制代码;将用于目标ECU存储器的二进制图像分割成多个存储器刷新数据块;编译多个存储器刷新数据块和各自的UDS操作事务以提供多个UDS级;以及将多个UDS级和处理例程汇编成用于对目标ECU重编程的重编程文件。
在该方法的实施例中,命令式语言指令包括C语言指令。
在该方法的实施例中,该方法包括汇编重编程文件以包括头部部分,其包括一般参数、一般执行条件和多个UDS级的数量。
在该方法的实施例中,重编程文件包括创建用于对目标ECU重编程的刷新场景的多个步骤、控制重编程的步骤和将重编程数据发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证重编程的成功的步骤以及发起错误处理操作的步骤。
在该方法的实施例中,该方法包括布置多个级中的至少一些级,每个级包括用于刷新目标ECU存储器的相应块的相应的一个二进制数据块。
在该方法的实施例中,其中目标车辆包括电子模块,其包括处理器和相关联的存储器,该方法可以包括:将重编程文件发送到车辆;将重编程文件存储在相关联的存储器中;以及利用电子模块处理器来在逐级基础上执行重编程文件,以在逐块基础上刷新ECU存储器。
提供了一种通过刷新布置在目标车辆中的目标电子控制单元(ECU)的存储器重编程ECU的方法的实施例。该方法包括:访问包括高级语言诊断序列命令的开放测试序列数据交换脚本的重编程序列文件;访问包括字典数据库、车辆描述数据和目标ECU的存储器的二进制图像的数据文件;从字典数据库中提取对特定于目标ECU的高到低级命令转换,以生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;提取二进制图像;将二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级;将多个UDS级和处理例程汇编成用于对目标ECU重编程的重编程文件;将重编程文件传输到目标车辆。
在该方法的实施例中,命令式语言指令包括C语言指令。
在该方法的实施例中,重编程文件可以包括头部部分,其包括一般参数、一般执行条件和多个UDS级的数量。
在该方法的实施例中,处理例程可以包括创建用于对目标ECU重编程的刷新场景的多个步骤、控制重编程的步骤和将重编程数据发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证重编程的成功的步骤以及发起错误处理操作的步骤。
在该方法的实施例中,该方法可以包括形成多个级中的至少一些级,每个级包括用于刷新目标ECU的存储器的相应块的、所述多个数据块中的相应的一个数据块。
在该方法的实施例中,该方法可以包括由目标车辆在逐级基础上执行重编程文件,以在逐数据块基础上刷新目标ECU的存储器。
在该方法的实施例中,该方法可以包括经由无线链路将重编程文件发送到目标车辆。
在该方法的实施例中,其中车辆包括电子模块,其包括存储器和处理器,该方法可以包括:将重编程文件存储在电子模块存储器中;以及利用电子模块来在逐级基础上执行重编程文件,以在逐数据块基础上刷新目标ECU的快闪存储器。
提供了非暂时计算机可读介质的实施例,其具有存储在其上的计算机可执行指令作为由车辆中的处理器执行来提供用于对目标车辆中的目标电子模块重编程的重编程方法的重编程文件。重编程文件包括第一部分和多个第二部分。第一部分包括一般参数、一般执行条件和第二部分的数量的标识。每个第二部分包括高级语言诊断序列命令和数据块,该高级语言诊断序列命令特定于目标电子模块,被转换为命令式编程语言指令并被编译成对应于处理例程的二进制代码,该数据块包括多个分段二进制图像的对应的一个分段二进制图像。多个分段二进制图像共同地构成目标电子模块的二进制图像。该方法包括以下步骤:识别目标电子模块;确定一般条件存在;在逐级基础上执行与处理例程相对应的二进制代码以通过在对应的逐块基础上用数据块代替目标电子模块的程序存储器的二进制图像来对目标电子模块重编程;确定被包括在重编程文件中的级的数量;以及当所有级都被执行时终止目标电子模块的重编程。
在非暂时计算机可读介质的实施例中,利用包括开放测试序列数据交换(OTX)的标准化规范语言编辑器生成高级语言诊断指令。
在非暂时计算机可读介质的实施例中,非暂时计算机可读介质与存在于车辆中的特定处理器相关联。
在非暂时计算机可读介质的实施例中,重编程文件从车辆外部的源被接收并存储在非暂时计算机可读介质中。
在非暂时计算机可读介质的实施例中,命令式编程语言指令包括C语言指令。
在非暂时计算机可读介质的实施例中,目标电子模块包括目标电子控制单元(ECU)。
提供了一种用于提供为布置在目标车辆内的目标电子控制单元(ECU)生成重编程程序的方法的计算机程序产品的实施例。计算机程序产品包括用计算机可执行指令编码的非暂时计算机可读介质,计算机可执行指令当由处理器执行时执行用于提供重编程程序的方法。该方法包括:访问包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本的重编程序列文件以及包括字典数据库和包括目标ECU的存储器的二进制图像的车辆描述数据的数据文件;从字典数据库中提取特定于目标ECU的高到低级命令转换,以生成统一诊断服务(UDS)操作事务;将高级语言诊断序列命令转换为命令式语言指令;将命令式语言指令编译成对应于处理例程的二进制代码;将二进制图像分割成多个数据块;编译多个数据块和各自的UDS操作事务以提供多个UDS级;以及将多个UDS级和处理例程汇编成重编程文件。
在计算机程序产品的实施例中,该方法还可以包括形成重编程包以包括多个级,每个级包括统一诊断服务(UDS)操作。
在计算机程序产品的实施例中,命令式语言指令包括C语言指令。
在计算机程序产品的实施例中,重编程文件可以包括头部,其包括一般参数、一般执行条件和多个UDS级的数量。
在计算机程序产品的实施例中,该方法可以包括向重编程文件提供创建用于对目标ECU重编程的刷新场景的多个步骤、控制重编程的步骤和将重编程数据发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证重编程的成功的步骤以及发起错误处理操作的步骤。
在计算机程序产品的实施例中,该方法可以包括形成重编程包以包括多个级,该多个级包括多个统一诊断服务(UDS)操作;以及形成重编程文件以包括第一部分,其包括一般参数、一般执行条件和多个级中的级的数量。
在计算机程序产品的实施例中,该方法可以包括形成多个级中的至少一些级,每个级包括用于刷新ECU的快闪存储器的相应块的二进制数据块。
在计算机程序产品的实施例中,该方法可以包括:布置重编程文件以在逐级基础上被执行,以在逐块基础上刷新快闪存储器。
提供了一种用于提供对布置在目标车辆内的目标电子控制单元(ECU)重编程的方法的计算机程序产品的另一实施例。计算机程序产品包括用包括计算机可执行指令和计算机可读数据的重编程文件编码的非暂时计算机可读介质,计算机可执行指令和计算机可读数据当被布置在目标车辆内的处理器执行时执行该方法。该方法包括:访问重编程文件的第一部分,第一部分包括一般参数、重编程执行条件以及多个重编程级中的级的数量;利用一般参数来识别目标ECU;在逐级基础上访问重编程文件的多个级中的每个级,每个级包括统一诊断服务(UDS)操作事务。每个级通过下列操作生成:访问包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本文件的重编程序列文件以及包括字典数据库和包括目标车辆ECU存储器的二进制图像的车辆描述数据的数据文件;提取来自所述OTX脚本文件的命令和来自字典数据库的特定于目标ECU的高到低级命令转换,以生成UDS操作事务;将高级语言诊断序列命令转换为C语言指令;将C语言指令编译成对应于处理例程的二进制代码;将二进制图像分割成多个数据块;以及编译多个数据块和各自的UDS操作事务以提供多个UDS级。该方法还包括在逐级基础上执行多个级的每个级,以在相应的逐块基础上对目标ECU存储器重编程。
在计算机程序产品的实施例中,命令式语言指令包括C语言指令。
在计算机程序产品的实施例中,多个级包括用多个数据块创建用于对目标ECU存储器重编程的刷新场景的多个步骤、控制重编程的步骤和将多个数据块发送到目标ECU的步骤。重编程文件还可以包括在逐块基础上验证重编程的成功的步骤以及发起错误处理操作的步骤。
在计算机程序产品的实施例中,多个级中的至少一些级各自包括用于刷新ECU存储器的相应块的二进制数据块。
附图说明
通过阅读本发明的实施例的下面的详细描述,将更好地理解本发明,其中相似的参考指示符表示相似的元件,以及其中:
图1示出了用于对ECU重编程的实施例;
图2示出了重编程文件的实施例;
图3是车辆电子模块的实施例的框图;
图4示出了图3的车辆电子模块的操作;
图5示出了逐级可执行的图2的重编程文件的例子;以及
图6、图7和图8各自更详细地示出图2的重编程文件的级。
详细描述
描述了本发明的实施例,其设置成对在车辆中的电子模块重编程。各种实施例避免了对于将大的OTX/ODX XML文件传输到车辆的需要。此外,实施例避免了对于在车辆网关中具有XML解释器的需要。
系统和方法的各种实施例不需要LINUX,也不需要诸如在现有技术中利用的任何其它高级或复杂的操作系统。各种实施例可以用标准化自动开放系统架构(AUTOSAR)操作系统来实现。通过利用AUTOSAR操作系统,提供更大的安全性来避免控制论攻击。
各种实施例利用ODX/OTX XML文件的离线预处理,以便生成对集成在车辆网关中的特定微控制器的直接可执行的重编程文件。
图1示出了可操作来生成重编程文件200(即,将被传输到目标车辆的二进制文件)的方法和系统100的实施例。根据实施例的一个方面,利用离线处理来生成重编程文件200。重编程文件200包含控制软件和新程序,以替换在车辆中的一个或更多个电子模块或电子控制单元(ECU)中的相应程序。控制软件执行与在利用OTX/ODX的诊断工具中由XML指令执行的相同的功能。
在图1的实施例中,重编程文件200由服务器127经由无线链路129传输到目标车辆131。在这个实例下,重编程文件被称为“FOTA包”。本领域中的技术人员将理解,尽管所示的各种实施例利用无线链路来将重编程文件或FOTA包200传输到目标车辆,但是也可以通过利用到车辆的硬接线连接来传输重编程文件。
在图1的实施例中,车辆原始设备制造商(OEM)101利用计算机101a、101b、101c来生成用于生成重编程文件200的XML文件和数据。
OTX编辑器109用于生成存储在OTX文件111中的高级语言指令,其用于执行对目标ECU的变化进行重编程。ODX编辑器103用于生成ODX字典数据库105,以将高级语言命令转换成特定于目标汽车的低级指令。通过组合来自ODX数据库105的低级指令和从目标ECU二进制图像文件102获取的每个车辆ECU存储器中的程序的二进制图像连同各自的存储器映射来生成zip压缩的PDX文件104。
系统100具有对OTX文件111的访问权,该OTX文件111包括用于对目标ECU重编程的标准化规范语言的高级语言指令。
系统100还具有对ODX文件105的访问权,以提供对字典数据库的访问以将高级语言命令转换成统一诊断服务(UDS)操作事务。UDS在ISO 14229-1:2013中被编纂,并允许诊断控制车辆内ECU上的功能。
系统100还具有对PDX文件104的访问权,该PDX文件104提供对用于多个车辆的车辆数据以及对目标车辆的目标ECU存储器的多个二进制存储器图像和相应映射的访问。
OTX文件111提供了与ODX文件105和PDX文件104结合来用于闪速写入或刷新目标ECU快闪存储器的脚本。OTX解释器117是从OTX文件111中提取或读取高级指令并且将指令转换成命令式语言指令(更具体地,具有来自ODX过滤器113的支持以生成C语言程序119的C语言指令)的功能工具。
C语言程序119由编译器123操作以将C语言指令转换为用于被统称为处理例程125的前级处理例程、ACK处理例程和NACK/错误处理例程的机器代码。
ODX过滤器113访问ODX文件103,并且起到为目标ECU提取高级到低级命令或指令转换的工具的作用,并且根据OTX文件111中的高级语言命令生成用于对目标ECU的存储器重编程的UDS事务。
系统100经由提取和分割工具106来访问PDX文件104。提取和分割工具106提取目标汽车细节和目标ECU存储器映射和要更新的新数据。在字典OTX文件111中定义的、用字典ODX转换的并在UDS事务中编译的数据处理程序被设置有由各自的UDS命令处理的数据块,以替换相应的目标ECU二进制代码段以产生UDS级数据115。
系统100组合处理例程125和UDS级数据以形成重编程文件或FOTA包200。FOTA包200包括多个FOTA级。每个级可对应于统一诊断服务(UDS)操作。
FOTA包200可以在稍后的时间被传输到车辆。
在图1的实施例中,服务器127具有对FOTA包200的访问权,并且可操作来经由无线链路129将FOTA包选择性地传输到目标车辆131(或车辆)。无线链路129可以包括无线广域网或无线局域网或无线广域网和无线局域网的组合。
目标车辆131包括接收FOTA包的远程信息处理网关133。远程信息处理网关133耦合到车辆网关300并将FOTA包传送到车辆网关300。通常,车辆网关300由信息娱乐和网关ECU提供。在其他实施例中,可以组合远程信息处理网关133和信息娱乐和网关ECU 300。车辆网关300耦合到车辆总线135。各个ECU 137、139、141、143耦合到车辆总线135。可以经由与车辆总线135不同的单独总线来完成在远程信息处理网关133与车辆网关300之间的连接。
车辆网关300包括在图1中未示出的存储器。车辆网关300的存储器存储FOTA包200。车辆网关300利用FOTA包200来识别目标ECU(例如,ECU 143)并对目标ECU 143重编程。
有利地,FOTA包200比之前利用的重编程包小得多,且相应地需要用于存储FOTA包200的更少的存储器,FOTA包的传输花费更少的时间。这些优点的结果在于车辆网关300的信息娱乐和网关ECU需要较少的存储器大小和较少的处理能力。
FOTA包200包括创建刷新场景、控制刷新过程并将刷新数据发送到准备好被执行的目标ECU的步骤。车辆网关300只必须从其存储器读取FOTA包并以最少的预处理执行订单。另外,由OEM发起的FOTA包200中的数据被解释、过滤并从由OEM生成的OTX文件111、ODX文件105和PDX文件104包被构造。因此,存储FOTA包所需的存储器大小更小。
现在转向图2,示出了FOTA包200的结构。FOTA包包括多个级203a、203b和通用头部201。通用头部201创建用于对目标ECU重编程的工作环境,并且包括FOTA头部201、一般FOTA参数201B、一般执行条件201C以及被包括在FOTA包中的FOTA级的数量201D。FOTA头部201A通常可以包括诸如升级文件标识符和升级版本的FOTA识别信息。一般FOTA参数201B可以包括目标ECU识别信息。一般执行条件201C包括车辆状态信息以定义在其期间FOTA更新包可以被执行的特定车辆状态。FOTA级201D的数量在FOTA级方面识别FOTA包的大小。
通用头部201后面是FOTA级。图2示出了仅以缩写形式示出的一个完整的FOTA级203a和第二FOTA级203b。本领域中的技术人员将理解,尽管仅示出了两个FOTA级203a、203b,但是典型的FOTA包200包括多个级。
FOTA级203a代表每个级,并且如对级0所示的包括级头部205,其特定于该级中的UDS指令并且包括例如级头部205A、级参数205B和级执行条件205C。
FOTA级203a另外包括场景控制级部分207,其如果需要则识别特定的预动作,以由目标ECU确保正确的UDS处理。场景控制部分207又包括预执行处理程序长度207A和预执行处理程序代码207B。
在场景控制207之后,针对目标车辆的特定过程的UDS事务命令209被设置有UDS请求类型209A、UDS参数209B和识别目标ECU的目标地址209C。一个UDS事务命令用于“数据刷新”。
对于存在“数据刷新”的情况,提供二进制数据部分211。二进制数据部分211包括指示块的大小的FOTA二进制数据长度211A和用于对目标ECU存储器的块重编程的FOTA二进制数据211B。
此外,级203a包括提供数据完整性和级处理完成的部分213,以利用在NACK处理程序代码中的ACK数据或“错误处理”任务来验证良好的动作完成。部分213包括ACK代码字段213A、ACK处理程序长度字段213B、ACK处理程序代码213C、NACK代码213D、NACK处理程序长度213E和NACK处理程序代码213F。
每个UDS事务包括请求和对该请求的响应。在所示的实施例中,每个FOTA级包括UDS事务。
如本文中以上所述,对于目标ECU的二进制数据在无线链路129的服务器127侧上的系统100处被离线分段,以生成FOTA包200。每个FOTA级可以携带目标ECU 143快闪存储器的段或块。利用这种方法,用于该过程的车辆网关300中的运行时间RAM使用降低到4kb或更小,且这实现了总RAM需求的减小而没有任何性能损失。
现在转向图3,示出了代表性信息娱乐/车辆网关ECU 300。信息娱乐/车辆网关ECU300具有经由接入点302到接收FOTA包的到远程信息处理单元133的网络连接303,并且具有经由接入点304到其他ECU的网络总线连接305。网络总线连接303、305可以在各种实施例中连接到同一网络总线,诸如车辆CAN总线或以太网总线,或远程信息处理单元133可以与信息娱乐/车辆网关ECU 300相同。信息娱乐/车辆网关ECU 300包括具有嵌入式快闪存储器和RAM存储器的微控制器301,其被编程为执行命令并提供响应。信息娱乐/车辆网关ECU 300还包括用于存储闪存数据的OTA快闪存储器307。在各种实施例中,快闪存储器307也可以集成到微控制器301的嵌入式存储器中。
利用FOTA包200的结构,存储在快闪存储器307中的所接收的数据文件可以逐块被读取到微控制器301RAM中,且因此微控制器301RAM的大小可以比存储在快闪存储器307中的FOTA包200小得多。除了存储FOTA包200或多个FOTA包200之外,快闪存储器307还可以用于其他目的。
当车辆网关300接收到FOTA包200时,微控制器301将读取它并读取且首先执行包含在图2所示的FOTA包200的通用头部201中的信息。微控制器301利用一般参数和执行条件来确定是否继续进行或生成所需的命令,以将系统设置到正确的模式或状态中以实现目标ECU重编程。如果满足初始条件,则网关301将进一步前进以对每个FOTA级203a、203b、...203n执行UDS请求。以这种方式,微控制器300将确切地作为解释XML文件的诊断工具执行。
现在转向图4,在步骤401处接收到FOTA包200之后,微控制器301在步骤403处从图2所示的FOTA包200的一般参数段201B中读取参数,并在步骤405处设置一般执行条件201C。在步骤407处,微控制器301确定是否满足重编程执行条件。如果不满足执行条件,则刷新操作在步骤409处进入用于否定或错误响应的规定的处理例程。
如果在步骤407处确定了满足重编程执行条件,则在步骤411处,微控制器301向目标ECU 143传输UDS请求类型并从目标ECU 143接收响应。微控制器301在步骤413处确定是否执行了UDS请求。如果UDS请求未被执行,则微控制器301将在步骤409处使重编程进入用于否定或错误响应的规定的处理程序。如果微控制器301确定已经正确地执行了UDS请求以对目标ECU快闪存储器中的代码块重编程,则微控制器301将在步骤415处前进到下一级,并返回到步骤405以重复该过程,直到所有级被正确执行以对目标ECU快闪存储器中的代码块重编程为止,由此微控制器301将提供重编程完成的响应。
在信息娱乐/车辆网关ECU 300中存储了FOTA包200之后,用于重编程的方法包括首先读取输入参数并设置一般执行条件。
FOTA包200的每个级是包括对目标ECU的UDS请求和来自目标ECU的响应的UDS事务。这个对于FOTA包200的每个级进行重复。
对于FOTA包200的每个级,该方法被构造为在UDS请求之前可选地执行处理例程,以例如检查任何特定车辆状态变量或执行任何级特定动作。获取目标ECU地址以及UDS请求类型及其参数,以构建UDS请求帧并将UDS请求帧发送到目标ECU。UDS请求可以包括目标ECU二进制图像的段,即数据块。在从目标ECU接收到响应之后,可以执行ACK、NACK或错误处理例程。错误处理例程可能包括超时错误。
在各种实施例中,级可以对应于任何UDS消息。各种实施例是完全灵活的,以支持任何诊断序列。例如,第一级中的一个可以对应于将目标ECU转变到编程模式的UDS请求,并且后面的级可以包括用于数据传输的UDS请求。此外例如,可以包括用于读取目标ECU的诊断故障代码(DTC)并执行诊断例程的一些其他级。诊断序列由OEM在OTX和ODX文件中完全指定,且FOTA包被构造为完全相同地运转。
图5示出了FOTA包200的例子的流程图。FOTA包包括3n+9个级,每个级都有单个UDS命令。在该实施例中,级0 501至级2n+5 517包括不是特定刷新数据命令的UDS事务。它只来自级2n+6 519,并且在那级上找到作为UDS特定刷新数据命令的UDS代码“36”。
每个FOTA级都利用标准化的UDS诊断服务消息服务。级501、…...、527中的每一个是UDS事务。如图5所示,每个级都利用UDS服务标识符(SID)。
图6、图7和图8示出了在图5的流程图中的所选择的级的具体例子。图6示出级0501。图7示出了级1 503。图8示出了级2n+6 519。
图6所示的级0 203a包括SID请求10以发起作为用于数据传送的会话转移的UDS事务。SID 10是诊断和通信管理服务,且更具体地,是诊断会话控制。UDS使用可以利用诊断会话控制而改变的不同操作会话。在这个实例中,FOTA级0是重编程偏移。
图7所示的级1 203b读取目标ECU的DTC,以验证没有相关的异常存在。对代码的每个逻辑块执行自检。进行自检被完成并且没有存储器故障并且对剩余计数或整个块有可用存储器的足够裕度的验证。
图8所示的级2n+6 203x规定刷新目标ECU的一个存储块。UDS请求类型字段209A包括数据刷新命令,并且FOTA二进制数据字段211B包括刷新目标ECU的数据。
根据各种实施例描述了本发明。对于本领域中的技术人员将明显的是,在不偏离本发明的范围的情况下可以进行各种修改。对于本领域中的技术人员也将明显的是,在上述描述中和权利要求中的术语“刷新(re-flash)”与“重写(re-write)”和“重编程(re-program)”是同义的,且术语“刷新(re-flashing)”与“重写(re-writing)”和“重编程(re-programming)”是同义的。尽管在“快闪存储器”方面描述实施例,但是本领域中的技术人员将理解,本发明的范围也包括“可写入的非易失性存储器”。意图是本发明不限于所示和所描述的实施例。意图是本发明的范围仅由其所附的权利要求限制。
Claims (22)
1.一种用于生成用于对目标车辆中的目标电子控制单元(ECU)重编程的重编程文件的方法,所述方法包括:
提供对包括用于对所述目标ECU重编程的以标准化规范语言的高级语言指令的第一文件的访问;
提供对用于多个车辆的车辆数据和对多个二进制存储器图像以及所述多个车辆中的每个车辆的对应的多个ECU存储器的相应映射的访问;
提供对字典数据库的访问,以将高级语言命令转换为统一诊断服务(UDS)操作事务;
利用来自所述字典数据库的特定于所述目标ECU的高到低级命令转换,以根据所述高级语言命令生成统一诊断服务(UDS)操作事务;
将高级语言诊断序列命令转换为命令式语言指令;
将所述命令式语言指令编译成对应于处理例程的二进制代码;
将所述目标ECU的二进制图像分割成多个数据块;
编译所述多个数据块和各自的所述UDS操作事务以提供多个UDS级,所述多个级中的每一级包括一个对应的数据块或所述多个数据块;以及
将所述多个UDS级和所述处理例程汇编成所述重编程文件。
2.如权利要求1所述的方法,其中:
利用包括开放测试序列数据交换(OTX)的标准化规范语言编辑器生成所述高级语言诊断指令。
3.如权利要求1所述的方法,包括:
汇编所述重编程文件以包括头部部分,所述头部部分包括一般参数、一般执行条件和所述多个UDS级的数量。
4.如权利要求1所述的方法,其中:
所述重编程文件包括:
创建用于对所述目标ECU重编程的重编程场景的步骤;
控制所述重编程的步骤;以及
将所述重编程数据发送到所述目标ECU的步骤。
5.如权利要求4所述的方法,其中:
所述重编程文件包括:
在逐块基础上验证所述重编程的成功的步骤;以及
发起错误处理操作的步骤。
6.一种用于对布置在目标车辆内的目标电子控制单元(ECU)重编程的方法,所述方法包括:
访问重编程序列文件和数据文件,所述重编程序列文件包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本,所述数据文件包括字典数据库和包括所述目标ECU的存储器的二进制图像的车辆描述数据;
从所述字典数据库中提取特定于所述目标ECU的高到低级命令转换,以根据所述高级语言诊断序列命令生成统一诊断服务(UDS)操作事务;
将所述高级语言诊断序列命令转换为命令式语言指令;
将所述命令式语言指令编译成对应于处理例程的二进制代码;
将用于所述目标ECU存储器的所述二进制图像分割成多个存储器重编程数据块;
编译所述多个存储器重编程数据块和各自的所述UDS操作事务以提供多个UDS级;以及
将所述多个UDS级和所述处理例程汇编成用于对所述目标ECU重编程的重编程文件。
7.如权利要求6所述的方法,其中:
所述命令式语言指令包括C语言指令。
8.如权利要求6所述的方法,包括:
汇编所述重编程文件以包括头部部分,所述头部部分包括一般参数、一般执行条件和所述多个UDS级的数量。
9.如权利要求8所述的方法,其中:
所述重编程文件包括:
创建用于对所述目标ECU重编程的重编程场景的多个步骤;
控制所述重编程的步骤;以及
将所述重编程数据发送到所述目标ECU的步骤。
10.如权利要求9所述的方法,其中:
所述重编程文件包括:
在逐块基础上验证所述重编程的成功的步骤;以及
发起错误处理操作的步骤。
11.如权利要求6所述的方法,包括:
布置所述多个级中的至少一些级,每个级包括用于对所述目标ECU存储器的相应块重编程的相应的一个二进制数据块。
12.如权利要求11所述的方法,其中,所述目标车辆包括电子模块,所述电子模块包括处理器和相关联的存储器,所述方法包括:
将所述重编程文件传输到所述车辆;
将所述重编程文件存储在所述相关联的存储器中;以及
利用所述电子模块处理器来在逐级基础上执行所述重编程文件,以在逐块基础上对所述ECU存储器重编程。
13.一种用于通过对布置在目标车辆内的目标电子控制单元(ECU)的存储器重编程来对所述ECU重编程的方法,所述方法包括:
访问包括高级语言诊断序列命令的开放测试序列数据交换(OTX)脚本的重编程序列文件;
访问包括字典数据库、车辆描述数据和所述目标ECU的所述存储器的二进制图像的数据文件;
从所述字典数据库中提取特定于所述目标ECU的高到低级命令转换,以根据所述高级语言诊断序列命令生成统一诊断服务(UDS)操作事务;
将所述高级语言诊断序列命令转换为命令式语言指令;
将所述命令式语言指令编译成对应于处理例程的二进制代码;
提取所述二进制图像;
将所述二进制图像分割成多个数据块;
编译所述多个数据块和各自的所述UDS操作事务以提供多个UDS级;以及
将所述多个UDS级和所述处理例程汇编成用于对所述目标ECU重编程的重编程文件;以及
将所述重编程文件传输到所述目标车辆。
14.如权利要求13所述的方法,其中:
所述命令式语言指令包括C语言指令。
15.如权利要求13所述的方法,其中:
所述重编程文件包括头部部分,所述头部部分包括一般参数、一般执行条件和所述多个UDS级的数量。
16.如权利要求13所述的方法,其中:
所述处理例程包括:
创建用于对所述目标ECU重编程的重编程场景的多个步骤;
控制所述重编程的步骤;以及
将所述重编程数据发送到所述目标ECU的步骤。
17.如权利要求16所述的方法,其中:
所述处理例程包括:
在逐块基础上验证所述重编程的成功的步骤;以及
发起错误处理操作的步骤。
18.如权利要求13所述的方法,包括:
形成所述多个级中的至少一些级,每个级包括用于对所述目标ECU的所述存储器的相应块重编程的、所述多个数据块的相应的一个所述数据块。
19.如权利要求13所述的方法,其中:
由所述目标车辆在逐级基础上执行所述重编程文件,以在逐数据块基础上对所述目标ECU的所述存储器重编程。
20.如权利要求13所述的方法,包括:
经由无线链路将所述重编程文件传输到所述目标车辆。
21.如权利要求20所述的方法,其中,所述车辆包括电子模块,所述电子模块包括存储器和处理器,以及所述方法包括:
将所述重编程文件存储在所述电子模块存储器中;以及
利用所述电子模块来在逐级基础上执行所述重编程文件,以在逐数据块基础上对所述目标ECU的存储器重编程。
22.如权利要求13所述的方法,其中,所述车辆包括电子模块,所述电子模块包括存储器和处理器,以及所述方法包括:
将所述重编程文件存储在所述电子模块存储器中;以及
利用所述电子模块来在逐级基础上执行所述重编程文件,以在逐数据块基础上对所述目标ECU的所述存储器重编程。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201662412242P | 2016-10-24 | 2016-10-24 | |
US62/412,242 | 2016-10-24 | ||
US15/420,349 US10031740B2 (en) | 2016-10-24 | 2017-01-31 | Method for programming vehicle electronic control modules |
US15/420,349 | 2017-01-31 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107976986A true CN107976986A (zh) | 2018-05-01 |
CN107976986B CN107976986B (zh) | 2020-08-18 |
Family
ID=61970372
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710780137.7A Active CN107976986B (zh) | 2016-10-24 | 2017-09-01 | 用于对车辆电子控制模块编程的方法 |
Country Status (2)
Country | Link |
---|---|
US (2) | US10031740B2 (zh) |
CN (1) | CN107976986B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634257A (zh) * | 2018-11-29 | 2019-04-16 | 重庆圣眸科技开发有限公司 | 利用odx生成诊断测试案例的方法、一致性测试方法及系统 |
CN110597530A (zh) * | 2019-07-25 | 2019-12-20 | 深圳市元征科技股份有限公司 | 汽车诊断软件升级方法、装置、服务器及汽车诊断设备 |
CN112328843A (zh) * | 2020-10-30 | 2021-02-05 | 深圳市元征科技股份有限公司 | 一种查找odx中重写的通讯参数的方法及相关装置 |
CN113741936A (zh) * | 2021-08-31 | 2021-12-03 | 重庆长安汽车股份有限公司 | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 |
CN114326663A (zh) * | 2021-12-20 | 2022-04-12 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10464530B2 (en) | 2017-01-17 | 2019-11-05 | Nio Usa, Inc. | Voice biometric pre-purchase enrollment for autonomous vehicles |
US20180212967A1 (en) * | 2017-01-25 | 2018-07-26 | NextEv USA, Inc. | Portable device used to support secure lifecycle of connected devices |
CN108984194B (zh) * | 2018-06-25 | 2021-08-10 | 上海艾拉比智能科技有限公司 | 一种基于4g网络的汽车远程迭代系统 |
TWI715899B (zh) * | 2018-12-20 | 2021-01-11 | 財團法人工業技術研究院 | 量測程式編譯裝置與量測程式編譯方法 |
CN109800330B (zh) * | 2019-01-31 | 2021-03-23 | 北京经纬恒润科技股份有限公司 | 一种数据处理方法及装置 |
CN109901554B (zh) * | 2019-03-20 | 2021-04-16 | 浙江合众新能源汽车有限公司 | 一种基于uds诊断的上位机执行方法 |
CN110018681B (zh) * | 2019-04-23 | 2020-11-20 | 浙江合众新能源汽车有限公司 | 一种模块化的uds诊断服务配置方法 |
CN111835627B (zh) * | 2019-04-23 | 2022-04-26 | 华为技术有限公司 | 车载网关的通信方法、车载网关及智能车辆 |
FR3100638B1 (fr) | 2019-09-09 | 2021-08-13 | Psa Automobiles Sa | Procédé et dispositif de mise à jour d’un calculateur cible à partir d’un script interprété |
KR102188738B1 (ko) * | 2019-12-09 | 2020-12-08 | 현대오트론 주식회사 | 오토사 운영체제의 알람 오프셋 최적화 장치 |
CN111459518B (zh) * | 2020-03-30 | 2024-01-09 | 北京经纬恒润科技股份有限公司 | 一种车辆ecu升级方法及系统 |
CN111474923B (zh) * | 2020-05-27 | 2021-08-10 | 深圳市元征科技股份有限公司 | 一种车辆诊断方法、装置、设备 |
KR20220029234A (ko) * | 2020-09-01 | 2022-03-08 | 삼성전자주식회사 | Ecu 및 이에 의한 타겟 패스 결정 방법 |
CN114281065A (zh) * | 2021-12-28 | 2022-04-05 | 深圳市元征科技股份有限公司 | 车辆的电子控制单元刷写方法、装置及诊断设备 |
CN114978692B (zh) * | 2022-05-18 | 2024-03-22 | 中国第一汽车股份有限公司 | 一种汽车用uds诊断报文混合加密传输方法及系统 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010027466A (ko) * | 1999-09-14 | 2001-04-06 | 박종섭 | 차량의 엔진제어유닛 리프로그래밍 방법 |
CN103812944A (zh) * | 2014-02-26 | 2014-05-21 | 安徽安凯汽车股份有限公司 | 一种用于电动汽车ecu的远程更新系统及方法 |
CN104216978A (zh) * | 2014-09-01 | 2014-12-17 | 观致汽车有限公司 | 整车诊断数据库的自动生成方法及系统 |
CN104516758A (zh) * | 2013-09-27 | 2015-04-15 | 福特全球技术公司 | 用于定制的无线模块更新的方法和设备 |
CN105278978A (zh) * | 2014-07-23 | 2016-01-27 | 广州汽车集团股份有限公司 | 一种基于CANoe的ECU软件刷新方法及装置 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4658370A (en) * | 1984-06-07 | 1987-04-14 | Teknowledge, Inc. | Knowledge engineering tool |
US5278759A (en) * | 1991-05-07 | 1994-01-11 | Chrysler Corporation | System and method for reprogramming vehicle computers |
US9008854B2 (en) * | 1995-06-07 | 2015-04-14 | American Vehicular Sciences Llc | Vehicle component control methods and systems |
US5875334A (en) * | 1995-10-27 | 1999-02-23 | International Business Machines Corporation | System, method, and program for extending a SQL compiler for handling control statements packaged with SQL query statements |
US6275911B1 (en) * | 1996-09-20 | 2001-08-14 | Denso Corporation | Memory writing device for an electronic device |
JP4061694B2 (ja) * | 1998-02-19 | 2008-03-19 | 株式会社デンソー | 電子制御装置及び制御システム |
US6508303B1 (en) * | 1999-12-13 | 2003-01-21 | Honda Giken Kogyo Kabushiki Kaisha | Air supply control device |
US7299410B2 (en) * | 2003-07-01 | 2007-11-20 | Microsoft Corporation | System and method for reporting hierarchically arranged data in markup language formats |
DE10331874A1 (de) * | 2003-07-14 | 2005-03-03 | Robert Bosch Gmbh | Fernprogrammieren eines programmgesteuerten Geräts |
US7730462B2 (en) * | 2004-01-27 | 2010-06-01 | Microsoft Corporation | Generalized comprehension in imperative languages |
US7366589B2 (en) * | 2004-05-13 | 2008-04-29 | General Motors Corporation | Method and system for remote reflash |
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
US8239820B1 (en) * | 2005-07-18 | 2012-08-07 | Progress Software Corporation | Compliance method and system for XML-based applications |
JP4492470B2 (ja) * | 2005-07-20 | 2010-06-30 | 株式会社デンソー | 車載制御装置のデータ書き換え方法および車載制御装置 |
US8041554B1 (en) * | 2007-06-06 | 2011-10-18 | Rockwell Collins, Inc. | Method and system for the development of high-assurance microcode |
JP5152297B2 (ja) * | 2010-10-28 | 2013-02-27 | 株式会社デンソー | 電子装置 |
US8863256B1 (en) * | 2011-01-14 | 2014-10-14 | Cisco Technology, Inc. | System and method for enabling secure transactions using flexible identity management in a vehicular environment |
US8793240B2 (en) * | 2011-08-26 | 2014-07-29 | Oracle International Corporation | Generation of machine code for a database statement by specialization of interpreter code |
WO2013074897A1 (en) * | 2011-11-16 | 2013-05-23 | Flextronics Ap, Llc | Configurable vehicle console |
JP2013254264A (ja) * | 2012-06-05 | 2013-12-19 | Denso Corp | 電子制御装置 |
US9600266B2 (en) * | 2012-12-05 | 2017-03-21 | Bendix Commercial Vehicle Systems Llc | Methods and apparatus for updating software components in coordination with operational modes of a motor vehicle |
US20140282470A1 (en) * | 2013-03-13 | 2014-09-18 | Arynga Inc. | Remote transfer of electronic images to a vehicle |
US9489283B1 (en) * | 2013-03-14 | 2016-11-08 | The Mathworks, Inc. | Unified hardware and software debugging |
KR101575447B1 (ko) * | 2014-02-06 | 2015-12-07 | 현대자동차주식회사 | 차량의 소프트웨어 업데이트 방법 |
US9477843B2 (en) * | 2014-06-11 | 2016-10-25 | GM Global Technology Operations LLC | Inhibiting access to sensitive vehicle diagnostic data |
WO2015194652A1 (ja) * | 2014-06-19 | 2015-12-23 | 日立オートモティブシステムズ株式会社 | 車載プログラム書込み装置 |
US10126136B2 (en) * | 2016-06-14 | 2018-11-13 | nuTonomy Inc. | Route planning for an autonomous vehicle |
US11256494B2 (en) * | 2017-10-02 | 2022-02-22 | Red Bend Ltd. | ECU and peripherals update using central dispatch unit |
-
2017
- 2017-01-31 US US15/420,349 patent/US10031740B2/en active Active
- 2017-09-01 CN CN201710780137.7A patent/CN107976986B/zh active Active
-
2018
- 2018-04-25 US US15/963,037 patent/US10409587B2/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20010027466A (ko) * | 1999-09-14 | 2001-04-06 | 박종섭 | 차량의 엔진제어유닛 리프로그래밍 방법 |
CN104516758A (zh) * | 2013-09-27 | 2015-04-15 | 福特全球技术公司 | 用于定制的无线模块更新的方法和设备 |
CN103812944A (zh) * | 2014-02-26 | 2014-05-21 | 安徽安凯汽车股份有限公司 | 一种用于电动汽车ecu的远程更新系统及方法 |
CN105278978A (zh) * | 2014-07-23 | 2016-01-27 | 广州汽车集团股份有限公司 | 一种基于CANoe的ECU软件刷新方法及装置 |
CN104216978A (zh) * | 2014-09-01 | 2014-12-17 | 观致汽车有限公司 | 整车诊断数据库的自动生成方法及系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109634257A (zh) * | 2018-11-29 | 2019-04-16 | 重庆圣眸科技开发有限公司 | 利用odx生成诊断测试案例的方法、一致性测试方法及系统 |
CN110597530A (zh) * | 2019-07-25 | 2019-12-20 | 深圳市元征科技股份有限公司 | 汽车诊断软件升级方法、装置、服务器及汽车诊断设备 |
CN112328843A (zh) * | 2020-10-30 | 2021-02-05 | 深圳市元征科技股份有限公司 | 一种查找odx中重写的通讯参数的方法及相关装置 |
CN112328843B (zh) * | 2020-10-30 | 2023-09-05 | 深圳市元征科技股份有限公司 | 一种查找odx中重写的通讯参数的方法及相关装置 |
CN113741936A (zh) * | 2021-08-31 | 2021-12-03 | 重庆长安汽车股份有限公司 | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 |
CN113741936B (zh) * | 2021-08-31 | 2024-04-19 | 重庆长安汽车股份有限公司 | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 |
CN114326663A (zh) * | 2021-12-20 | 2022-04-12 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
CN114326663B (zh) * | 2021-12-20 | 2024-04-19 | 浙江鸿泉电子科技有限公司 | 车辆can总线uds诊断可视化操作图形化编程系统 |
Also Published As
Publication number | Publication date |
---|---|
US10409587B2 (en) | 2019-09-10 |
US20180246713A1 (en) | 2018-08-30 |
CN107976986B (zh) | 2020-08-18 |
US20180113702A1 (en) | 2018-04-26 |
US10031740B2 (en) | 2018-07-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107976986A (zh) | 用于对车辆电子控制模块编程的方法 | |
CN106257420B (zh) | 用于使用差分更新包更新ecu的方法 | |
US8250566B2 (en) | Automated software upgrade and distribution | |
CN106874026A (zh) | 用于经由空中接口稳健地更新车辆的固件的方法和设备 | |
US20120117557A1 (en) | Method and system for upgrading wireless data card | |
EP1755039B1 (en) | Feedback linker for increased delta performance | |
CN109542767A (zh) | 基于区块链的自动化测试方法、装置、计算机设备和存储介质 | |
CN109582438B (zh) | 一种具有多个智能合约执行引擎的虚拟机及其实现方法 | |
US20170262263A1 (en) | Process and system for the generation of an operating program in the form of a mobile application that is capable of operating on a mobile device | |
CN113741936B (zh) | 一种基于uds协议的并行刷写方法、装置、车辆及计算机可读存储介质 | |
CN110471693A (zh) | 应用程序发布、运行方法及设备 | |
DE102017215556A1 (de) | Verfahren zum programmieren von elektronischen fahrzeug-steuermodulen | |
CN106528206A (zh) | 应用的启动控制方法、装置和加固应用安装包的装置 | |
CN115934130A (zh) | 一种ecu升级方法、装置、设备及介质 | |
CN113227968B (zh) | 一种版本管理方法和装置 | |
CN114115946A (zh) | 一种动态调整刷写流程的升级方法和装置 | |
CN114237634A (zh) | 应用发布风险识别方法、装置、设备、介质、程序产品 | |
CN108052316A (zh) | 一种车机客户端的开发系统 | |
US11228502B2 (en) | Aggregation platform, requirement owner, and methods thereof | |
CN113485692A (zh) | 一种基于组件商店的大数据组件化开发方法及装置 | |
CN112051990A (zh) | 网管北向接口模型适配方法及系统 | |
CN110162311A (zh) | 一种应用安装方法、应用安装包的生成方法 | |
CN117555564A (zh) | 一种ota升级控制脚本制作方法、运行系统及车辆 | |
CN117971251B (zh) | 软件部署方法、设备、存储介质及产品 | |
CN112099860B (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 | ||
CB03 | Change of inventor or designer information | ||
CB03 | Change of inventor or designer information |
Inventor after: Ronald W. Pashby Inventor after: Anthony Ferrefabregas Inventor after: Ricardo Martinez Elisald Inventor before: Ronald W. Pashby Inventor before: Ferre Fabregas Antoni Inventor before: Ricardo Martinez Elisald |