CN106250196A - 通过can通讯更新车载启动加载程序的方法 - Google Patents
通过can通讯更新车载启动加载程序的方法 Download PDFInfo
- Publication number
- CN106250196A CN106250196A CN201610665406.0A CN201610665406A CN106250196A CN 106250196 A CN106250196 A CN 106250196A CN 201610665406 A CN201610665406 A CN 201610665406A CN 106250196 A CN106250196 A CN 106250196A
- Authority
- CN
- China
- Prior art keywords
- vehicle
- boot loader
- mounted ecu
- communication
- application program
- 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
Classifications
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及一种通过CAN通讯更新车载启动加载程序的方法,其中包括通过CAN通讯在车载ECU中烧写反刷新启动加载程序;使用反刷新启动加载程序将新的启动加载程序更新至车载ECU的启动加载区域,使用新的启动加载程序下载新的应用程序;在车载ECU中更新应用程序。采用该种结构的通过CAN通讯更新车载启动加载程序的方法,软件上开发一个基于UDS的反刷新Bootloader程序,该程序可以通过CAN总线专门更新已有的Bootloader程序。车厂需要更新Bootloader程序时,将不再需要拆卸车上的ECU,可以有效降低后期维护成本。
Description
技术领域
本发明涉及汽车技术领域,尤其涉及车载ECU技术领域,具体是指一种通过CAN通讯更新车载启动加载程序的方法。
背景技术
车载ECU更新Bootloader(启动加载)程序时,一般需要拆卸设备外壳才能使用烧写器重新烧写Bootloader程序。一般情况下,单片机更新应用程序,需要通过烧写器直接烧写来完成,这种方法在使用中很不方便,所以后面就有了Bootloader,通过CAN总线在线更新应用程序,避免了使用过程中拆卸设备外壳烧写程序的麻烦。
Bootloader驱动是运行于ECU的固定地址的一段启动代码,该段代码主要包含UDS诊断服务和FLASH编程等功能,并且可以通过UDS诊断服务与上位机完成应用程序代码更新的工作。如图1所示,ECU上电后首先运行该段代码,并完成以下功能:
1.上电1秒内未收到上位机更新应用程序的请求,就判断应用程序是否有效,若有效,跳转到应用程序执行,否则停留在Bootloader驱动中继续等待上位机请求。
2.上电1秒内收到上位机更新应用程序的请求,就执行应用程序更新服务。更新完成后,等待上位机复位命令执行复位操作,进入应用程序。
CAN Bootloader应用在汽车上,当汽车已经销售给客户后,一旦后期发现Bootloader有BUG,或者功能方面的更新。那么汽车召回后,只能将汽车中需要更新Bootloader的ECU拆卸下来,然后重新烧写Bootloader程序。这种工作一般4S店很难完成,只能交给车厂专业人员来处理。这样召回成本将会增加很多,并且在拆卸设备过程中可能会导致其他不良故障,影响安全性能。
发明内容
本发明的目的是克服了上述现有技术的缺点,提供了一种通过CAN通讯更新车载启动加载程序的方法,解决了现有技术中不能在线更新车载ECU的启动加载程序的问题。
为了实现上述目的,本发明具有如下构成:
该通过CAN通讯更新车载启动加载程序的方法,其主要特点是,所述的方法包括如下步骤:
(1)通过CAN通讯在车载ECU中烧写反刷新启动加载程序;
(2)使用反刷新启动加载程序将新的启动加载程序更新至车载ECU的启动加载区域。
较佳地,所述的步骤(1)之前,还包括以下步骤:
(0)使用CAN总线将上位机和车载ECU进行连接。
较佳地,所述的步骤(1)包括以下步骤:
(1-1)车载ECU上电;
(1-2)车载ECU判断在预设时间内是否接收到上位机更新启动加载程序的请求,如果是,则继续步骤(1-3),否则继续步骤(1-4);
(1-3)车载ECU中烧写反刷新启动加载程序,然后继续步骤(2);
(1-4)车载ECU运行原有启动加载程序,然后结束退出。
更佳地,所述的步骤(1-4),包括以下步骤:
(1-4-1)车载ECU判断原有启动加载程序是否有效,如果是,则继续步骤(1-4-2),否则继续步骤(1-4-3);
(1-4-2)车载ECU运行原有启动加载程序,然后结束退出;
(1-4-3)车载ECU等待上位机更新原有启动加载程序的请求,并于接收到请求时继续步骤(1-3)。
较佳地,所述的步骤(2)之后,还包括以下步骤:
(3)使用新的启动加载程序下载新的应用程序;
(4)在车载ECU中更新应用程序。
更佳地,所述的步骤(3),包括以下步骤:
(3-1)车载ECU运行新的启动加载程序;
(3-2)车载ECU判断在预设时间内是否接收到上位机更新应用程序的请求,如果是,则继续步骤(3-3),否则继续步骤(3-4);
(3-3)车载ECU下载新的应用程序,然后继续步骤(4);
(3-4)车载ECU运行应用程序,然后结束退出。
更进一步地,所述的(3-4),包括以下步骤:
(3-4-1)车载ECU判断应用程序是否有效,如果是,则继续步骤(3-4-2),否则继续步骤(3-4-3);
(3-4-2)车载ECU运行应用程序,然后结束退出;
(3-4-3)车载ECU等待上位机更新应用程序的请求,并于接收到请求时继续步骤(3-3)。
采用了该发明中的通过CAN通讯更新车载启动加载程序的方法,软件上开发一个基于UDS的反刷新Bootloader程序,该程序可以通过CAN总线专门更新已有的Bootloader程序。车厂需要更新Bootloader程序时,将不再需要拆卸车上的ECU,可以有效降低后期维护成本
附图说明
图1为现有技术中车载ECU更新应用程序的流程图。
图2为本发明的通过CAN通讯更新车载启动加载程序的方法的流程图。
具体实施方式
为了能够更清楚地描述本发明的技术内容,下面结合具体实施例来进行进一步的描述。
本发明提供了一种通过CAN通讯更新车载启动加载程序的方法。如图2所示。
硬件上:在不拆卸车载ECU的前提下,使用PC端设备,通过CAN总线完成Bootloader程序的更新。
软件上:
步骤1:开发一个反刷新Bootloader程序,通过更新应用程序的方式,将反刷新程序烧写到应用程序区域。
步骤2:使用反刷新程序,将新的Bootloader程序更新到Bootloader区域。
步骤3:使用新的Bootloader下载应用程序。
步骤4:后期正常更新应用程序。
具体地,本发明的通过CAN通讯更新车载启动加载程序的方法包括如下步骤:
(1)通过CAN通讯在车载ECU中烧写反刷新启动加载程序;
(2)使用反刷新启动加载程序将新的启动加载程序更新至车载ECU的启动加载区域。
在一种较佳的实施方式中,所述的步骤(1)之前,还包括以下步骤:
(0)使用CAN总线将上位机和车载ECU进行连接。
在一种较佳的实施方式中,所述的步骤(1)包括以下步骤:
(1-1)车载ECU上电;
(1-2)车载ECU判断在预设时间内是否接收到上位机更新启动加载程序的请求,如果是,则继续步骤(1-3),否则继续步骤(1-4);
(1-3)车载ECU中烧写反刷新启动加载程序,然后继续步骤(2);
(1-4)车载ECU运行原有启动加载程序,然后结束退出。
在一种更佳的实施方式中,所述的步骤(1-4),包括以下步骤:
(1-4-1)车载ECU判断原有启动加载程序是否有效,如果是,则继续步骤(1-4-2),否则继续步骤(1-4-3);
(1-4-2)车载ECU运行原有启动加载程序,然后结束退出;
(1-4-3)车载ECU等待上位机更新原有启动加载程序的请求,并于接收到请求时继续步骤(1-3)。
在一种较佳的实施方式中,所述的步骤(2)之后,还包括以下步骤:
(3)使用新的启动加载程序下载新的应用程序;
(4)在车载ECU中更新应用程序。
在一种更佳的实施方式中,所述的步骤(3),包括以下步骤:
(3-1)车载ECU运行新的启动加载程序;
(3-2)车载ECU判断在预设时间内是否接收到上位机更新应用程序的请求,如果是,则继续步骤(3-3),否则继续步骤(3-4);
(3-3)车载ECU下载新的应用程序,然后继续步骤(4);
(3-4)车载ECU运行应用程序,然后结束退出。
在一种更进一步的实施方式中,所述的(3-4),包括以下步骤:
(3-4-1)车载ECU判断应用程序是否有效,如果是,则继续步骤(3-4-2),否则继续步骤(3-4-3);
(3-4-2)车载ECU运行应用程序,然后结束退出;
(3-4-3)车载ECU等待上位机更新应用程序的请求,并于接收到请求时继续步骤(3-3)。
采用了该发明中的通过CAN通讯更新车载启动加载程序的方法,软件上开发一个基于UDS的反刷新Bootloader程序,该程序可以通过CAN总线专门更新已有的Bootloader程序。车厂需要更新Bootloader程序时,将不再需要拆卸车上的ECU,可以有效降低后期维护成本。
在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。
Claims (7)
1.一种通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的方法包括如下步骤:
(1)通过CAN通讯在车载ECU中烧写反刷新启动加载程序;
(2)使用反刷新启动加载程序将新的启动加载程序更新至车载ECU的启动加载区域。
2.根据权利要求1所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的步骤(1)之前,还包括以下步骤:
(0)使用CAN总线将上位机和车载ECU进行连接。
3.根据权利要求1所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的步骤(1)包括以下步骤:
(1-1)车载ECU上电;
(1-2)车载ECU判断在预设时间内是否接收到上位机更新启动加载程序的请求,如果是,则继续步骤(1-3),否则继续步骤(1-4);
(1-3)车载ECU中烧写反刷新启动加载程序,然后继续步骤(2);
(1-4)车载ECU运行原有启动加载程序,然后结束退出。
4.根据权利要求3所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的步骤(1-4),包括以下步骤:
(1-4-1)车载ECU判断原有启动加载程序是否有效,如果是,则继续步骤(1-4-2),否则继续步骤(1-4-3);
(1-4-2)车载ECU运行原有启动加载程序,然后结束退出;
(1-4-3)车载ECU等待上位机更新原有启动加载程序的请求,并于接收到请求时继续步骤(1-3)。
5.根据权利要求1所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的步骤(2)之后,还包括以下步骤:
(3)使用新的启动加载程序下载新的应用程序;
(4)在车载ECU中更新应用程序。
6.根据权利要求5所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的步骤(3),包括以下步骤:
(3-1)车载ECU运行新的启动加载程序;
(3-2)车载ECU判断在预设时间内是否接收到上位机更新应用程序的请求,如果是,则继续步骤(3-3),否则继续步骤(3-4);
(3-3)车载ECU下载新的应用程序,然后继续步骤(4);
(3-4)车载ECU运行应用程序,然后结束退出。
7.根据权利要求6所述的通过CAN通讯更新车载启动加载程序的方法,其特征在于,所述的(3-4),包括以下步骤:
(3-4-1)车载ECU判断应用程序是否有效,如果是,则继续步骤(3-4-2),否则继续步骤(3-4-3);
(3-4-2)车载ECU运行应用程序,然后结束退出;
(3-4-3)车载ECU等待上位机更新应用程序的请求,并于接收到请求时继续步骤(3-3)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610665406.0A CN106250196A (zh) | 2016-08-12 | 2016-08-12 | 通过can通讯更新车载启动加载程序的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610665406.0A CN106250196A (zh) | 2016-08-12 | 2016-08-12 | 通过can通讯更新车载启动加载程序的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106250196A true CN106250196A (zh) | 2016-12-21 |
Family
ID=57591749
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610665406.0A Pending CN106250196A (zh) | 2016-08-12 | 2016-08-12 | 通过can通讯更新车载启动加载程序的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106250196A (zh) |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990982A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN107632862A (zh) * | 2017-09-20 | 2018-01-26 | 江苏兆能电子有限公司 | 一种汽车电子控制单元ecu的多级启动加载方法 |
CN109144538A (zh) * | 2018-07-19 | 2019-01-04 | 山东省科学院自动化研究所 | 一种基于UDS的CAN节点Bootloader设计方法及系统 |
CN109857426A (zh) * | 2018-12-27 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | Bootloader程序更新方法、装置、电子设备及存储介质 |
CN110209420A (zh) * | 2019-08-01 | 2019-09-06 | 潍柴动力股份有限公司 | 一种更新引导加载程序的方法及装置 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110618825A (zh) * | 2019-08-02 | 2019-12-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种车机Boot Loader的自更新方法 |
CN110727450A (zh) * | 2019-10-11 | 2020-01-24 | 上海元城汽车技术有限公司 | 启动加载程序更新方法和装置 |
CN112015456A (zh) * | 2019-05-31 | 2020-12-01 | 河南森源电动汽车有限公司 | 一种BootLoader程序更新方法 |
CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
CN114253567A (zh) * | 2020-09-21 | 2022-03-29 | 北京海博思创科技股份有限公司 | 程序更新方法、装置和设备 |
WO2022188690A1 (zh) * | 2021-03-08 | 2022-09-15 | 华为技术有限公司 | 升级电子设备的方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102124447A (zh) * | 2008-08-20 | 2011-07-13 | 罗伯特·博世有限公司 | 用于车辆的控制装置和用于车辆控制装置的数据更新的方法 |
US20110320794A1 (en) * | 2010-06-28 | 2011-12-29 | Chung-Jen Yang | Flash System And Method For Updating The Flash System |
CN103135996A (zh) * | 2011-11-23 | 2013-06-05 | 上海博泰悦臻网络技术服务有限公司 | 车载设备及其程序文件更新方法 |
CN104391714A (zh) * | 2014-10-30 | 2015-03-04 | 奇瑞汽车股份有限公司 | 一种车辆的软件更新方法和装置 |
-
2016
- 2016-08-12 CN CN201610665406.0A patent/CN106250196A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102124447A (zh) * | 2008-08-20 | 2011-07-13 | 罗伯特·博世有限公司 | 用于车辆的控制装置和用于车辆控制装置的数据更新的方法 |
US20110320794A1 (en) * | 2010-06-28 | 2011-12-29 | Chung-Jen Yang | Flash System And Method For Updating The Flash System |
CN103135996A (zh) * | 2011-11-23 | 2013-06-05 | 上海博泰悦臻网络技术服务有限公司 | 车载设备及其程序文件更新方法 |
CN104391714A (zh) * | 2014-10-30 | 2015-03-04 | 奇瑞汽车股份有限公司 | 一种车辆的软件更新方法和装置 |
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106990982A (zh) * | 2017-03-20 | 2017-07-28 | 北京新能源汽车股份有限公司 | 程序更新方法及装置 |
CN107632862A (zh) * | 2017-09-20 | 2018-01-26 | 江苏兆能电子有限公司 | 一种汽车电子控制单元ecu的多级启动加载方法 |
CN109144538A (zh) * | 2018-07-19 | 2019-01-04 | 山东省科学院自动化研究所 | 一种基于UDS的CAN节点Bootloader设计方法及系统 |
CN109857426A (zh) * | 2018-12-27 | 2019-06-07 | 百度在线网络技术(北京)有限公司 | Bootloader程序更新方法、装置、电子设备及存储介质 |
CN112015456A (zh) * | 2019-05-31 | 2020-12-01 | 河南森源电动汽车有限公司 | 一种BootLoader程序更新方法 |
CN110244966A (zh) * | 2019-06-18 | 2019-09-17 | 广东戈兰玛汽车系统有限公司 | 一种基于uds的bootloader程序在线更新方法 |
CN110209420A (zh) * | 2019-08-01 | 2019-09-06 | 潍柴动力股份有限公司 | 一种更新引导加载程序的方法及装置 |
CN110618825A (zh) * | 2019-08-02 | 2019-12-27 | 惠州市德赛西威汽车电子股份有限公司 | 一种车机Boot Loader的自更新方法 |
CN110727450A (zh) * | 2019-10-11 | 2020-01-24 | 上海元城汽车技术有限公司 | 启动加载程序更新方法和装置 |
CN112506535A (zh) * | 2020-05-22 | 2021-03-16 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
CN112506535B (zh) * | 2020-05-22 | 2023-06-27 | 上海擎度汽车科技有限公司 | 一种汽车ECU控制器更新升级Bootloader软件的方法 |
CN114253567A (zh) * | 2020-09-21 | 2022-03-29 | 北京海博思创科技股份有限公司 | 程序更新方法、装置和设备 |
WO2022188690A1 (zh) * | 2021-03-08 | 2022-09-15 | 华为技术有限公司 | 升级电子设备的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106250196A (zh) | 通过can通讯更新车载启动加载程序的方法 | |
EP3333704B1 (en) | Method and apparatus for repairing kernel vulnerability | |
JP5096680B2 (ja) | ファームウェアコンポーネントのステータスの発行およびファームウェアコンポーネントのアップデート | |
CN103324498B (zh) | 用于引导裸机计算设备的方法和设备 | |
CN102622241B (zh) | 一种软件升级方法及装置 | |
US11204757B2 (en) | Server, software update system, and software update apparatus | |
WO2019037522A1 (zh) | 漏洞修复方法、漏洞修复装置及服务器 | |
CN100570558C (zh) | 一种芯片固件升级方法 | |
CN102955702A (zh) | 一种软件安装及升级方法和装置 | |
US20140337829A1 (en) | Information processing apparatus, electronic control unit, information processing method, and program | |
CN106843933A (zh) | 一种应用程序的漏洞修复方法、移动终端及补丁服务器 | |
CN104506639A (zh) | 一种获取Root权限的方法及装置 | |
CN107132788A (zh) | 一种汽车电子控制单元自动刷写方法及设备 | |
CN105320554A (zh) | 程序更新的方法、用于程序更新的客户端及系统 | |
CN106383692A (zh) | 一种单片机嵌入式设备ota升级方法 | |
CN110825403A (zh) | 一种汽车电子控制单元ecu刷写的方法及系统 | |
US20150113263A1 (en) | Method for updating basic input/output system of server | |
CN107632862A (zh) | 一种汽车电子控制单元ecu的多级启动加载方法 | |
US10726133B1 (en) | Securely loading UEFI images at runtime | |
CN103218242A (zh) | 一种自动更新的方法 | |
CN112667265B (zh) | 一种引导程序更新方法及装置 | |
CN106210877A (zh) | 智能电视的系统升级方法及装置 | |
CN105183528A (zh) | 一种升级服务器bios的方法及系统 | |
CN106909351B (zh) | 一种基于uefi固件的ext文件系统的实现方法 | |
CN106293849A (zh) | 一种应用更新方法和终端 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20161221 |