CN103713932B - 一种电子控制单元中应用程序的更新方法及装置 - Google Patents
一种电子控制单元中应用程序的更新方法及装置 Download PDFInfo
- Publication number
- CN103713932B CN103713932B CN201410027192.5A CN201410027192A CN103713932B CN 103713932 B CN103713932 B CN 103713932B CN 201410027192 A CN201410027192 A CN 201410027192A CN 103713932 B CN103713932 B CN 103713932B
- Authority
- CN
- China
- Prior art keywords
- controller
- application program
- reprogramming
- reprogramming equipment
- memorizer
- 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 44
- 230000008672 reprogramming Effects 0.000 claims abstract description 148
- 230000005540 biological transmission Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims description 40
- 238000012795 verification Methods 0.000 claims description 35
- 238000007689 inspection Methods 0.000 claims description 29
- 238000002360 preparation method Methods 0.000 claims description 7
- 238000000151 deposition Methods 0.000 claims description 2
- 238000012360 testing method Methods 0.000 claims description 2
- 230000006870 function Effects 0.000 description 10
- 230000005055 memory storage Effects 0.000 description 7
- 238000009826 distribution Methods 0.000 description 6
- 238000004891 communication Methods 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000012546 transfer Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本申请提供了一种电子控制单元中应用程序的更新方法及装置,当主控制器接收到重编程设备的下载流程启动命令时,使从控制器进入准备编程模式;当接收到重编程设备发送的第一从控制器的驱动程序时,调用驱动程序中的初始化接口使第一从控制器进入编程模式;当接收到重编程设备发送的访问地址信息时,如果通过访问地址信息确定出待操作的从控制器为第一从控制器,调用第一从控制器的驱动程序的擦除接口擦除第一从控制器的存储器;当接收到重编程设备发送的应用程序数据时,通过第一从控制器的驱动程序的写操作接口将应用程序数据写入第一从控制器的存储器。由于重编程设备只与作为主控制器进行通信,因此,降低了重编程成本、节省了网络资源。
Description
技术领域
本发明涉及应用程序更新技术领域,尤其涉及一种电子控制单元中应用程序的更新方法及装置。
背景技术
目前,机动车辆上通常安装有多个电子控制单元,多个电子控制单元用以执行不同的功能。电子控制单元之间通常通过车载网络总线系统连接在一起,用以进行它们之间的协调工作以及信息共享。电子控制单元至少包括微控制器和存储器,电子控制单元的存储器用于存储电子控制单元的应用程序,应用程序包含可执行的应用软件和应用数据。
电子控制单元中通常具有一个微控制器,然而,随着汽车电子技术的发展,越来越多的电子控制单元中,需要有多个不同的微控制器,这些微控制器中的一个微控制器作为主控制器,控制其它被称为从控制器的微控制器,这些微控制器协同工作,完成复杂的功能。由于某些原因,需要对存储在电子控制单元中的应用程序进行升级和修改,例如,电子控制单元中的应用程序存在缺陷或者要增加新的功能,此时,就需要对应用程序进行重编程。
现有技术中对具有多个微控制器的电子控制单元进行重编程的方案为:将电子控制单元中所有的微控制器都连接到车载网络总线上,通过重编程设备对接入车载网络总线的各个微控制器进行重编程。发明人在实现本发明创造的过程发现:现有技术中对具有多个微控制器的电子控制单元进行重编程的方案会导致重编程系统的成本增加,并且会占用较多的网络总线资源(车载网络总线资源通常是有限的)。
发明内容
有鉴于此,本发明提供了一种电子控制单元中应用程序的更新方法及装置,用以解决现有技术中现有技术中对具有多个微控制器的电子控制单元进行重编程的方案会导致重编程系统的成本增加,并且会占用较多的网络总线资源的问题,其技术方案如下:
一种电子控制单元中应用程序的更新方法,应用于电子控制单元中作为主控制器的微控制器,所述主控制器通过车载网络总线与重编程设备连接,所述主控制器通过其它总线与作为从控制器的微控制器连接,所述主控制器将各个从控制器虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息,所述方法包括:
当接收到所述重编程设备发送的应用程序下载流程启动命令时,进入编程模式,使所述各个从控制器进入准备编程模式;
当接收到所述重编程设备发送的第一从控制器的驱动程序时,调用所述驱动程序中的初始化接口使所述第一从控制器进入编程模式;
当接收到所述重编程设备发送的访问地址信息时,如果通过所述访问地址信息确定出待操作的从控制器为第一从控制器,则调用所述第一从控制器的驱动程序的擦除接口擦除所述第一从控制器的存储器;
当接收到所述重编程设备发送的第一应用程序数据时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,所述第一应用程序为所述第一从控制器待更新的应用程序。
上述方法还包括:
在通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器之前,比较所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据是否相同;
通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,具体为:
当所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据相同时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器。
上述方法还包括:
在所述各个从控制器进入准备编程模式之后,向所述重编程设备返回用于指示所述主控制器进入编程模式的指示信息;
在所述第一从控制器进入编程模式之后,向所述重编程设备返回用于指示所述第一从控制器进入编程模式的指示信息;
在所述第一从控制器的存储器擦除完毕之后,向所述重编程设备返回用于指示所述第一从控制器擦除完毕的指示信息;
在将所述第一应用程序数据写入所述第一从控制器的存储器之后,向所述重编程设备返回用于指示所述第一应用程序数据写入完毕的指示信息。
在向所述重编程设备返回用于指示所述各个从控制器进入准备编程模式的指示信息之后,上述方法还包括:
当接收到携带有密钥信息的安全访问命令时,验证所述密钥信息是否正确;
当所述密钥信息正确时,向所述重编程设备返回所述安全访问验证命令的响应。
上述方法还包括:
当接收到所述重编程设备发送的携带有所述第一应用程序的校验信息的完整性验证命令时,通过所述校验信息对所述第一从控制器的第一应用程序进行完整性验证,在完整性验证完成之后,向所述重编程设备返回所述完整性验证命令的响应;
当接收到所述重编程设备发送的依赖性检查命令时,检查各个从控制器的应用程序是否有效,当所述各个从控制器的应用程序均有效时,向所述重编程设备返回所述依赖性检查命令的响应,所述依赖性检查命令中携带有依赖性检查通过的指示信息;
当接收到重编程设备的结束编程命令时,先使所述各个从控制器进入正常工作模式,再使自身进入正常工作模式,然后向所述重编程设备返回所述结束编程命令的响应。
一种电子控制单元中应用程序的更新装置,应用于电子控制单元中作为主控制器的微控制器,所述主控制器通过车载网络总线与重编程设备连接,所述主控制器通过其它总线与作为从控制器的微控制器连接,所述主控制器将各个从控制器虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息;
所述装置包括:
第一模式切换模块,用于当接收到重编程设备发送的应用程序下载流程启动命令时,进入编程模式,使所述从控制器进入准备编程模式;
第二模式切换模块,用于当接收到所述重编程设备发送的第一从控制器的驱动程序时,调用所述驱动程序中的初始化接口使所述第一从控制器进入编程模式;
擦除模块,用于当接收到所述重编程设备发送的访问地址信息时,如果通过所述访问地址信息确定出待操作的从控制器为所述第一从控制器,则调用所述第一从控制器的驱动程序的擦除接口擦除所述第一从控制器的存储器;
写入模块,用于当接收到所述重编程设备发送的第一应用程序数据时,调用所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,所述第一应用程序为所述第一从控制器待更新的应用程序。
上述装置还包括:
比较模块,用于在通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器之前,比较所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据是否相同;
所述写入模块,具体用于当所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据相同时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器。
上述装置还包括:
第一发送模块,用于在所述各个从控制器进入准备编程模式之后,向所述重编程设备返回用于指示所述主控制器进入编程模式的指示信息;
第二发送模块,用于在所述第一从控制器进入编程模式之后,向所述重编程设备返回用于指示所述第一从控制器进入编程模式的指示信息;
第三发送模块,用于在擦除所述第一从控制器之后,向所述重编程设备返回用于指示所述第一从控制器的存储器擦除完毕的指示信息;
第四发送模块,用于在将所述第一应用程序数据写入所述第一从控制器的存储器之后,向所述重编程设备返回用于指示所述第一应用程序数据写入完毕的指示信息。
上述装置还包括:
安全访问验证模块,用于在向所述重编程设备返回用于指示所述各个从控制器进入准备编程模式的指示信息之后,如果接收到携带有密钥信息的安全访问命令时,则验证所述密钥信息是否正确;
第五发送模块,用于当所述密钥信息正确时,向所述重编程设备返回所述安全访问命令的响应。
上述装置还包括:
完整性验证模块,用于当接收到所述重编程设备发送的携带有所述第一应用程序的校验信息的完整性验证命令时,通过所述校验信息对所述第一从控制器的第一应用程序进行完整性验证;
第六发送模块,用于在完整性验证完成之后,向所述重编程设备返回完整性验证命令的响应;
依赖性检查模块,用于当接收到所述重编程设备发送的依赖性检查命令时,检查各个从控制器的应用程序是否有效;
第七发送模块,用于当所述各个从控制器的应用程序均有效时,向所述重编程设备返回所述依赖性检查命令的响应,所述依赖性检查命令的响应消息中携带有依赖性检查通过的指示信息;
第三模式切换模块,用于当接收到重编程设备的结束编程命令时,先使所述各个从控制器进入正常工作模式,再使自身进入正常工作模式;
第八发送模块,用于向所述重编程设备返回所述结束编程命令的响应
上述技术方案具有如下有益效果:
本发明提供的电子控制单元中应用程序的更新方法及装置,电子控制单元中只有作为主控制器的微控制器连接到车载网络总线,而作为从控制器的微控制器通过其它总线与主控制器连接,主控制器将从控制器虚拟成外部存储器,并为从控制器分配唯一的访问地址信息,基于唯一的访问地址信息,重编程设备可单独对每个从控制器进行重编程操作,进行重编程时主控制将从重编程设备获取到应用程序数据转交给从控制器,实现从控制器的应用程序更新。本发明提供的电子控制单元中应用程序的更新方法及装置,可以同时对电子控制单元中的多个微控制器的应用程序进行更新,由于重编程设备只与作为主控制器的微控制器进行通信,因此,降低了重编程成本、节省了网络资源。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例提供的重编程系统的示意图;
图2为本发明实施例提供的主控制器的地址分配示意图;
图3为本发明实施例提供的一种电子控制单元中应用程序的更新方法的流程示意图;
图4为本发明实施例提供的电子控制单元中应用程序的更新方法的一具体实例的流程示意图;
图5为本发明实施例提供的一种电子控制单元中应用程序的更新装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,为本发明实施例提供的重编程系统的示意图,其中,重编程设备100通过车载网络总线101与电子控制单元10中作为主控制器的微控制器102连接,作为主控制器的微控制器102通过其它总线(如GPIO、SPI、IIC、SCI等)分别与作为从控制器的微控制器103、微控制器104和微控制器105连接。其中,重编程设备100中存储有电子控制单元10中所有微控制器待更新的应用程序和驱动程序。
在本发明实施例中,作为主控制器的微控制器102将作为从控制器的微控制器103、微控制器104和微控制器103虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息。唯一的访问地址信息保证了每个由从控制器虚拟而成的外部存储器都是相互独立的,因此能够保证重编程设备可以单独对某一个从控制器进行重编程操作,而不影响其它的从控制器。
其中,访问地址信息可以包括起始地址和长度。示例性的,请参阅图2,为主控制器的地址分配表,其中,M102作为主控制器的微控制器102内部的Flash空间,用来保存主控制器的应用程序,M103是主控制器为作为从控制器的微控制器103分配的地址空间,M104是主控制器为作为从控制器的微控制器104分配的地址空间,M105是主控制器为作为从控制器的微控制器105分配的地址空间。地址空间M102、M103、M104和M105唯一且互不重叠。
基于上述的重编程系统,请参阅图3,为本发明实施例提供的一种电子控制单元中应用程序的更新方法的流程示意图,该方法应用于电子控制单元中作为主控制器的微控制器,该方法可以包括:
步骤S301:当接收到重编程设备发送的应用程序下载流程启动命令时,进入编程模式,并使各个从控制器进入准备编程模式。
其中,应用程序下载流程启动命令用于指示主控制器启动应用程序下载流程,主控制器在接收到应用程序下载流程启动命令之后,进入编程模式,然后使各个从控制器进入准备编程模式。
其中,主控制器使从控制器进入准备编程模式的方式可以但不限定为通过总线命令、操作GPIO管脚等。
步骤S302:当接收到重编程设备发送的第一从控制器的驱动程序时,调用驱动程序中的初始化接口使第一从控制器进入编程模式。
其中,驱动程序使第一从控制器进入编程模式的方式可以但不限定为通过总线命令、操作GPIO管脚等。
步骤S303:当接收到重编程设备发送的访问地址信息时,如果通过访问地址信息确定出待操作的从控制器为第一从控制器,则调用第一从控制器的驱动程序的擦除接口擦除第一从控制器的存储器。
在本实施例中,主控制器预先存储访问地址信息与从控制器的对应关系,当接收到重编程设备发送的访问地址信息时,通过预先存储的访问地址信息与从控制器的对应关系可确定与接收的访问地址信息对应的从控制器,从而可以进一步使用确定出的从控制器的驱动程序的擦除接口擦除该从控制器的存储器。
其中,驱动程序擦除第一从控制器的存储器的方式可以但不限定为利用从第一从控制器自带的在系统编程ISP功能或从第一从控制器中的重编程程序提供的在应用编程IAP功能。
步骤S304:当接收到重编程设备发送的第一应用程序数据时,调用第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器。
其中,第一应用程序为第一从控制器待更新的应用程序。
其中,驱动程序将第一应用程序数据写入第一从控制器的存储器的方式可以但不限定为利用从第一从控制器自带的在系统编程ISP功能或从第一从控制器中的重编程程序提供的在应用编程IAP功能。
本发明提供的电子控制单元中应用程序的更新方法,电子控制单元中只有作为主控制器的微控制器连接到车载网络总线,而作为从控制器的微控制器通过其它总线与主控制器连接,主控制器将从控制器虚拟成外部存储器,并为从控制器分配唯一的访问地址信息,基于唯一的访问地址信息,重编程设备可单独对每个从控制器进行重编程操作,在对从控制器进行重编程时,主控制将从重编程设备获取到应用程序数据转交给从控制器,实现从控制器的应用程序更新。本发明实施例提供的电子控制单元中应用程序的更新方法,可以同时对电子控制单元中的多个微控制器的应用程序进行更新,由于重编程设备只与作为主控制器的微控制器进行通信,因此,降低了重编程成本、节省了网络资源。
在上式本发明实施例的基础上,通过一具体实例给出电子控制单元中应用程序的更新方法的具体流程,图4示出了方法的流程示意图,可以包括:
步骤S401:重编程设备向主控制器发送应用程序下载流程启动命令。
步骤S402:主控制器接收到应用程序下载流程启动命令时,进入编程模式,使各个从控制器进入准备编程模式。
步骤S403:在使各个从控制器进入准备编程模式之后,主控制器向重编程设备返回应用程序下载流程启动命令的响应。
其中,应用程序下载流程启动命令的响应用于指示主控制器已进入编程模式。
步骤S404:重编程设备向主控制器发送携带有密钥信息的安全访问命令。
其中,安全访问命令用于请求主控制器对重编程设备进行安全访问验证。
步骤S405:主控制器在接收到安全访问命令之后,验证安全访问命令中携带的密钥信息是否正确,当密钥信息正确时,向重编程设备返回安全访问命令的响应。
其中,安全访问命令的响应用于指示重编程设备具有重编程权限。
步骤S406:重编程设备向主控制器发送驱动程序下载命令,该驱动程序下载命令携带有第一从控制器的驱动程序。
步骤S407:主控制器在接收到驱动程序下载命令之后,调用该驱动程序下载指令中第一从控制器的驱动程序的初始化接口,使第一从控制器进入编程模式。
步骤S408:主控制器在使第一从控制器进入编程模式后,向重编程设备返回驱动程序下载命令的响应。
其中,驱动程序下载命令的响应用于指示第一从控制器已进入编程模式。
步骤S409:重编程设备向主控制器发送携带有访问地址信息的擦除命令。
步骤S410:主控制器在接收到擦除命令之后,通过该擦除命令种的访问地址信息确定待操作的从控制器,如果待操作的从控制器为第一从控制器,则调用第一从控制器的驱动程序的擦除接口擦除第一从控制器的存储器。
步骤S411:当主控制器接收到第一从控制器发送的成功擦除的指示信息时,向重编程设备返回擦除命令的响应。
其中,擦除命令的响应用于指示第一从控制器已成功擦除完毕。
步骤S412:重编程设备向主控制器发送请求下载命令。
其中,请求下载命令中可携带第一从控制器的访问地址信息。
步骤S413:主控制器在接收到请求下载命令后,通过请求下载命令中的访问地址信息可确定要对第一从控制器进行重编程操作,然后向重编程设备返回请求下载命令的响应。
步骤S414:重编程设备向主控制器发送携带有第一应用数据的数据传输命令。
步骤S415:主控制器在接收到数据传输命令后,通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器。
其中,第一应用程序为第一从控制器待更新的应用程序。
步骤S416:当主控制器接收到第一从控制器发送的数据成功写入的指示信息时,向重编程设备返回数据传输命令的响应。
其中,数据传输命令的响应用于指示第一从控制器的第一应用程序数据已写入完毕。
步骤S417:重编程设备向主控制器发送携带有第一应用程序的校验信息的完整性验证命令。
其中,完整性验证命令用于指示主控制器对第一应用程序进行完整性验证。
步骤S418:主控制器在接收到完整性验证命令之后,通过完整性验证命令中的校验信息对第一从控制器的第一应用程序进行完整性验证。
步骤S419:当主控制接收到第一从控制器发送的完整性验证成功的指示信息时,向重编程设备返回完整性验证命令的响应。
其中,完整性验证命令的响应用于指示第一应用程序已验证完毕。
步骤S420:重编程设备向主控制器发送依赖性检查命令。
其中,依赖性检查命令用于指示主控制器检查各个从控制器的应用程序的有效性。
步骤S421:主控制器在接收到依赖性检查命令之后,检查各个从控制器的应用程序是否有效,当各个从控制器的应用程序均有效时,向重编程设备返回依赖性检查命令的响应。
其中,依赖性检查命令的响应用于指示依赖性检查通过。依赖性检查命令的响应中可携带依赖性检查通过的指示信息。
步骤S422:重编程设备向主控制器发送结束编程命令。
步骤S423:主控制器在接收到结束编程命令之后,使各个从控制器进入正常工作模式,然后使自身进入正常工作模式。
步骤S424:在使各个从控制器进入正常工作模式后,主控制器向重编程设备返回结束编程命令的响应。
重编程设备接收到主控制器返回的结束编程命令的响应之后,提示主控制器对第一从控制器的重编程工作结束。
本发明实施例提供的电子控制单元中应用程序的更新方法,可以同时对电子控制单元中的多个微控制器的应用程序进行更新,由于重编程设备只与作为主控制器的微控制器进行通信,因此,降低了重编程成本、节省了网络资源。
需要说明的是,通常情况下,从控制器中的应用程序需要与主控制器中的应用程序配合完成电子控制单元提供的功能。在这种情况下,如果从控制器的应用程序与主控制器中应用程序不匹配,则可能会影响电子控制单元的功能,甚至会影响车辆的安全性。
在上述本发明实施例提供的方法中,由于所有从控制器的应用程序数据都通过主控制器转交的,因此,可以通过主控制器对从控制器的应用程序进行验证,从而确定从控制器的应用程序与主控制器中的应用程序是否不匹配。
基于上述考虑,上述本发明实施例提供的方法还可以包括:
在接收到第一应用程序数据后,比较第一应用程序数据中的兼容性检查数据与主控制器中应用程序的兼容性检查数据是否相同。
则通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器,具体为:当第一应用程序数据中的兼容性检查数据与主控制器中应用程序的兼容性检查数据相同时,通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器。
需要说明的是,当从控制器的第一应用程序数据中的兼容性检查数据与主控制器的应用程序的兼容性检查数据不相同时,表明从控制器的第一应用程序数据与主控制器的应用程序不匹配,则主动放弃重编程。
本发明实施例提供的电子控制单元中应用程序的更新方法解决了主从控制器之间应用程序不匹配的问题。
与上述方法相对应,本发明实施例还提供了一种电子控制单元中应用程序的更新装置,请参阅图5,为该装置的结构示意图,该装置应用于电子控制单元中作为主控制器的微控制器,主控制器通过车载网络总线与重编程设备连接,主控制器通过其它总线与作为从控制器的微控制器连接,主控制器将各个从控制器虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息,该装置包括:第一模式切换模块501、第二模式切换模块502、擦除模块503和写入模块504。其中:
第一模式切换模块501,用于当接收到重编程设备发送的应用程序下载流程启动命令时,进入编程模式,使从控制器进入准备编程模式。
第二模式切换模块502,用于当接收到重编程设备发送的第一从控制器的驱动程序时,调用第一从控制器的驱动程序中的初始化接口使第一从控制器进入编程模式。
擦除模块503,用于当接收到重编程设备发送的访问地址信息时,如果通过访问地址信息确定出待操作的从控制器为第一从控制器,则调用第一从控制器的驱动程序的擦除接口擦除第一从控制器的存储器。
写入模块504,用于当接收到重编程设备发送的第一应用程序数据时,通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器,第一应用程序为第一从控制器待更新的应用程序。
本发明提供的电子控制单元中应用程序的更新装置,可以同时对电子控制单元中的多个微控制器的应用程序进行更新,由于重编程设备只与作为主控制器的微控制器进行通信,因此,降低了重编程成本、节省了网络资源。
上述实施例提供的装置还可以包括:比较模块。
比较模块,用于在通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器之前,比较第一应用程序数据中的兼容性检查数据与主控制器中应用程序的兼容性检查数据是否相同。
则写入模块504,具体用于当第一应用程序数据中的兼容性检查数据与主控制器中应用程序的兼容性检查数据相同时,通过第一从控制器的驱动程序的写操作接口将第一应用程序数据写入第一从控制器的存储器。
上述实施例提供的装置还可以包括:第一发送模块、第二发送模块、第三发送模块和第四发送模块。其中:
第一发送模块,用于在各个从控制器进入准备编程模式之后,向重编程设备返回用于指示主控制器进入编程模式的指示信息。
第二发送模块,用于在第一从控制器进入编程模式之后,向重编程设备返回用于指示第一从控制器进入编程模式的指示信息。
第三发送模块,用于在擦除第一从控制器之后,向重编程设备返回用于指示第一从控制器的存储器擦除完毕的指示信息。
第四发送模块,用于在将第一应用程序数据写入第一从控制器的存储器之后,向重编程设备返回用于指示第一应用程序数据写入完毕的指示信息。
上述实施例提供的装置还可以包括:安全访问验证模块和第五发送模块。其中:
安全访问验证模块,用于在向重编程设备返回用于指示各个从控制器进入准备编程模式的指示信息之后,如果接收到携带有密钥信息的安全访问命令时,则验证密钥信息是否正确。
第五发送模块,用于当密钥信息正确时,表明重编程设备具有重编程权限,则向重编程设备返回安全访问命令的响应。
上述实施例提供的装置还可以包括:完整性验证模块、第六发送模块、依赖性检查模块、第七发送模块、第三模式切换模块和第八发送模块。其中:
完整性验证模块,用于当接收到重编程设备发送的携带有第一应用程序的校验信息的完整性验证命令时,通过校验信息对第一从控制器的第一应用程序进行完整性验证。
第六发送模块,用于在完整性验证完成之后,向重编程设备返回完整性验证命令的响应。
依赖性检查模块,用于当接收到所述重编程设备发送的依赖性检查命令时,检查各个从控制器的应用程序是否有效。
第七发送模块,用于当各个从控制器的应用程序均有效时,向重编程设备返回依赖性检查命令的响应,依赖性检查命令的响应消息中携带有依赖性检查通过的指示信息。
第三模式切换模块,用于当接收到重编程设备的结束编程命令时,先使各个从控制器进入正常工作模式,再使自身进入正常工作模式。
第八发送模块,用于向重编程设备返回结束编程命令的响应。
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
在本申请所提供的几个实施例中,应该理解到,所揭露的方法、装置和设备,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (8)
1.一种电子控制单元中应用程序的更新方法,其特征在于,应用于电子控制单元中作为主控制器的微控制器,所述主控制器通过车载网络总线与重编程设备连接,所述主控制器通过其它总线与作为从控制器的微控制器连接,所述主控制器将各个从控制器虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息,所述方法包括:
当接收到所述重编程设备发送的应用程序下载流程启动命令时,进入编程模式,使所述各个从控制器进入准备编程模式;
当接收到所述重编程设备发送的第一从控制器的驱动程序时,调用所述驱动程序中的初始化接口使所述第一从控制器进入编程模式;
当接收到所述重编程设备发送的访问地址信息时,如果通过预先存储的访问地址信息与从控制器的对应关系确定出与所述重编程设备发送的访问地址信息对应的从控制器为第一从控制器,则调用所述第一从控制器的驱动程序的擦除接口擦除所述第一从控制器的存储器;
当接收到所述重编程设备发送的第一应用程序数据时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,所述第一应用程序为所述第一从控制器待更新的应用程序;
其中,所述方法还包括:
在通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器之前,比较所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据是否相同;
通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,具体为:
当所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据相同时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述各个从控制器进入准备编程模式之后,向所述重编程设备返回用于指示所述主控制器进入编程模式的指示信息;
在所述第一从控制器进入编程模式之后,向所述重编程设备返回用于指示所述第一从控制器进入编程模式的指示信息;
在所述第一从控制器的存储器擦除完毕之后,向所述重编程设备返回用于指示所述第一从控制器擦除完毕的指示信息;
在将所述第一应用程序数据写入所述第一从控制器的存储器之后,向所述重编程设备返回用于指示所述第一应用程序数据写入完毕的指示信息。
3.根据权利要求2所述的方法,其特征在于,在向所述重编程设备返回用于指示所述各个从控制器进入准备编程模式的指示信息之后,所述方法还包括:
当接收到携带有密钥信息的安全访问命令时,验证所述密钥信息是否正确;
当所述密钥信息正确时,向所述重编程设备返回所述安全访问验证命令的响应。
4.根据权利要求2所述的方法,其特征在于,所述方法还包括:
当接收到所述重编程设备发送的携带有所述第一应用程序的校验信息的完整性验证命令时,通过所述校验信息对所述第一从控制器的第一应用程序进行完整性验证,在完整性验证完成之后,向所述重编程设备返回所述完整性验证命令的响应;
当接收到所述重编程设备发送的依赖性检查命令时,检查各个从控制器的应用程序是否有效,当所述各个从控制器的应用程序均有效时,向所述重编程设备返回所述依赖性检查命令的响应,所述依赖性检查命令中携带有依赖性检查通过的指示信息;
当接收到重编程设备的结束编程命令时,先使所述各个从控制器进入正常工作模式,再使自身进入正常工作模式,然后向所述重编程设备返回所述结束编程命令的响应。
5.一种电子控制单元中应用程序的更新装置,其特征在于,应用于电子控制单元中作为主控制器的微控制器,所述主控制器通过车载网络总线与重编程设备连接,所述主控制器通过其它总线与作为从控制器的微控制器连接,所述主控制器将各个从控制器虚拟成外部存储器,并为各个从控制器分配唯一的访问地址信息;
所述装置包括:
第一模式切换模块,用于当接收到重编程设备发送的应用程序下载流程启动命令时,进入编程模式,使所述从控制器进入准备编程模式;
第二模式切换模块,用于当接收到所述重编程设备发送的第一从控制器的驱动程序时,调用所述驱动程序中的初始化接口使所述第一从控制器进入编程模式;
擦除模块,用于当接收到所述重编程设备发送的访问地址信息时,如果通过预先存储的访问地址信息与从控制器的对应关系确定出与所述重编程设备发送的访问地址信息对应的从控制器为第一从控制器,则调用所述第一从控制器的驱动程序的擦除接口擦除所述第一从控制器的存储器;
写入模块,用于当接收到所述重编程设备发送的第一应用程序数据时,调用所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器,所述第一应用程序为所述第一从控制器待更新的应用程序;
其中,所述装置还包括:
比较模块,用于在通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器之前,比较所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据是否相同;
所述写入模块,具体用于当所述第一应用程序数据中的兼容性检查数据与所述主控制器中应用程序的兼容性检查数据相同时,通过所述第一从控制器的驱动程序的写操作接口将所述第一应用程序数据写入所述第一从控制器的存储器。
6.根据权利要求5所述的装置,其特征在于,所述装置还包括:
第一发送模块,用于在所述各个从控制器进入准备编程模式之后,向所述重编程设备返回用于指示所述主控制器进入编程模式的指示信息;
第二发送模块,用于在所述第一从控制器进入编程模式之后,向所述重编程设备返回用于指示所述第一从控制器进入编程模式的指示信息;
第三发送模块,用于在擦除所述第一从控制器之后,向所述重编程设备返回用于指示所述第一从控制器的存储器擦除完毕的指示信息;
第四发送模块,用于在将所述第一应用程序数据写入所述第一从控制器的存储器之后,向所述重编程设备返回用于指示所述第一应用程序数据写入完毕的指示信息。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:
安全访问验证模块,用于在向所述重编程设备返回用于指示所述各个从控制器进入准备编程模式的指示信息之后,如果接收到携带有密钥信息的安全访问命令时,则验证所述密钥信息是否正确;
第五发送模块,用于当所述密钥信息正确时,向所述重编程设备返回所述安全访问命令的响应。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
完整性验证模块,用于当接收到所述重编程设备发送的携带有所述第一应用程序的校验信息的完整性验证命令时,通过所述校验信息对所述第一从控制器的第一应用程序进行完整性验证;
第六发送模块,用于在完整性验证完成之后,向所述重编程设备返回完整性验证命令的响应;
依赖性检查模块,用于当接收到所述重编程设备发送的依赖性检查命令时,检查各个从控制器的应用程序是否有效;
第七发送模块,用于当所述各个从控制器的应用程序均有效时,向所述重编程设备返回所述依赖性检查命令的响应,所述依赖性检查命令的响应消息中携带有依赖性检查通过的指示信息;
第三模式切换模块,用于当接收到重编程设备的结束编程命令时,先使所述各个从控制器进入正常工作模式,再使自身进入正常工作模式;
第八发送模块,用于向所述重编程设备返回所述结束编程命令的响应。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027192.5A CN103713932B (zh) | 2014-01-21 | 2014-01-21 | 一种电子控制单元中应用程序的更新方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410027192.5A CN103713932B (zh) | 2014-01-21 | 2014-01-21 | 一种电子控制单元中应用程序的更新方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103713932A CN103713932A (zh) | 2014-04-09 |
CN103713932B true CN103713932B (zh) | 2017-03-08 |
Family
ID=50406935
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410027192.5A Active CN103713932B (zh) | 2014-01-21 | 2014-01-21 | 一种电子控制单元中应用程序的更新方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103713932B (zh) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102014208838A1 (de) * | 2014-05-12 | 2015-11-12 | Robert Bosch Gmbh | Verfahren zum Betreiben eines Steuergeräts |
WO2015194652A1 (ja) * | 2014-06-19 | 2015-12-23 | 日立オートモティブシステムズ株式会社 | 車載プログラム書込み装置 |
CN104834286B (zh) * | 2015-03-30 | 2017-07-11 | 北京经纬恒润科技有限公司 | 一种重编程方法、系统、重编程设备及电子控制单元 |
CN104793975B (zh) * | 2015-04-29 | 2019-02-19 | 北京经纬恒润科技有限公司 | 电子控制单元中应用程序的更新方法及装置 |
DE102015115855A1 (de) * | 2015-09-21 | 2017-03-23 | Knorr-Bremse Systeme für Nutzfahrzeuge GmbH | System und Verfahren zur Verteilung und/oder Aktualisierung von Software in vernetzten Steuereinrichtungen eines Fahrzeugs |
DE102016205683A1 (de) * | 2016-04-06 | 2017-10-12 | Bayerische Motoren Werke Aktiengesellschaft | Fahrzeugscheinwerfersystem |
CN106843979B (zh) * | 2017-01-24 | 2020-11-03 | 北京经纬恒润科技有限公司 | 一种应用程序的更新方法及装置 |
CN106951277A (zh) * | 2017-02-15 | 2017-07-14 | 青岛亿联客信息技术有限公司 | 多芯片固件程序更新方法及多芯片固件程序更新系统 |
CN107544473B (zh) * | 2017-10-13 | 2019-08-30 | 北京经纬恒润科技有限公司 | 一种重编程方法及装置 |
CN107832076A (zh) * | 2017-10-24 | 2018-03-23 | 北京天地玛珂电液控制系统有限公司 | 一种工业控制器程序升级管理系统 |
CN108052338A (zh) * | 2017-12-28 | 2018-05-18 | 北京经纬恒润科技有限公司 | 一种软件刷新方法及装置 |
JP6791538B2 (ja) | 2018-12-25 | 2020-11-25 | Necプラットフォームズ株式会社 | 通信システム及び通信装置 |
CN109871225B (zh) * | 2019-02-22 | 2022-05-27 | 北京经纬恒润科技股份有限公司 | 电子控制单元ecu升级方法及ecu |
CN110045977A (zh) * | 2019-05-30 | 2019-07-23 | 广州小鹏汽车科技有限公司 | 一种软件更新方法和装置 |
CN110609698B (zh) * | 2019-08-08 | 2023-03-24 | 浙江中控技术股份有限公司 | 控制算法单元在线升级方法及装置 |
CN111475191B (zh) * | 2020-04-04 | 2023-06-06 | 东风越野车有限公司 | 基于多核技术的汽车控制器软件升级系统及方法 |
CN112991578B (zh) * | 2021-02-26 | 2023-02-28 | 深圳市元征科技股份有限公司 | 车辆数据流的处理方法、装置、电子设备及电子控制单元 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431847A (zh) * | 2008-02-05 | 2009-05-13 | 马田专业公司 | 分布式驱动器和控制器区域网络总线通信协议 |
CN102135922A (zh) * | 2011-03-18 | 2011-07-27 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
CN102662692A (zh) * | 2012-03-16 | 2012-09-12 | 北京经纬恒润科技有限公司 | 一种电子控制单元中应用程序的更新方法及系统 |
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4499598B2 (ja) * | 2005-03-31 | 2010-07-07 | 矢崎総業株式会社 | 電源重畳多重通信システム |
KR101187799B1 (ko) * | 2010-11-30 | 2012-10-05 | 주식회사 케피코 | 차량용 전자 제어 유닛 소프트웨어 갱신을 위한 멀티 채널 장치 및 그 방법 |
-
2014
- 2014-01-21 CN CN201410027192.5A patent/CN103713932B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101431847A (zh) * | 2008-02-05 | 2009-05-13 | 马田专业公司 | 分布式驱动器和控制器区域网络总线通信协议 |
CN102135922A (zh) * | 2011-03-18 | 2011-07-27 | 北京经纬恒润科技有限公司 | 应用程序的刷新方法和系统 |
CN102662692A (zh) * | 2012-03-16 | 2012-09-12 | 北京经纬恒润科技有限公司 | 一种电子控制单元中应用程序的更新方法及系统 |
CN103294511A (zh) * | 2013-05-31 | 2013-09-11 | 哈尔滨工业大学 | 基于CAN总线的bootloader软件的升级方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103713932A (zh) | 2014-04-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103713932B (zh) | 一种电子控制单元中应用程序的更新方法及装置 | |
JP2023126316A (ja) | 装置、ファームウェア更新方法及び制御プログラム | |
US9880927B2 (en) | Functionally expandable vehicle control device and method for supplementing the functionality of a vehicle control device | |
US11914987B2 (en) | Master update agent and distributed update agent architecture for vehicles | |
CN111858306B (zh) | 一种芯片验证方法、装置、芯片及存储介质 | |
CN111381844A (zh) | 更新车辆ecu固件的方法及装置 | |
CN105573807A (zh) | 一种基于can总线的ecu在线程序升级系统及方法 | |
US20140337829A1 (en) | Information processing apparatus, electronic control unit, information processing method, and program | |
CN110244966A (zh) | 一种基于uds的bootloader程序在线更新方法 | |
US8271707B2 (en) | Method and system for PCI hybrid function | |
CN108170457A (zh) | 固件升级方法、装置及vr头戴式显示器 | |
US20150239406A1 (en) | Method for configuring a control unit, control unit and vehicle | |
CN111198705A (zh) | 一种防止ecu刷死的内存备份方法、装置、存储介质及电子设备 | |
CN106817259A (zh) | Vsm系统的升级方法及装置 | |
CN115184764A (zh) | 一种芯片测试方法、装置、电子设备及存储介质 | |
KR101629184B1 (ko) | Autosar 플랫폼에서의 eeprom 처리속도 향상을 위한 주기함수 호출 방법 | |
EP2469416A1 (en) | Test bed for an AUTOSAR software component and method for checking an AUTOSAR software component | |
CN105912765B (zh) | 可复用的用于仿真环境集成的仿真组件及方法 | |
JP2018160207A (ja) | 車載制御装置、及び、プログラム更新ソフトウェア | |
CN108228965B (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
CN107771388A (zh) | 用于在机动车中的软件组件之间通信的方法 | |
CN103777976B (zh) | 单片机及其在线升级方法和在线升级装置 | |
CN105512032A (zh) | 一种中间库虚拟控制测试方法及其系统 | |
CN107634870A (zh) | 一种实现ip验证的方法及装置 | |
CN116431186A (zh) | 一种车载ecu的升级方法、装置及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address |
Address after: 4 / F, building 1, No.14 Jiuxianqiao Road, Chaoyang District, Beijing 100020 Patentee after: Beijing Jingwei Hirain Technologies Co.,Inc. Address before: 8 / F, block B, No. 11, Anxiang Beili, Chaoyang District, Beijing 100101 Patentee before: Beijing Jingwei HiRain Technologies Co.,Ltd. |
|
CP03 | Change of name, title or address |