【技术实现步骤摘要】
汽车ECUBootloader的启动方法及装置
本申请涉及汽车电子软件开发
,特别涉及一种汽车ECUBootloader的启动方法及装置。
技术介绍
汽车ECU(ElectronicControlUnit,电子控制单元)中的Bootloader(启动装载程序)是固化在ECUFlash中的一段特定程序,用于通过CAN总线在线刷写更新ECU的应用程序。Bootloader的启动流程指的是在ECU上电或复位后、进入应用程序之前或者运行Bootloader刷写程序之前的一段流程。传统的启动流程通常有以下两种:第一种:参见图1所示,ECU上电或复位后,首先完成基本的初始化工作,然后查询是否有应用程序更新请求,如果有,则进入Bootloader刷写程序运行;如果没有,则检查应用程序是否有效,如果有效,则跳转到应用程序执行,否则进入Bootloader刷写程序内运行;但是,该方法会存在以下问题:当应用程序有效,但其运行陷入异常(比如跑飞),应用程序就会执行复位,然后经过Bootloader再次进入到应用程序运行,而应用程序会再次执行复位,进而陷入到一种死循环,在这种情况下ECU就永远无法利用Bootloader进行应用程序的更新。第二种:参见图2所示,在完成基本初始化后,增加了停留在Bootloader一段时间的步骤,在此期间查询是否有来自外部CAN总线的应用程序更新请求,如果有更新请求,则直接进入到Bootloader刷写程序运行,如果时间超时且没有更新请求,则检查应用程序是否有效,如果有效,则跳转到应用程 ...
【技术保护点】
1.一种汽车ECU Bootloader的启动方法,其特征在于,包括以下步骤:/nECU上电或复位,从ECU中获取应用程序信息;/n检测所述应用程序信息中是否包含更新应用程序请求信息,若未包含所述更新应用程序请求信息,则判断所述应用程序是否为有效程序,若确定所述应用程序为有效程序,则提取所述应用程序中预设的Stay-In-Boot激活条件标志位的信息;/n根据所述Stay-In-Boot激活条件标志位的信息,执行Stay-In-Boot定时器的初始化操作或运行所述应用程序;/n在执行Stay-In-Boot定时器的初始化操作之后,根据在Stay-In-Boot定时器溢出前是否接收到ECU外部发送的更新应用程序请求,执行Bootloder刷写程序或运行所述应用程序;/n在运行所述应用程序之后,判断运行中的应用程序是否处于死循环状态,若处于死循环状态,则设置所述应用程序中的Stay-In-Boot激活条件标志位为1,并返回至ECU上电或复位的操作;若不处于死循环状态,则返回至运行所述应用程序的操作。/n
【技术特征摘要】
1.一种汽车ECUBootloader的启动方法,其特征在于,包括以下步骤:
ECU上电或复位,从ECU中获取应用程序信息;
检测所述应用程序信息中是否包含更新应用程序请求信息,若未包含所述更新应用程序请求信息,则判断所述应用程序是否为有效程序,若确定所述应用程序为有效程序,则提取所述应用程序中预设的Stay-In-Boot激活条件标志位的信息;
根据所述Stay-In-Boot激活条件标志位的信息,执行Stay-In-Boot定时器的初始化操作或运行所述应用程序;
在执行Stay-In-Boot定时器的初始化操作之后,根据在Stay-In-Boot定时器溢出前是否接收到ECU外部发送的更新应用程序请求,执行Bootloder刷写程序或运行所述应用程序;
在运行所述应用程序之后,判断运行中的应用程序是否处于死循环状态,若处于死循环状态,则设置所述应用程序中的Stay-In-Boot激活条件标志位为1,并返回至ECU上电或复位的操作;若不处于死循环状态,则返回至运行所述应用程序的操作。
2.如权利要求1所述的一种汽车ECUBootloader的启动方法,其特征在于,在所述设置所述应用程序中的Stay-In-Boot激活条件标志位为1之前,还包括步骤:进入软复位中断程序中。
3.如权利要求1所述的一种汽车ECUBootloader的启动方法,其特征在于,所述根据所述Stay-In-Boot激活条件标志位的信息,执行Stay-In-Boot定时器的初始化操作或运行所述应用程序的具体步骤包括:
若所述Stay-In-Boot激活条件标志位为1,则执行Stay-In-Boot定时器的初始化操作;
若所述Stay-In-Boot激活条件标志位为0,则运行所述应用程序。
4.如权利要求1所述的一种汽车ECUBootloader的启动方法,其特征在于,所述根据在Stay-In-Boot定时器溢出前是否接收到ECU外部发送的更新应用程序请求,执行Bootloder刷写程序或运行所述应用程序的具体步骤包括:
若在Stay-In-Boot定时器溢出前接收到ECU外部发送的更新应用程序请求,则执行Bootloder刷写程序;
若在Stay-In-Boot定时器溢出前未接收到ECU外部发送的更新应用程序请求,则运行所述应用程序。
5.如权利要求1所述的一种汽车ECUBootloader的启动方法,其特征在于,所述检测所述应用程序信息中是否包含更新应用程序请求信息的具体步骤包括:若所述应用...
【专利技术属性】
技术研发人员:刘福伟,贺兴亮,姚元吉,李斌,方鑫,张衡,代鹏,
申请(专利权)人:东风商用车有限公司,
类型:发明
国别省市:湖北;42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。