CN114675622A - 一种可编程ecu刷写控制方法及装置 - Google Patents
一种可编程ecu刷写控制方法及装置 Download PDFInfo
- Publication number
- CN114675622A CN114675622A CN202210155724.8A CN202210155724A CN114675622A CN 114675622 A CN114675622 A CN 114675622A CN 202210155724 A CN202210155724 A CN 202210155724A CN 114675622 A CN114675622 A CN 114675622A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- ecu module
- ecu
- internet terminal
- result
- 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.)
- Pending
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
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供了一种可编程ECU刷写控制方法及装置,获得ECU模块的第一反馈结果;发送第一模式切换指令,获得第一判断结果;进行车载网联终端和ECU模块的安全认证,当第一安全认证结果为认证通过时,将车载网联终端的第一信息写入所述ECU模块;进行ECU模块中Flash驱动数据的完整性校验,当第一校验结果为校验通过时,向ECU模块发送擦除Flash指令,进行逻辑块擦除;将升级包写入Flash的第一预定区域,根据第一写入结果进行依赖性检查,当依赖性检查通过,则刷写完成。解决了现有技术在进行车辆软件更新的过程中,存在由于软件的更新异常,导致车辆异常,进而导致用户用车体验不佳的技术问题。
Description
技术领域
本发明涉及汽车的软件更新控制相关领域,特别涉及一种可编程ECU刷写控制方法及装置。
背景技术
随着车辆功能日益新增,软件不断迭代更新,车端软件更新频率也日趋增加,车端软件更新频率和涉及控制器数量新增必然会增加软件更新失败风险,车辆软件更新失败不仅会引发不可预知故障,而且大幅度降低用户用车体验,例如,车辆停在某道路旁,远程更新程序失败,导致车辆无法移动。
但在实现本申请中发明技术方案的过程中,发现上述技术至少存在如下技术问题:
现有技术在进行车辆软件更新的过程中,存在由于软件的更新异常,导致车辆异常,进而导致用户用车体验不佳的技术问题。
发明内容
本发明实施例提供一种可编程ECU刷写控制方法及装置,解决了现有技术在进行车辆软件更新的过程中,存在由于软件的更新异常,导致车辆异常,进而导致用户用车体验不佳的技术问题,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
为了解决上述技术问题,本发明采用如下技术方案:
第一方面,本申请提供了一种可编程ECU(Electronic Control Unit,简称电子控制单元)刷写控制方法,所述方法应用于车载软件控制系统,所述车载软件控制系统包括车载网联终端和ECU模块,所述方法包括:S100:通过所述车载网联终端向所述ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;S200:通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;S300:当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;S400:当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;S500:通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;S600:当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;S700:通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;S800:根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
另一方面,本申请还提供了一种可编程ECU刷写控制装置,包括:第一获得单元,所述第一获得单元用于通过车载网联终端向ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;第二获得单元,所述第二获得单元用于通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;第一认证单元,所述第一认证单元用于当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;第一写入单元,所述第一写入单元用于当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;第三获得单元,所述第三获得单元用于通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;第一擦除单元,所述第一擦除单元用于当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;第四获得单元,所述第四获得单元用于通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;第一检查单元,所述第一检查单元用于根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
第三方面,本发明提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其中,所述处理器执行所述程序时实现第一方面所述方法的步骤。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如上所述的方法的步骤。
本发明的有益效果是:
上述方案,由于采用了通过所述车载网联终端对所述ECU模块进行预编程处理,调整ECU模块的状态,通过所述车载网联终端控制所述ECU模块进行模式切换,ECU模块跳转至编程会话,然后进行所述车载网联终端和所述ECU模块的安全认证,当安全认证的认证通过时,将所述车载网联终端的指纹信息存储在所述ECU模块非易失性存储器中;通过所述车载网联终端发送擦除Flash,将完整的Flash驱动代码或其关键部分并不在所述ECU模块的Flash存储器中的驱动,下载到ECU模块的RAM中,通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,当校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;通过所述车载网联终端将升级包写入Flash的第一预定区域,循环对不同的逻辑块进行重编程,获得第一写入结果;根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。通过上述流程/方法,实现非线性A/B分区刷写,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
附图说明
图1表示本申请实施例提供的可编程ECU刷写控制方法的流程示意图;
图2表示本申请实施例提供的可编程ECU刷写控制方法的获得所述ECU模块的第一反馈结果的流程示意图;
图3表示本申请实施例提供的可编程ECU刷写控制方法的进行Flash驱动代码下载存储的流程示意图;
图4表示本申请实施例提供的可编程ECU刷写控制方法的进行ECU模块的后编程操作的流程示意图;
图5表示本申请实施例提供的可编程ECU刷写控制装置的结构示意图;
图6表示本申请实施例提供的电子设备的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本申请通过提供一种可编程ECU刷写控制方法及装置,解决了现有技术在进行车辆软件更新的过程中,存在由于软件的更新异常,导致车辆异常,进而导致用户用车体验不佳的技术问题,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
实施例一
如图1所示,本申请提供了一种可编程ECU刷写控制方法,所述方法应用于车载软件控制系统,所述车载软件控制系统包括车载网联终端和ECU模块,所述方法包括:
步骤S100:通过所述车载网联终端向所述ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;
进一步的,如图2所示,本申请步骤S100还包括:
步骤S110:通过所述车载网联终端向所述ECU模块发送第一扩展诊断会话指令,获得所述ECU模块的第一反馈信息;
步骤S120:通过所述车载网联终端向所述ECU模块发送安全检查指令,获得所述ECU模块的第二反馈信息;
步骤S130:通过所述车载网联终端向所述ECU模块发送关闭ECU DTC检测及存储功能指令,获得所述ECU模块的第三反馈信息;
步骤S140:通过所述车载网联终端向所述ECU模块发送禁止非诊断报文的发送和接收指令,获得所述ECU模块的第四反馈信息;
步骤S150:根据所述第一反馈信息、所述第二反馈信息、所述第三反馈信息、所述第四反馈信息获得所述第一反馈结果。
具体而言,所述车载软件控制系统为在车辆软件更新进行统筹控制的系统,所述车载软件控制系统包括车载网联终端和ECU模块,其中,所述车载网联终端为车辆监控管理系统的前端设备,也可以叫做车辆调度监控终端,它是车联网系统,专门用汽车上,它通过远距离通信和信息科学技术,为汽车提供行车数据采集、远程查询和控制、监测故障等等服务,如:提供故障诊断、道路救援、远程开锁、控制空调等等。所述ECU模块为电子控制器单元,又称为汽车的“行车电脑”,它可以控制汽车的行驶状态以及实现其各种功能。在进行预编程处理前,通过所述车载网联终端对所述ECU模块重编程类型获取,当被升级所述ECU模块支持的重编程类型为双区ECU(双BANK)重编程流程,此时启动重编程流程脚本程序对ECU模块重编程升级。
进行重编程升级前,首先通过所述车载网联终端向所述ECU模块发送第一预编程处理信息,所述第一预编程处理信息包括控制所述ECU模块进入扩展诊断会话、检查系统的重编程条件、关闭所述ECU模块的DTC检测及存储功能、禁止所述ECU模块的非诊断报文的发送和接收。通过所述车载网联终端向所述ECU模块发送第一扩展诊断会话指令,举例而言,通过所述车载网联终端发送$10$03指令使ECU模块进入扩展诊断会话。ECU模块重编程前需要禁止DTC设置和网络常规通信,因此,使用功能寻址发送扩展会话诊断请求使网络中所有ECU模块进入扩展会话,获得所述ECU模块的第一反馈信息。通过所述车载网联终端向所述ECU模块发送安全检查指令,举例而言,通过所述车载网联终端发送$31$01$0203检查系统的重编程条件。此例程控制服务用于检查系统的状态是否为安全状态,根据安全状态的检测结果获得所述第二反馈信息;通过所述车载网联终端向所述ECU模块发送关闭ECU DTC检测及存储功能指令,举例而言,通过所述车载网联终端发送$85$02关闭ECU DTC检测及存储功能,重编程过程中为了避免误报故障,应该关闭网络中所有ECU的DTC检测和存储功能。因此,使用功能寻址发送DTCSettingType为“OFF”的ControlDTCSetting诊断服务请求,获得所述ECU模块的第三反馈信息;通过所述车载网联终端向所述ECU模块发送禁止非诊断报文的发送和接收指令,举例而言,通过所述车载网联终端发送$28$03$01禁止非诊断报文的发送和接收,通信控制服务用于禁止网络上所有ECU非诊断报文的发送和接收,获得所述ECU模块的第四反馈信息;根据所述第一反馈信息、所述第二反馈信息、所述第三反馈信息、所述第四反馈信息获得所述第一反馈结果。当所述第一反馈结果中的各项反馈信息均通过时,则进行后续的编程步骤。通过对所述ECU模块的编程前预编程的处理,保证了编程的运行环境,为后续进行编程的正常进行夯实了基础。
步骤S200:通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;
具体而言,所述车载网联终端即TBOX发送$10$02请求切换编程模式。当ECU运行在应用程序的扩展会话中,收到诊断会话控制服务($10$02)后应判断是否允许跳转到编程会话,具体是判断是否已经执行例程控制“预编程条件检查”($31$01$0203)并且响应为肯定响应,如果不是,ECU应拒绝进入编程会话,回复条件不满足(NRC=$22)的否定响应码。如果是,应用程序应设置外部重编程请求标志并发送NRC=$78的否定响应,然后,ECU模块通过复位的方式跳转到Bootloader,并由Bootloader发出肯定响应($50$02),肯定响应发送成功后激活Bootloader的编程会话,根据所述ECU模块是否切换编程模式获得所述第一判断结果。
步骤S300:当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;
步骤S400:当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;
具体而言,当所述第一判断结果为所述ECU模块切换编程模式,此时进行所述车载网联终端与所述ECU模块的安全认证,即通过所述车载网联终端发送$27$11/$12安全访问请求。在Flash重编程之前,车载网联终端需要经过ECU模块的安全认证。首先车载网联终端必须向ECU模块请求种子,车载网联终端计算密钥后发送给ECU模块。ECU模块将其计算的密钥与车载网联终端计算的密钥进行比较,如果密钥匹配,车载网联终端才能得到ECU模块的安全认证。当所述第一安全认证结果为认证不通过时,将结束编程流程,返回编程失败信息;当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;所述第一信息为所述车载网联终端的指纹信息,通过所述车载网联终端发送$2E$F184写入主控的标识符。在访问Flash前将车载网联终端的指纹信息存储在ECU模块的非易失性存储器中,该指纹信息使用“通过标识符写数据”服务写入ECU模块。
步骤S500:通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;
步骤S600:当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;
具体而言,通过所述车载网联终端发送擦除Flash,将完整的Flash驱动代码或其关键部分并不在ECU模块的Flash存储器中的驱动,通过$34$36$37下载到ECU模块的RAM,所述车载网联终端通过例程检查指令$31$01$0202对Flash驱动数据进行完整性校验。校验通过,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令执行对应用程序块的擦除和写入数据操作。
进一步来说,通过所述车载网联终端发送擦除Flash指令$31$01$FF00。此例程控制服务用于擦除逻辑块。在调用Flash驱动擦除逻辑块之前,必须将逻辑块的有效状态设置为无效,以防止Flash未成功编程情况下意外执行应用程序。
步骤S700:通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;
进一步的,重复执行S600-S700,直至所述升级包的所有逻辑块完成重编程,则结束逻辑块的重编程;
步骤S800:根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
具体而言,通过所述车载网联终端基于$34$36$37将升级包写入Flash指定的区域。逻辑块的所有段的数据通过$34(RequestDownload)、$36(TransferData)、$37(RequestTransferExit)服务下载到ECU。一个段的数据下载以$34(RequestDownload)服务开始,$34(RequestDownload)服务带有段的起始地址和长度信息。在$34(RequestDownload)服务之后,该段的所有数据通过一个或多个$36(TransferData)服务传输,该段所有数据传输完成后,通过$37(RequestTransferExit)服务终止该段的下载。当逻辑块存在多个段时,需重复该序列直到所有段下载完成。重复执行S600-S700,循环对不同的逻辑块进行重编程,直至所述升级包的所有逻辑块完成重编程,则结束逻辑块的重编程。所述车载网联终端通过例程检查指令$31$01$0202对数据进行完整性校验。一个逻辑块所有数据字节传输到ECU模块后,启动完整性校验例程,确保下载数据的完整性(真实性)。在所有逻辑块下载完成后,车载网联终端通过例程检查指令$31$01$FF01启动依赖性检查。当依赖性检查通过后,ECU模块数据已经升级完成。车载网联终端记录ECU模块重编程成功。ECU模块设置启动标志位为重编程分区的标志。通过上述流程/方法,实现非线性A/B分区刷写,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
进一步而言,如图3所示,本申请步骤S400还包括:
步骤S410:通过所述车载网联终端发送第一下载指令;
步骤S420:所述ECU模块根据所述第一下载指令进行Flash驱动代码下载存储。
具体而言,所述车载网联终端的第一信息写入所述ECU模块完成后,通过所述车载网联终端发送擦除Flash,将完整的Flash驱动代码或其关键部分并不在ECU模块的Flash存储器中的驱动,通过$34$36$37下载到ECU模块的RAM,所述车载网联终端通过例程检查指令$31$01$0202对Flash驱动数据进行完整性校验。校验通过后,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令执行对应用程序块的擦除和写入数据操作。
进一步的,本申请步骤S800还包括:
步骤S810:进行所述第一写入结果的完整性校验,获得第一完整性校验结果;
步骤S820:当所述第一完整性校验结果为校验通过后,进行所述依赖性检查。
具体而言,在进行升级包写入Flash指定区域时,当任意一个逻辑块所有数据字节传输到ECU模块后,启动完整性校验例程,确保下载数据的完整性(真实性),当存在逻辑块的完整性校验结果不通过时,则对此逻辑块进行重新的下载和传输,在所有逻辑块完整性校验完成,表明此时下载的数据完整且真实后,再进行所述依赖性检查。
进一步的,如图4所示,本申请步骤S800还包括:
步骤S830:通过所述车载网联终端向所述ECU模块发送第一复位指令,所述ECU模块根据所述第一复位指令进入正常操作模式;
步骤S840:通过所述车载网联终端向所述ECU模块发送所述第一扩展诊断会话指令;
步骤S850:通过所述车载网联终端向所述ECU模块发送恢复网络通信指令,所述ECU模块根据所述恢复网络通信指令进行网络通信恢复;
步骤S860:通过所述车载网联终端向所述ECU模块发送恢复DTC设置指令,所述ECU模块根据所述恢复DTC设置指令进行网络正常DTC设置;
步骤S870:通过所述车载网联终端控制所述ECU模块返回默认会话,当所述ECU模块返回默认会话后,通过所述车载网联终端保存刷写完成结果。
具体而言,在进行ECU模块重编程完成后,进行后编程操作。通过所述车载网联终端向所述ECU模块发送复位指令$11$01,即所述第一复位指令。ECU模块根据所述第一复位指令结束Flash重编程使ECU模块进入正常的操作模式。通过所述车载网联终端向所述ECU模块发送所述第一扩展诊断会话指令,即$10$03,所述ECU模块根据所述第一扩展会话指令进入扩展诊断会话。在ECU模块复位请求之后,使得重编程的ECU模块处于默认会话,为了执行后续的后编程诊断服务,应使用功能寻址来发送诊断会话控制$10$03请求。通过所述车载网联终端向所述ECU模块发送恢复网络通信指令:$28$00$01,所述ECU模块根据所述恢复网络通信指令进行网络通信恢复;通过所述车载网联终端向所述ECU模块发送恢复DTC设置指令$85$01,功能寻址发送$28$00$01诊断服务,恢复网络正常通信;通过所述车载网联终端向所述ECU模块发送指令$10$01,控制所述ECU模块返回默认会话,功能寻址发送$10$01诊断服务,使网络上的ECU返回默认会话,最后车载网联终端保存刷写完成结果。
进一步的,在执行步骤S100之前,本申请还包括:
步骤S160:通过所述车载联网终端获得所述ECU模块的第一信息集合;
步骤S170:通过所述车载联网终端根据所述第一信息集合进行刷写启动;
步骤S180:通过所述车载联网终端获得所述ECU模块支持的重编程类型,判断所述重编程类型是否满足第一预定条件;
步骤S190:当所述重编程类型满足第一预定条件时,则通过所述车载联网终端进行所述ECU模块的重编程升级。
具体而言,在进行所述ECU模块的重编程以前,通过所述车载网联终端对需要升级的传统ECU模块第一信息集合进行获取,所述第一信息集合包括所述ECU模块的诊断ID,功能ID,响应ID以及升级包的存储的路径,并通知重编程控制模块对ECU模块进行重编程升级。通过所述车载联网终端诊断刷写程序,并根据诊断ID,功能ID,响应ID以及从升级包的存储路径获取升级包,启动刷写。通过所述车载网联终端发送$22$EF$D3获取被升级ECU模块支持的重编程类型,当所述车载网联终端接收肯定响应$61$EF$D3$02,则判断重编程流程为双区ECU(双BANK)重编程流程,即此时所述ECU模块的重编程类型满足第一预定条件,此时通过所述车载网联终端启动重编程流程脚本程序进行对ECU模块重编程升级。通过进行ECU模块类型获取判别,保证了进行ECU模块重编程的稳定性,进而为后续进行稳定的ECU模块重编程升级夯实了基础。
综上所述,本申请所提供的一种可编程ECU刷写控制方法及装置具有如下技术效果:
1、由于采用了通过所述车载网联终端对所述ECU模块进行预编程处理,调整ECU模块的状态,通过所述车载网联终端控制所述ECU模块进行模式切换,ECU模块跳转至编程会话,然后进行所述车载网联终端和所述ECU模块的安全认证,当安全认证的认证通过时,将所述车载网联终端的指纹信息存储在所述ECU模块非易失性存储器中;通过所述车载网联终端发送擦除Flash,将完整的Flash驱动代码或其关键部分并不在所述ECU模块的Flash存储器中的驱动,下载到ECU模块的RAM中,通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,当校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;通过所述车载网联终端将升级包写入Flash的第一预定区域,循环对不同的逻辑块进行重编程,获得第一写入结果;根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。通过上述流程/方法,实现非线性A/B分区刷写,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
2、由于采用了通过进行ECU模块类型获取判别的方式,保证了进行ECU模块重编程的稳定性,进而为后续进行稳定的ECU模块重编程升级夯实了基础。
实施例二
基于与前述实施例中一种可编程ECU刷写控制方法同样发明构思,本发明还提供了一种可编程ECU刷写控制装置,如图5所示,包括:
第一获得单元11,所述第一获得单元11用于通过车载网联终端向ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;
第二获得单元12,所述第二获得单元12用于通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;
第一认证单元13,所述第一认证单元13用于当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;
第一写入单元14,所述第一写入单元14用于当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;
第三获得单元15,所述第三获得单元15用于通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;
第一擦除单元16,所述第一擦除单元16用于当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;
第四获得单元17,所述第四获得单元17用于通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;
第一检查单元18,所述第一检查单元18用于根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
进一步的,所述装置还包括:
第五获得单元,所述第五获得单元用于通过所述车载网联终端向所述ECU模块发送第一扩展诊断会话指令,获得所述ECU模块的第一反馈信息;
第六获得单元,所述第六获得单元用于通过所述车载网联终端向所述ECU模块发送安全检查指令,获得所述ECU模块的第二反馈信息;
第七获得单元,所述第七获得单元用于通过所述车载网联终端向所述ECU模块发送关闭ECU DTC检测及存储功能指令,获得所述ECU模块的第三反馈信息;
第八获得单元,所述第八获得单元用于通过所述车载网联终端向所述ECU模块发送禁止非诊断报文的发送和接收指令,获得所述ECU模块的第四反馈信息;
第九获得单元,所述第九获得单元用于根据所述第一反馈信息、所述第二反馈信息、所述第三反馈信息、所述第四反馈信息获得所述第一反馈结果。
进一步的,所述装置还包括:
第十获得单元,所述第十获得单元用于通过所述车载网联终端发送第一下载指令;
第一下载单元,所述第一下载单元用于所述ECU模块根据所述第一下载指令进行Flash驱动代码下载存储。
进一步的,所述装置还包括:
第十一获得单元,所述第十一获得单元用于进行所述第一写入结果的完整性校验,获得第一完整性校验结果;
第十二获得单元,所述第十二获得单元用于当所述第一完整性校验结果为校验通过后,进行所述依赖性检查。
进一步的,所述装置还包括:
第一发送单元,所述第一发送单元用于通过所述车载网联终端向所述ECU模块发送第一复位指令,所述ECU模块根据所述第一复位指令进入正常操作模式;
第二发送单元,所述第二发送单元用于通过所述车载网联终端向所述ECU模块发送所述第一扩展诊断会话指令;
第三发送单元,所述第三发送单元用于通过所述车载网联终端向所述ECU模块发送恢复网络通信指令,所述ECU模块根据所述恢复网络通信指令进行网络通信恢复;
第四发送单元,所述第四发送单元用于通过所述车载网联终端向所述ECU模块发送恢复DTC设置指令,所述ECU模块根据所述恢复DTC设置指令进行网络正常DTC设置;
第一控制单元,所述第一控制单元用于通过所述车载网联终端控制所述ECU模块返回默认会话,当所述ECU模块返回默认会话后,通过所述车载网联终端保存刷写完成结果。
进一步的,所述装置还包括:
第一重复执行单元,所述第一重复执行单元用于重复执行第一擦除单元16-所述第四获得单元17,直至所述升级包的所有逻辑块完成重编程,则结束逻辑块的重编程。
进一步的,所述装置还包括:
第十三获得单元,所述第十三获得单元用于通过所述车载联网终端获得所述ECU模块的第一信息集合;
第十四获得单元,所述第十四获得单元用于通过所述车载联网终端根据所述第一信息集合进行刷写启动;
第一判断单元,所述第一判断单元用于通过所述车载联网终端获得所述ECU模块支持的重编程类型,判断所述重编程类型是否满足第一预定条件;
第一升级单元,所述第一升级单元用于当所述重编程类型满足第一预定条件时,则通过所述车载联网终端进行所述ECU模块的重编程升级。
前述图1实施例一中的一种可编程ECU刷写控制方法的各种变化方式和具体实例同样适用于本实施例的一种可编程ECU刷写控制装置,通过前述对一种可编程ECU刷写控制方法的详细描述,本领域技术人员可以清楚的知道本实施例中一种可编程ECU刷写控制装置的实施方法,所以为了说明书的简洁,在此不再详述。
示例性电子设备
下面参考图6来描述本申请的电子设备。
图6图示了根据本申请的电子设备的结构示意图。
基于与前述实施例中一种可编程ECU刷写控制方法的发明构思,本发明还提供一种电子设备,下面,参考图6来描述根据本申请的电子设备。该电子设备可以是可移动设备本身,或与其独立的单机设备,其上存储有计算机程序,该程序被处理器执行时实现前文所述方法的任一方法的步骤。
如图6所示,电子设备50包括一个或多个处理器51和存储器52。
处理器51可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备50中的其他组件以执行期望的功能。
存储器52可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器51可以运行所述程序指令,以实现上文所述的本申请的各个实施例的方法以及/或者其他期望的功能。
在一个示例中,电子设备50还可以包括:输入装置53和输出装置54,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
本发明实施例提供的一种可编程ECU刷写控制方法,所述方法应用于车载软件控制系统,所述车载软件控制系统包括车载网联终端和ECU模块,所述方法包括:S100:通过所述车载网联终端向所述ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;S200:通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;S300:当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;S400:当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;S500:通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;S600:当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;S700:通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;S800:根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。解决了现有技术在进行车辆软件更新的过程中,存在由于软件的更新异常,导致车辆异常,进而导致用户用车体验不佳的技术问题,达到对ECU进行分区控制刷写,在软件更新失败时,车辆仍可通过另一分区正常使用,进而达到保证车辆正常使用,提高用户用车体验的技术效果。
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到本申请可借助软件加必需的通用硬件的方式来实现,当然也可以通过专用硬件包括专用集成电路、专用CPU、专用存储器、专用元器件等来实现。一般情况下,凡由计算机程序完成的功能都可以很容易地用相应的硬件来实现,而且,用来实现同一功能的具体硬件结构也可以是多种多样的,例如模拟电路、数字电路或专用电路等。但是,对本申请而言更多情况下软件程序实现是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在可读取的存储介质中,如计算机的软盘、U盘、移动硬盘、ROM、RAM、磁碟或者光盘等,包括若干指令用以使得一台计算机设备执行本申请各个实施例所述的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。
所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从计算机可读存储介质向另计算机可读存储介质传输,所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘(Solid State Disk,SSD))等。
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
Claims (10)
1.一种可编程ECU刷写控制方法,其特征在于,所述方法应用于车载软件控制系统,所述车载软件控制系统包括车载网联终端和电子控制单元ECU模块,所述方法包括:
S100:通过所述车载网联终端向所述ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;
S200:通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;
S300:当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;
S400:当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;
S500:通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;
S600:当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;
S700:通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;
S800:根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
2.如权利要求1所述的方法,其特征在于,S100还包括:
通过所述车载网联终端向所述ECU模块发送第一扩展诊断会话指令,获得所述ECU模块的第一反馈信息;
通过所述车载网联终端向所述ECU模块发送安全检查指令,获得所述ECU模块的第二反馈信息;
通过所述车载网联终端向所述ECU模块发送关闭ECU DTC检测及存储功能指令,获得所述ECU模块的第三反馈信息;
通过所述车载网联终端向所述ECU模块发送禁止非诊断报文的发送和接收指令,获得所述ECU模块的第四反馈信息;
根据所述第一反馈信息、所述第二反馈信息、所述第三反馈信息、所述第四反馈信息获得所述第一反馈结果。
3.如权利要求1所述的方法,其特征在于,执行S500之前,还包括:
通过所述车载网联终端发送第一下载指令;
所述ECU模块根据所述第一下载指令进行Flash驱动代码下载存储。
4.如权利要求1所述的方法,其特征在于,S800还包括:
进行所述第一写入结果的完整性校验,获得第一完整性校验结果;
当所述第一完整性校验结果为校验通过后,进行所述依赖性检查。
5.如权利要求2所述的方法,其特征在于,S800还包括:
通过所述车载网联终端向所述ECU模块发送第一复位指令,所述ECU模块根据所述第一复位指令进入正常操作模式;
通过所述车载网联终端向所述ECU模块发送所述第一扩展诊断会话指令;
通过所述车载网联终端向所述ECU模块发送恢复网络通信指令,所述ECU模块根据所述恢复网络通信指令进行网络通信恢复;
通过所述车载网联终端向所述ECU模块发送恢复DTC设置指令,所述ECU模块根据所述恢复DTC设置指令进行网络正常DTC设置;
通过所述车载网联终端控制所述ECU模块返回默认会话,当所述ECU模块返回默认会话后,通过所述车载网联终端保存刷写完成结果。
6.如权利要求1所述的方法,其特征在于,重复执行S600-S700,直至所述升级包的所有逻辑块完成重编程,则结束逻辑块的重编程。
7.如权利要求1所述的方法,其特征在于,执行S100之前,还包括:
通过所述车载联网终端获得所述ECU模块的第一信息集合;
通过所述车载联网终端根据所述第一信息集合进行刷写启动;
通过所述车载联网终端获得所述ECU模块支持的重编程类型,判断所述重编程类型是否满足第一预定条件;
当所述重编程类型满足第一预定条件时,则通过所述车载联网终端进行所述ECU模块的重编程升级。
8.一种可编程ECU刷写控制装置,其特征在于,包括:
第一获得单元,所述第一获得单元用于通过车载网联终端向ECU模块发送第一预编程处理信息,获得所述ECU模块的第一反馈结果;
第二获得单元,所述第二获得单元用于通过所述车载网联终端向所述ECU模块发送第一模式切换指令,通过所述ECU模块基于所述第一反馈结果进行是否响应所述第一模式切换指令的判断,获得第一判断结果;
第一认证单元,所述第一认证单元用于当所述第一判断结果为进行模式切换时,进行所述车载网联终端和所述ECU模块的安全认证,获得第一安全认证结果;
第一写入单元,所述第一写入单元用于当所述第一安全认证结果为认证通过时,将所述车载网联终端的第一信息写入所述ECU模块;
第三获得单元,所述第三获得单元用于通过所述车载网联终端进行所述ECU模块中Flash驱动数据的完整性校验,获得第一校验结果;
第一擦除单元,所述第一擦除单元用于当所述第一校验结果为校验通过时,通过所述车载网联终端向所述ECU模块发送擦除Flash指令,通过所述ECU模块基于所述擦除Flash指令进行逻辑块擦除;
第四获得单元,所述第四获得单元用于通过所述车载网联终端将升级包写入Flash的第一预定区域,获得第一写入结果;
第一检查单元,所述第一检查单元用于根据所述第一写入结果进行依赖性检查,当所述依赖性检查通过,则刷写完成。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其特征在于,所述处理器执行所述程序时实现如权利要求1至7任一项所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210155724.8A CN114675622A (zh) | 2022-02-21 | 2022-02-21 | 一种可编程ecu刷写控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210155724.8A CN114675622A (zh) | 2022-02-21 | 2022-02-21 | 一种可编程ecu刷写控制方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114675622A true CN114675622A (zh) | 2022-06-28 |
Family
ID=82071726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210155724.8A Pending CN114675622A (zh) | 2022-02-21 | 2022-02-21 | 一种可编程ecu刷写控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114675622A (zh) |
-
2022
- 2022-02-21 CN CN202210155724.8A patent/CN114675622A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110347412B (zh) | 电子控制单元固件升级管理方法、装置、设备和存储介质 | |
US10162625B2 (en) | Vehicle control storage methods and systems | |
US8930710B2 (en) | Using a manifest to record presence of valid software and calibration | |
KR101806719B1 (ko) | 보안 부팅에 따른 메모리 영역 자동 설정이 가능한 전자 제어유닛 및 이를 이용한 보안 부팅 방법 | |
CN113645590A (zh) | 基于加密算法的远程控制车辆的方法、装置、设备及介质 | |
CN112000358B (zh) | 充电桩的升级方法与智能充电桩 | |
WO2022160816A1 (zh) | 一种数据处理方法以及相关设备 | |
JP4833417B2 (ja) | マイクロコンピュータシステムの保護方法,メモリ装置,マイクロコンピュータシステム | |
CN114675622A (zh) | 一种可编程ecu刷写控制方法及装置 | |
CN116431186A (zh) | 一种车载ecu的升级方法、装置及介质 | |
CN111796839B (zh) | 控制器程序管理方法和装置 | |
CN113935011A (zh) | 用于执行控制设备的安全启动序列的方法 | |
CN113672258A (zh) | 车辆的系统升级方法、装置、计算机设备和存储介质 | |
US20240070282A1 (en) | Firmware update method and apparatus for a mcu of a vehicle | |
US11822661B2 (en) | Method for carrying out a secured startup sequence of a control unit | |
US20240211600A1 (en) | Method for reprogram with enhanced security | |
JP7363853B2 (ja) | Otaマスタ、センタ、システム、更新方法、更新プログラム、及び車両 | |
JP7250554B2 (ja) | 電子制御装置及びリプログラミング方法 | |
US20230252153A1 (en) | Electronic control device and updating method for control software | |
CN115167904A (zh) | 一种防篡改的Bootloader升级方法及系统 | |
CN114091008A (zh) | 用于对控制设备进行安全更新的方法 | |
CN118259648A (zh) | 引导区域重编程方法以及电子控制装置 | |
CN113946356A (zh) | 电子控制器程序的更新方法、装置、电子控制器 | |
CN116028381A (zh) | 用于锁定可重写非易失性存储器的方法和实施所述方法的电子装置 | |
CN117632168A (zh) | Ecu应用更新方法及设备 |
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 |