通过CAN通讯更新车载启动加载程序的方法与流程

文档序号:12469650阅读:529来源:国知局
通过CAN通讯更新车载启动加载程序的方法与流程

本发明涉及汽车技术领域,尤其涉及车载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,可以有效降低后期维护成本。

在此说明书中,本发明已参照其特定的实施例作了描述。但是,很显然仍可以作出各种修改和变换而不背离本发明的精神和范围。因此,说明书和附图应被认为是说明性的而非限制性的。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1