应用程序的刷新方法和系统的制作方法

文档序号:6354993阅读:160来源:国知局
专利名称:应用程序的刷新方法和系统的制作方法
技术领域
本发明涉及一种应用程序的刷新方法和系统。
背景技术
在当今机动车辆上,通常安装多个电子控制单元(E⑶),用以执行不同的功能。这 些控制单元包含车身控制模块(BCM),该模块主要用来控制车体中的灯、门、窗以及车身的 防盗部分;发动机控制器,该模块主要用以对输送给发动机气缸的喷射量或进气气流进行 控制;还包含导航系统以及诊断系统等。这些E⑶之间通常通过车载网络总线系统,例如 CAN总线或LIN总线等连接在一起,用以进行它们之间的协调工作以及信息共享。这些ECU 通常包含处理器和外部设备(如通信收发器,片外存储器等),E⑶应用程序存放在处理器 内部存储器里,或者外部设备的片外存储器里,该应用程序包含可执行的应用程序和应用 数据。由于很多原因,比如ECU中的应用程序存在缺陷或者要增加新的功能,需要对存储在 ECU中的应用程序进行升级和修改,那么就需要对其应用程序进行重编程。目前针对相关技术的在车载系统中,ECU中的应用程序需要更新时,需要将ECU从 车辆上拆卸下来重新烧写,无法实现在线更新ECU中的应用程序,针对该问题,目前尚未提 出有效的解决方案。

发明内容
针对相关技术的在车载系统中,ECU中的应用程序需要更新时,需要将ECU从车辆 上拆卸下来重新烧写,无法实现在线更新ECU中的应用程序的问题,目前尚未提出有效的 问题而提出本发明,为此,本发明的主要目的在于提供一种应用程序的刷新方法和系统,以 解决上述问题。为了实现上述目的,根据本发明的一个方面,提供了一种应用程序的刷新系统,该 应用程序的刷新系统包括下载工具,生成重编程指令;一个或多个电子控制单元,与下载 工具通信来获取重编程指令,并根据重编程指令下载该下载工具上的新的应用程序。进一步地,电子控制单元包括第一存储模块,用于保存应用程序有效标志位;应 用程序模块,用于保存并运行应用程序,应用程序包括新的应用程序;第二存储模块,用于 保存重编程标志位,重编程指令将重编程标志位置位;重编程软件模块,读取第二存储模块 中的重编程标志位置位的信息,并下载新的应用程序至应用程序模块;其中,在重编程软件 模块读取重编程标志位置位信息之后,擦除重编程标志位的置位信息。为了实现上述目的,根据本发明的另一方面,提供了一种应用程序的刷新方法, 该方法包括电子控制单元获取来自下载工具的重编程指令;电子控制单元根据重编程指 令,使得电子控制单元进入重编程模式;下载工具将新的应用程序下载并保存至电子控制 单元。进一步地,电子控制单元进入重编程模式的步骤包括重编程指令将电子控制单 元的重编程标志位置位;重编程软件模块读取重编程标志位置位的信息,使得电子控制单元进入重编程模式,同时将所述重编程标志位的置位信息擦除。进一步地,在电子控制单元进入重编程模式之后的方法还包括读取重编程标志 位的置位信息;判断重编程标志位是否置位,其中,当重编程标志位置位时,电子控制单元 进入重编程模式,下载工具发送擦写指令至电子控制单元,以擦写应用程序模块,否则,检 测应用程序模块是否有效。进一步地,检测应用程序模块是否有效的步骤包括判断应用程序模块的应用程 序有效标志位是否置位,其中,当应用程序有效标志位置位时,电子控制单元进入应用程序 模式,否则,电子控制单元进入重编程模式。进一步地,下载工具将新的应用程序下载并保存至电子控制单元的步骤包括在 电子控制单元进 入重编程模式后,下载工具发送擦写命令至电子控制单元;根据擦写命令 来擦除电子控制单元中的应用程序模块中的旧的应用程序;根据擦写命令将下载工具中的 新的应用程序保存至应用程序模块。进一步地,在擦除电子控制单元中的应用程序模块中的旧的应用程序之前,方法 还包括擦除应用程序模块的应用程序有效标志位。进一步地,在下载工具将新的应用程序下载并保存至电子控制单元之后,方法还 包括校验新的应用程序是否正确,其中,当新的应用程序正确时,将电子控制单元的应用 程序有效标志位置位。通过本发明,采用电子控制单元获取来自下载工具的重编程指令;电子控制单元 根据重编程指令,使得电子控制单元进入重编程模式;下载工具将新的应用程序下载并保 存至电子控制单元,解决了现有技术中在车载系统中由于重编程软件的软件模块烧写在 E⑶里等原因,导致当下载工具的应用程序发生变化时,需要将E⑶重新烧写,且无法实时 在线更新ECU中的应用程序的问题,进而实现对ECU应用程序进行在线重编程的效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发 明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图1是根据本发明实施例的应用程序的刷新系统结构示意图;图2是根据本发明实施例的电子控制单元的结构示意图;图3是根据本发明实施例的应用程序的刷新方法的工作流程图;以及图4是根据本发明实施例优选地应用程序的刷新方法的工作流程图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相 互组合。下面将参考附图并结合实施例来详细说明本发明。图1是根据本发明实施例的应用程序的刷新系统结构示意图。如图1所示,该系 统包括下载工具1,生成重编程指令;一个或多个电子控制单元3,与下载工具1通信来获 取重编程指令,并根据重编程指令下载该下载工具1上的新的应用程序。优选地,本发明系统还可以包括网关2,与下载工具1连接,电子控制单元3通过网 关2与下载工具1通信来获取重编程指令。
本发明上述实施例可以应用在车辆电子控制单元网络中,该图中所示的网络中包 含两个不同的子网络,分别是子网络4和子网络5,这两个子网络执行不同的网络协议,比 如CAN总线协议和LIN总线协议。在每个子网络中,连接着多个不同的电子控制单元ECU 用以满足车辆不同的功能需求。本发明实现当任意一个电子控制单元3需要更新应用程序 的时候,电子控制单元与下载工具通过总线进行通信,将下载工具上的新的应用程序下载 到电子控制单元里,实现在线更新ECU中的应用程序。具体的实现过程可以如下,图1中子网络4是CAN总线,该CAN总线上连接有多个 电子控制单元3,子网络4上连接的可以是第一电子控制单元、第二电子控制单元等;子网 络5是LIN总线,在LIN总线中也可以连接有多个电子控制单元3,子网络5上连接的可以 是第三电子控制单元、第四电子控制单元等,上述两个网络中的电子控制单元可以满足车 辆不同的功能需求。下载工具1通过网关2与不同总线上的各个电子控制单元ECU进行通 信,当网络中的任何ECU,比如,当CAN总线上的第一电子控制单元需要更新应用程序的时 候,下载工具1将应用程序传输给网关2,最后再由网关2通过CAN总线传输给第一个第一 电子控制单元。每个ECU中,都包含重编程软件模块32和应用程序模块31,重编程软件模 块32负责将从总线上接收的应用程序写入ECU的应用程序模块中。图2是根据本发明实施例的电子控制单元的结构示意图。如图2所示,该电子控 制单元包括第一存储模块33,用于保存应用程序有效标志位;应用程序模块31,用于保存 并运行应用程序,应用程序可以包括新的应用程序;第二存储模块34,用于保存重编程标 志位,下载工具1给E⑶应用程序发送重编程指令将标志位置位;E⑶重启后,重编程软件 模块32,读取第二存储模块34中的重编程标志位置位的信息,如果重编程标志位置位,表 示有重编程请求,电子控制单元进入重编程模式,并同时生成一个响应,使得下载工具可以 根据该响应来更新应用程序模块31,即下载工具下载新的应用程序至应用程序模块31 ;其 中,在重编程软件模块读取重编程标志位置位信息之后,擦除重编程标志位的置位信息。在上述实施例中,可知在ECU中,重编程软件和应用程序存放在ECU的不同存储区 域,如图2所示,应用程序模块31是可以被更新应用程序的区域,重编程软件模块32是受 保护的重编程软件区域,第一存储模块33和第二存储模块34是应用程序模块31和重编程 软件模块32区域外的非易失性存储器区域,比如EEPR0M,其中,第一存储模块33可以存储 应用程序有效标志位,用以检查应用程序是否有效,第二存储模块34可以存储重编程标志 位,用以检查是否有重编程请求。在任何时候,ECU只能处于应用程序模式或重编程模式,不能同时存在于两种模式 中,这两种模式之间有交互。E⑶启动的时候重编程软件模块32启动,其中,如果E⑶中没有重编程请求,即重 编程标志位没有置位,并且检测到应用程序有效,那么ECU会进入应用程序模式;反之,当 ECU处于应用程序模式中时,当收到重编程指令时,会进入重编程模式,进行应用程序的更 新,应用程序更新完毕后ECU重启。例如,如图1中的第一电子控制单元,在应用程序模式中运行时,如果由于应用程 序存在缺陷或者要增加新的功能等原因需要重编程,下载工具1便向上述第一电子控制单 元发送重编程指令,该第一电子控制单元在收到重编程指令后,将第一存储模块33中的重 编程标志位置位,即将标志位的数据0转换为1,表示有重编程请求,置位后ECU重新上电,重编程标志位在重新上电后被重编程软件模块32读取,用以检查是否有重编程请求,重编 程软件模块32读取到重编程标志位是1时,表示电子控制单元3的应用程序有重编程请 求,E⑶进入重编程模式,下载新的应用程序,在读取重编程标志位置位信息之后,重编程模 块立即擦除该位,以防程序进入死锁状态。在更新应用程序时,下载工具发送擦除应用程序的指令,ECU中的重编程软件模块 32响应指令,先擦除应用程序模块31中已保存的应用程序,再将新下载的应用程序保存至 应用程序模块31,当重编程软件模块32在擦写应用程序之前,会将保存在第一存储模块33 中的应用程序有效位擦除,即将应用程序有效标志位从1转换为0,使得如果下载失败(比 如出现中断、异常、重启以及断电等原因),重新上电后,可以根据该位检测到应用程序无 效,重新对应用程序进行重编程。当重编程完成后,重编程软件模块32将该应用程序有效 标志位置位,表示应用程序有效,再次上电时,由于此时应用程序有效标志位是有效位,因 此系统不再重新下载应用程序。图3是根据本发明实施例的应用程序的刷新方法的工作流程图,如图3所示该方 法包括如下步骤步骤S302,图1中的电子控制单元获取来自下载工具的重编程指令。步骤S304,在电子控制单元识别重编程指令之后,图1中的电子控制单元进入重 编程模式。步骤S306,图1中的下载工具将新的应用程序下载并保存至所述电子控制单元。本发明上述实施例中,当电子控制单元中的应用程序需要更新的时候,下载工具 会发出重编程指令至电子控制单元,当电子控制单元接收到该指令后,进入重编程模式, 并同时生成一个响应,使得下载工具可以根据该响应将新的应用程序下载到电子控制单元 中,实现不用拆卸ECU进行烧写就可以更新电子控制单元中的应用程序的效果。本发明上述实施例中,电子控制单元进入重编程模式的步骤可以包括接收到重 编程指令后,将重编程标志位置位,E⑶重启,重编程软件模块32检测重编程标志位,即读 取重编程标志位置位的信息,如果该位置位,表示ECU有重编程请求,ECU进入重编程模式, 根据下载工具的指令,ECU中的重编程模块执行应用程序下载流程,将新的应用程序下载到 ECU 中。其中,在电子控制单元进入重编程模式之后,方法还可以包括读取重编程标志位 的置位信息;判断重编程标志位是否置位,其中,当重编程标志位置位时,电子控制单元进 入重编程模式,下载工具发送擦写指令至电子控制单元,以擦写所述应用程序模块,否则, 检测应用程序模块的工作状态,即检测应用程序模块是否有效。优选地,在读取重编程标志位的置位信息之后,还可以包括将重编程标志位的置 位信息擦除。该优选实施例实现防止系统在更新应用程序之后,还不断的检测到需要重新 下载新的应用程序请求,防止程序进入死锁状态。优选地,检测应用程序模块是否有效的步骤包括判断应用程序模块的应用程序 有效标志位是否置位,其中,当应用程序有效标志位置位时,电子控制单元进入应用程序模 式,否则,电子控制单元进入重编程模式。该实施例实现,系统检测应用程序模块31是否成 功更新应用程序,如果没有更新成功,则重新下载应用程序,直至应用程序更新成功,提高 了系统的工作性能。
本发明上述实施例中,下载工具将新的应用程序下载并保存至电子控制单元的步 骤中可以包括电子控制单元进入重编程模式后,下载工具发送擦写指令至电子控制单元; 电子控制单元中的重编程模块根据擦写指令来擦除电子控制单元中的应用程序模块中的 旧的应用程序;根据擦写指令来将下载工具中的新的应用程序保存至电子控制单元的应用 程序模块中。 在该实施例中,在擦除电子控制单元中的应用程序模块中的旧的应用程序之前, 方法还可以包括擦除应用程序模块的应用程序有效标志位。该实施例实现防止系统重复 下载应用程序,出现重复工作。在上述实施例中,当应用程序有重编程请求时,下载工具将新的应用程序下载并 保存至电子控制单元之后,方法还包括校验新的应用程序是否正确,其中,当新的应用程 序正确时,将电子控制单元的应用程序有效标志位置位,否则,电子控制单元进入重编程模 式。该验证模式可以采用传统的校验方式。图4是根据本发明实施例优选的应用程序的刷新方法的工作流程图。图4是本发 明带有重编程功能的E⑶软件重编程流程图,通过该图可以有效实现E⑶应用程序和重编 程软件的正确执行。如图4所示,本发明优选的实施例包括如下步骤步骤S401,在电子控制单元上电之后,电子控制单元进行硬件初始化(如外部看 门狗,通信收发器等)。步骤S402,在电子控制单元初始化完成后,电子控制单元3检查应用程序有没有 重编程请求。在该实施例中,电子控制单元通过读取第二存储模块34中的重编程标志位 (如图2所示),并判断其是否置位,即确定是否有重编程请求,再进行下一步操作,当读取 到重编程标志位置位(从0置位为1)时,进入步骤S405,否则转入步骤S403。并且在读取 标志位信息后,立即擦除该位,以防程序进入死锁状态。步骤S403,此时,电子控制单元3读取到的重编程标志位没有置位,电子控制单元 3没有重编程请求,开始通过检测第一存储模块33中的应用程序有效标志位,来检查存储 在ECU中的应用程序是否有效,如果检测到应用程序有效,即应用程序有效标志位置位(标 志位是1),则进入步骤S404,否则,转入步骤S405。在该实施例中,在该功能块中实现执行 应用程序有效标志位(图2中的第一存储模块33)的读取,判断其是否置位。步骤S404,此时应用程序模块31中的应用程序有效,即应用程序有效位置位,不 需要更新,电子控制单元ECU处于应用程序模式,电子控制单元运行应用程序模块31中的 应用程序。步骤S405,此时电子控制单元3读取到的重编程标志位置位,即表示应用程序有 重编程请求,或者,此时检测到应用程序模块31中的应用程序无效,即应用程序有效标志 没有置位(标置位为0),以上两种情况下,电子控制单元E⑶都处于重编程模式,开始更新 电子控制单元3中的应用程序,进入步骤S406。步骤S406,电子控制单元开始执行应用程序下载流程,首先由图1里下载工具1来 发出安全访问请求,即可以检测访问者的访问权限,在通过安全访问后,获得对ECU的重编 程权利,进入步骤S407。步骤S407,下载工具1向ECU发出擦除指令,重编程模块开始擦除应用程序模块31上的应用程序和应用程序有效标志位,然后进入步骤S408。步骤S408,在擦除应用程序模块31上的应用程序之后,开始下载新的应用程序至 应用程序模块31,实现应用程序的更新。步骤S409,在电子控制单元成功下载完成更新后的应用程序之后,电子控制单元 可以验证应用程序是否完全正确地下载到E⑶里面,验证通过后,将应用程序有效位置位, 步骤S409的功能完成后重启该电子控制单元。该步骤使得系统的下载成功率提高,在防止 系统重复下载的同时,检测本地下载工作是否成功,如果没有成功下载,则重新更新应用程序。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的 计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不 同于此处的顺序执行所示出或描述的步骤。本发明上述各个实施例中的下载工具安装在上位机中运行。从以上的描述中,可以看出,本发明实现了如下技术效果解决了现有技术中在车 载系统中ECU中由于没有重编程模块,导致当ECU应用程序需要更新时,要将ECU拆卸下 来,重新烧写,无法实时在线更新ECU中的应用程序的问题,进而实现对ECU应用程序进行 在线重编程的效果。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用 的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成 的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储 在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们 中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的 硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技 术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修 改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种应用程序的刷新系统,其特征在于,包括 下载工具,生成重编程指令;一个或多个电子控制单元,与所述下载工具通信来获取所述重编程指令,并根据所述 重编程指令下载所述下载工具上的新的应用程序。
2.根据权利要求1所述的系统,其特征在于,所述电子控制单元包括 第一存储模块,用于保存应用程序有效标志位;应用程序模块,用于保存并运行应用程序,所述应用程序包括所述新的应用程序; 第二存储模块,用于保存重编程标志位,所述重编程指令将所述重编程标志位置位; 重编程软件模块,读取所述第二存储模块中的重编程标志位置位的信息,并下载新的 应用程序至应用程序模块,其中,所述重编程软件模块在读取所述重编程标志位置位信息之后,擦除所述重编程 标志位的置位信息。
3.一种应用程序的刷新方法,其特征在于,包括 电子控制单元获取来自下载工具的重编程指令; 所述电子控制单元根据所述重编程指令进入重编程模式;所述下载工具将新的应用程序下载并保存至所述电子控制单元。
4.根据权利要求3所述的方法,其特征在于,所述电子控制单元进入重编程模式的步 骤包括所述重编程指令将所述电子控制单元的重编程标志位置位;重编程软件模块读取所述重编程标志位置位的信息,使得所述电子控制单元进入所述 重编程模式,同时将所述重编程标志位的置位信息擦除。
5.根据权利要求4所述的方法,其特征在于,在所述电子控制单元进入所述重编程模 式之后的方法还包括读取所述重编程标志位的置位信息;判断所述重编程标志位是否置位,其中,当所述重编程标志位置位时,电子控制单元进 入重编程模式,所述下载工具发送擦写指令至所述电子控制单元,以擦写所述应用程序模 块,否则,检测所述应用程序模块是否有效。
6.根据权利要求5所述的方法,其特征在于,检测所述应用程序模块是否有效的步骤 包括判断所述应用程序模块的应用程序有效标志位是否置位,当所述应用程序有效标志位置位时,所述电子控制单元进入应用程序模式,否则,所述 电子控制单元进入重编程模式。
7.根据权利要求6所述的方法,其特征在于,所述下载工具将新的应用程序下载并保 存至所述电子控制单元的步骤包括在电子控制单元进入重编程模式后,下载工具发送所述擦写命令至所述电子控制单元;根据所述擦写命令来擦除所述电子控制单元中的应用程序模块中的旧的应用程序; 根据所述擦写命令将所述下载工具中的所述新的应用程序保存至所述应用程序模块。
8.根据权利要求7所述的方法,其特征在于,在擦除所述电子控制单元中的应用程序模块中的旧的应用程序之前,所述方法还包括擦除所述应用程序模块的应用程序有效标 志位。
9.根据权利要求3-8中任一项所述的方法,其特征在于,所述下载工具将新的应用程 序下载并保存至所述电子控制单元之后,所述方法还包括 校验所述新的应用程序是否正确,其中,当所述新的应用程序正确时,将所述电子控制单元的应用程序有效标志位置位。
全文摘要
本发明公开了一种应用程序的刷新方法和系统。其中,该方法包括电子控制单元获取来自下载工具的重编程指令;电子控制单元根据重编程指令,使得电子控制单元进入重编程模式;下载工具将新的应用程序下载并保存至电子控制单元。通过本发明,能够实现对ECU应用程序进行在线重编程。
文档编号G06F9/445GK102103511SQ20111004681
公开日2011年6月22日 申请日期2011年2月25日 优先权日2011年2月25日
发明者常平, 张贺伟 申请人:北京经纬恒润科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1