CN1821962A - 信息处理机器以及信息处理机器的控制方法 - Google Patents
信息处理机器以及信息处理机器的控制方法 Download PDFInfo
- Publication number
- CN1821962A CN1821962A CNA2006100085359A CN200610008535A CN1821962A CN 1821962 A CN1821962 A CN 1821962A CN A2006100085359 A CNA2006100085359 A CN A2006100085359A CN 200610008535 A CN200610008535 A CN 200610008535A CN 1821962 A CN1821962 A CN 1821962A
- Authority
- CN
- China
- Prior art keywords
- boot sector
- boot
- sector
- version code
- guiding
- 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
Links
- 238000000034 method Methods 0.000 title claims description 64
- 230000010365 information processing Effects 0.000 title claims description 31
- 238000012545 processing Methods 0.000 claims abstract description 36
- 238000007689 inspection Methods 0.000 claims description 48
- 238000012360 testing method Methods 0.000 claims description 11
- 230000015572 biosynthetic process Effects 0.000 claims description 7
- 230000008569 process Effects 0.000 description 29
- 238000012546 transfer Methods 0.000 description 14
- 230000006870 function Effects 0.000 description 11
- 230000009471 action Effects 0.000 description 7
- 238000005755 formation reaction Methods 0.000 description 5
- 238000007639 printing Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000005538 encapsulation Methods 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000005465 channeling Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000002950 deficient Effects 0.000 description 1
- 238000000151 deposition Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 239000000976 ink Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/22—Microcontrol or microprogram arrangements
- G06F9/24—Loading of the microprogram
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本发明提供一种能够判断出W引导扇区与主扇区是否都已经被正常重写的打印机以及打印机的版本检查方法。CPU(103),选择存储有应当根据引导选择器程序起动的上述引导程序的W引导扇区(A204)以及W引导扇区(B203)中的某一方。之后,CPU(103)检验W引导扇区(A204)、W引导扇区(B203)以及主扇区(202)中分别所设有的版本码。在检验出主扇区(202)的版本码与所选择的W引导扇区(A204)以及W引导扇区(B203)的一方的版本码相一致的情况下,执行主扇区(202)中的主程序。
Description
技术领域
本发明涉及一种信息处理机器以及信息处理机器的控制方法。
背景技术
近年来,打印机以及扫描仪等信息处理机器,对应个人需求以及业务用途等各种目的而广泛应用。以下列举出打印机作为信息处理机器的例子进行说明。
打印机中组装有固件,通过执行固件来进行打印机的控制。固件大体上可以分为用来执行硬件的初始化等打印机的起动所需要的一系列起动动作的引导程序,与在引导程序的起动动作之后执行,对应于来自主机计算机的指示对打印机进行控制的主程序这两种。引导程序与主程序,存储在打印机内所设置的闪烁(flash)ROM内的不同扇区中,在闪烁ROM的重写时能够分别重写每一个扇区,也即分别重写引导程序和主程序。
但是,如果保存有引导程序的扇区(以下称作引导扇区)的重写失败,则打印机无法执行基于引导程序的起动动作,有可能陷入无法起动状态。为了避免这样的状态,有人提出了所谓的W引导方式,设置有选择地读出的多个引导扇区,即使1个引导扇区内的引导程序重写失败,也能够通过其他引导扇区内的正常的引导程序来起动打印机(参照例如专利文献1)。
但是,在具有W引导的打印机中,在同时重写引导程序和主程序时,在构成W引导的两个扇区中的一方重写失败的情况下,根据重写顺序,有可能只重写了主扇区。这种情况下,在再次接通电源时,通过没有进行重写的两个扇区中的另一方扇区中所写入的老版本的引导程序来进行起动处理,执行进行了重写的主扇区中所存储的新版本的主程序。这种情况下,由于打印机能够正常工作,因此有可能会让用户误解已经正常重写了W引导扇区。这种状态下,虽然打印机有可能能够正常起动并无问题工作,但由于没有消除版本升级所引起的不便,因此有可能会带着致命的缺陷仍让打印机继续工作。
专利文献1:特开2004-94628号公报。
发明内容
本发明鉴于以上问题,将打印机起动之后的引导程序保存在不重写的引导扇区中,一旦引导扇区起动,接下来便选择W引导扇区中的任一个。另外,目的在于提供一种能够将与主扇区相同的版本名称配置在W引导扇区中,通过对双方版本名称进行比较检查,判断W引导扇区与主扇区是否都已正常重写的信息处理机器以及信息处理机器的控制方法。
本发明的上述目的,能够通过以下机构来实现。
(1)一种信息处理机器,是一种具有CPU以及与所述CPU可通信连接且具有多个扇区的闪烁ROM的信息处理机器,其特征在于,
所述闪烁ROM具有:引导选择器,其存储引导选择器程序;第1引导扇区以及第2引导扇区,其分别存储有通过所述引导选择器程序的执行而有选择地被起动的引导程序;以及主扇区,其存储有通过所述引导程序而被起动的主程序,
所述CPU,选择存储有通过执行所述引导选择器而应起动的所述引导程序的第1引导扇区与第2引导扇区中的某一方,且通过执行所述引导程序,来检验所述第1引导扇区以及第2引导扇区中的某一方与所述主扇区分别所具有的版本码,
所述CPU,在检验出所述主扇区的版本码与第1引导扇区以及第2引导扇区中某一方的版本码相一致的情况下,执行所述主程序。
(2)根据(1)所述的信息处理机器,其特征在于:
所述CPU,具有执行所述闪烁ROM的重写处理的重写处理部,在检验出所述主扇区的版本码与通过所述引导扇区程序所选择的引导扇区的版本码不一致的情况下,执行所述闪烁ROM的重写处理。
(3)一种信息处理机器的控制方法,该信息处理机器具有闪烁ROM,该闪烁ROM包括:存储有引导选择器程序的引导选择器;具备版本码、程序更新次数信息、以及检查和的第1引导扇区及第2引导扇区;以及具备版本码的主扇区,其特征在于,
具有:引导扇区选择步骤,其通过所述引导选择器程序选择所述第1引导扇区或第2引导扇区;以及
版本码检验步骤,其对所述主扇区的版本码与所述第1引导扇区或第2引导扇区的任一方的版本码是否一致进行检验,
在所述主扇区的版本码与通过所述引导扇区选择步骤所选择的引导扇区的版本码相一致的情况下,执行所述主扇区中所存储的主程序。
(4)根据(3)所述的信息处理机器的控制方法,其特征在于:
所述版本码检验步骤中,在所述主扇区的版本码与在所述引导扇区选择步骤中所选择的引导扇区的版本码不一致的情况下,执行所述闪烁ROM的重写处理。
(5)根据(3)或(4)所述的信息处理机器的控制方法,其特征在于:
具有主扇区检验步骤,其对确认所述主扇区所具备的主程序的正确性的所述主扇区的检查和进行检验,
在所述主扇区的版本码与通过所述引导扇区选择步骤所选择的引导扇区的版本码相一致,且在所述主扇区检查和检验步骤中所述主扇区的检查和正常的情况下,执行所述主程序。
(6)根据(3)~(5)中任一个所述的信息处理机器的控制方法,其特征在于:
上述第1引导扇区以及第2引导扇区具有:为了比较上述第1引导扇区与第2引导扇区的新旧而必需的更新次数信息;和确认上述第1引导扇区与第2引导扇区中所保存的引导程序的正确性的检查和以及引导ID。
(7)根据(3)~(6)中任一个所述的信息处理机器的控制方法,其特征在于:
上述引导扇区选择处理步骤,由检验上述引导扇区的检查和的引导扇区检查和检验步骤,以及比较上述第1引导扇区与第2引导扇区的更新次数的更新次数比较步骤构成。
(8)根据(7)所述的信息处理机器的控制方法,其特征在于:
上述引导扇区检查和检验步骤中,在上述第1引导扇区与第2引导扇区的检查和均正确,且上述更新次数比较步骤中,第1引导扇区的更新次数较多的情况下,进行上述第1引导扇区的引导程序处理;
在第2引导扇区的更新次数较多的情况下,进行上述第2引导扇区的引导程序处理。
根据本发明,在打印机的电源再次接通或重启时,只在第1引导扇区与主扇区的版本码或第2引导扇区与主扇区的版本码相同的情况下,执行主程序,因此在打印机的固件升级时,能够可靠地判断主程序与引导程序是否均被正常重写。
另外,根据本发明,在引导选择器程序执行之后,即使在因为某种原因导致第1引导扇区或第2引导扇区中任一方的引导程序重写失败,而只有主程序进行了重写的情况下,也能够再次执行引导程序的重写处理。因此,在电源再次接通时,在通过写有未成为重写对象的旧版本码的第1或第2引导扇区进行起动处理后,不执行写有成为重写对象的新版本码的主程序。所以,也能解除下述问题:即使在再次起动了打印机的情况下,因为版本码不一致也不进行打印机的更新,从而不会消除不便这一问题。
另外,根据本发明,在主程序重写之后,只在确认了主扇区检查和的正确性的情况下,执行重写后的主程序,因此能够可靠地判断主程序是否被正常重写。
另外,根据本发明,即使在主程序的重写失败的情况下,也再次执行主程序的重写处理,因此不会执行更新前的主程序,从而能够总是由最新的主程序来驱动打印机。
另外,根据本发明,即使在第1引导扇区或第2引导扇区的任一方处于异常状态的情况下,也能够通过另一方处于正常状态下的引导扇区来起动打印机。
附图说明
图1为表示本发明的相关打印机的立体图。
图2为表示本发明的相关打印机的硬件构成的图。
图3为表示闪烁ROM中的扇区构成的图。
图4为本发明的相关打印机的CPU的框图。
图5为表示本发明的相关版本检查方法的处理流程的图。
图6为表示本发明的相关打印机的W引导选择处理的流程的图。
图7为表示本发明的相关打印机从通常模式转移到存储器重写模式的流程的图。
图8为表示闪烁ROM的重写状态的迁移的图。
图9为表示分别进入W引导的重写成功例与重写失败例的模式的图。
图中:1…打印机,3…下部壳体,5…上部壳体,7…装置壳体,9…用纸盒,11…出纸托盘,13…显示部,14…操作部,101…闪烁ROM,102…RAM,201…引导扇区,202…主扇区,204…第1引导扇区,203…第2引导扇区,103…CPU。
具体实施方式
接下来,对照附图对本发明的相关信息处理机器以及信息处理机器的控制方法的实施方式进行说明。
图1为说明本实施方式的打印机1的立体图。
如图1所示,打印机1中,在由下部壳体3与上部壳体5所构成的装置壳体7的前面中央部中,可自由装卸地安装有装填记录纸的大致箱形的用纸盒9。另外,用纸盒9的上方,设有接收印刷完成了的记录纸的出纸托盘11。
另外,装置壳体7的前面的两侧中,设有显示动作状态的显示部13,显示部13的下方,设有存放墨盒的印墨存放部14。装置壳体7的内部,组装有从用纸盒9中一张张抽出记录纸并沿着给定传送路线进行传送的传送机构,以及安装在传送线路的途中,在所传送的记录纸中记录文字、图形等图像的记录部等各种动作机器,通过这些动作来执行印刷。
接下来,对本实施方式的打印机1中所设置的控制部的构成进行说明。
图2为表示本实施方式的打印机1的控制部之一的构成的图。
本实施方式的打印机1具有作为非易失性存储器的闪烁ROM101、作为易失性存储器的RAM102、以及作为运算元件的CPU103。
闪烁ROM101,分割成作为能够一并删除的最小单位的存储区域的多个扇区,能够在各个扇区的每一个中进行程序的重写。该闪烁ROM101中,保存有执行起动处理的初始阶段处理的引导选择器程序,与在引导扇区程序的执行后起动并继续执行起动处理的引导程序,以及执行打印机1的通常模式的控制的主程序。
以下,本实施方式中,将闪烁ROM101内,存储有引导选择器程序的扇区称作“引导选择器”,将存储有引导程序的扇区称作“引导扇区”,将存储有主程序的扇区称作“主扇区”。
RAM102是暂存各种数据的存储区域。在执行闪烁ROM101中所保存的各种数据时,最好将各种数据读出到RAM102中,通过CPU103执行程序等各种数据,来执行打印机1的控制。
图3为表示闪烁ROM101中的扇区的一构成例的图。
闪烁ROM101,在功能上进行区分,由引导选择器201、主扇区202、第1引导扇区(以下称作W引导扇区A204)、第2引导扇区(以下称作W引导扇区B203)构成。以下的说明中,将W引导扇区A204与W引导扇区B203合起来称作W引导扇区,这样,将写入在W引导扇区中的程序称作W引导程序。
首先,对引导扇区201进行说明。
引导扇区201,保存有在打印机1的初始起动时首先被读出并执行的引导选择器程序。引导选择器程序,由在打印机1的电源接通后马上执行初始起动处理的初始引导程序,与初始引导程序执行之后,选择从后述的W引导扇区A204与W引导扇区B203中的哪个中读出引导程序的引导选择器程序构成。引导选择器程序基本上是不进行重写的程序,只执行打印机1的起动处理中的最低限度的必要功能,选择W引导扇区A204与W引导扇区B203中任一个的引导程序。
这里,打印机1的起动处理中的最低限度的必要功能,例如可以列举出最低限度的硬件检查以及初始化等。该最低限度的硬件检查以及初始化,可以列举出在直到执行后述的W引导扇区内的W引导程序之前,为了执行自身的程序,而仅以必要的设备作为对象的检查以及初始化,可以列举出例如CPU103的检查以及初始化,以及为了执行引导选择器程序,而只对必要的RAM102中的给定区域进行的检查与初始化等。
另外,引导选择器程序,为了无限减少用于错误修正的引导选择器201的重写处理,而尽量用简单的代码记录。另外,引导选择器201,可以具有作为闪烁ROM的重写信息的版本码以及用来确认版本码的正确性的版本ID(未图示),但本发明中,将引导选择器程序设为没有错误,从而不能够重写。
接下来,对W引导扇区A204与W引导扇区B203进行说明。
W引导扇区A204,存储有起动时的各种起动处理的执行,以及用来执行重写闪烁ROM101中所存储的程序的功能的引导程序。具体地说,引导程序具有为了完全起动打印机1而进行必要的各种起动处理的引导程序,与在引导程序的执行后执行,用来转移到基于后述的主扇区202的主程序的处理的主转移程序,以及执行闪烁ROM101内的程序的重写处理的重写程序。
存储在W引导扇区A204中的引导程序,从一开始便独立执行包括保存于引导扇区201中的初始引导程序中的初始化以及检查的、起动打印机1所必需的设备的初始化以及检查。具体地说,除了CPU以及RAM的检查,还执行通信接口的种类判断、对应于各个通信接口的处理、以及对应于各种状态命令的处理等。
另外,W引导扇区B203,与W引导扇区A204一样,存储有起动时的各种起动处理的执行,以及用来执行重写闪烁ROM101中所保存的程序的功能的引导程序。该引导程序与W引导扇区A204中所保存的一样,具有为了完全起动打印机1而进行必要的各种起动处理的引导程序,与在引导程序的执行后执行,用来转移到基于后述的主扇区202的主程序的处理的主转移程序,以及执行闪烁ROM101内的程序的重写处理的重写程序。
写入在该W引导扇区B203中的引导程序,在工厂出库时写入了与W引导程序A204除了更新次数以外均相同的程序,但是在工厂出库以后即使只重写了一次,也只有某一方被交互重写,通过重写而存储有互不相同版本的引导程序。也即,存储在W引导扇区B203中的程序,在工厂出库以外保存有版本不同但用来执行同种引导功能的程序。关于这一点将在后面详细说明。
W引导扇区A204以及W引导扇区B203中,具有用来分别对引导程序是否正确保存进行检验的检查和、表示W引导扇区A204以及W引导扇区B203全体的重写次数的W引导更新次数、指定W引导的W引导ID以及版本码与版本ID。
这些W引导扇区A204以及W引导扇区B203内的引导程序,在引导选择器201的引导选择器程序执行了之后,通过引导选择器程序有选择地读出任一方的引导程序并执行。关于这一点也在后面详细说明。
另外,如图3所示,最好将W引导扇区的W引导更新次数、检查和、W引导ID,按照W引导更新次数、检查和、W引导ID的顺序配置在W引导的最后。为了在偏离该顺序的情况下也能够稍稍提高W引导的正常性检查的可靠性,最好将W引导ID写在最后。
另外,W引导更新次数、检查和、W引导ID以16位的WORD大小为基准,在该大小以外的情况下,也要让检查和与W引导ID加起来为32位以上,从而避免因构成位较少所引起的正常性检查的可靠性下降。另外,为了能够进行统计而不会让更新次数计数器循环一周,最好让更新次数为16位以上。
接下来,对主扇区202进行说明。
主扇区202中,存储有执行打印机1的通常模式的控制的主程序、对应于来自主机计算机的指示而调用W引导扇区内的重写程序的W引导选择器选择程序、字体数据、各设定数据等主程序。主扇区202内的主程序,在执行了W引导扇区A204以及W引导扇区B203的任一方中所保存的引导程序之后,被读出并执行,执行打印机1的通常动作中的各种控制。
该主扇区202,通过由引导选择器程序所选择的W引导扇区A204或W引导扇区B203的任一个中所保存的引导程序中的重写程序来进行重写。另外,主扇区202除了具有版本码以及版本ID之外,还具有用来确认主程序的正确性的检查和。
如果对各个扇区中所写入的版本码以及版本ID进行补充,则W引导扇区B203以及W引导扇区A204所具有的版本码的一方,总是写入有与主扇区202所具有的版本码相同的字符串。通过这样,在打印机1的正常起动时,能够保证主扇区202的版本码与W引导扇区的版本码相同,在依据主扇区202的版本码主程序与W引导程序双方版本一致的情况下,在确认了通过后述的重写正确重写了主程序与W引导程序的一方之后,能够执行主扇区202中的主程序。关于这一点也在后面详细说明。
另外,预备在根据主扇区202的主程序以及W引导扇区中的W引导程序参照主选择器201的版本信息的情况下,最好将引导选择器201的版本码、版本ID配置在固定地址中(未图示)。
接下来,对通过执行闪烁ROM101内的各种程序,由CPU103所构成的各种功能部进行说明。
图4为模式地表示本实施方式的打印机1中的CPU103内的处理的框图。
CPU103中,通过由CPU103读出闪烁ROM内的各种程序并执行,来构成初始引导部410、主引导部420以及主部430。
初始引导部410,是通过读出引导选择器201的引导选择器程序并执行而构成的功能部。初始引导部410中,由通过执行初始引导程序,在打印机1的电源接通之后执行初始起动处理的初始引导处理部411,与通过执行引导选择器程序,在初始引导程序的执行之后选择从W引导扇区A204与W引导扇区B203的任一方中读出引导程序的W引导选择部412构成。
W引导选择部412中,对W引导扇区A204与W引导扇区B203的检查和是否正确进行检验,之后在比较了W引导更新次数之后,选择从W引导扇区A204与W引导扇区B203的任一方中读出引导程序。该W引导选择部412,在检验W引导扇区的检查和均异常的情况下,执行出错处理。另外,W引导更新次数的初始值,如图8所示,例如将W引导扇区A204的更新次数设为1,将W引导扇区B203的更新次数设为0,W引导选择部412首先选择W引导扇区A204。
主引导部420;是通过读出W引导扇区A204与W引导扇区B203任一方中的引导程序并执行而构成的功能部。主引导部420中,由通过执行引导程序来进行为了完全起动打印机1而进行必要的各种起动处理的引导处理部421,与通过执行主转移程序而在引导程序的执行后执行,进行用来转移到基于后述的主扇区202的主程序的处理的主转移处理部422,以及通过执行重写程序,来执行闪烁ROM101内的程序的重写处理的重写处理部423构成。
主转移处理部422,对在引导处理部421的引导动作结束之后,是否读出主选择器202内的主程序并进行主处理进行判断。具体地说,对保存有现在所读出并执行的W引导程序的W引导扇区中所写入的版本码,与保存在主扇区202中的版本码是否一致进行检验。该两扇区的版本码,在重写时写入有同一版本码,在执行了两个W引导扇区中的最新版本的W引导扇区中的W引导程序,之后转移到主程序的情况下,版本码总是一致。在两扇区的版本码一致的情况下,如果主扇区202的检查和检查正常,则读出写入在主扇区202中的主程序,继续进行处理。这里,如果检查和异常,主转移处理部422便转移到基于存储器重写部423的处理。
另外,在因为某个理由,没有从写入有最新版本的W引导程序的W引导扇区读出程序,而是执行了两个W引导扇区中的较老的版本的W引导扇区中的W引导程序,之后转移到主程序的情况下,W引导扇区的版本码与主程序的版本码不一致。这种情况下,主转移处理部422,转移到基于存储器重写部423的处理。
重写处理部423,进行没有读出W引导程序的W引导扇区的W引导程序,以及主扇区202内的主程序的重写。这样,本实施方式中,通过一方W引导扇区中的重写程序来重写另一方W引导扇区。所以,即使在另一方W引导扇区的重写因某个原因而失败的情况下,一方的W引导扇区内的信息也能够正常工作,总是能够保证至少有能够常时读出的1个W引导扇区。
重写处理部423,在重写时,将根据重写后的W引导程序以及重写后的主程序所分别计算出的检查和的值分别进行更新,将根据W引导选择部412所选择的W引导扇区的更新次数所计算出的值,更新为未选择W引导扇区的更新次数。另外,在每一次重写处理时,在作为重写对象区域的未选择W引导扇区以及主扇区202中,分别更新相同的版本码。
主部430,由一边参照字体数据、各设定数据等,一边执行主程序,通过这样来执行打印机1的通常动作中的各种控制的主处理部431,以及对应于主机计算机所发送的重写命令而起动的W引导选择部432构成。
主处理部431,是进行与主机计算机之间的通信,控制打印机1的各驱动部,对执行印刷的通常动作进行控制的功能部。在打印机1不进行重写的情况下,通常最终转移到该主处理部431中,驱动控制打印机1。
W引导选择部432,在主处理部431的处理中,接收从主机计算机所接收的重写命令,对应于该重写命令,执行闪烁ROM重写时,选择是否执行重写处理部423。该W引导选择部432的选择算法,与基于初始引导部410中的W引导选择部412的选择算法相同。也即,本实施方式中,在主部430的处理执行中接收到重写命令后,不进行再起动等,而直接选择W引导扇区中的W引导程序,转移到重写模式。
接下来,对本实施方式的打印机1中的起动处理的流程进行说明。
图5为表示本发明的相关打印机1的起动处理的流程的流程图。
首先,打印机1的电源接通或重启之后(步骤S500),读出引导选择器201内的引导选择器程序并执行,通过初始引导程序进行CPU103、RAM102等的各种初始化(步骤S501)。
接下来,执行引导选择器程序,转移到W引导选择处理(步骤S502)。该W引导选择处理,是选择用来执行存储在主扇区202内的主程序的W引导扇区A204或W引导扇区B203的任一方引导扇区的选择器选择处理。关于该W引导选择处理的详细内容,将对照图6另行说明。
接下来,检测出打印机1所具有的未图示的双列式封装开关的状态,判断是否是“强制重写模式”(步骤S503),在双列式封装开关的状态是“强制重写模式”的情况下,起动重写程序,执行闪烁ROM101的重写处理(步骤S507)。在不是“强制重写模式”的情况下,对在“W引导选择模式”(步骤S502)中所选择的W引导选择器的版本码,与主扇区202的版本码是否一致进行检验(步骤S504)。
步骤S504中,在版本码不一致的情况下,强制执行存储器重写处理(步骤S507)。另外,在版本码一致的情况下,对主扇区202的检查和是否正常进行检验(步骤S505)。
在检验出主扇区202的检查和异常的情况下,执行存储器重写处理(步骤S507)。在检验检查和正常的情况下,执行主扇区202中所存储的主程序,让打印机处于能够执行印刷等给定处理的状态。该状态下,打印机1的各个设备变为可驱动状态,对应于来自主机计算机的指示,执行打印机1的通常处理(步骤S506)。
接下来,对通过引导选择器程序所执行的W引导选择处理的流程进行说明。
图6为表示本实施方式的打印机1的W引导选择处理的流程的图。
首先,W引导选择部412,对W引导扇区A204以及W引导扇区B203的检查和是否异常进行检验(步骤S601)。在检验出W引导扇区A204与W引导扇区B203的检查和均异常的情况下,通过引导选择器201所具有的出错处理功能,进行基于引导选择器程序的出错处理(步骤S604)。
在检验出W引导扇区A204以及W引导扇区B203的检查和均不异常的情况下,对W引导扇区A204以及W引导扇区B203的检查和是否都正常进行检验(步骤S602)。在W引导扇区A204以及W引导扇区B203的检查和均正常的情况下,比较W引导扇区A204与W引导扇区B203的W引导更新次数(步骤S603)。
W引导扇区A204与W引导扇区B203中所记录的更新次数,在每次进行重写时被重写,具体地说,将重写处理执行过程中的W引导扇区的更新次数加1,作为重写对象的W引导扇区的更新次数写入。所以,通过比较更新次数,能够掌握两个W引导扇区中的哪一个中写有最新的W引导程序(参照图8)。
所以,在W引导扇区A204的W引导更新次数较大的情况下,判断W引导扇区A204是最新的,选择W引导扇区A204作为执行对象引导扇区(步骤S607)。另外,在W引导扇区B203的W引导更新次数较大的情况下,判断W引导扇区B203是最新的,选择W引导扇区B203作为执行对象引导扇区(步骤S606)。
另外,在W引导扇区A204或W引导扇区B203任一方的检查和异常的情况下,检验W引导扇区A204的检查和是否正常(步骤S605)。在W引导扇区A204的检查和正常的情况下,选择W引导扇区A204作为执行对象引导扇区(步骤S607)。在W引导扇区A204的检查和不正常的情况下,选择W引导扇区B203作为执行对象引导扇区(步骤S606)。通过这样,只要某一方W引导扇区的检查和正常,就能够保证至少1个正常工作的W引导扇区,从而能够使用检查和正常的W引导扇区中的引导程序,执行引导处理。
以上的说明中,关于存储器重写模式的进入,对如图5所示,在W引导程序的执行时,有选择地对执行重写程序的情况进行了说明,但在主部430的主处理部431的通常模式执行过程中,通过命令作出了指示的情况下,也进入到存储器重写模式。
图7为表示本实施方式的打印机1从通常模式转移到存储器重写模式的流程的图。
通过打印机1的电源接通(步骤S700),执行初始化程序,进行CPU103、RAM102等的各种初始化(步骤S701)。接下来,通过引导选择器程序的执行,转移到W引导选择处理(步骤S702)。该W引导选择处理,如以上对照图6所述。之后,选择在W引导扇区A204或W引导扇区B203的任一方中所保存的W引导程序并读出,进行引导处理(S702)。之后,在进行了主扇区与引导扇区的程序的版本对照之后,执行存储在主扇区202中的主程序,变为通常模式(步骤S703)。
通常模式下,在主程序处理过程中打印机1从主机计算机接收到存储器重写命令之后,通过W引导扇区选择程序起动W引导选择部412,如对照图6所述的那样进行W引导选择处理。之后,起动所选择的W引导扇区的引导程序中的存储器重写程序,进行闪烁ROM101的重写。
接下来,对闪烁ROM101的重写与更新次数之间的关系进行详细说明。
图8为表示闪烁ROM的重写状态的迁移的图。
首先,在闪烁ROM101的W引导扇区A204与W引导扇区B203中,W引导更新次数在一方W引导扇区中存储有“1”,在另一方W引导扇区中存储有“0”,W引导扇区A204、W引导扇区B203、主扇区202以及引导选择器201(未图示)中分别存储有相同的版本码的状态下出库。本实施方式中,设W引导扇区A204的W引导更新次数为“1”,W引导扇区B203的W引导更新次数为“0”,各扇区的版本码为“Ver1.00”。
在W引导选择处理中,如果检验了W引导扇区A204与W引导扇区B203的检查和均正常,则执行W引导更新次数较大的W引导扇区的引导程序。本实施方式中,在出库时由于W引导扇区A204这一方的W引导更新次数较大,因此执行W引导扇区A204的引导程序。
这里,在重写程序的执行时,通过执行中的W引导扇区的引导程序,重写非执行中的W引导扇区的引导程序,对W引导更新次数以及版本码进行更新。本实施方式中,在重写了W引导扇区的一方时,同时也重写主程序。该重写中,主扇区202的版本码与重写了的W引导扇区中的版本码被同时更新,写入有同样的版本码。本实施方式中,由执行中的W引导扇区A204更新非执行中的W引导扇区B203,W引导更新次数从“0”更新成“2”,版本码从“Ver1.00”更新成“Ver1.01”。也即,更新过的W引导扇区的W引导更新次数,比执行中的W引导扇区的W引导更新次数大。另外,同时也将主扇区202的版本码从“Ver1.00”更新成“Ver1.01”。
第2次的重写,由于W引导扇区B203的W引导更新次数较大,因此执行W引导扇区B203的引导程序。由执行中的W引导扇区B203更新非执行中的W引导扇区A204,W引导更新次数从“1”更新成“3”,版本码从“Ver1.00”更新成“Ver1.02”。另外,同时还更新主扇区202的主程序,主扇区202的版本码从“Ver1.01”更新成“Ver1.02”。
第3次以后的重写也一样进行。另外,在更新次数的达到最大值(如果是WORD大小则是FFFFh次)的情况下,下一次的更新次数变为“0”次,最大值与“0”相比,判断“0”较大。也即,W引导的更新次数,如果重写了10000h次,则返回到出库时的状态。
接下来,对闪烁ROM101的重写与之后所进行的处理的关系进行整理说明。
图9为表示分别转移到W引导的重写成功例与重写失败例的模式的图。
(W引导的重写成功例)
本实施方式中,在闪烁ROM出库时,设W引导扇区A204的W引导更新次数为“1”,W引导扇区B203的W引导更新次数为“0”,各扇区的版本码为“Ver1.00”。
在执行了存储器重写处理,成功重写了W引导扇区B203之后,如果再次打印机1电源接通或重启,则在初始的起动处理后,通过W引导选择处理,选择因存储器重写而W引导扇区B203的更新次数比W引导扇区A204的更新次数大的W引导扇区B203。
这里,在检测出通过存储器重写而使得W引导扇区B203以及主扇区202的版本码均从“Ver1.00”更新成了“Ver1.01”之后,在基于W引导扇区B203的打印机1的起动处理之后,执行基于主扇区202内所保存的主程序的处理。也即,在像这样重写成功时,确认主程序的版本码与重写过的W引导扇区B的版本码相一致,保证双方的扇区同时重写的基础上,完成通常起动。
(W引导的重写失败例)
另外,如果执行存储器重写处理,虽然主扇区202被重写但W引导扇区B203的重写失败,W引导扇区B203则变成被破坏的状态,之后如果打印机1再次电源接通或重启,则通过W引导选择处理选择W引导扇区A204。
这样的状态下,由于W引导扇区A204不是重写对象扇区,因此W引导扇区A204的版本码保持为“Ver1.00”,与通过更新只将版本码从“Ver1.00”更新成了“Ver1.01”的主扇区202的版本码不一致。
本实施方式中,像这样,在通过W引导选择处理所选择的W引导扇区A204的版本码与主扇区202的版本码不一致的情况下,如图5的步骤S504的分支所示,通过W引导扇区A204的存储器重写程序来再次执行存储器重写处理。由于W引导扇区B203被破坏,因此在通过W引导扇区A204开始之后,通过存储器重写程序重写W引导扇区B203与主扇区202双方。
这样,本实施方式中,通过确认版本码的一致·不一致,能够防止尽管只有主程序被重写,而W引导程序的重写失败时,也能够原样在通常模式下执行处理的情况。换而言之,本实施方式中,只在W引导扇区与主扇区202均被正常重写的情况下,在基于主程序处理的通常模式下进行处理。因此,不会让用户在W引导重写处理实际上失败的情况下,误解能够正常重写,从而继续进行处理。
如上所述,根据本实施方式,在打印机1的电源再次接通时或重启时,只在W引导扇区A204与主扇区202的版本码或W引导扇区B203与主扇区202的版本码相同的情况下,执行主程序,因此在打印机1的固件升级时,能够可靠地判断主程序与引导程序是否均被正常重写。另外,能够通过只确认第1或第2引导扇区与主扇区中是否存在相同的版本码这种比较简单的方法,来确认重写的成功·不成功。
另外,根据本实施方式,在引导选择器程序执行后,即使在因为某个原因导致W引导扇区A204或W引导扇区B203中任一方的引导程序重写失败,而只有主程序进行了重写的情况下,也能够进行再次重写中失败了的引导程序的重写。因此,在电源再次接通时,在通过写有未成为重写对象的旧版本码的引导扇区进行起动处理后,不执行写有成为重写对象的新版本码的主程序。所以,通过在再次起动了打印机1的情况下也不进行重写,能够避免打印机1的起动程序没有更新这一问题。
另外,通过本实施方式,即使在主程序的重写失败的情况下也再次执行主程序的重写,因此不会执行异常状态的主程序,从而能够避免打印机1的异常动作。另外,即使在W引导扇区A204或W引导扇区B203的任一方处于异常状态的情况下,也能够在通过另一方的正常状态的引导扇区进行了打印机1的起动处理之后,进行主程序处理。
另外,根据本实施方式,能够总是选择最新的更新状态且正常状态的引导扇区进行起动。另外,只要W引导扇区A204或W引导扇区B203的任一方处于正常状态,就能够起动打印机,因此能够避免出现打印机无法起动。
Claims (8)
1.一种信息处理机器,是一种具有CPU以及与所述CPU可通信连接且具有多个扇区的闪烁ROM的信息处理机器,其特征在于,
所述闪烁ROM具有:引导选择器,其存储引导选择器程序;第1引导扇区以及第2引导扇区,其分别存储有通过所述引导选择器程序的执行而有选择地被起动的引导程序;以及主扇区,其存储有通过所述引导程序而被起动的主程序,
所述CPU,选择存储有通过执行所述引导选择器而应起动的所述引导程序的第1引导扇区与第2引导扇区中的某一方,且通过执行所述引导程序,来检验所述第1引导扇区以及第2引导扇区中的某一方与所述主扇区分别所具有的版本码,
所述CPU,在检验出所述主扇区的版本码与第1引导扇区以及第2引导扇区中某一方的版本码相一致的情况下,执行所述主程序。
2.如权利要求1所述的信息处理机器,其特征在于,
所述CPU,具有执行所述闪烁ROM的重写处理的重写处理部,在检验出所述主扇区的版本码与通过所述引导扇区程序所选择的引导扇区的版本码不一致的情况下,执行所述闪烁ROM的重写处理。
3.一种信息处理机器的控制方法,该信息处理机器具有闪烁ROM,该闪烁ROM包括:存储有引导选择器程序的引导选择器;具备版本码、程序更新次数信息、以及检查和的第1引导扇区及第2引导扇区;以及具备版本码的主扇区,其特征在于,
具有:引导扇区选择步骤,其通过所述引导选择器程序选择所述第1引导扇区或第2引导扇区;以及
版本码检验步骤,其对所述主扇区的版本码与所述第1引导扇区或第2引导扇区的任一方的版本码是否一致进行检验,
在所述主扇区的版本码与通过所述引导扇区选择步骤所选择的引导扇区的版本码相一致的情况下,执行所述主扇区中所存储的主程序。
4.如权利要求3所述的信息处理机器的控制方法,其特征在于,
所述版本码检验步骤中,在所述主扇区的版本码与在所述引导扇区选择步骤中所选择的引导扇区的版本码不一致的情况下,执行所述闪烁ROM的重写处理。
5.如权利要求3或4所述的信息处理机器的控制方法,其特征在于,
具有主扇区检验步骤,其对确认所述主扇区所具备的主程序的正确性的所述主扇区的检查和进行检验,
在所述主扇区的版本码与通过所述引导扇区选择步骤所选择的引导扇区的版本码相一致,且在所述主扇区检验步骤中所述主扇区的检查和正常的情况下,执行所述主程序。
6.如权利要求3所述的信息处理机器的控制方法,其特征在于,
所述第1引导扇区以及第2引导扇区具备:为了比较所述第1引导扇区及第2引导扇区的新旧而必需的程序更新次数信息;和确认所述第1引导扇区及第2引导扇区中所存储的引导程序的正确性的检查和以及引导ID。
7.如权利要求3所述的信息处理机器的控制方法,其特征在于,
所述引导扇区选择处理步骤,由检验所述引导扇区的检查和的引导扇区检查和检验步骤,以及比较所述第1引导扇区及第2引导扇区的更新次数的更新次数比较步骤构成。
8.如权利要求7所述的信息处理机器的控制方法,其特征在于,
所述引导扇区检查和检验步骤中,在所述第1引导扇区及第2引导扇区的检查和均正确,且所述更新次数比较步骤中,第1引导扇区的更新次数较多的情况下,进行所述第1引导扇区的引导程序处理,
在第2引导扇区的更新次数较多的情况下,进行所述第2引导扇区的引导程序处理。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2005039687A JP2006227830A (ja) | 2005-02-16 | 2005-02-16 | 情報処理機器及び情報処理機器の制御方法 |
JP2005039687 | 2005-02-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1821962A true CN1821962A (zh) | 2006-08-23 |
Family
ID=36676396
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100085359A Pending CN1821962A (zh) | 2005-02-16 | 2006-02-16 | 信息处理机器以及信息处理机器的控制方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7558949B2 (zh) |
EP (1) | EP1693740A3 (zh) |
JP (1) | JP2006227830A (zh) |
KR (1) | KR20060092144A (zh) |
CN (1) | CN1821962A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736933A (zh) * | 2012-05-16 | 2012-10-17 | 中兴通讯股份有限公司 | Boot文件加载方法及装置 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5112787B2 (ja) * | 2006-09-01 | 2013-01-09 | 株式会社リコー | 情報処理装置、プログラム更新方法及びプログラム |
DE102006043636A1 (de) * | 2006-09-18 | 2008-03-27 | Fujitsu Siemens Computers Gmbh | Computersystem und Verfahren zum Aktualisieren von Programmcode |
US7962734B2 (en) * | 2006-09-20 | 2011-06-14 | Hewlett-Packard Development Company, L.P. | Method of restarting a computer platform |
DE102008010556A1 (de) * | 2008-02-22 | 2009-09-03 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Speichern von Informationsdaten |
US8136108B2 (en) * | 2008-09-03 | 2012-03-13 | Computime, Ltd | Updating firmware with multiple processors |
US8826080B2 (en) * | 2011-07-29 | 2014-09-02 | The Boeing Company | Methods and systems for preboot data verification |
US9367333B2 (en) * | 2012-07-30 | 2016-06-14 | Hewlett-Packard Development Company, L.P. | Booting a printer |
JP6107710B2 (ja) * | 2014-03-10 | 2017-04-05 | 株式会社デンソー | プログラム管理装置、車両用制御装置及びプログラム管理プログラム |
US9575840B1 (en) | 2014-08-15 | 2017-02-21 | Google Inc. | Recovery rollback risk reduction |
JP6565389B2 (ja) * | 2015-07-02 | 2019-08-28 | セイコーエプソン株式会社 | プリンターのファームウェア書き換え方法およびプリンター |
JP7242233B2 (ja) * | 2018-09-28 | 2023-03-20 | キヤノン株式会社 | 情報処理装置及びその制御方法とプログラム |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6412082B1 (en) | 1997-12-17 | 2002-06-25 | Sony Corporation | Method and apparatus for selecting computer programs based on an error detection mechanism |
JP3838840B2 (ja) * | 2000-01-06 | 2006-10-25 | Necエレクトロニクス株式会社 | コンピュータ |
US6442067B1 (en) * | 2000-05-23 | 2002-08-27 | Compaq Information Technologies Group, L.P. | Recovery ROM for array controllers |
JP2002222093A (ja) | 2001-01-26 | 2002-08-09 | Fuji Xerox Co Ltd | メモリの初期化方法 |
EP1372068A3 (en) * | 2002-06-11 | 2006-02-08 | Seiko Epson Corporation | System, method and program for rewriting a flash memory |
JP4062429B2 (ja) | 2002-08-30 | 2008-03-19 | セイコーエプソン株式会社 | メモリ書き換え制御方法及びメモリ書き換え制御方法の各工程を実行させるプログラム |
US7243347B2 (en) | 2002-06-21 | 2007-07-10 | International Business Machines Corporation | Method and system for maintaining firmware versions in a data processing system |
US20060070055A1 (en) * | 2004-09-24 | 2006-03-30 | Hodder Leonard B | Method of updating printer firmware and printing device employing the method |
US7318151B1 (en) * | 2004-11-04 | 2008-01-08 | Network Appliance, Inc. | Method and system for firmware management |
-
2005
- 2005-02-16 JP JP2005039687A patent/JP2006227830A/ja active Pending
-
2006
- 2006-02-02 EP EP06002109A patent/EP1693740A3/en not_active Withdrawn
- 2006-02-14 US US11/354,540 patent/US7558949B2/en not_active Expired - Fee Related
- 2006-02-16 KR KR1020060015253A patent/KR20060092144A/ko not_active Application Discontinuation
- 2006-02-16 CN CNA2006100085359A patent/CN1821962A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102736933A (zh) * | 2012-05-16 | 2012-10-17 | 中兴通讯股份有限公司 | Boot文件加载方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2006227830A (ja) | 2006-08-31 |
US20060184781A1 (en) | 2006-08-17 |
KR20060092144A (ko) | 2006-08-22 |
US7558949B2 (en) | 2009-07-07 |
EP1693740A2 (en) | 2006-08-23 |
EP1693740A3 (en) | 2007-04-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1821962A (zh) | 信息处理机器以及信息处理机器的控制方法 | |
US8020159B2 (en) | System and apparatus for and method of downloading a program, image formation apparatus, and computer product | |
CN1229724C (zh) | 外部存储设备和数据处理方法 | |
US6467087B1 (en) | Method for updating a printer firmware | |
US20060221684A1 (en) | Printing apparatus and control program updating method | |
CN1825214A (zh) | 图像形成装置和盒体 | |
CN1359058A (zh) | 打印装置和打印接口和它们的控制方法及信息记录媒体 | |
US20120089975A1 (en) | Electronic Device | |
JP2007025821A (ja) | 情報処理装置及び情報処理装置の制御方法 | |
CN1469257A (zh) | 闪存存储器的改写控制系统及改写控制方法 | |
CN1749963A (zh) | 一种Boot软件升级方法和一种Boot软件恢复方法 | |
CN112947977A (zh) | 一种软件在线升级方法及系统 | |
US7337312B2 (en) | Processor and firmware download method for same | |
CN1734422A (zh) | 数据处理装置以及固件的更新方法 | |
JP2006243997A (ja) | ダウンロードシステム | |
CN1715070A (zh) | 打印装置、信息处理装置及其控制方法 | |
JP2006085342A (ja) | メモリ制御装置、メモリ制御方法、プログラム | |
JP5891662B2 (ja) | ロボットシステム、制御装置、および、方法 | |
CN1941065A (zh) | 显示装置及其控制方法 | |
CN1990933A (zh) | 电子缝纫机 | |
JP2002014833A (ja) | フラッシュメモリの書き換え方式、制御装置、画像形成装置及びプログラム更新方式 | |
CN1400527A (zh) | 改写引导程序的无线电通讯设备、方法和程序 | |
CN1815380A (zh) | 图像形成装置以及校准控制方法 | |
JP2002351687A (ja) | プリンタのファームウェアの更新方式 | |
US7299315B2 (en) | Control device including connecting device for rewriting memory region |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |