程序更新方法和装置与流程

文档序号:11176896阅读:256来源:国知局
程序更新方法和装置与流程

本发明涉及电子电气领域,尤其涉及一种程序更新方法和装置。



背景技术:

电子控制单元(electroniccontrolunit,ecu)在车辆上的应用非常广泛。电子控制单元可以根据采集的各项参数信息,结合存储在电子控制单元的程序进行运算。将运算的结果转变为控制信号,从而实现电子控制单元对车辆的整体控制。

为了满足用户越来越高的要求,电子控制单元内存储的程序也需要进行更新以适应用户的要求。现阶段,需要专业操作人员介入电子控制单元的程序的更新过程。具体来说,需要停止车辆运行,由专业操作人员携带带有更新程序的终端设备,将终端设备与车辆通过升级接口连接。擦除车辆的电子控制单元中存储的程序,并将终端设备中的更新程序下载至车辆的电子控制单元中。当终端设备中的更新程序完全下载至电子控制单元后,启动车辆,从而执行电子控制单元中更新后的程序。上述电子控制单元的程序的更新过程中需要停车5至10分钟的时间,电子控制单元的程序的更新效率较低。



技术实现要素:

本发明实施例提供了一种程序更新方法和装置,能够提高电子控制电源的程序的更新效率。

一方面,本发明实施例提供一种程序更新方法,包括:预更新程序下载至程序下载区;擦除程序运行区中的程序,并将程序下载区中的更新程序写入程序运行区;程序运行区中运行写入的更新程序。

另一方面,本发明实施例提供了一种程序更新装置,包括:程序下载模块,被配置为预更新程序下载至程序下载区;更新写入模块,被配置为擦除程序运行区中的程序,并将程序下载区中的更新程序写入程序运行区;程序运行模块,被配置为程序运行区中运行写入的更新程序。

根据本发明实施例提供的程序更新方法和装置,设置程序下载区和程序运行区。程序下载区用于下载更新程序。程序运行区用于运行更新程序。与需要停车下载更新程序,待更新程序下载完成后运行更新程序的现有技术相比,在本发明实施例中,将下载程序与运行程序两个功能分割开来,使得程序下载区在下载更新程序的过程中,程序运行区还可以运行原程序。本发明实施例中下载更新程序并不需要停车,只有擦除程序运行区中的程序,以及将程序下载区中的更新程序写入程序运行区的过程需要停车。节省了程序更新过程中需要停车的时长,从而提高了程序的更新效率。

附图说明

从下面结合附图对本发明的具体实施方式的描述中可以更好地理解本发明其中,相同或相似的附图标记表示相同或相似的特征。

图1为本发明实施例中程序下载区和程序运行区的示意图;

图2为本发明一实施例中程序更新方法的流程图;

图3为本发明另一实施例中程序更新方法的流程图;

图4为本发明又一实施例中程序更新方法的流程图;

图5为本发明一实施例中程序更新装置的结构示意图;

图6为本发明另一实施例中程序更新装置的结构示意图;

图7为本发明又一实施例中程序更新装置的结构示意图。

具体实施方式

下面将详细描述本发明的各个方面的特征和示例性实施例。在下面的详细描述中,提出了许多具体细节,以便提供对本发明的全面理解。但是,对于本领域技术人员来说很明显的是,本发明可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本发明的示例来提供对本发明的更好的理解。本发明决不限于下面所提出的任何具体配置和算法,而是在不脱离本发明的精神的前提下覆盖了元素、部件和算法的任何修改、替换和改进。在附图和下面的描述中,没有示出公知的结构和技术,以便避免对本发明造成不必要的模糊。

本发明实施例提供了一种程序更新方法和装置,用于程序的更新。比如,可适用于车辆中的程序的更新。可在车辆中的电子控制单元中的单片机等设备中设置程序下载区和程序运行区。图1为本发明实施例中程序下载区和程序运行区的示意图。其中,程序下载区被配置为下载程序,程序运行区被配置为运行程序。当车辆处于运行状态(即行驶状态)中,程序运行区中的程序也处于运行状态。在本发明实施例中,程序下载区和程序运行区相互作用,可以实现写时读(read-while-writing,rww)。从而在车辆行驶过程中,也能够实现更新程序的下载,车辆只需要停车进行程序运行区程序的擦除和更新程序的写入即可,从而加快电子控制单元的程序的整个更新过程。

图2为本发明一实施例中程序更新方法的流程图。如图2所示,程序更新方法包括步骤101-步骤103。

在步骤101中,预更新程序下载至程序下载区。

其中,预备更新程序,并将更新程序下载至程序下载区。程序下载区和程序运行区是两个相互独立的区域,程序下载区和程序运行区均可单独实现自身的功能。在车辆行驶过程中,将更新程序下载至程序下载区,并不影响程序运行区运行还未更新的程序。车辆仍然能够正常行驶,车辆的各项功能仍然能够正常运行。

在步骤102中,擦除程序运行区中的程序,并将程序下载区中的更新程序写入程序运行区。

其中,更新程序下载到程序下载区后,可将程序运行区已有的原程序擦除。程序下载区将下载的更新程序传输给程序运行区,并将程序下载区的更新程序写入程序运行区。在一个示例中,电子控制单元的随机存取存储器(randomaccessmemory,ram)中的bootloader运行,完成初始化,然后进行程序运行区中的程序的擦除,以及将程序下载区中的更新程序写入程序运行区。

在步骤103中,程序运行区中运行写入的更新程序。

程序运行区中运行写入的更新程序,以使得车辆能够运行更新程序。

本发明实施例提供了一种程序更新方法,设置程序下载区和程序运行区。可将更新程序下载至程序下载区。擦除程序运行区中的程序,将程序下载区中的更新程序写入程序运行区。在程序运行区中运行更新程序。与需要停车下载更新程序,待更新程序下载完成后运行更新程序的现有技术相比,在本发明实施例中,将下载程序与运行程序两个功能分割开来,使得程序下载区在下载更新程序的过程中,程序运行区还可以运行原程序。本发明实施例中下载更新程序并不需要停车,只有擦除程序运行区中的程序,以及将程序下载区中的更新程序写入程序运行区的过程需要停车。节省了程序更新过程中需要停车的时长,从而提高了程序的更新效率。

下面以一具体示例来进行说明。假设更新程序占用的控件为1mb。在现有技术中,程序更新过程中处于停车状态(在停车状态下需要进行更新程序的下载、原程序的擦除和更新程序的写入)的时长约为5分钟至10分钟。在本发明实施例中,程序更新过程中处于停车状态(在停车状态下需要进行原程序的擦除和更新程序的写入)的时长约为15秒。可以得知,本发明实施例与现有技术相比,处于停车状态的时长大幅度缩短,大幅度提高了电子控制单元的程序的更新效率。

在一个示例中,上述步骤101的内容可具体细化为运行程序运行区中的程序的过程中,预更新程序下载至程序下载区。

在程序运行区运行程序的过程中,预备更新程序,并将更新程序下载至程序下载区。能够将更新程序的下载和现有程序的运行并行。从而节省了程序更新的部分时间,提高程序更新的效率。

在另一个示例中,上述步骤101的内容可具体细化为利用统一诊断服务(unifieddiagnosticservices,uds)预更新程序下载至程序下载区。

比如,若车辆中设有车载终端,车载终端从外界获取到更新程序,可由车载终端通过uds0x28服务(即统一诊断服务中的通信控制服务)进行通信控制,使得车载终端与电子控制单元之间通信。车载终端可通过统一诊断服务预备更新程序,并将更新程序下载至程序下载区。在程序更新过程中,可禁止非诊断会话,进入静默模式。若车辆中存在多个电子控制单元,则需保持车载终端和待升级的电子控制单元之间的统一诊断服务会话,直至更新程序完全下载到电子控制单元中的程序下载区中。

图3为本发明另一实施例中程序更新方法的流程图。图3与图2的不同之处在于,程序更新方法还包括步骤104和步骤105。

在步骤104中,接收利用无线通信技术传输的更新程序。

在一个示例中,车辆中设有车载终端,车载终端具有无线通信功能,能够利用无线通信技术接收从更新中心传输来的更新程序。无线通信技术可包括蓝牙、wifi(即无线局域网)、zigbee(即紫蜂协议通信)、2g/3g/4g数据流量通信等,在此并不限定。

在车辆中,车载终端与电子控制单元通信连接。比如,车载终端与电子控制单元通过控制器局域网络(controllerareanetwork,can)总线连接。具体的,可以通过canh(can总线高电平接口)和canl(can总线低电平接口)连接。车载终端从更新中心接收更新程序,将更新程序通过统一诊断服务协议传输下载至电子控制单元中的程序下载区。

在另一个示例中,也可以设置无线通信模块,通过无线通信模块接收从更新中心传输来的更新程序。无线通信模块可为蓝牙模块、wifi模块、zigbee模块、数据流量模块等,在此并不限定。

在步骤105中,拆分更新程序,得到由一个以上的更新数据包组成的更新程序。

其中,将更新程序拆分为一个以上的更新数据包,根据拆分得到的更新数据包的顺序和大小,为各个更新数据包分配在程序下载区的地址。根据分配的地址,将拆分得到的更新数据包基于分配的地址下载并存储到程序下载区中。在一个示例中,可由车辆中的车载终端来拆分更新程序。

在本发明实施例中,利用无线通信技术传输更新程序,不需要专业操作人员携带终端设备到达车辆现场,也不需要在程序更新升级时额外连线。而且,由于采用无线通信技术,在待进行程序更新的车辆数量多且分布广的情况下,可以无线更新车辆中的程序,更新管理更加方便,不需要实地寻找每一辆需要更新程序的车辆。也减少了大批量车辆进行程序更新所需的时间和人力。

图4为本发明又一实施例中程序更新方法的流程图。图4与图3的不同之处在于,程序更新方法还包括步骤106和步骤107。

在步骤106中,读取更新程序携带的指纹信息,并利用指纹信息进行安全认证。

其中,更新程序携带有指纹信息。指纹信息为能够表明更新程序的身份。利用指纹信息能够进行安全认证,从而保证接收与当前待进行的更新过程匹配的更新程序。

比如,车辆中设置有车载终端,车载终端通过uds0x22服务(即统一诊断服务中的读取内存服务)读取更新程序携带的指纹信息。

在步骤107中,利用指纹信息安全认证成功。

其中,若利用指纹信息安全认证成功,表明更新程序与当前待进行的更新过程匹配,应接收该更新程序,还可将指纹信息写入电子控制单元。比如,若利用指纹信息安全认证成功,可利用uds0x2e服务(即统一诊断服务中的写内存服务)将指纹信息写入电子控制单元。

若利用指纹信息安全认证失败,表明更新程序与当前待进行的更新过程不匹配,可拒绝接收该更新程序。

图5为本发明一实施例中程序更新装置200的结构示意图。如图5所示,程序更新装置200包括程序下载模块201、更新写入模块202和程序运行模块203。

程序下载模块201,可被配置为预更新程序下载至程序下载区。

更新写入模块202,可被配置为擦除程序运行区中的程序,并将程序下载区中的更新程序写入程序运行区。

程序运行模块203,可被配置为程序运行区中运行写入的更新程序。

本发明实施例提供了一种程序更新装置200,程序下载模块201可预备更新程序,并将更新程序下载至程序下载区。更新写入模块202擦除程序运行区中的程序,将程序下载区中的更新程序写入程序运行区。程序运行模块203在程序运行区中运行更新程序。与需要停车下载更新程序,待更新程序下载完成后运行更新程序的现有技术相比,在本发明实施例中,将下载程序与运行程序两个功能分割开来,使得程序下载区在下载更新程序的过程中,程序运行区还可以运行原程序。本发明实施例中下载更新程序并不需要停车,只有擦除程序运行区中的程序,以及将程序下载区中的更新程序写入程序运行区的过程需要停车。节省了程序更新过程中需要停车的时长,从而提高了程序的更新效率。

在一个示例中,上述程序下载模块201可具体被配置为运行程序运行区中的程序的过程中,预更新程序下载至程序下载区。

在另一个示例中,上述程序下载模块201可具体被配置为利用统一诊断服务预更新程序下载至程序下载区。

图6为本发明另一实施例中程序更新装置200的结构示意图。图6与图5的不同之处在于,程序更新装置200还可包括数据包无线通信模块204和拆分模块205。

其中,无线通信模块204,可被配置为接收利用无线通信技术传输的更新程序。

数据包拆分模块205,可被配置为拆分更新程序,得到由一个以上的更新数据包组成的更新程序。

图7为本发明又一实施例中程序更新装置200的结构示意图。图7与图6的不同之处在于,程序更新装置200还可包括认证模块206和认证成功单元207。

认证模块206,可被配置为读取更新程序携带的指纹信息,并利用指纹信息进行安全认证。

其中,更新程序携带有指纹信息。

认证成功模块207,可被配置为利用指纹信息安全认证成功。

需要明确的是,本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同或相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。对于装置实施例而言,相关之处可以参见方法实施例的说明部分。本发明并不局限于上文所描述并在图中示出的特定步骤和结构。本领域的技术人员可以在领会本发明的精神之后,作出各种改变、修改和添加,或者改变步骤之间的顺序。并且,为了简明起见,这里省略对已知方法技术的详细描述。

以上所述的结构框图中所示的功能模块可以实现为硬件、软件、固件或者它们的组合。当以硬件方式实现时,其可以例如是电子电路、专用集成电路(asic)、适当的固件、插件、功能卡等等。当以软件方式实现时,本发明的元素是被用于执行所需任务的程序或者代码段。程序或者代码段可以存储在机器可读介质中,或者通过载波中携带的数据信号在传输介质或者通信链路上传送。“机器可读介质”可以包括能够存储或传输信息的任何介质。

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