[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN115145650A - 信息处理装置、存储介质及信息处理方法 - Google Patents

信息处理装置、存储介质及信息处理方法 Download PDF

Info

Publication number
CN115145650A
CN115145650A CN202111025336.XA CN202111025336A CN115145650A CN 115145650 A CN115145650 A CN 115145650A CN 202111025336 A CN202111025336 A CN 202111025336A CN 115145650 A CN115145650 A CN 115145650A
Authority
CN
China
Prior art keywords
program
information processing
error
download
processing apparatus
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.)
Pending
Application number
CN202111025336.XA
Other languages
English (en)
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fujifilm Business Innovation 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 Fujifilm Business Innovation Corp filed Critical Fujifilm Business Innovation Corp
Publication of CN115145650A publication Critical patent/CN115145650A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0787Storage of error reports, e.g. persistent data storage, storage using memory protection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1417Boot up procedures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/32Monitoring with visual or acoustical indication of the functioning of the machine
    • G06F11/324Display of status information
    • G06F11/327Alarm or error message display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1433Saving, restoring, recovering or retrying at system level during software upgrading
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Stored Programmes (AREA)

Abstract

一种信息处理装置、存储介质及信息处理方法,信息处理装置具备处理器,所述处理器进行如下处理:获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载有下载程序,从所述第1程序依次启动,从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域,当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。

Description

信息处理装置、存储介质及信息处理方法
技术领域
本发明涉及一种信息处理装置、存储介质及信息处理方法。
背景技术
在专利文献1中提出了一种下载装置及下载方法,该下载装置及下载方法在下载控制程序时也可以利用可以在控制程序中利用的各种通信单元,同时显著减少了程序容量的增加。具体而言,在ROM中存储如下程序:启动程序,具有仅利用通信驱动器进行下载的下载程序,所述通信驱动器用通过简单的处理可以控制的通信单元进行通信;及控制程序,与主程序等一同至少具有用需要复杂的处理的通信单元进行通信的通信程序及利用该通信程序可以下载的自重写程序。并且,若控制程序有效,则通过自重写程序并利用高性能通信单元可以进行下载,此时,由于不重复保存OS等,因此可以减小容量。
在专利文献2中提出了一种电子控制装置,其对分割了篡改验证对象程序的每个子程序实施程序篡改检测处理,其中,在满足启动时间限制的同时,抑制为了存储验证用认证器而消耗的存储区域。具体而言,提出了一种电子控制装置,其具有:存储部,存储分割了程序的复数个分割程序及验证用认证器;密码运算部,通过密码运算而生成复数个分割程序各自的子认证器;及验证部,使用复数个所述子认证器进行逻辑运算而生成运算认证器,并通过验证用认证器与运算认证器是否一致来验证是否篡改程序。
在专利文献3中提出了一种信息处理装置,其能够适当且高速启动程序。具体而言,提出了一种信息处理装置,其可以执行安全引导,所述信息处理装置具备:非易失性存储器,其包括存储程序的第1非易失性存储器区域、以及存储具有表示程序未验证的第1值或表示已验证的第2值的第1标志的第2非易失性存储器区域;许可部,包括存储具有表示禁止对第1非易失性存储器区域进行重写的第3值或表示许可的第4值的第2标志的存储装置,在接受重写许可请求且第1标志具有第2值的情况下,将第1标志的值变更为第1值,并与第1标志的变更对应地将第2标志变更为第4值;判定部,当信息处理装置启动时,在第1标志具有第1值的情况下判定为需要程序验证,当信息处理装置启动时,在第1标志具有第2值的情况下判定为不需要程序验证;及验证部,在接受验证请求的情况下,或者在需要程序验证的情况下,控制许可部以将第2标志变更为第3值,并与第2标志的变更对应地对程序进行验证,在不需要程序验证的情况下,跳过对程序的验证。
专利文献1:日本特开2003-263323号公报
专利文献2:日本特开2019-020872号公报
专利文献3:日本特开2017-156945号公报
在由三个以上的二进制构成的固件中,若在所有二进制中加载下载程序,则程序会变得冗长。另一方面,若存在不加载下载程序的二进制,则不加载下载程序的二进制验证下一个程序而结果错误的情况下,有时无法恢复。
发明内容
因此,本发明的目的在于提供一种信息处理装置、存储介质及信息处理方法,该信息处理装置、存储介质及信息处理方法在由三个以上的二进制构成的固件的一部分二进制不加载下载程序,即使产生错误,也可以恢复。
为了实现上述目的,第1方案所涉及的信息处理装置,其具备处理器,所述处理器进行如下处理:获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动,在从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域,当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
并且,第2方案所涉及的信息处理装置在第1方案所涉及的信息处理装置中,在所述第1程序和最后启动的程序中加载有下载程序。
并且,第3方案所涉及的信息处理装置在第2方案所涉及的信息处理装置中,加载于所述第1程序中的所述下载程序是比加载于所述最后启动的程序中的所述下载程序更简单的程序。
并且,第4方案所涉及的信息处理装置在第1方案~第3方案中任一方案所涉及的信息处理装置中,所述固件由所述第1程序、所述第2程序及所述第3程序这三个二进制构成,所述第1程序是加载有下载程序的启动程序,所述第2程序是成为操作系统的核心的核心程序,所述第3程序是在操作系统上运行的应用程序。
并且,第5方案所涉及的信息处理装置在第1方案~第4方案中任一方案所涉及的信息处理装置中,所述处理器进行如下处理:在重新启动后由所述下载程序执行下载的情况下,或者在重新启动后验证与所述错误标志对应的程序而未产生错误的情况下,删除记录于所述非易失性存储器区域中的所述错误标志。
并且,第6方案所涉及的信息处理装置在第1方案~第5方案中任一方案所涉及的信息处理装置中,所述处理器执进行下处理:在产生所述错误的情况下,还将产生错误和通过重新启动可以恢复的内容显示于显示部。
并且,第7方案所涉及的存储介质,其存储有用于使计算机执行如下处理的信息处理程序:获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动,从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域,当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
并且,第8方案所涉及的信息处理方法,其包括如下步骤:获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动;从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域;及当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
发明效果
根据第1方案,能够提供一种信息处理装置,其在由三个以上的二进制构成的固件的一部分二进制中不加载下载程序,即使产生错误,也可以恢复。
根据第2方案,即使在由三个二进制构成的固件的第2个启动的程序中不加载下载程序,即使产生错误,也可以恢复。
根据第3方案,与加载于第1程序及第2程序两者的下载程序都不采用简单的程序的情况相比,可以抑制固件尺寸。
根据第4方案,即使由核心程序验证应用程序而产生错误,也可以通过重新启动,并通过执行启动程序的下载程序而下载应用程序,从而可以恢复。
根据第5方案,能够防止当重新启动时错误标志被删除而导致无法恢复。
根据第6方案,在产生错误的情况下,可以确认恢复方法。
根据第7方案,能够提供一种存储介质,其在由三个以上的二进制构成的固件的一部分二进制中不加载下载程序,即使产生错误,也可以恢复。
根据第8方案,能够提供一种信息处理方法,其在由三个以上的二进制构成的固件的一部分二进制中不加载下载程序,即使产生错误,也可以恢复。
附图说明
根据以下附图,对本发明的实施方式进行详细叙述。
图1是表示本实施方式所涉及的信息处理装置的概略结构的图;
图2是表示在本实施方式所涉及的信息处理装置的ROM中存储的固件的结构例的框图;
图3是表示由本实施方式所涉及的信息处理装置进行的处理流程的一例的流程图;
图4是表示现有固件的结构例的框图;
图5是表示通过在核心程序中不加载下载程序而无法恢复时的处理流程的流程图;
图6是表示在由启动程序、(N-1)程序及应用程序构成固件时的处理流程的一例的流程图。
符号说明
10-信息处理装置,10A-CPU,10B-ROM,10D-存储器,14-固件,20-启动程序,28-轻量级下载程序,30-核心程序,40-应用程序,44-下载程序。
具体实施方式
以下,参考附图对本发明的实施方式的一例进行详细说明。在本实施方式中,以包括在图像形成装置中的信息处理装置为一例进行说明。图1是表示本实施方式所涉及的信息处理装置的概略结构的图。包括信息处理装置10的图像形成装置例如可适用具备传真功能、图像读取功能、图像形成功能、复印功能、存储图像信息等的存储功能及发送图像信息等的发送功能等复数种功能的图像形成装置。
信息处理装置10具备作为处理器的一例的CPU(Central Processing Unit:中央处理器)10A、ROM(Read Only Memory:只读存储器)10B、RAM(Random Access Memory:随机存取存储器)10C、存储器10D、操作部10E、显示部10F及通信部10G。CPU10A控制信息处理装置10的整体动作。ROM10B预先存储各种控制程序、各种参数等。RAM10C用作由CPU10A执行各种程序时的工作区等。存储器10D存储各种数据、程序等。操作部10E用于输入各种信息。显示部10F用于显示各种信息。通信部10G可以连接于外部装置12,并与外部装置12进行各种数据的收发。以上信息处理装置10的各部分由系统总线10H彼此电连接。
根据以上结构,本实施方式所涉及的信息处理装置10分别执行由CPU10A访问ROM10B、RAM10C及存储器10D,经由操作部10E获取各种数据,对显示部10F显示各种信息。并且,信息处理装置10由CPU10A执行经由通信部10G收发各种数据的控制。
并且,在本实施方式所涉及的信息处理装置10中,还包括各种图像形成结构。例如,包括用于进行图像处理或图像形成的结构。另外,在本实施方式中,设为包括在图像形成装置中的信息处理装置10进行说明,但是并不限定于此,也可以设为包括于其他各种装置中的信息处理装置10。例如,也可以设为包括于图像读取装置中的信息处理装置10。在该情况下,除了图1的结构以外,还包括图像读取、图像处理等结构。
在本实施方式所涉及的信息处理装置10中,固件存储于ROM10B或存储器10D,并且固件可以更新。在本实施方式所涉及的信息处理装置10中,ROM10B或存储器10D可适用EEPROM(Electrically Erasable Programmable Read-Only Memory:电可擦可编程只读存储器)、闪存等可重写的非易失性存储器。以下,设为在ROM10B中存储有固件的情况进行说明。
在本实施方式所涉及的信息处理装置10的ROM10B中存储有由CPU10A执行的程序、执行时利用的数据等,尤其,在此存储有可更新的固件。在本实施方式中,固件由boot、kernel及application这三个二进制构成。以下,boot称为启动程序,kernel称为核心程序,application称为应用程序。另外,固件的各程序可以存储于相同的ROM10B内,也可以存储于分别不同的ROM、其他存储器10D等中。至少核心程序及应用程序存储在可重写区域或闪存等存储部中。并且,以下,有时将核心程序及应用程序这两个程序统称为控制程序。
RAM10C可以构成为如下:当CPU10A运行时用作工作区,除此以外,当下载固件时,将包括新的控制程序的接收数据临时存储于该RAM10C。
CPU10A按照ROM10B内的固件等程序运行,提供整个信息处理装置10的控制及各种功能。并且,也进行从外部装置12下载包括新的控制程序的发送数据并重写控制程序的处理。
在此,对本实施方式所涉及的信息处理装置10的固件的结构例简单地进行说明。图2是表示在本实施方式所涉及的信息处理装置10的ROM10B中存储的固件14的结构例的框图。
如图2所示,固件14包括作为第1程序的一例的启动程序20、作为第2程序的一例的核心程序30及作为第3程序的一例的应用程序40这三个二进制。
启动程序20包括引导程序22、模式判定程序24、通信用驱动器26及轻量级下载程序28等。引导程序22是当接通电源时、重启时等启动时运行的程序。模式判定程序24在由引导程序启动之后判定模式的程序。例如,在本实施方式中,判定正常模式、下载及轻量级下载模式中的任一种。另外,模式的选择例如通过以当接通电源时在按下操作部10E的预先确定的键的同时启动等方式预先确定的特殊的操作而进行。并且,轻量级下载模式例如是针对开发人员的模式,下载模式是针对用户的模式。通信用驱动器26例如设为最低限度的通信驱动器,经由通信部10G通过简单的处理进行通信。在此,简单的处理设为不需要操作系统32及协议栈34,启动程序20设为不包括操作系统32及协议栈34,但是根据需要也可以具有最低限度的结构。轻量级下载程序28设为比后述应用程序40的下载程序44更简单的轻量程序,并且是经由通信用驱动器26进行下载及重写的程序。
核心程序30是包括操作系统32、协议栈34及复数个通信用驱动器36并成为固件14的核心的部分。操作系统32控制包括信息处理装置10的图像形成装置的操作、运用及运转等操作。协议栈34定义协议的层级。通信用驱动器36包括复数个,分别经由通信部10G通过比启动程序20的通信用驱动器26更复杂的处理进行高性能通信。
应用程序40包括正常程序42及下载程序44。正常程序42是在图像形成装置的各功能中使用的各种程序,下载程序44是进行下载及重写的程序。
接着,对由如上所述构成的本实施方式所涉及的信息处理装置10进行的处理进行说明。图3是表示由本实施方式所涉及的信息处理装置10进行的处理的流程的一例的流程图。另外,图3的处理例如在通过未图示的电源按钮等而接通电源时开始。
在步骤S100中,CPU10A启动启动程序20并转移到步骤S102。
在步骤S102中,CPU10A判定是否选择了轻量级下载模式。在该判定中,判定是否通过按下操作部10E的预先确定的键的同时启动等预先确定的特殊操作而选择了轻量级下载模式。在该判定为肯定的情况下转移到步骤S104,在判定为否定的情况下转移到步骤S106。
在步骤S104中,CPU10A执行轻量级下载程序28。在该步骤S104中,当重新启动后通过轻量级下载程序28执行下载时,在验证NG标志开启且记录在非易失性存储器区域中的情况下,可以通过CPU10A关闭验证NG标志而删除标志。
在步骤S106中,CPU10A验证核心程序30并转移到步骤S108。例如,使用校验和等验证是否篡改核心程序30。
在步骤S108中,CPU10A判定是否验证OK或验证NG标志开启。在该判定中,判定步骤S106的验证结果是否OK,或者后述验证NG标志是否关闭。在该判定为否定的情况下转移到步骤S110,在判定为肯定的情况下转移到步骤S200。
在步骤S110中,CPU10A判定是否为下载模式。在该判定中,判定是否通过预先确定的特殊操作选择了下载模式。在该判定为肯定的情况下转移到步骤S104,并通过执行轻量级下载程序而恢复验证NG标志程序。
并且,在步骤S110的判定为否定的情况下转移到步骤S112,错误画面显示于显示部10F。在此,在指示了重新启动的情况下,或者在经过预先确定的时间的情况下,重新启动信息处理装置10并返回到步骤S100,然后重复上述处理。
另一方面,在步骤S200中,CPU10A启动核心程序30并转移到步骤S202。
在步骤S202中,CPU10A验证应用程序40并转移到步骤S204。例如,使用校验和等验证是否篡改应用程序40。
在步骤S204中,CPU10A判定是否验证OK。在该判定中,判定步骤S202的验证结果是否OK。在该判定为否定的情况下转移到步骤S206,在判定为肯定的情况下转移到步骤S300。在该步骤S204中判定为验证结果为OK的情况下,并且在验证NG标志开启且记录在非易失性存储器区域中的情况下,可以通过CPU10A关闭验证NG标志而删除标志。另外,验证NG标志的删除在两个条件中的任一种的情况下进行。即,在重新启动后通过轻量级下载程序28执行下载的情况下,或者在重新启动后验证与验证NG标志对应的程序而未产生错误的情况下进行删除。
在步骤S206中,CPU10A开启作为表示应用程序可能被篡改的错误标志的验证NG标志,并记录在EEPROM、闪存等非易失性存储器区域中,然后转移到步骤S208。
在步骤S208中,CPU10A将错误画面显示于显示部10F。例如,将产生错误和通过重新启动可以恢复的内容显示于显示部10F。在此,在指示了重新启动的情况下,或者在经过预先确定的时间的情况下,重新启动信息处理装置10并返回到步骤S100,然后重复上述处理。
另一方面,在步骤S300中,CPU10A启动应用程序40并转移到步骤S302。
在步骤S302中,CPU10A进行模式判定。例如,在通过预先确定的特殊操作选择了正常模式的情况下转移到步骤S304,在通过预先确定的特殊操作选择了下载模式的情况下转移到步骤S306。
在步骤S304中,CPU10A执行正常程序42。另一方面,在步骤S306中,CPU10A执行下载程序44。通过执行下载程序44,即使产生问题也可以恢复。
在此,作为比较例,对现有固件简单地进行说明。图4是表示现有固件的结构例的框图。另外,对与本实施方式中的固件14的构成要件对应的构成要件标注相同的符号,并省略详细的说明。
如日本特开2003-263323号公报中所记载,现有固件50由启动程序20和控制程序60这两个二进制构成。
启动程序20在生产时被写入后无法变更,并包括引导程序22、模式判定程序24、通信用驱动器26及轻量级下载程序28。
另一方面,控制程序60设为将本实施方式中的固件14的核心程序30和应用程序40组合而成的结构。即,包括操作系统32、协议栈34、通信用驱动器36、正常程序42及下载程序44。
启动程序20使用校验和等来验证控制程序60是否被篡改,在判定为未被篡改的情况下启动控制程序60,在判定为被篡改的情况下中断启动。
在现有固件50中也具有正常模式、下载模式及轻量级下载模式。在轻量级下载的情况下,启动程序20不启动控制程序60而执行启动程序20内的轻量级下载程序28。在正常模式及下载模式的情况下,启动程序20在验证控制程序60之后,赋予模式作为参数并启动。启动程序20具有恢复功能,例如,在以下载模式被启动但控制程序60的验证失败的情况下,反而转移到轻量级下载模式进行恢复。
在从如现有固件50那样两个二进制结构变更为如本实施方式中的固件14那样三个二进制结构的情况下,若如现有固件50那样在构成固件50的所有程序中加载下载程序,则导致程序变得冗长。
另一方面,在一部分程序中不加载下载程序的情况下,当启动未加载的程序来验证后续程序而产生错误时无法恢复。例如,如本实施方式那样,在核心程序30中不加载下载程序的情况下,如图5所示的流程图,导致在执行核心程序中无法恢复。
在此,对由三个二进制构成固件14且在核心程序30中不加载下载程序时的处理流程进行说明。图5是表示通过在核心程序30中不加载下载程序而无法恢复时的处理流程的流程图。另外,标注相同符号对与图3相同的处理进行说明。
在步骤S100中,CPU10A启动启动程序20并转移到步骤S106。
在步骤S106中,CPU10A验证核心程序30并转移到步骤S107。例如,使用校验和等验证是否篡改核心程序30。
在步骤S107中,CPU10A判定是否验证OK。在该判定中,判定步骤S106的验证结果是否OK。在该判定为否定的情况下转移到步骤S104并执行轻量级下载程序28,在判定为肯定的情况下转移到步骤S200。
在步骤S200中,CPU10A启动核心程序30并转移到步骤S202。
在步骤S202中,CPU10A验证应用程序40并转移到步骤S204。例如,使用校验和等验证是否篡改应用程序40。
在步骤S204中,CPU10A判定是否验证OK。在该判定中,判定步骤S202的验证结果是否OK。在此,在判定为肯定的情况下转移到步骤S300,然后,以与上述实施方式相同的方式进行处理,因此省略步骤S300之后的说明。然而,在步骤S204的判定为否定的情况下,无法执行下载程序,因此导致无法恢复。
相对于此,在本实施方式中,如上所述,在不加载下载程序的核心程序30中验证接下来执行的应用程序40,在NG的情况下,开启验证NG标志并存储于非易失性存储器区域。由此,当重新启动时,确认验证NG标志,在验证NG标志开启的情况下,通过加载到启动程序20的轻量级下载程序28下载产生问题的程序并进行恢复。
并且,也可以考虑当执行启动程序20时验证所有程序,但是由于启动程序的处理容易度影响到启动速度,因此启动时验证所有程序的方法并不优选。从而,例如仅验证需要执行的程序由于在最低限度的处理时间内完成,因此优选。例如,在启动程序20验证至核心程序30及应用程序40之后,在核心程序30的处理中途因破损等导致的存储器不足而无法继续处理的情况下,应用程序的验证变得无用,导致直至显示错误画面为止时间延长,因此不优选。
另外,在本实施方式中,对由三个二进制构成固件14的例子进行了说明,但是并不限定于三个二进制,也可以由四个以上的二进制构成。图6是表示在由启动程序20、(N-1)程序及应用程序40构成固件时的处理流程的一例的流程图。另外,与图3相同的处理标注相同的符号而表示。在图6的例子中示出如下例子:在启动程序20中加载轻量级下载程序,在应用程序40中加载下载程序,在(N-1)程序中不加载下载程序。在图6中,启动程序20及应用程序40进行与图3相同的处理,(N-1)程序以与图3的核心程序30的处理相同的方式进行处理。即,验证下一个程序,在验证NG的情况下开启验证NG标志并记录在非易失性存储器区域中,然后显示错误画面。由此,重新启动时有问题的程序通过执行启动程序20的轻量级下载程序而被恢复。
另外,在图6的例子中,示出在所有(N-1)程序中不加载轻量级下载程序28或下载程序44的例子,但是并不限定于此。例如,可以在(N-1)程序中的一部分程序中加载轻量级下载程序28或下载程序44。
并且,在上述实施方式中,对在启动程序20中加载轻量级下载程序28的例子进行了说明,但是可以将不是轻量级下载程序的、与应用程序40相同的下载程序44加载于启动程序20。
并且,在上述实施方式中,以CPU为处理器的一例进行了说明,但是处理器是指广义的处理器,包括通用的处理器(例如CPU等)、专用处理器(例如GPU:Graphics ProcessingUnit:图形处理单元、ASIC:Application Specific Integrated Circuit:专用集成电路、FPGA:Field Programmable Gate Array:现场可编程门阵列、可编程逻辑器件等)。
并且,上述实施方式中的处理器的动作不仅可以通过一个处理器来构成,而且也可以通过在物理上分离的位置上存在的复数个处理器协作来构成。并且,处理器的各动作的顺序并不仅限于上述各实施方式中所记载的顺序,而可以适当地进行变更。
并且,上述实施方式中的固件14可以存储于存储介质中流通。
并且,本发明并不限定于上述内容,除上述内容以外,在不脱离其主旨的范围内,当然可以进行各种变形并实施。
上述本发明的实施方式是以例示及说明为目的而提供的。另外,本发明的实施方式并不全面详尽地包括本发明,并且并不将本发明限定于所公开的方式。很显然,对本发明所属的领域中的技术人员而言,各种变形及变更是自知之明的。本实施方式是为了最容易理解地说明本发明的原理及其应用而选择并说明的。由此,本技术领域中的其他技术人员能够通过对假定为各种实施方式的特定使用最优化的各种变形例来理解本发明。本发明的范围由以上的权利要求书及其等同物来定义。

Claims (8)

1.一种信息处理装置,其具备处理器,
所述处理器进行如下处理:
获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动;
从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域;及
当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
2.根据权利要求1所述的信息处理装置,其中,
在所述第1程序和最后启动的程序中加载有下载程序。
3.根据权利要求2所述的信息处理装置,其中,
加载于所述第1程序中的所述下载程序是比加载于所述最后启动的程序中的所述下载程序更简单的程序。
4.根据权利要求1至3中任一项所述的信息处理装置,其中,
所述固件由所述第1程序、所述第2程序及所述第3程序这三个二进制构成,
所述第1程序是加载有下载程序的启动程序,所述第2程序是成为操作系统的核心的核心程序,所述第3程序是在操作系统上运行的应用程序。
5.根据权利要求1至4中任一项所述的信息处理装置,其中,
所述处理器进行如下处理:
在重新启动后由所述下载程序执行下载的情况下,或者在重新启动后验证与所述错误标志对应的程序而未产生错误的情况下,删除记录于所述非易失性存储器区域中的所述错误标志。
6.根据权利要求1至5中任一项所述的信息处理装置,其中,
所述处理器进行如下处理:
在产生所述错误的情况下,还将产生错误和通过重新启动可以恢复的内容显示于显示部。
7.一种存储介质,其存储有用于使计算机执行如下处理的信息处理程序:
获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动;
从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域;及
当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
8.一种信息处理方法,其包括如下步骤:
获取固件,所述固件由包括第1程序、第2程序及第3程序的三个以上的二进制构成,并且在第1程序中加载下载程序而从所述第1程序依次启动;
从所述第1程序依次启动而验证后续程序,在不加载所述下载程序的程序验证后续程序而产生错误的情况下,将错误标志记录于非易失性存储器区域;及
当重新启动时,在所述非易失性存储器区域中记录有所述错误标志的情况下,通过执行所述下载程序而恢复所述错误。
CN202111025336.XA 2021-03-16 2021-09-02 信息处理装置、存储介质及信息处理方法 Pending CN115145650A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2021042381A JP2022142263A (ja) 2021-03-16 2021-03-16 情報処理装置及び情報処理プログラム
JP2021-042381 2021-03-16

Publications (1)

Publication Number Publication Date
CN115145650A true CN115145650A (zh) 2022-10-04

Family

ID=83284782

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111025336.XA Pending CN115145650A (zh) 2021-03-16 2021-09-02 信息处理装置、存储介质及信息处理方法

Country Status (3)

Country Link
US (1) US11966746B2 (zh)
JP (1) JP2022142263A (zh)
CN (1) CN115145650A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319269A (zh) * 2023-05-19 2023-06-23 南方电网数字电网研究院有限公司 具备通讯故障自检及快速隔离的新能源边缘侧通信模块

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2022142263A (ja) * 2021-03-16 2022-09-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2414281C (en) * 2000-11-17 2009-06-02 Bitfone Corporation System and method for updating and distributing information
JP4013040B2 (ja) 2002-03-07 2007-11-28 富士ゼロックス株式会社 ダウンロード装置及びダウンロード方法
JP5049288B2 (ja) * 2006-11-09 2012-10-17 パナソニック株式会社 改竄検出システム、改竄検出方法、改竄検出プログラム、記録媒体、集積回路、認証情報生成装置及び改竄検出装置
JP6373888B2 (ja) 2016-03-01 2018-08-15 株式会社東芝 情報処理装置及び制御方法
JP6949416B2 (ja) 2017-07-13 2021-10-13 株式会社デンソー 電子制御装置、プログラム改ざん検知方法
US11269986B2 (en) * 2018-10-26 2022-03-08 STMicroelectronics (Grand Ouest) SAS Method for authenticating a program and corresponding integrated circuit
US11392700B1 (en) * 2019-06-28 2022-07-19 Fireeye Security Holdings Us Llc System and method for supporting cross-platform data verification
JP2022142263A (ja) * 2021-03-16 2022-09-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及び情報処理プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116319269A (zh) * 2023-05-19 2023-06-23 南方电网数字电网研究院有限公司 具备通讯故障自检及快速隔离的新能源边缘侧通信模块
CN116319269B (zh) * 2023-05-19 2023-09-15 南方电网数字电网研究院有限公司 具备通讯故障自检及快速隔离的新能源边缘侧通信模块

Also Published As

Publication number Publication date
US11966746B2 (en) 2024-04-23
JP2022142263A (ja) 2022-09-30
US20220300292A1 (en) 2022-09-22

Similar Documents

Publication Publication Date Title
CN109634645B (zh) 固件升级方法及终端
US8041988B2 (en) Firmware update for consumer electronic device
EP1433060B1 (en) Crash recovery system
KR100584338B1 (ko) 소프트웨어 업데이트 방법 및 시스템
TWI384367B (zh) 韌體更新系統及方法
JP4279902B2 (ja) ディジタルテレビジョン放送受信装置およびディジタルテレビジョン放送受信用プログラムの取得方法
CN115145650A (zh) 信息处理装置、存储介质及信息处理方法
JP2020160747A (ja) 情報処理装置、その制御方法、及びプログラム
JP2001331327A (ja) 電子機器
JP2004046453A (ja) シングルチップマイクロコンピュータおよびそのブート領域切り替え方法
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2007316800A (ja) 車載プログラム書換え制御装置
US20060090158A1 (en) Rewritable, nonvolatile memory, electronic device, method of rewriting rewritable, nonvolatile memory, and storage medium having stored thereon rewrite program
CN114527994A (zh) 固件的烧写方法、系统、车辆控制系统
JP7563181B2 (ja) 電子情報記憶媒体、パッチプログラムの書き込み方法、及びプログラム
CN115857998B (zh) 基于zynq和fpga架构的升级方法、装置和介质
JP7582424B2 (ja) 電子機器
JP7371723B2 (ja) 電子機器
JPH1115668A (ja) データ格納方法及び装置
KR20070044268A (ko) 메인 보드의 부팅 처리 방법 및 그 장치
US20230129942A1 (en) Method for locking a rewritable non-volatile memory and electronic device implementing said method
JP2020086516A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP7500400B2 (ja) 情報処理装置、情報処理装置の制御方法及びプログラム
JP2005228225A (ja) メモリカードアダプタ
CN113064608A (zh) 一种ota升级方法、装置、设备和介质

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