一种汽车控制器的引导启动方法以及汽车控制器.pdf

上传人:32 文档编号:1040904 上传时间:2018-03-27 格式:PDF 页数:10 大小:653.52KB
返回 下载 相关 举报
摘要
申请专利号:

CN201110212056.X

申请日:

2011.07.27

公开号:

CN102314363A

公开日:

2012.01.11

当前法律状态:

驳回

有效性:

无权

法律详情:

发明专利申请公布后的驳回IPC(主分类):G06F 9/445申请公布日:20120111|||实质审查的生效IPC(主分类):G06F 9/445申请日:20110727|||公开

IPC分类号:

G06F9/445

主分类号:

G06F9/445

申请人:

深圳市航盛电子股份有限公司

发明人:

李永坚; 陈小江; 邱林; 朱刚阳; 刘金强

地址:

518000 广东省深圳市宝安区福永镇和平村福园一路

优先权:

专利代理机构:

深圳市科吉华烽知识产权事务所 44248

代理人:

胡吉科;罗志强

PDF下载: PDF下载
内容摘要

本发明适用于汽车控制器领域,提供了一种汽车控制器的引导启动方法以及汽车控制器,所述方法包括以下步骤:在上电或复位后,在设定的时间t内检测是否收到上位机发送的刷新请求;如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块,由消息处理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。在本发明的实施例中,通过采用新的引导方式,解决由于汽车控制器在升级目标应用程序的过程中掉电、升级目标应用程序完成后程序不完善、目标应用程序禁用了引导装载程序与上位机的通信接口等问题,导致无法再度升级程序的问题。

权利要求书

1: 一种汽车控制器的引导启动方法, 其特征在于, 所述方法包括以下步骤 : 在上电或复位后, 在设定的时间 t 内检测是否收到上位机发送的刷新请求 ; 如果没有收到刷新请求则检测应用程序是否完整, 当完整时跳转到应用程序 ; 如果收到刷新请求则发送应答确认消息给上位机, 并跳转到消息处理模块, 由消息处 理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。
2: 根据权利要求 1 所述的汽车控制器的引导启动方法, 其特征在于, 在设定的时间 t 内 检测是否收到上位机发送的刷新请求的步骤之前还包括 : 发送引导启动指示给上位机。
3: 根据权利要求 1 所述的汽车控制器的引导启动方法, 其特征在于, 所述刷新请求是 指定 ID 的 UDS 或 KWP2000 协议的服务请求消息, 或者是包含设备型号或设备地址的一条特 殊请求消息。
4: 一种汽车控制器的引导启动程序, 其特征在于, 所述引导程序包括 : 刷新请求检测模块, 用于在上电或复位后, 在设定的时间 t 内检测是否收到上位机发 送的刷新请求 ; 完整性检测模块, 用于如果没有收到刷新请求则检测应用程序是否完整, 当完整时跳 转到应用程序 ; 应答跳转模块, 用于如果收到刷新请求则发送应答确认消息给上位机, 并跳转到消息 处理模块 ; 以及 消息处理模块, 用于从上位机获取刷新数据并执行对应用程序或引导程序的刷新。
5: 根据权利要求 4 所述的汽车控制器的引导启动程序, 其特征在于, 所述引导启动程 序包括 : 引导启动指示发送模块, 用于发送引导启动指示给上位机。
6: 根据权利要求 4 所述的汽车控制器的引导启动程序, 其特征在于, 所述刷新请求是 指定 ID 的 UDS 或 KWP2000 协议的服务请求消息, 或者是包含设备型号或设备地址的一条特 殊请求消息。
7: 一种汽车控制器, 其特征在于, 所述汽车控制器采用权利要求 4-6 中任一项所述的 引导启动程序。

说明书


一种汽车控制器的引导启动方法以及汽车控制器

    【技术领域】
     本发明属于汽车控制器领域, 尤其涉及一种汽车控制器的引导启动方法以及汽车控制器。 背景技术 汽车控制器 (或称 ECU, 电控单元) 一般包括 MCU(电机控制器) 、 VCU(或称 VMS, 整 车控制器) 、 BCM(车身控制器) 以及 BMS(电池管理系统) 等。
     随着应用的变化, 汽车控制器的引导装载程序 (Bootloader) 及其上位机软件需要 更新。在升级汽车控制器的目标应用程序 (Application) 的过程中, 若发生掉电、 需升级的 目标应用程序不完善或受损、 目标应用程序禁用引导装载程序使用的通信接口等情况时, 会导致汽车控制器失效, 并无法再次升级目标应用程序。 另外发生上述情况时, 可能需要拆 卸、 更换汽车控制器。因此, 提高引导装载程序的安全性和可靠性, 一直是汽车控制器研发 人员备受关注的研究课题。
     安全可靠的引导装载程序可以避免在升级目标应用程序时或升级目标应用程序 完成后, 由于各种不确定因素导致汽车控制器无法执行目标程序或无法再度升级目标应用 程序的风险。另外, 还可以避免发生上述情况时拆卸、 更换汽车控制器的风险, 在一定程度 上还可以提高汽车控制器开发设计过程中的效率。
     发明内容 本发明实施例的目的在于提供一种汽车控制器的引导装载程序, 旨在解决由于汽 车控制器在升级目标应用程序的过程中掉电、 升级目标应用程序完成后程序不完善、 目标 应用程序禁用了引导装载程序与上位机的通信接口等问题, 导致无法再度升级目标应用程 序的问题。
     本发明实施例是这样实现的, 一种汽车控制器的引导启动方法, 所述方法包括以 下步骤 : 在上电或复位后, 在设定的时间 t 内检测是否收到上位机发送的刷新请求 ; 如果没有收到刷新请求则检测应用程序是否完整, 当完整时跳转到应用程序 ; 如果收到刷新请求则发送应答确认消息给上位机, 并跳转到消息处理模块, 由消息处 理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。
     进一步地, 在设定的时间 t 内检测是否收到上位机发送的刷新请求的步骤之前还 包括 : 发送引导启动指示给上位机 进一步地, 所述刷新请求是指定 ID 的 UDS 或 KWP2000 协议的服务请求消息, 或者是包 含设备型号或设备地址的一条特殊请求消息。
     本发明实施例的另一目的在于提供一种汽车控制器的引导启动程序, 所述引导程 序包括 :
     刷新请求检测模块, 用于在上电或复位后, 在设定的时间 t 内检测是否收到上位机发 送的刷新请求 ; 完整性检测模块, 用于如果没有收到刷新请求则检测应用程序是否完整, 当完整时跳 转到应用程序 ; 应答跳转模块, 用于如果收到刷新请求则发送应答确认消息给上位机, 并跳转到消息 处理模块 ; 以及 消息处理模块, 用于从上位机获取刷新数据并执行对应用程序或引导程序的刷新。
     进一步地, 所述引导启动程序包括 : 引导启动指示发送模块, 用于发送引导启动指示给上位机。
     进一步地, 所述刷新请求是指定 ID 的 UDS 或 KWP2000 协议的服务请求消息, 或者 是包含设备型号或设备地址的一条特殊请求消息。
     本发明实施例的另一目的在于提供一种汽车控制器, 所述汽车控制器采用上述任 一项所述的引导启动程序。
     在本发明的实施例中, 通过采用新的引导方式, 解决由于汽车控制器在升级目标 应用程序的过程中掉电、 升级目标应用程序完成后程序不完善、 目标应用程序禁用了引导 装载程序与上位机的通信接口等问题, 导致无法再度升级目标应用程序的问题。 附图说明
     图 1 是本发明第一实施例提供的引导启动方法的实施流程 ; 图 2 是本发明第二实施例提供的引导启动方法的实施流程 ; 图 3 是本发明第三实施例提供的引导启动方法的实施流程 ; 图 4 是本发明实施例提供的汽车控制器的软件模块结构示意图。具体实施方式
     为了使本发明的目的、 技术方案及优点更加清楚明白, 以下结合附图及实施例, 对 本发明进行进一步详细说明。 应当理解, 此处所描述的具体实施例仅仅用以解释本发明, 并 不用于限定本发明。
     图 1 示出了本发明第一实施例提供的引导启动方法的实施流程, 详述如下 : 在步骤 S101 中, 汽车控制器进行上电或复位。
     在步骤 S102 中, 汽车控制器进行常规初始化。
     在步骤 S103 中, 检测是否收到上位机发送的刷新请求。当未收到刷新请求时, 执 行步骤 S104。当收到刷新请求时, 执行步骤 S105。
     在步骤 S104 中, 判断是否等待超时, 也即判断是否达到设定的等待时间 t。为了 避免长期检测刷新请求, 可以设定一刷新等待时间 t( (如 10ms) , 从而可以适当缩减启动时 间。如果等待超时, 则执行步骤 S106 ; 否则返回步骤 S103, 即继续检测刷新请求。
     在步骤 S105 中, 发送应答确认消息给上位机, 并跳转至步骤 S108。 这样, 以便让上 位机准备配合对应用程序进行刷新。
     在步骤 S106 中, 判断应用程序是否完整。如果应用程序完整, 则执行步骤 S107 ; 否则执行步骤 S108。在步骤 S107 中, 跳转到应用程序。 在步骤 S108 中, 由消息处理模块从上位机获取刷新程序并执行对应用程序的刷新。 也就是说, 上电或复位并初始化完成后, Bootloader(汽车控制器的引导启动程 序) 首先作一个指定时间 (如 10ms) 的循环检测, 该时间内, 若检测到有刷新请求 (或进入 Bootloader 刷新模式请求) 则一直运行在 Bootloader。否则, 指定时间过后没有检测到刷 新请求, 则检测目标应用程序是否完整, 并根据应用程序的完整性, 跳转到应用程序或停留 在 Bootloader。
     图 2 示出了本发明第二实施例提供的引导启动方法的实施流程, 详述入下 : 在步骤 S201 中, 汽车控制器进行上电或复位。
     在步骤 S202 中, 汽车控制器进行常规初始化。
     在步骤 S203 中, 判断应用程序是否完整。
     在步骤 S204 中, 当完整时, 置应用程序完整性标识。
     在步骤 S205 中, 当不完整时, 清除应用程序完整性标识。
     在步骤 S206 中, 由消息处理模块从上位机获取消息并执行对应的消息处理 (如 : 刷新请求, 程序下载等) 。在该步骤 S206 中, 内嵌了刷新请求的检测过程。其内嵌的过程 : 分析已有周期任务和复位刷新请求有效时间之间的关系。 若与某个周期任务相等, 则将 “应 用程序完整性” 和 “刷新请求” 检测和应用程序跳转 (应用程序完整, 刷新请求无效时) 的功 能添加到该周期任务中, 否则, 新增实现该功能的周期任务。
     在步骤 S207 中, 跳转到应用程序。
     本发明第二实施例为内嵌式检测, 上电或复位并初始化完成后, Bootloader 首先 检测应用程序是否完整, 并置应用程序完整标志位 (Application integrity flag) 为相应 状态, 然后执行 Bootloader 常规任务, 并在常规任务中内嵌 “是否收到刷新请求” 的检测, 并置刷新请求有效标志位 (Refresh program request flag) 为相应状态。在指定的周期 调度 (如 10ms 周期任务) 中判断是否同时满足两个条件 : 应用程序完整且没有收到有效刷 新请求。若条件满足, 则跳转到应用程序。否则, 继续运行 Bootloader。
     本发明第二实施例与第一实施例基本类似, 其主要区别在于将复位请求的检测过 程内嵌于消息处理模块。
     图 3 示出了本发明第三实施例提供的引导启动方法的实施流程。在上电或复位并 初始化完成后, Bootloader 主动向外发送一条消息, 在指定的时间内 (如 10 ms) 收到正确 的应答, 则停留在 Bootloader。 否则, 若没有收到应答确认, 则进行应用程序完整性检测, 此 时, 若应用程序完整, 则跳转到应用程序, 否则依然停留在 Bootloader。
     其中, 第 3 中方案不适用于 UDS(ISO-14229) , KWP2000(ISO-14230) , CCP 等协议 设计的 Bootloader。
     在实现上述方案时, 需要上位机刷新软件的配合。此外, 当应用程序完整, 且不需 要刷新应用程序时, 从控制器上电或复位到跳转至 Application 之间的停留时间不宜过 长, 建议控制在 10ms 至 100ms 之间。
     此外按照本发明设计的 Bootloader, 是可以兼容常规的刷新流程的。例如, 使用 UDS 并按照本设计的 Bootloader, 其上位机的刷新流程, 既可以使用 UDS 常规刷新流程, 也
     可以使用本发明提出的刷新流程。
     总体而言, 对于设计本发明所阐述的 Bootloader, 无论使用那种方式去实现, 首先 要确定一条特殊的消息, 用来指示, 上位机程序请求刷新应用程序。 这条消息还可以包含设 备型号或设备地址的确认信息。
     为了避免汽车控制器通之间正常通信的干扰, 通常指定的这条消息, 在汽车 控制器的通信网络间不应该出现 (或 需 要 避 免 出 现)的 消 息。 以 UDS(ISO-14229) 或 KWP2000(ISO-14230) 为例, 可以使用 10 Hex 服务请求进入刷新模式, 也可以使用 34 Hex 服 务进行刷新请求, 还可以使用 31 Hex 服务使用自定义的例程。对于 ISO-14229 协议, 推荐 使用 10 Hex 和 31 Hex 服务, 不推荐使用 34 Hex 服务。因为, 34 Hex 服务通常是一条需要 安全认证确认后才能响应的服务。 这样, 使用 34 Hex, 相当于使用了 27 Hex 和 34 Hex 服务 同时作为上位机请求 Bootloader 刷新程序的依据。从而在一定程度上加大了检测刷新程 序所需要的延时时间, 降低了控制器的启动速度。
     目前, 大部分汽车控制器都是使用 CAN 网络做为整个汽车各控制器之间的主通信 网络。常用的两种刷新方式, 一种是基于 CCP 标定的刷新, 另外一种是基于 UDS 或 KWP2000 的刷新。控制器下线后, 通常会卸载 CCP 功能。所以, 控制器量产后, 在 Bootloader 中, 最 常见的就是基于 UDS 或者是 KWP2000 的刷新功能。 图 4 示出了本发明实施例提供的一种汽车控制器的软件结构模块, 该汽车控制器 软件包括一引导启动程序, 所述引导程序采用三层或两层软件架构 : 通信层、 网络协议层 (可选, 当应用层基于 UDS 或 KWP2000 时必选) 、 应用层。其中, 应用层包括 : 刷新请求检测模块, 用于在上电或复位后, 在设定的时间 t 内检测是否收到上位机发 送的刷新请求 ; 完整性检测模块, 用于如果没有收到刷新请求则检测应用程序是否完整, 当完整时跳 转到应用程序 ; 应答跳转模块, 用于如果收到刷新请求则发送应答确认消息给上位机, 并跳转到消息 处理模块 ; 以及 消息处理模块, 用于从上位机获取刷消息序并执行对应用程序或引导启动程序的刷 新。
     所述引导启动程序还包括 : 引导启动指示发送模块, 用于发送引导启动指示给上位机 在本发明的实施例中, 所述刷新请求为一条引导程序使用 ID 的基于 UDS 或 KWP2000 的 请求服务或一条引导程序指定的包含设备型号或设备地址的特殊消息。
     以上所述仅为本发明的较佳实施例而已, 并不用以限制本发明, 凡在本发明的精 神和原则之内所作的任何修改、 等同替换和改进等, 均应包含在本发明的保护范围之内。
    

一种汽车控制器的引导启动方法以及汽车控制器.pdf_第1页
第1页 / 共10页
一种汽车控制器的引导启动方法以及汽车控制器.pdf_第2页
第2页 / 共10页
一种汽车控制器的引导启动方法以及汽车控制器.pdf_第3页
第3页 / 共10页
点击查看更多>>
资源描述

《一种汽车控制器的引导启动方法以及汽车控制器.pdf》由会员分享,可在线阅读,更多相关《一种汽车控制器的引导启动方法以及汽车控制器.pdf(10页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN102314363A43申请公布日20120111CN102314363ACN102314363A21申请号201110212056X22申请日20110727G06F9/44520060171申请人深圳市航盛电子股份有限公司地址518000广东省深圳市宝安区福永镇和平村福园一路72发明人李永坚陈小江邱林朱刚阳刘金强74专利代理机构深圳市科吉华烽知识产权事务所44248代理人胡吉科罗志强54发明名称一种汽车控制器的引导启动方法以及汽车控制器57摘要本发明适用于汽车控制器领域,提供了一种汽车控制器的引导启动方法以及汽车控制器,所述方法包括以下步骤在上电或复位后,在设定的时间T内。

2、检测是否收到上位机发送的刷新请求;如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块,由消息处理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。在本发明的实施例中,通过采用新的引导方式,解决由于汽车控制器在升级目标应用程序的过程中掉电、升级目标应用程序完成后程序不完善、目标应用程序禁用了引导装载程序与上位机的通信接口等问题,导致无法再度升级程序的问题。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书1页说明书4页附图4页CN102314367A1/1页21一种汽车控制器的引导启动。

3、方法,其特征在于,所述方法包括以下步骤在上电或复位后,在设定的时间T内检测是否收到上位机发送的刷新请求;如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块,由消息处理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。2根据权利要求1所述的汽车控制器的引导启动方法,其特征在于,在设定的时间T内检测是否收到上位机发送的刷新请求的步骤之前还包括发送引导启动指示给上位机。3根据权利要求1所述的汽车控制器的引导启动方法,其特征在于,所述刷新请求是指定ID的UDS或KWP2000协议的服务请求消息,或者是包含设备型号。

4、或设备地址的一条特殊请求消息。4一种汽车控制器的引导启动程序,其特征在于,所述引导程序包括刷新请求检测模块,用于在上电或复位后,在设定的时间T内检测是否收到上位机发送的刷新请求;完整性检测模块,用于如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;应答跳转模块,用于如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块;以及消息处理模块,用于从上位机获取刷新数据并执行对应用程序或引导程序的刷新。5根据权利要求4所述的汽车控制器的引导启动程序,其特征在于,所述引导启动程序包括引导启动指示发送模块,用于发送引导启动指示给上位机。6根据权利要求4所述的汽车控制器的引导启动。

5、程序,其特征在于,所述刷新请求是指定ID的UDS或KWP2000协议的服务请求消息,或者是包含设备型号或设备地址的一条特殊请求消息。7一种汽车控制器,其特征在于,所述汽车控制器采用权利要求46中任一项所述的引导启动程序。权利要求书CN102314363ACN102314367A1/4页3一种汽车控制器的引导启动方法以及汽车控制器技术领域0001本发明属于汽车控制器领域,尤其涉及一种汽车控制器的引导启动方法以及汽车控制器。背景技术0002汽车控制器(或称ECU,电控单元)一般包括MCU(电机控制器)、VCU(或称VMS,整车控制器)、BCM(车身控制器)以及BMS(电池管理系统)等。0003随着。

6、应用的变化,汽车控制器的引导装载程序(BOOTLOADER)及其上位机软件需要更新。在升级汽车控制器的目标应用程序(APPLICATION)的过程中,若发生掉电、需升级的目标应用程序不完善或受损、目标应用程序禁用引导装载程序使用的通信接口等情况时,会导致汽车控制器失效,并无法再次升级目标应用程序。另外发生上述情况时,可能需要拆卸、更换汽车控制器。因此,提高引导装载程序的安全性和可靠性,一直是汽车控制器研发人员备受关注的研究课题。0004安全可靠的引导装载程序可以避免在升级目标应用程序时或升级目标应用程序完成后,由于各种不确定因素导致汽车控制器无法执行目标程序或无法再度升级目标应用程序的风险。另。

7、外,还可以避免发生上述情况时拆卸、更换汽车控制器的风险,在一定程度上还可以提高汽车控制器开发设计过程中的效率。发明内容0005本发明实施例的目的在于提供一种汽车控制器的引导装载程序,旨在解决由于汽车控制器在升级目标应用程序的过程中掉电、升级目标应用程序完成后程序不完善、目标应用程序禁用了引导装载程序与上位机的通信接口等问题,导致无法再度升级目标应用程序的问题。0006本发明实施例是这样实现的,一种汽车控制器的引导启动方法,所述方法包括以下步骤在上电或复位后,在设定的时间T内检测是否收到上位机发送的刷新请求;如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;如果收到刷新请求则发。

8、送应答确认消息给上位机,并跳转到消息处理模块,由消息处理模块从上位机获取刷新数据并执行对应用程序或引导程序的刷新。0007进一步地,在设定的时间T内检测是否收到上位机发送的刷新请求的步骤之前还包括发送引导启动指示给上位机进一步地,所述刷新请求是指定ID的UDS或KWP2000协议的服务请求消息,或者是包含设备型号或设备地址的一条特殊请求消息。0008本发明实施例的另一目的在于提供一种汽车控制器的引导启动程序,所述引导程序包括说明书CN102314363ACN102314367A2/4页4刷新请求检测模块,用于在上电或复位后,在设定的时间T内检测是否收到上位机发送的刷新请求;完整性检测模块,用于。

9、如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;应答跳转模块,用于如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块;以及消息处理模块,用于从上位机获取刷新数据并执行对应用程序或引导程序的刷新。0009进一步地,所述引导启动程序包括引导启动指示发送模块,用于发送引导启动指示给上位机。0010进一步地,所述刷新请求是指定ID的UDS或KWP2000协议的服务请求消息,或者是包含设备型号或设备地址的一条特殊请求消息。0011本发明实施例的另一目的在于提供一种汽车控制器,所述汽车控制器采用上述任一项所述的引导启动程序。0012在本发明的实施例中,通过采用新的引导方式。

10、,解决由于汽车控制器在升级目标应用程序的过程中掉电、升级目标应用程序完成后程序不完善、目标应用程序禁用了引导装载程序与上位机的通信接口等问题,导致无法再度升级目标应用程序的问题。附图说明0013图1是本发明第一实施例提供的引导启动方法的实施流程;图2是本发明第二实施例提供的引导启动方法的实施流程;图3是本发明第三实施例提供的引导启动方法的实施流程;图4是本发明实施例提供的汽车控制器的软件模块结构示意图。具体实施方式0014为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。00。

11、15图1示出了本发明第一实施例提供的引导启动方法的实施流程,详述如下在步骤S101中,汽车控制器进行上电或复位。0016在步骤S102中,汽车控制器进行常规初始化。0017在步骤S103中,检测是否收到上位机发送的刷新请求。当未收到刷新请求时,执行步骤S104。当收到刷新请求时,执行步骤S105。0018在步骤S104中,判断是否等待超时,也即判断是否达到设定的等待时间T。为了避免长期检测刷新请求,可以设定一刷新等待时间T(如10MS),从而可以适当缩减启动时间。如果等待超时,则执行步骤S106;否则返回步骤S103,即继续检测刷新请求。0019在步骤S105中,发送应答确认消息给上位机,并跳。

12、转至步骤S108。这样,以便让上位机准备配合对应用程序进行刷新。0020在步骤S106中,判断应用程序是否完整。如果应用程序完整,则执行步骤S107;否则执行步骤S108。说明书CN102314363ACN102314367A3/4页50021在步骤S107中,跳转到应用程序。0022在步骤S108中,由消息处理模块从上位机获取刷新程序并执行对应用程序的刷新。0023也就是说,上电或复位并初始化完成后,BOOTLOADER(汽车控制器的引导启动程序)首先作一个指定时间(如10MS)的循环检测,该时间内,若检测到有刷新请求(或进入BOOTLOADER刷新模式请求)则一直运行在BOOTLOADER。

13、。否则,指定时间过后没有检测到刷新请求,则检测目标应用程序是否完整,并根据应用程序的完整性,跳转到应用程序或停留在BOOTLOADER。0024图2示出了本发明第二实施例提供的引导启动方法的实施流程,详述入下在步骤S201中,汽车控制器进行上电或复位。0025在步骤S202中,汽车控制器进行常规初始化。0026在步骤S203中,判断应用程序是否完整。0027在步骤S204中,当完整时,置应用程序完整性标识。0028在步骤S205中,当不完整时,清除应用程序完整性标识。0029在步骤S206中,由消息处理模块从上位机获取消息并执行对应的消息处理(如刷新请求,程序下载等)。在该步骤S206中,内嵌。

14、了刷新请求的检测过程。其内嵌的过程分析已有周期任务和复位刷新请求有效时间之间的关系。若与某个周期任务相等,则将“应用程序完整性”和“刷新请求”检测和应用程序跳转(应用程序完整,刷新请求无效时)的功能添加到该周期任务中,否则,新增实现该功能的周期任务。0030在步骤S207中,跳转到应用程序。0031本发明第二实施例为内嵌式检测,上电或复位并初始化完成后,BOOTLOADER首先检测应用程序是否完整,并置应用程序完整标志位(APPLICATIONINTEGRITYFLAG)为相应状态,然后执行BOOTLOADER常规任务,并在常规任务中内嵌“是否收到刷新请求”的检测,并置刷新请求有效标志位(RE。

15、FRESHPROGRAMREQUESTFLAG)为相应状态。在指定的周期调度(如10MS周期任务)中判断是否同时满足两个条件应用程序完整且没有收到有效刷新请求。若条件满足,则跳转到应用程序。否则,继续运行BOOTLOADER。0032本发明第二实施例与第一实施例基本类似,其主要区别在于将复位请求的检测过程内嵌于消息处理模块。0033图3示出了本发明第三实施例提供的引导启动方法的实施流程。在上电或复位并初始化完成后,BOOTLOADER主动向外发送一条消息,在指定的时间内(如10MS)收到正确的应答,则停留在BOOTLOADER。否则,若没有收到应答确认,则进行应用程序完整性检测,此时,若应用程。

16、序完整,则跳转到应用程序,否则依然停留在BOOTLOADER。0034其中,第3中方案不适用于UDS(ISO14229),KWP2000(ISO14230),CCP等协议设计的BOOTLOADER。0035在实现上述方案时,需要上位机刷新软件的配合。此外,当应用程序完整,且不需要刷新应用程序时,从控制器上电或复位到跳转至APPLICATION之间的停留时间不宜过长,建议控制在10MS至100MS之间。0036此外按照本发明设计的BOOTLOADER,是可以兼容常规的刷新流程的。例如,使用UDS并按照本设计的BOOTLOADER,其上位机的刷新流程,既可以使用UDS常规刷新流程,也说明书CN10。

17、2314363ACN102314367A4/4页6可以使用本发明提出的刷新流程。0037总体而言,对于设计本发明所阐述的BOOTLOADER,无论使用那种方式去实现,首先要确定一条特殊的消息,用来指示,上位机程序请求刷新应用程序。这条消息还可以包含设备型号或设备地址的确认信息。0038为了避免汽车控制器通之间正常通信的干扰,通常指定的这条消息,在汽车控制器的通信网络间不应该出现(或需要避免出现)的消息。以UDSISO14229或KWP2000ISO14230为例,可以使用10HEX服务请求进入刷新模式,也可以使用34HEX服务进行刷新请求,还可以使用31HEX服务使用自定义的例程。对于ISO1。

18、4229协议,推荐使用10HEX和31HEX服务,不推荐使用34HEX服务。因为,34HEX服务通常是一条需要安全认证确认后才能响应的服务。这样,使用34HEX,相当于使用了27HEX和34HEX服务同时作为上位机请求BOOTLOADER刷新程序的依据。从而在一定程度上加大了检测刷新程序所需要的延时时间,降低了控制器的启动速度。0039目前,大部分汽车控制器都是使用CAN网络做为整个汽车各控制器之间的主通信网络。常用的两种刷新方式,一种是基于CCP标定的刷新,另外一种是基于UDS或KWP2000的刷新。控制器下线后,通常会卸载CCP功能。所以,控制器量产后,在BOOTLOADER中,最常见的就。

19、是基于UDS或者是KWP2000的刷新功能。0040图4示出了本发明实施例提供的一种汽车控制器的软件结构模块,该汽车控制器软件包括一引导启动程序,所述引导程序采用三层或两层软件架构通信层、网络协议层(可选,当应用层基于UDS或KWP2000时必选)、应用层。其中,应用层包括刷新请求检测模块,用于在上电或复位后,在设定的时间T内检测是否收到上位机发送的刷新请求;完整性检测模块,用于如果没有收到刷新请求则检测应用程序是否完整,当完整时跳转到应用程序;应答跳转模块,用于如果收到刷新请求则发送应答确认消息给上位机,并跳转到消息处理模块;以及消息处理模块,用于从上位机获取刷消息序并执行对应用程序或引导启。

20、动程序的刷新。0041所述引导启动程序还包括引导启动指示发送模块,用于发送引导启动指示给上位机在本发明的实施例中,所述刷新请求为一条引导程序使用ID的基于UDS或KWP2000的请求服务或一条引导程序指定的包含设备型号或设备地址的特殊消息。0042以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。说明书CN102314363ACN102314367A1/4页7图1说明书附图CN102314363ACN102314367A2/4页8图2说明书附图CN102314363ACN102314367A3/4页9图3说明书附图CN102314363ACN102314367A4/4页10图4说明书附图CN102314363A。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 物理 > 计算;推算;计数


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1