CN108427564A - 控制器和控制程序更新方法 - Google Patents

控制器和控制程序更新方法 Download PDF

Info

Publication number
CN108427564A
CN108427564A CN201711370281.XA CN201711370281A CN108427564A CN 108427564 A CN108427564 A CN 108427564A CN 201711370281 A CN201711370281 A CN 201711370281A CN 108427564 A CN108427564 A CN 108427564A
Authority
CN
China
Prior art keywords
program
update
memory
main processor
processor unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201711370281.XA
Other languages
English (en)
Other versions
CN108427564B (zh
Inventor
森直人
梅山重人
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Denso Ten Ltd
Denso Corp
Original Assignee
Denso Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Denso Corp filed Critical Denso Corp
Publication of CN108427564A publication Critical patent/CN108427564A/zh
Application granted granted Critical
Publication of CN108427564B publication Critical patent/CN108427564B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/24Resetting means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Abstract

根据实施例的控制器包括主处理单元和存储器。所述主处理单元当在执行控制程序期间接收到对该控制程序的更新请求时,通过在保持设备电源的状态下进行重启来转换到程序转换。所述程序转换启动用于更新所述控制程序的更新程序而不是启动所述控制程序。所述存储器被配置为能够在保持所述设备电源时保存信息。所述主处理单元使所述存储器在所述重启之前存储指示接收到所述更新请求的更新请求信息,使所述存储器存储所述重启的历史,并基于在所述重启后参考的所述更新请求信息和所述历史执行关于所述更新程序的启动确定。

Description

控制器和控制程序更新方法
技术领域
本文讨论的实施例涉及控制器和控制程序更新方法。
背景技术
设置在车辆中以便对车辆的诸如发动机、变速器和汽车导航设备的各种系统进行电子控制的电子控制单元(ECU)在传统上是已知的。这些控制器中的每一个都读取并执行预先保存在相应的内置微控制器(以下可以称为“微计算机”)中的控制程序,以实现所分配的各种功能。
在某些情况下,存在这样的情况,其中当功能被添加在其上时或者当在事后发现异常时,控制器的这种控制程序将被更新(重新编程)(例如参见日本未审公开专利No.2014-118071)。
当在微计算机中进行这种更新时,为了更新而暂时停止控制程序,并启动更新程序,以便重新写入控制程序。例如,微计算机以软复位为时机,启动更新程序而不是控制程序。
软复位是在保持设备电源的状态下的重启方法,且在关于程序启动的信息展开在例如随机存取存储器(RAM)中的状态下重启微计算机。
然而,上述传统技术在防止更新程序的错误启动方面还有改进的空间。
具体而言,微计算机参考在例如上述RAM中展开的关于程序启动的信息,确定是否要启动更新程序(而不是控制程序)。然而,存在这样的担忧:软复位在展开在RAM中的该信息中产生RAM错乱等,从而使该信息具有不正确的值。
当该信息具有不正确的值时,微计算机在微计算机应当启动更新程序时不启动该程序,或者相反地,在微计算机不应启动更新程序时启动该程序,即,存在微计算机错误地启动更新程序的担忧。
本实施例的一个方面是鉴于上述情况而做出的,其目的是提供一种能够防止更新程序的错误启动的控制器和控制程序更新方法。
发明内容
根据实施例的一个方面的控制器包括主处理单元和存储器。所述主处理单元当在执行控制程序期间接收到对所述控制程序的更新请求时,通过在保持设备电源的状态下进行重启来转换到程序转换,所述程序转换启动用于更新所述控制程序的更新程序而不是启动所述控制程序。所述存储器被配置为能够在保持所述设备电源时保存信息。所述主处理单元使所述存储器在所述重启之前存储指示接收到所述更新请求的更新请求信息,使所述存储器存储所述重启的历史,并基于在所述重启后参考的所述更新请求信息和所述历史执行关于所述更新程序的启动确定。
根据实施例的一个方面,能够防止更新程序的错误启动。
附图说明
由于通过在结合附图考虑时参考以下具体实施方式使得本发明及其很多随附优点变得更好理解,因此可以获得对本发明以及很多随附优点的更完整的理解,在附图中:
图1A是示出车载系统的概要的图;
图1B是示出重新编程的概要的图;
图1C和1D是示出根据实施例的控制程序更新方法的概要的图;
图2是示出根据实施例的电子控制单元(ECU)的框图;
图3A是示出问答(Q&A)系统的概要的图;
图3B是示出看门狗计数器(WDC)监视系统的概要的图;
图3C是示出程序转换时的监视系统切换时序的图;
图4是示出启动确定处理的图;
图5是示出根据实施例的控制程序更新方法的处理时序的图;以及
图6是示出由根据实施例的ECU的微计算机执行的处理的过程的流程图。
具体实施方式
在下文中,将参照附图详细描述本申请中公开的控制器和控制程序更新方法的示例性实施例。此外,不意图将本公开限于下面描述的实施例。
在下文中,将参照图1A至图1D来说明根据本实施例的控制程序更新方法的概要,接下来,将参照图2至图6来说明要应用根据本实施例的控制程序更新方法的电子控制单元(ECU)10(对应于“控制器”的一个示例)。
首先,参照图1A至1D说明根据本实施例的控制程序更新方法的概要。图1A是示出车载系统1的概要的图。图1B是示出重新编程的概要的图。图1C和1D是示出根据本实施例的控制程序更新方法的概要的图。
如图1A所示,车辆C包括车载系统1。车载系统1包括ECU 10-1至10-n。ECU 10-1至10)-n通过诸如控制器区域网络(CAN)之类的网络N以可通信的方式彼此连接,以便通过执行控制程序来电子控制各个控制目标20-1至20-n。控制目标20-1至20-n包括各种系统,例如发动机、变速器和汽车导航设备。
存在以下情况:当要添加功能时或者当事后发现异常时,由各个ECU 10执行的控制程序要被更新。在这种情况下,如图1B所示,通过CAN等将更新终端50连接到要更新的ECU10,并且在其上执行重新编程。
在重新编程中,首先接通ECU 10的电源以启动控制程序,并且EC U 10变为由该控制程序执行正常处理的状态(步骤S1)。
在该状态下,当通过命令输入等从更新终端50发送了更新请求时(步骤S2),在接收到该更新请求的ECU 10中,执行程序转换以启动更新程序(而不是控制程序)(步骤S3)。当更新程序启动时,ECU 10通过使用更新程序来执行程序更新处理(步骤S4)。
在程序转换中,如图1C所示,执行更新请求接收(步骤S31),然后作为ECU 10的主处理单元的微计算机11进行软复位(步骤S32)。软复位的微计算机11执行启动确定以确定是要启动控制程序还是要启动更新程序(步骤S33)。
在该启动确定中,具有传统配置的微计算机11通过例如使用软复位作为时机来启动更新程序。然而,在这种情况下存在如下担忧:即使并未执行更新请求接收(也即并未经过正确的过程),当微计算机11被偶然地软复位时也启动更新程序。
关于这一点,更新请求接收的执行可以作为关于程序启动的一条信息在RAM中被展开,并且这个信息可以在软复位之后被参考,然而在普通的RAM中,可能由于软复位而发生RAM错乱(garbling)等,从而获得不正确的值。
因此,在根据本实施例的控制程序更新方法中,如图1C所示,当执行更新请求接收时,微计算机11将指示执行更新请求接收的更新请求信息112a写入保留RAM。
保留RAM包括用于即使微计算机11软复位时也保存信息的RAM区域(换句话说,只要设备电源被保持就能够保存信息的RAM区域),并且包括由例如触发器构成的静态随机存取存储器(SRAM)。
在根据本实施例的控制程序更新方法中,当被软复位时,微计算机11在寄存器中留下指示执行了该软复位的软复位历史112b。该寄存器还包括由触发器等构成的存储区域,并且只要设备电源被保持就能够保存信息。
此外,在根据本实施例的控制程序更新方法中,微计算机11将参照更新请求信息112a和软复位历史112b两者来执行启动确定,以便在接收更新请求和执行软复位之后启动更新程序。
因此,只有当经过了作为正确过程的更新请求接收并且执行了软复位时,才能够启动更新程序。换句话说,可能防止由不正确的软复位导致的例如RAM错乱和更新程序的错误启动之类的事件。
同时,ECU 10包括监视单元,该监视单元监视微计算机11是否正常操作,并且当检测到操作异常时,例如通过电源的断开/接通来对微计算机11进行硬复位。
如图1D所示,监视单元例如包括电源集成电路(电源IC)12。作为微计算机监视系统,例如已知有看门狗计数器(以下,可以称为“W DC”)监视系统,该系统监视从微计算机11输出的WDC信号的脉冲之间的间隔。
此外,作为另一种微计算机监视系统,已知有使用串行通信的问答(Q&A)系统。在Q&A系统中,对应于“问题”的数据定期地从电源IC 12发送给微计算机11。微计算机11通过预定的指令对数据进行算术运算,并将算术运算结果作为“答案”发送给电源IC 12。
电源IC 12评估该答案的通信定时和内容,以监视微计算机11的操作状态。可以说Q&A系统执行更具体的监视,因为Q&A系统执行的评估还包括对答案内容的评估等。根据本实施例的ECU 10在通过控制程序执行正常处理期间采用Q&A系统。
优选的是,即使在包括有程序转换的重新编程期间,电源IC 12也继续监视微计算机以能够检测诸如挂起之类的错误状态。注意,由于在程序转换期间微计算机11侧的处理负荷增加,所以在电源IC 12和微计算机11之间的通信定时中容易引起干扰。
此外,在Q&A系统中,问题与答案之间的通信序列(包括定时等)被精确地定义。此外,采用了具有相对较低速度的串行通信,因此假设在程序转换期间通信定时更容易受到干扰。当通信定时受到干扰时,例如存在如下担忧:在程序转换期间,微计算机11被电源IC12错误地硬复位。
因此,如图1D所示,在根据本实施例的控制程序更新方法中,微计算机监视系统在程序转换时要在软复位之前从Q&A系统切换到WDC监视系统(步骤S21)。
这样,微计算机监视系统在程序转换时被切换到比Q&A系统被更宽松地定义并且其通信序列等不太可能受到干扰的WDC监视系统,从而有可能以防止程序转换期间的硬复位,如图1D所示。
图1C和1D所示的根据本实施例的控制程序更新方法的更具体内容将在下文中参考图2和后面的图提到。以下,更具体地说明应用了上述控制程序更新方法的ECU 10。
图2是示出根据本实施例的ECU 10的框图。在图2中,通过使用功能块仅示出了用于说明根据本实施例的特性的配置元素,并且适当地省略了对配置元素的描述。
换句话说,附图中所示的相应装置的每个组件在功能上是概念性的,因此并不总是如图所示进行物理配置。即,每个装置的具体分离或集成模式不限于附图中所示的模式。也就是说,全部或部分组件可以通过根据各种类型的负载、使用状态等在功能上或物理上将它们分离或集成在任何单元中来配置。
如图2所示,ECU 10包括微计算机11和电源IC 12。首先,将解释电源IC 12。电源IC12通过在正常处理中使用Q&A系统,在重新编程中使用WDC监视系统,从而响应于从微计算机11发送的监视系统切换请求来监视微计算机11。作为监视的结果,当微计算机11处于操作异常状态时,电源IC 12根据需要对微计算机11进行硬复位。
微计算机11包括控制单元111和存储器112。控制单元111包括程序执行单元111a、更新请求接收单元111b、监视系统切换请求单元111c、软复位处理单元111d和启动确定单元111e。
存储器112包括第一存储器112-1、第二存储器112-2和第三存储器112-3。第一存储器112-1对应于上述保留RAM。第二存储器112-2对应于上述寄存器。
第一存储器112-1存储更新请求信息112a。第二存储器112-2存储软复位历史112b。第三存储器112-3存储控制程序112c和更新程序112d。
控制单元111包括例如用于控制整个微计算机11的中央处理单元(CPU)。程序执行单元111a响应于从启动确定单元111e发送的启动指令,从第三存储器112-3读取控制程序112c或更新程序112d并执行它。
程序执行单元111a在正常处理中读取并执行控制程序112c,以实现分配给ECU 10的电子控制功能。程序执行单元111a在重新编程中读取并执行更新程序112d,并将更新数据应用于控制程序112c以重写控制程序112c。
控制程序112c的更新数据(未示出)例如是从服务器设备下载、从更新终端50安装、或者通过便携式存储介质读取的,从而更新数据能够被应用于微计算机11。
程序执行单元111a响应于电源IC 12的微计算机监视系统执行处理,例如,用于在Q&A系统中运算并发送问题答案的处理(以下,可以称为“问答处理”),以及用于在WDC监视系统中输出WDC信号的处理(以下,可以称为“WDC输出处理”)。
更新请求接收单元111b接收从更新终端50发送的更新请求。更新请求接收单元111b将指示接收到更新请求的更新请求信息112a写入第一存储器112-1中。更新请求接收单元111b将接收到更新请求这一情况通知给监视系统切换请求单元111c。
监视系统切换请求单元111c基于从更新请求接收单元111b发送的信息,向电源IC12发送请求将微计算机监视系统从Q&A系统切换到WDC监视系统的监视系统切换请求。
程序转换时监视方法之间的切换将参照图3A至3C更具体地说明。图3A是示出Q&A系统的概要的图。图3B是示出WDC监视系统的概要的图。图3C是示出程序转换时的监视系统切换时序的图。已经说明了Q&A系统和WDC监视系统,然而,将参照图3A和3B对它们进行补充说明。
如图3A所示,在Q&A系统中,例如,从电源IC 12向微计算机11发送响应于问题的随机数据和算术运算指令。
微计算机11通过附加发送的算术运算指令对提出的问题中包括的随机数据进行运算,并将算术运算结果作为答案发送给电源IC 12。这种数据交换是定期重复的。
当微计算机11的答案并未在已定义的通信定时处返回(参见图3A所示的“通信异常”)或者答案不是预期答案时(参见图3A所示的“算术运算结果≠期望值”),电源IC 12确定在微计算机11中发生操作异常,从而例如对微计算机11进行硬复位。
如图3B所示,在WDC监视系统中,电源IC 12监视从微计算机11定期输出的WDC信号的脉冲之间的间隔。电源IC 12包括看门狗定时器(未示出:以下,可以称为“WDT”),当如图3B所示使用该WDT确定“超时”时,电源IC 12确定在微计算机11中发生操作异常,从而例如对微计算机11进行硬复位。
如图3C所示,在根据本实施例的ECU 10中,当更新请求接收单元111b执行“更新请求接收”时,监视系统切换请求单元111c在更新请求接收后接收到第一个问题之后,立即向电源IC 12发送监视系统切换请求。
因此,能够通过接收问题来确认与电源IC 12的通信已建立,并且消除在运算和使用串行通信发送问题答案时的时间滞后,并且快速地向电源IC 12发送监视系统切换请求。
如图3C所示,在根据本实施例的ECU 10中,在发送监视系统切换请求之后,在微计算机11“软复位”之前至少输出一次WDC信号。因此,可以防止由于“软复位”期间(换句话说,在程序转换中的微计算机11的重启期间)的WDC信号的输出延迟,使电源IC 12确定超时。
如图3C所示,在直至“程序更新处理完成”为止的时间段期间内,使用切换后的WDC监视系统继续进行微计算机监视,并且在“程序更新处理完成”之后,电源IC 12执行硬复位以使微计算机11读取并执行更新后的控制程序112c。
回到图2,监视系统切换请求单元111c向电源IC 12发送监视系统切换请求,然后将该事实通知给软复位处理单元111d。
软复位处理单元111d在从监视系统切换请求单元111c接收到通知并且在开始输出WDC信号之后对微计算机11进行软复位。软复位处理单元111d在软复位时写入第二存储器112-2的软复位历史112b。
当微计算机11重启时,启动确定单元111e根据更新请求信息112a和软复位历史112b,执行确定要启动的程序的启动确定处理。
这里也参见图4。图4是示出启动确定处理的图。具体而言,如图4所示,在微计算机11被软复位的情况下,启动确定单元111e仅当更新请求信息112a“存在”并且软复位历史112b“存在”时,才确定更新程序112d是要启动的程序。
更新请求信息112a“存在”指示以下事实:更新请求信息112a中包括指示更新请求接收的执行的信息。软复位历史112b“存在”指示以下事实:软复位历史112b中包括指示软复位的执行的信息。
当微计算机11被硬复位时,不管包括在更新请求信息112a和软复位历史112b中的信息的内容如何,启动确定单元111e都确定控制程序112c是要启动的程序。
回到图2,启动确定单元111e向程序执行单元111a通知例如确定要启动的程序的种类作为启动指令,并且使程序执行单元111a执行与该启动指令对应的程序。
基于上述说明,接下来,将参照图5来说明根据本实施例的控制程序更新方法中的处理过程。图5是示出根据本实施例的控制程序更新方法的处理时序的图。
如图5所示,首先,在时间点t1之前,假设“当前执行的程序”是控制程序112c,“处理内容”包括正常处理和Q&A处理,“微计算机监视系统”是Q&A系统。
假设在时间点t1执行“更新请求接收”。在从该时间点t1至微计算机11被“软复位”的时间点t3的期间执行与微计算机监视系统之间的切换相关联的处理。如图5所示,为了便于说明,将该处理称为“切换处理”。
在切换处理中,在“软复位”的时间点t3之前的时间点t2处,向电源IC12发送“监视系统切换请求”,接收到该“监视系统切换请求”的电源IC 12将微计算机监视系统切换到WDC监视系统。
尽管未示出,但是在切换过程中,在将微计算机监视系统切换到WDC监视系统并开始WDC监视之后,并且在“软复位”之前,即在时间点t2到t3之间的时间段内,至少输出一次WDC信号。
微计算机11在时间点t3被“软复位”。接下来,当执行程序的启动确定(该启动确定与微计算机11的重启相关联地开始),并且更新程序112d的启动条件满足时(参见图4),启动更新程序112d,并且“当前执行的程序”变为更新程序112d,“处理内容”变为包括程序更新处理和WDC输出处理。
当程序更新处理完成时,通过电源IC 12的电源控制,在时间点t4执行“硬复位”,随之启动控制程序112c,然后控制程序112c变成“当前执行的程序”。
被补充性地示出的“硬复位”之后的时间段是被称为“第一窗口(FW)”的时间段。在该“FW”期间的预定时间间隔中,当Q&A系统的串行通信未启动或者WDC监视系统的WDC信号未输入时,电源IC 12复位微计算机11。
接下来,将参照图6说明由根据本实施例的ECU 10的微计算机11执行的处理的过程。图6是示出由根据本实施例的ECU 10的微计算机11执行的处理的过程的流程图。
在此,示出了直到启动确定处理为止的处理过程,该启动确定处理是在接收到来自更新终端50的更新请求的情况下在软复位之后执行的。作为前提,假设程序执行单元111a正在执行控制程序112c,并且微计算机监视系统是Q&A系统。
如图6所示,更新请求接收单元111b首先确定是否存在来自更新终端50的更新请求(步骤S101)。当存在更新请求时(步骤S101:是),更新请求接收单元111b接收该更新请求,并写入指示执行更新请求接收的更新请求信息112a(步骤S102)。当不存在更新请求时(步骤S101:否),从步骤S101重复执行处理。
监视系统切换请求单元111c在软复位之前向电源IC 12发送监视系统切换请求(步骤S103)。当接收到该监视系统切换请求时,电源I C 12将微计算机监视系统从Q&A系统切换到WDC监视系统。
软复位处理单元111d对微计算机11进行软复位,同时留下软复位历史112b(步骤S104)。
在由微计算机11的软复位引起的重启之后,启动确定单元111e确定软复位历史112b是否“存在”并且更新请求信息112a是否“存在”(步骤S105)。
当步骤S105的确定条件被满足时(步骤S105:是),启动确定单元111e使程序执行单元111a启动更新程序112d(步骤S106)。
另一方面,当步骤S105的确定条件不满足时(步骤S105:否),启动确定单元111e使程序执行单元111a启动控制程序112c(步骤S107)。由此,直到启动确定处理为止的处理过程完成。
如上所述,根据本实施例的ECU 10(对应于“控制器”的一个示例)包括微计算机11(对应于“主处理单元”的一个示例)和存储器112。
微计算机11当在执行控制程序112c期间接收到该控制程序112c的更新请求时,通过软复位来转换到程序转换(对应于“保持设备电源的状态下的重新启动”的一个示例)。该程序转换启动用于更新控制程序112c的更新程序112d而不是启动控制程序112c。
存储器112被配置为能够在保持所述设备电源时保存信息。微计算机11使存储器112在软复位之前存储指示接收到更新请求的更新请求信息112a,使存储器112存储软复位历史112b(对应于“重启的历史”的一个示例),并基于在重启后参考的更新请求信息112a和软复位历史112b对更新程序112d执行启动确定。
因此,通过采用根据本实施例的ECU 10,能够防止更新程序112d的错误启动。
当更新请求信息112a包括指示接收到更新请求的信息并且软复位历史112b包括指示执行了软复位的信息时,微计算机11启动更新程序112d。
因此,通过采用根据本实施例的ECU 10,能够仅当经过了作为正确的过程的更新请求接收,并且执行了软复位时,才可能启动更新程序112d。换言之,能够防止由RAM错乱、不适当的软复位等事件引起的更新程序的错误启动。
存储器112包括第一存储器112-1(对应于“第一存储区域”的一个示例)和第二存储器112-2(对应于“第二存储区域”的一个示例),并且微计算机11将更新请求信息112a存储在第一存储器112-1中,将软复位历史112b存储在第二存储器112-2中。
因此,通过采用根据本实施例的ECU 10,更新请求信息112a和软复位历史112b被分开地存储在各个存储区域中,可以提高更新请求信息112a和软复位历史112b的数据受到保护的可能性。换句话说,可以提高更新程序112d的启动确定的准确度,从而有助于防止更新程序112d的错误启动。
ECU 10还包括电源IC 12(相当于“监视单元”的一个示例),电源IC 12通过Q&A系统(相当于“第一监视方法”的一个示例)监视微计算机11,该Q&A系统用于向微计算机11发送与问题相对应的发送内容,并且用于评估来自微计算机11的对所述问题的答案。
当接收到更新请求时,微计算机11使电源IC 12执行从Q&A系统到WDC监视系统(对应于“第二监视方法”的一个示例)的切换,WDC监视系统用于监视微计算机11的WDC信号(对应于“看门狗信号”的一个示例)。
因此,通过采用根据本实施例的ECU 10,可以在更新控制程序112c时防止由电源IC 12引起的错误复位。
微计算机11在软复位之前使电源IC 12执行从Q&A系统到WDC监视系统的切换。换句话说,在根据本实施例的ECU 10中,微计算机11在软复位之前(而不是在软复位之后)将微计算机监视系统切换到比Q&A系统更宽松地定义并且其通信时序简单且不太可能受到干扰的WDC监视系统,在软复位时,趋向于负担较重的处理负载并且通信定时中的干扰被认为容易发生。
因此,通过采用根据本实施例的ECU 10,可以降低在程序转换期间电源IC 12确定操作异常的风险,并且防止在程序转换期间由电源I C 12引起的硬复位。
注意,在上面的实施例中,更新请求信息112a被存储在保留RAM区域中,并且软复位历史112b被存储在寄存器中。然而,存储器被配置为只要保持设备电源就能够保存信息就足够了,因此不意在对更新请求信息112a和软复位历史112b的存储目的地进行限制。
在上述实施例中,ECU 10设置在车辆C中,当然也可以将ECU 10设置在不限于车辆C的例如船舶、飞机等中。

Claims (6)

1.一种控制器,包括:
主处理单元,所述主处理单元当在执行控制程序期间接收到对所述控制程序的更新请求时,通过在保持设备电源的状态下进行重启来转换到程序转换,所述程序转换启动用于更新所述控制程序的更新程序而不是启动所述控制程序;以及
存储器,所述存储器被配置为能够在保持所述设备电源时保存信息,其中,
所述主处理单元使所述存储器在所述重启之前存储指示接收到所述更新请求的更新请求信息,使所述存储器存储所述重启的历史,并基于在所述重启后参考的所述更新请求信息和所述历史执行关于所述更新程序的启动确定。
2.根据权利要求1所述的控制器,其中,当所述更新请求信息包括指示接收到所述更新请求的信息并且所述历史包括指示执行了所述重启的信息时,所述主处理单元启动所述更新程序。
3.根据权利要求1或2所述的控制器,其中,
所述存储器包括第一存储区域和第二存储区域,以及
所述主处理单元将所述更新请求信息存储在所述第一存储区域中,并将所述历史存储在所述第二存储区域中。
4.根据权利要求1或2所述的控制器,还包括:
监视单元,所述监视单元通过第一监视方法来监视所述主处理单元,所述第一监视方法用于向所述主处理单元发送与问题相对应的发送内容,并且用于评估来自所述主处理单元的对所述问题的答案,其中,
所述主处理单元在接收到所述更新请求时使所述监视单元执行从所述第一监视方法到第二监视方法的切换,所述第二监视方法用于监视所述主处理单元的看门狗信号。
5.根据权利要求4所述的控制器,其中,所述主处理单元在所述重启之前使所述监视单元执行从所述第一监视方法到所述第二监视方法的切换。
6.一种控制程序更新方法,包括:
通过使用包括存储器的控制器,当在执行控制程序期间接收到对所述控制程序的更新请求时,通过在保持设备电源的状态下进行重启来转换到程序转换,所述程序转换启动用于更新所述控制程序的更新程序而不是启动所述控制程序,所述存储器被配置为能够在保持所述设备电源时保存信息,其中,
所述转换包括:
使所述存储器在所述重启之前存储指示接收到所述更新请求的更新请求信息;
使所述存储器存储所述重启的历史;以及
基于在所述重启后参考的所述更新请求信息和所述历史执行关于所述更新程序的启动确定。
CN201711370281.XA 2017-02-15 2017-12-18 控制器和控制程序更新方法 Active CN108427564B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2017-026329 2017-02-15
JP2017026329A JP6723941B2 (ja) 2017-02-15 2017-02-15 制御装置および制御プログラム更新方法

Publications (2)

Publication Number Publication Date
CN108427564A true CN108427564A (zh) 2018-08-21
CN108427564B CN108427564B (zh) 2021-04-13

Family

ID=63105211

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711370281.XA Active CN108427564B (zh) 2017-02-15 2017-12-18 控制器和控制程序更新方法

Country Status (3)

Country Link
US (1) US10296322B2 (zh)
JP (1) JP6723941B2 (zh)
CN (1) CN108427564B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391836A (zh) * 2021-07-14 2021-09-14 威海新北洋技术服务有限公司 固件程序的升级方法、装置及电子设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6692763B2 (ja) * 2017-02-15 2020-05-13 株式会社デンソーテン 制御装置および制御プログラム更新方法
CN111830889B (zh) * 2019-04-16 2022-08-19 中车大连电力牵引研发中心有限公司 电源控制装置及电源
JP7411467B2 (ja) * 2020-03-19 2024-01-11 株式会社デンソーテン 電子制御装置及びプログラム書き換え制御方法

Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5650946A (en) * 1995-01-06 1997-07-22 Xilinx, Inc. Logic simulator which can maintain, store and use historical event records
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
JP2009163380A (ja) * 2007-12-28 2009-07-23 Brother Ind Ltd 情報処理装置、情報処理方法及びプログラム
JP2011000894A (ja) * 2009-06-16 2011-01-06 Fujitsu Ten Ltd 制御装置及び制御方法
CN102045390A (zh) * 2009-09-25 2011-05-04 费希尔-罗斯蒙特系统公司 计算机专用软件更新的自动配置
CN102098303A (zh) * 2011-01-21 2011-06-15 汉柏科技有限公司 实现自动化升级的硬件防火墙及其升级方法
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN102760065A (zh) * 2011-04-29 2012-10-31 昆达电脑科技(昆山)有限公司 嵌入式系统及其程序更新方法
CN104200629A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种基于gprs监控终端的软件系统
CN106030539A (zh) * 2014-02-27 2016-10-12 三菱电机株式会社 软件搭载设备和软件更新方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0635758A (ja) * 1992-07-20 1994-02-10 Fujitsu Ltd プログラム監視制御装置
JPH10187454A (ja) * 1996-12-27 1998-07-21 Nec Corp Bios書き換え方式
JP3835969B2 (ja) * 2000-04-13 2006-10-18 本田技研工業株式会社 車両制御装置のための書き換えシステム
JP2003104138A (ja) * 2001-10-01 2003-04-09 Honda Motor Co Ltd データ書き換えのための車両制御装置の監視システム
JP4254577B2 (ja) * 2004-03-04 2009-04-15 株式会社デンソー 制御装置
JP5939149B2 (ja) 2012-12-18 2016-06-22 トヨタ自動車株式会社 車両用情報処理装置およびプログラム更新方法
JP6155769B2 (ja) * 2013-03-29 2017-07-05 富士通株式会社 ストレージ制御装置、制御プログラム及び制御方法

Patent Citations (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5650946A (en) * 1995-01-06 1997-07-22 Xilinx, Inc. Logic simulator which can maintain, store and use historical event records
US20060259207A1 (en) * 2005-04-20 2006-11-16 Denso Corporation Electronic control system for automobile
JP2009163380A (ja) * 2007-12-28 2009-07-23 Brother Ind Ltd 情報処理装置、情報処理方法及びプログラム
JP2011000894A (ja) * 2009-06-16 2011-01-06 Fujitsu Ten Ltd 制御装置及び制御方法
CN102045390A (zh) * 2009-09-25 2011-05-04 费希尔-罗斯蒙特系统公司 计算机专用软件更新的自动配置
CN102098303A (zh) * 2011-01-21 2011-06-15 汉柏科技有限公司 实现自动化升级的硬件防火墙及其升级方法
CN102760065A (zh) * 2011-04-29 2012-10-31 昆达电脑科技(昆山)有限公司 嵌入式系统及其程序更新方法
CN102314364A (zh) * 2011-08-08 2012-01-11 北京登合科技有限公司 一种自动适配移动终端的方法
CN106030539A (zh) * 2014-02-27 2016-10-12 三菱电机株式会社 软件搭载设备和软件更新方法
CN104200629A (zh) * 2014-09-01 2014-12-10 中国东方电气集团有限公司 一种基于gprs监控终端的软件系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
刘实秋: "无线机车信号车载设备控制程序更新方法研究", 《铁路计算机应用 研究与开发》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113391836A (zh) * 2021-07-14 2021-09-14 威海新北洋技术服务有限公司 固件程序的升级方法、装置及电子设备

Also Published As

Publication number Publication date
JP6723941B2 (ja) 2020-07-15
JP2018132956A (ja) 2018-08-23
US10296322B2 (en) 2019-05-21
CN108427564B (zh) 2021-04-13
US20180232224A1 (en) 2018-08-16

Similar Documents

Publication Publication Date Title
CN108427609A (zh) 控制器和控制程序更新方法
CN108427564A (zh) 控制器和控制程序更新方法
WO2017149825A1 (ja) プログラム更新システム、プログラム更新方法及びコンピュータプログラム
JP2019084941A (ja) 更新システム、電子制御装置、更新管理装置、及び更新管理方法
US7890800B2 (en) Method, operating system and computing hardware for running a computer program
US10013319B2 (en) Distributed baseboard management controller for multiple devices on server boards
JP4788912B2 (ja) Plc
JPH11272498A (ja) 電子制御装置
WO2013089210A1 (ja) 制御装置及び処理監視方法
JPWO2018105609A1 (ja) プログラム更新システム、配信装置及びプログラム更新方法
US7716524B2 (en) Restarting an errored object of a first class
JP2001123874A (ja) 電子制御装置のプログラム書換システム及びメモリ書換装置
JP2012181564A (ja) 自己診断回路および自己診断方法
JP5960632B2 (ja) 車両用電子制御装置
JPH09330106A (ja) バックアップ機能付制御システム
US7711985B2 (en) Restarting an errored object of a first class
US20190332506A1 (en) Controller and function testing method
JP5590667B2 (ja) サブルーチン実行監視装置及びサブルーチン実行監視方法
JP5942904B2 (ja) 処理装置
JP2015205555A (ja) 組込制御システム
JP2006323617A (ja) メモリ管理方法及びメモリ管理装置
JP6702161B2 (ja) 車載電子制御装置
JPS58129672A (ja) 対等分散型情報処理システム
EP3040861A1 (en) Method and system for ensuring integrity of critical data
JP2021047754A (ja) 電子制御装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant