Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP5929809B2 - Firmware update method and firmware program - Google Patents
[go: Go Back, main page]

JP5929809B2 - Firmware update method and firmware program - Google Patents

Firmware update method and firmware program Download PDF

Info

Publication number
JP5929809B2
JP5929809B2 JP2013066809A JP2013066809A JP5929809B2 JP 5929809 B2 JP5929809 B2 JP 5929809B2 JP 2013066809 A JP2013066809 A JP 2013066809A JP 2013066809 A JP2013066809 A JP 2013066809A JP 5929809 B2 JP5929809 B2 JP 5929809B2
Authority
JP
Japan
Prior art keywords
parameter
firmware
update
memory
setting value
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.)
Active
Application number
JP2013066809A
Other languages
Japanese (ja)
Other versions
JP2014191601A (en
Inventor
孝宏 山田
孝宏 山田
Original Assignee
株式会社沖データ
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 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2013066809A priority Critical patent/JP5929809B2/en
Publication of JP2014191601A publication Critical patent/JP2014191601A/en
Application granted granted Critical
Publication of JP5929809B2 publication Critical patent/JP5929809B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Description

本発明は、ファームウェア更新方法及び更新機能を備えたファームウェアプログラムに関するものである。   The present invention relates to a firmware update method and a firmware program having an update function.

プリンタといった画像形成装置が実行する動作は、予め装置内に組み込まれた制御プログラム(以下、ファームウェアと称する)によって制御される。ファームウェアは、メモリに記憶されたパラメータを読み出すことにより、例えば、印刷設定等の個別に設定された設定内容を再現することができる。   The operations executed by the image forming apparatus such as a printer are controlled by a control program (hereinafter referred to as firmware) incorporated in the apparatus in advance. The firmware can reproduce the setting contents set individually such as the print setting, for example, by reading the parameters stored in the memory.

このようなファームウェアを更新する場合において、ファームウェアの更新前後でパラメータの配置情報が異なるため、ファームウェア更新前後のパラメータをリセットしなければならないといった問題を解決するため、ファームウェア更新前のパラメータを一旦、RAM(Random Access Memory)上に書き出して、ファームウェア更新後の配置情報に従い、書き出したパラメータを再配置する方法が知られている。   In the case of updating such firmware, the parameter arrangement information before and after the firmware update is different, so the parameter before and after the firmware update must be reset. There is known a method of writing on (Random Access Memory) and rearranging the written parameters in accordance with the arrangement information after the firmware update.

例えば、特許文献1には、バイナリ形式でメモリ上に保持されているパラメータをテキスト形式に変換して書き出すことにより、ファームウェアの仕様によって適切な読み出し方が異なるバイナリ形式で読み出すよりも容易にパラメータを引き継ぐことができるファームウェアの更新方法が提案されている。   For example, in Patent Document 1, parameters stored in a memory in a binary format are converted into a text format and written out, so that parameters can be read more easily than reading in a binary format, which is appropriately read depending on firmware specifications. A firmware update method that can be taken over has been proposed.

特開2009−254513号公報JP 2009-254513 A

しかしながら、従来技術においては、バイナリ形式のパラメータをテキスト形式に変換することにより、制御コードが含まれる暗号化された情報、例えば、パスワード等の秘匿情報を元のバイナリデータに正しく戻せない場合があるといった問題があった。   However, in the prior art, there is a case where encrypted information including a control code, for example, confidential information such as a password, cannot be correctly restored to the original binary data by converting the binary format parameter to the text format. There was a problem.

上記課題を解決するために、本発明に係るファームウェア更新方法は、第1の不揮発性メモリに記憶されたパラメータ設定値を参照して装置を動作させるファームウェアを更新する方法であって、前記ファームウェアを更新するファームウェア更新ステップと、前記ファームウェアの更新後に、更新前の前記ファームウェアのパラメータ識別子と配置情報とを含むパラメータ定義情報を第2の不揮発性メモリから読み出す更新前パラメータ定義読み出しステップと、メモリ上にファームウェア更新前の前記第1の不揮発性メモリに記憶されたパラメータ設定値と同じ形式のメモリイメージを作成する更新前メモリイメージ作成ステップと、前記メモリイメージから前記ファームウェア更新前のパラメータ設定値を読み出しパラメータ識別子と関連付けて前記メモリに保持させる更新前パラメータ設定値保持ステップと、前記ファームウェア更新後のパラメータ配置情報に従って前記メモリに保持させたファームウェア更新前のパラメータ設定値を前記メモリイメージに再配置するパラメータ設定値再配置ステップと、パラメータ設定値が再配置された前記メモリイメージを前記第1の不揮発メモリにコピーする第1の不揮発性メモリ書き込みステップと、前記ファームウェア更新後に、更新後の前記ファームウェアのパラメータ定義情報を前記第2の不揮発性メモリ上に書き出す第2の不揮発性メモリ書き出しステップとを有することを特徴としている。
In order to solve the above-mentioned problem, a firmware update method according to the present invention is a method for updating firmware for operating a device with reference to a parameter setting value stored in a first nonvolatile memory, A firmware update step for updating, a parameter definition read step before update for reading, from the second nonvolatile memory, parameter definition information including the parameter identifier and arrangement information of the firmware before update after updating the firmware , A pre-update memory image creation step for creating a memory image in the same format as the parameter setting value stored in the first nonvolatile memory before the firmware update, and reading the parameter setting value before the firmware update from the memory image Parameter identifier and A pre-update parameter setting value holding step that is linked and held in the memory, and a parameter setting value that rearranges the parameter setting value before firmware update held in the memory according to the parameter arrangement information after firmware update in the memory image A rearrangement step, a first nonvolatile memory writing step for copying the memory image in which the parameter setting values are rearranged to the first nonvolatile memory, and the firmware parameter definition information after the firmware update. And a second nonvolatile memory writing step for writing the data on the second nonvolatile memory.

また、本発明に係るファームウェアプログラムは、第1の不揮発性メモリに記憶されたパラメータ設定値を参照して装置を動作させるファームウェアを更新するファームウェアプログラムであって、前記ファームウェアを更新するファームウェア更新プログラムと、前記ファームウェアの更新後に、更新前の前記ファームウェアのパラメータ識別子と配置情報とを含むパラメータ定義情報を第2の不揮発性メモリから読み出す更新前パラメータ定義読み出しプログラムと、メモリ上にファームウェア更新前の前記第1の不揮発性メモリに記憶されたパラメータ設定値と同じ形式のメモリイメージを作成する更新前メモリイメージ作成プログラムと、前記メモリイメージから前記ファームウェア更新前のパラメータ設定値を読み出しパラメータ識別子と関連付けて前記メモリに保持させる更新前パラメータ設定値保持プログラムと、前記ファームウェア更新後のパラメータ配置情報に従って前記メモリに保持させたファームウェア更新前のパラメータ設定値を前記メモリイメージに再配置するパラメータ設定値再配置プログラムと、パラメータ設定値が再配置された前記メモリイメージを前記第1の不揮発メモリにコピーする第1の不揮発性メモリ書き込みプログラムと、前記ファームウェア更新後に、更新後の前記ファームウェアのパラメータ定義情報を前記第2の不揮発性メモリ上に書き出す第2の不揮発性メモリ書き出しプログラムとを有することを特徴としている。 A firmware program according to the present invention is a firmware program for updating firmware for operating a device with reference to parameter setting values stored in a first nonvolatile memory, the firmware update program for updating the firmware, After updating the firmware , the parameter definition read program before update that reads parameter definition information including the parameter identifier and arrangement information of the firmware before update from the second nonvolatile memory, and the firmware before updating the firmware on the memory A pre-update memory image creation program for creating a memory image of the same format as the parameter setting values stored in the first nonvolatile memory; and a parameter reading value for reading the parameter setting values before the firmware update from the memory image A parameter setting value holding program before update to be held in the memory in association with a different child, and a parameter for rearranging the parameter setting value before firmware update held in the memory according to the parameter arrangement information after firmware update to the memory image A setting value rearrangement program, a first nonvolatile memory writing program for copying the memory image in which parameter setting values are rearranged to the first nonvolatile memory, and the firmware parameters after the firmware update And a second nonvolatile memory writing program for writing definition information on the second nonvolatile memory.

また、本発明に係るファームウェアプログラムは、第1の不揮発性メモリに記憶されたパラメータ設定値を参照して装置を動作させるファームウェアを更新するファームウェアプログラムであって、前記ファームウェアを更新するファームウェア更新プログラムと、前記ファームウェアの更新前に、更新前の前記ファームェアのパラメータ識別子と配置情報とを含むパラメータ定義情報を第2の不揮発性メモリから読み出す更新前パラメータ定義読み出しプログラムと、メモリ上にファームウェア更新前の前記第1の不揮発性メモリに記憶されたパラメータ設定値と同じ形式のメモリイメージを作成する更新前メモリイメージ作成プログラムと、前記メモリイメージから前記ファームウェア更新前のパラメータ設定値を読み出しパラメータ識別子と関連付けて前記メモリに保持させる更新前パラメータ設定値保持プログラムと、前記ファームウェア更新後のパラメータ配置情報に従って前記メモリに保持させたファームウェア更新前のパラメータ設定値を前記メモリイメージに再配置するパラメータ設定値再配置プログラムと、パラメータ設定値が再配置された前記メモリイメージを前記第1の不揮発メモリにコピーする第1の不揮発性メモリ書き込みプログラムと、前記ファームウェア更新後に、更新後の前記ファームウェアのパラメータ定義情報を前記第2の不揮発性メモリ上に書き出す第2の不揮発性メモリ書き出しプログラムとを有することを特徴としている。
としている。
A firmware program according to the present invention is a firmware program for updating firmware for operating a device with reference to parameter setting values stored in a first nonvolatile memory, the firmware update program for updating the firmware, Before update of the firmware, the parameter definition read program before update for reading parameter definition information including the parameter identifier and arrangement information of the firmware before update from the second nonvolatile memory, and the firmware before updating the firmware on the memory A pre-update memory image creation program for creating a memory image of the same format as the parameter setting value stored in the first nonvolatile memory; and reading the parameter setting value before firmware update from the memory image; A parameter setting value holding program before update stored in the memory in association with a child, and a parameter setting for rearranging the parameter setting value before firmware update held in the memory according to the parameter arrangement information after firmware update in the memory image A value relocation program, a first non-volatile memory writing program for copying the memory image in which parameter setting values are relocated to the first non-volatile memory, and the firmware parameter definition after the firmware update And a second nonvolatile memory writing program for writing information onto the second nonvolatile memory.
It is said.

本発明によれば、ファームウェアの更新前のをパラメータ仕様に基づきバイナリ形式のままで更新することを可能とし、暗号化されてテキスト形式では取り扱うことができないようなデータでも取り扱うことができるファームウェア更新方法及びファームウエアプログラムを提供することができる。   According to the present invention, it is possible to update the firmware before update in the binary format based on the parameter specification, and it is possible to handle the encrypted data that cannot be handled in the text format. And a firmware program can be provided.

画像形成装置の機能構成を説明する機能ブロック図である。2 is a functional block diagram illustrating a functional configuration of the image forming apparatus. FIG. ファームウェア更新前のパラメータ仕様を説明する概略図である。It is the schematic explaining the parameter specification before firmware update. ファームウェア更新前のEEPROMの設定パラメータがRAMにコピーされた仮想EEPROMの概略図である。It is the schematic of the virtual EEPROM by which the setting parameter of EEPROM before firmware update was copied to RAM. ファームウェア更新後のパラメータ仕様で初期化された仮想EEPROMの概略図である。It is the schematic of the virtual EEPROM initialized by the parameter specification after firmware update. 仮想EEPROMをファームウェア更新前の設定パラメータに書き換えた仮想EEPROMの概略図である。It is the schematic of the virtual EEPROM which rewritten the virtual EEPROM to the setting parameter before firmware update. 仮想EEPROMの作成、更新方法を説明する図である。It is a figure explaining the creation and update method of virtual EEPROM. 仮想EEPROMをファームウェア更新後のパラメータ仕様で初期化するため、一時的にRAMに待避させた状態を説明する図である。It is a figure explaining the state temporarily saved in RAM, in order to initialize virtual EEPROM with the parameter specification after firmware update. ファームウェア更新後のパラメータ仕様を説明する概略図である。It is the schematic explaining the parameter specification after firmware update. 更新後のファームウェアを動作させるための設定パラメータにファームウェア更新前の設定パラメータを反映させるための処理を説明するフローチャートである。It is a flowchart explaining the process for reflecting the setting parameter before firmware update in the setting parameter for operating the firmware after update. ファームウェア更新前のパラメータ仕様を説明する概略図である。It is the schematic explaining the parameter specification before firmware update. ファームウェア更新後のパラメータ仕様を説明する概略図である。It is the schematic explaining the parameter specification after firmware update. 更新後のファームウェアを動作させるための設定パラメータにファームウェア更新前の設定パラメータを反映させるための処理を説明するフローチャートである。It is a flowchart explaining the process for reflecting the setting parameter before firmware update in the setting parameter for operating the firmware after update.

以下、本発明の実施形態について図面を参照して説明する。なお、本発明は以下の記述に限定されるものではなく、本発明の要旨を逸脱しない範囲において適宜変更可能である。   Embodiments of the present invention will be described below with reference to the drawings. In addition, this invention is not limited to the following description, In the range which does not deviate from the summary of this invention, it can change suitably.

[第1の実施形態]
第1の実施形態の説明においては、本発明に係るファームウェアプログラムが適用された画像形成装置を一例とし、当該ファームウェアの更新方法について説明する。
[First Embodiment]
In the description of the first embodiment, an image forming apparatus to which the firmware program according to the present invention is applied will be described as an example, and the firmware update method will be described.

図1は、画像形成装置100の機能構成を説明する機能ブロック図である。画像形成装置100は、CPU(Central Processing Unit)101と、受信部102と、画像処理部103と、印刷部104と、第1の不揮発性メモリとしてのEEPROM(Electrically Erasable Programmable Read-Only Memory)105と、メモリとしてのRAM107と、FlashA109と、第2の不揮発性メモリとしてのFlashB112と、媒体給紙部115と、電源供給部116とを備え、受信部102を介して受信したデータに基づく画像を用紙等の媒体上に印刷することが可能な装置である。   FIG. 1 is a functional block diagram illustrating the functional configuration of the image forming apparatus 100. The image forming apparatus 100 includes a CPU (Central Processing Unit) 101, a receiving unit 102, an image processing unit 103, a printing unit 104, and an EEPROM (Electrically Erasable Programmable Read-Only Memory) 105 as a first nonvolatile memory. A RAM 107 as a memory, a Flash A 109, a Flash B 112 as a second non-volatile memory, a medium paper feeding unit 115, and a power supply unit 116, and an image based on the data received via the receiving unit 102. It is an apparatus capable of printing on a medium such as paper.

CPU101は、受信部102、画像処理部103、印刷部104、EEPROM105、RAM107、FlashA109、FlashB112、媒体給紙部115、及び電源供給部116とシステムバス114を介して接続されており、画像形成装置100全体を統括的に制御する。   The CPU 101 is connected to the receiving unit 102, the image processing unit 103, the printing unit 104, the EEPROM 105, the RAM 107, the Flash A 109, the Flash B 112, the medium feeding unit 115, and the power supply unit 116 via the system bus 114, and the image forming apparatus 100 overall control.

受信部102は、例えば、USB(universal Serial Bus)やネットワークで接続された図示せぬ外部の通信装置、PC(Personal Computer)から送信されたデータを受信するデータ受信部である。   The receiving unit 102 is a data receiving unit that receives data transmitted from, for example, an external communication device (not shown) connected via a USB (universal serial bus) or a network, or a PC (Personal Computer).

画像処理部103は、受信部102を介して受信したデータ又は画像形成装置100に蓄積されたデータを印刷部104において印刷可能な印刷データに変換して生成する印刷データ生成部である。   The image processing unit 103 is a print data generation unit that converts the data received via the reception unit 102 or the data accumulated in the image forming apparatus 100 into print data that can be printed by the printing unit 104 and is generated.

印刷部104は、例えば、電子写真方式の印刷エンジンを備え、画像処理部103において生成された印刷データを媒体としての用紙に印刷して出力する出力部である。   The printing unit 104 is an output unit that includes an electrophotographic print engine, for example, and prints the print data generated by the image processing unit 103 on paper as a medium for output.

EEPROM105は、電気信号により複数回の書き換えが可能な不揮発性メモリであり、画像形成装置100への給電が停止しても情報を保持する。EEPROM105は、画像形成装置100の動作設定を定義するである設定パラメータ106を保持する。   The EEPROM 105 is a non-volatile memory that can be rewritten a plurality of times by an electrical signal, and retains information even when power supply to the image forming apparatus 100 is stopped. The EEPROM 105 holds a setting parameter 106 that defines operation settings of the image forming apparatus 100.

RAM107は揮発性のメモリであり、受信部102を介して受信したデータや、画像処理部103が生成した印刷データを一時的に保持する。また、RAM107は、設定パラメータ106を後述するファームウェア更新後のパラメータ仕様に基づきEEPROM105に再配置するための設定パラーメータ106と同形式のパラメータデータである仮想EEPROM108を保持する。   A RAM 107 is a volatile memory, and temporarily stores data received via the receiving unit 102 and print data generated by the image processing unit 103. Further, the RAM 107 holds a virtual EEPROM 108 that is parameter data in the same format as the setting parameter 106 for rearranging the setting parameter 106 in the EEPROM 105 based on a parameter specification after firmware update described later.

FlashA109は、電気信号により複数回の書き換えが可能な不揮発性メモリであり、画像形成装置100への給電が停止しても情報を保持する。FlashA109は、画像形成装置100の動作を制御するファームウェア110を保持する。ファームウェア110は、画像形成装置100の動作を制御するプログラムであり、当該ファームウェア110を動作させるためのパラメータ仕様である、ファームウェア更新後のパラメータ仕様111を有する。なお、ファームウェア110は、RAM107上にコピーされてCPU101により実行される。   The flash A 109 is a non-volatile memory that can be rewritten a plurality of times by an electric signal, and retains information even when power supply to the image forming apparatus 100 is stopped. The flash A 109 holds firmware 110 that controls the operation of the image forming apparatus 100. The firmware 110 is a program for controlling the operation of the image forming apparatus 100, and has a parameter specification 111 after updating the firmware, which is a parameter specification for operating the firmware 110. Note that the firmware 110 is copied onto the RAM 107 and executed by the CPU 101.

FlashB112は、FlashA109と同様な不揮発性メモリであり、印刷データやログデータ等を保持する。また、FlashB112は、FlashA109上のファームウェア110が書き換えられた後、EEPROM105の設定パラメータ106にファームウェア更新前の設定パラメータを書き戻す際に使用されるファームウェア更新前のパラメータ仕様113を保持する。パラメータ仕様113は、ファームウェア更新後、ファームウェア更新前の設定パラメータがEEPROM105の設定パラメータ106に書き戻された後に、FlashA109のパラメータ仕様111として更新される。   The Flash B 112 is a non-volatile memory similar to the Flash A 109, and holds print data, log data, and the like. The Flash B 112 holds a parameter specification 113 before updating the firmware that is used when the setting parameter before updating the firmware is written back to the setting parameter 106 of the EEPROM 105 after the firmware 110 on the Flash A 109 is rewritten. The parameter specification 113 is updated as the parameter specification 111 of the FlashA 109 after the firmware update and the setting parameter before the firmware update is written back to the setting parameter 106 of the EEPROM 105.

媒体給紙部115は、例えば、A4サイズやレターサイズの用紙がセットされるカセットを有し、印刷部104に対して用紙を給紙する媒体給紙部である。   The medium feeding unit 115 is a medium feeding unit that has a cassette in which, for example, A4 size or letter size paper is set, and feeds the paper to the printing unit 104.

電源供給部116は、画像形成装置100に所定の電力を供給する電源部である。   The power supply unit 116 is a power supply unit that supplies predetermined power to the image forming apparatus 100.

次に、本実施形態に係るパラメータ仕様について説明する。本実施形態に係るパラメータ仕様とは、パラメータを一意に識別するためのパラメータ識別子としてのIDと、後述する配置等のパラメータ属性とが関連付けられたパラメータ仕様のことを表す。図2は、ファームウェア更新前のパラメータ仕様113を説明する概略図である。本実施形態に係るパラメータ仕様113は、パラメータID121と、パラメータ名122と、パラメータの属性である型123と、初期値124と、サイズ125と、配置(オフセット)126(以下、配置126と称する)とを有する。   Next, parameter specifications according to the present embodiment will be described. The parameter specification according to the present embodiment represents a parameter specification in which an ID as a parameter identifier for uniquely identifying a parameter and a parameter attribute such as an arrangement described later are associated with each other. FIG. 2 is a schematic diagram illustrating the parameter specification 113 before updating the firmware. The parameter specification 113 according to this embodiment includes a parameter ID 121, a parameter name 122, a parameter attribute type 123, an initial value 124, a size 125, and an arrangement (offset) 126 (hereinafter referred to as an arrangement 126). And have.

ID121は、パラメータを一意に識別するためのIDである。ID121はパラメータに対して一意に割り当てられ、異なるファームウェアの版数で別のパラメータに割り当てられることはない。パラメータ名122は、パラメータの名称である。型123は、パラメータの属性の一つであり、文字列型(STRING)、数値型(INT)、列挙型(ENUM)といったパラメータの型である。初期値124は、パラメータの初期値である。サイズ125は、パラメータのデータ長である。配置126は、EEPROM105上の設定パラメータ106の先頭アドレスからのビットオフセットである。なお、パラメータの属性は本実施形態で挙げたもの以外にも多数存在するが、ここでは説明を容易とするために代表的な属性だけを取り上げた。   The ID 121 is an ID for uniquely identifying a parameter. The ID 121 is uniquely assigned to the parameter, and is not assigned to another parameter with a different firmware version number. The parameter name 122 is the name of the parameter. The type 123 is one of parameter attributes, and is a parameter type such as a character string type (STRING), a numeric type (INT), or an enumeration type (ENUM). The initial value 124 is an initial value of the parameter. The size 125 is the data length of the parameter. The arrangement 126 is a bit offset from the start address of the setting parameter 106 on the EEPROM 105. Although many parameter attributes exist in addition to those described in this embodiment, only representative attributes are taken up here for ease of explanation.

より具体的に説明すると、ID121が"1"のパラメータ名122"ModelName"は、画像形成装置のモデル名を表し、そのパラメータの型123は文字列型である。パラメータの初期値124は"model"であり、そのサイズ125たるデータ長は"6"バイト、設定パラメータ106の先頭に配置されるパラメータである。次に、ID121が"2"のパラメータ名122"AdminPassword"は装置管理者のパスワードを表し、そのパラメータの型123は文字列型である。パラメータの初期値124は"12334"であり、そのデータ長は"4"バイト、設定パラメータ106の先頭から100バイト目に配置されるパラメータである。ここで、IDが連続しているからといって、設定パラメータで連続した領域に配置されるとは限らない。ここで挙げた、パラメータ"ModelName"とパラメータ"AdminPassword"とはIDが"1"と"2"とで連続しているが、設定パラメータ上はその間に別のIDが配置されることもある。なお、パラメータ"AdminPassword"は暗号化されて、設定パラメータ106に格納されるが、その暗号化方式は周知の技術を用いることができるため、ここでの説明は省略する。   More specifically, the parameter name 122 “ModelName” whose ID 121 is “1” represents the model name of the image forming apparatus, and the parameter type 123 is a character string type. The initial value 124 of the parameter is “model”, the data length of the size 125 is “6” bytes, and the parameter is arranged at the head of the setting parameter 106. Next, the parameter name 122 “AdminPassword” whose ID 121 is “2” represents the password of the apparatus administrator, and the parameter type 123 is a character string type. The initial value 124 of the parameter is “12334”, the data length is “4” bytes, and the parameter is arranged at the 100th byte from the top of the setting parameter 106. Here, just because the IDs are continuous does not mean that the IDs are arranged in a continuous region with the setting parameters. The parameter “ModelName” and the parameter “AdminPassword” listed here have consecutive IDs of “1” and “2”, but different IDs may be arranged between the setting parameters. Note that the parameter “AdminPassword” is encrypted and stored in the setting parameter 106, but since a known technique can be used for the encryption method, description thereof is omitted here.

そして、ID121が"3"のパラメータ名122"ModeSize"は、A4サイズ、レターサイズといった印刷に供される用紙のサイズを表し、そのパラメータの型123は列挙型である。パラメータの初期値124は"12"であり、そのデータ長は"2"バイト、配置126は"0×1FE"である。ID121が"500"のパラメータ名122"PowerSaveMode"は、印刷終了後に所定の時間が経過し、電源供給部116が低消費電力であるパワーセーブ状態に移行するでまでの時間を表し、そのパラメータの型123は、例えば、1分、5分、10分、30分、60分、120分といった列挙型である。パラメータの初期値124は"3"であり、そのデータ長は"1"バイト、設定パラメータ106の最後に配置されるパラメータである。   A parameter name 122 “ModeSize” having an ID 121 of “3” represents the size of paper used for printing such as A4 size and letter size, and the parameter type 123 is an enumerated type. The initial value 124 of the parameter is “12”, the data length is “2” bytes, and the arrangement 126 is “0 × 1FE”. The parameter name 122 “PowerSaveMode” whose ID 121 is “500” represents the time until the power supply unit 116 shifts to the power saving state with low power consumption after a predetermined time has elapsed after the printing is finished. The type 123 is an enumerated type such as 1 minute, 5 minutes, 10 minutes, 30 minutes, 60 minutes, and 120 minutes. The initial value 124 of the parameter is “3”, the data length thereof is “1” bytes, and the parameter is arranged at the end of the setting parameter 106.

次に、RAM107が保持する仮想EEPROM108について説明する。仮想EEPROM108は、ファームウェアの更新前後において、RAM107に保持される内容が異なる。図3は、ファームウェア更新前のEEPROM105上の設定パラメータ106がRAM107にコピーされた仮想EEPROM108Aの概略図であり、図4は、ファームウェア更新後のパラメータ仕様で初期化された仮想EEPROM108Bの概略図であり、図5は、仮想EEPROM108Bをファームウェア更新前の設定パラメータに書き換えた仮想EEPROM108Cの概略図である。   Next, the virtual EEPROM 108 held by the RAM 107 will be described. The virtual EEPROM 108 has different contents held in the RAM 107 before and after the firmware update. FIG. 3 is a schematic diagram of the virtual EEPROM 108A in which the setting parameter 106 on the EEPROM 105 before the firmware update is copied to the RAM 107. FIG. 4 is a schematic diagram of the virtual EEPROM 108B initialized with the parameter specifications after the firmware update. FIG. 5 is a schematic diagram of a virtual EEPROM 108C in which the virtual EEPROM 108B is rewritten with setting parameters before updating the firmware.

ここで、RAM107において仮想EEPROM108が作成され、どのように更新されていくのかを図6を用いて説明する。   Here, how the virtual EEPROM 108 is created and updated in the RAM 107 will be described with reference to FIG.

更新前パラメータ定義情報450は、FlashB112で保持されたパラメータ仕様113がRAM106に展開されたデータである。更新前パラメータ設定値451は、仮想EEPROM108Aのを更新前パラメータ定義情報450に従ってメモリ上に展開したデータである。更新後パラメータ定義情報452は、更新後のファームウェア110のパラメータ仕様111をRAM107上に展開したデータである。すなわち、EEPROM105上のをRAM107上にコピーした状態が仮想EEPROM108A、更新後のファームウェア110のパラメータ定義情報452で仮想EEPROM108Aを初期化した状態が仮想EEPROM108B、仮想EEPROM108Bに更新前のパラメータを再配置した状態が仮想EEPROM108Cである。   The pre-update parameter definition information 450 is data in which the parameter specification 113 held in the Flash B 112 is expanded in the RAM 106. The pre-update parameter setting value 451 is data obtained by developing the virtual EEPROM 108A on the memory in accordance with the pre-update parameter definition information 450. The updated parameter definition information 452 is data obtained by expanding the parameter specification 111 of the updated firmware 110 on the RAM 107. That is, the state where the EEPROM 105 is copied to the RAM 107 is the virtual EEPROM 108A, the state where the virtual EEPROM 108A is initialized with the parameter definition information 452 of the updated firmware 110 is the virtual EEPROM 108B, and the pre-update parameters are rearranged in the virtual EEPROM 108B Is the virtual EEPROM 108C.

そして、図3に示すように、仮想EEPROM108Aには、パラメータ仕様113の配置126に従い、各パラメータが配置されている。具体的には、設定パラメータが保持されている先頭アドレスからオフセット0×0にID121が"1"のパラメータ名122"ModelName"がデータ長"6"バイトで割り当てられている。同様に、オフセット0×100にID121が"2"のパラメータ名"Adminpassword"がデータ長"4"バイトで割り当てられている。オフセット0×1FEにID121が"3"のパラメータ名"MediaSize"がデータ長"2"で、オフセット0×71EにID121が"500"のパラメータ名122"PowerSaveMode"がデータ長"1"バイトで割り当てられている。   Then, as shown in FIG. 3, each parameter is arranged in the virtual EEPROM 108A in accordance with the arrangement 126 of the parameter specification 113. More specifically, a parameter name 122 “ModelName” having an ID 121 of “1” is assigned with a data length of “6” bytes at an offset 0 × 0 from the head address holding the setting parameter. Similarly, a parameter name “Adminpassword” with an ID 121 of “2” is assigned to an offset 0 × 100 with a data length of “4” bytes. Parameter name “MediaSize” with ID 121 “3” at offset 0 × 1FE and data length “2”, Parameter name 122 “PowerSaveMode” with ID 121 “500” at offset 0 × 71E and data length “1” bytes It has been.

図7は、仮想EEPROM108Aをファームウェア更新後のパラメータ仕様111で初期化するため、一時的にRAM107に待避させた状態を説明する図である。   FIG. 7 is a diagram for explaining a state in which the virtual EEPROM 108A is temporarily saved in the RAM 107 in order to initialize with the parameter specification 111 after the firmware update.

図7(a)に示すID−設定パラメータ関連テーブルは、各パラメータを待避させる前に、パラメータID160の数だけ用意される固定長のテーブルである。ID−設定パラメータ関連テーブルは、パラメータID160とパラメータ属性とを関連付けるテーブルであるが、実際は、パラメータID160とパラメータ属性が格納されたメモリへのアドレス161のポインタとを関連付ける。これは、パラメータ属性のサイズがパラメータ毎に異なり、パラメータID160とパラメータ属性とを直接関連付けると、ID−設定パラメータ関連テーブルのRAM107上におけるサイズが非常に大きくなってしまうからである。図7(a)に示されるように、パラメータ属性の代わりにそのパラメータ属性が格納されているメモリのアドレス161であれば、パラメータ毎に固定の4バイトのデータ長であるため、ID−設定関連テーブルのサイズも小さくすることができる。   The ID-setting parameter relation table shown in FIG. 7A is a fixed length table prepared for each parameter ID 160 before each parameter is saved. The ID-setting parameter relation table is a table for associating the parameter ID 160 with the parameter attribute, but actually associates the parameter ID 160 with the pointer of the address 161 to the memory storing the parameter attribute. This is because the size of the parameter attribute differs for each parameter, and if the parameter ID 160 and the parameter attribute are directly associated, the size of the ID-setting parameter relation table on the RAM 107 becomes very large. As shown in FIG. 7A, if the address 161 of the memory storing the parameter attribute is used instead of the parameter attribute, the data length is fixed to 4 bytes for each parameter. The table size can also be reduced.

図7(b)は、各パラメータの格納メモリを表す概略図である。各パラメータの待避は、パラメータ毎にパラメータ仕様113のサイズ125で定義されたサイズ分だけメモリが確保され、確保されたメモリへ仮想EEPROM108Aから取り出されたデータがバイナリ形式のまま格納される。図7(b)に示す例においては、ID121が"1"のパラメータ名122"ModelName"においてはアドレス0×500000からデータ長"6"バイトのデータ長がメモリ171に確保され、格納されている様子が示されている。同様に、ID121が"2"のパラメータ名122"AdminPassword"においてはアドレス0×500010からデータ長"4"バイトのデータ長がメモリ171に確保され、ID121が"3"のパラメータ名122"MediaSize"においてはアドレス0×500020からデータ長"2"バイトのデータ長がメモリ171が確保され、ID121が"500"のパラメータ名122"PowerSaveMode"においてはアドレス0×501F40からデータ長"1"バイトのデータ長がメモリ171に確保され、それぞれ格納されている。なお、ID121が"2"のパラメータ名122"AdminPassword"はデータ長"4"バイトの数値文字列で形成されるが、このパラメータは暗号化された状態で格納される。なお、本実施形態に係るファームウェア更新前のパラメータ仕様113では登録されているパラメータ数は500であるものとする。ID121が"500"のパラメータ名122"PowerSaveMode"は、パラメータ仕様113の最後に登録されているパラメータであり、オフセットの値も一番大きな値である。   FIG. 7B is a schematic diagram showing a storage memory for each parameter. In saving each parameter, the memory is secured by the size defined by the size 125 of the parameter specification 113 for each parameter, and the data extracted from the virtual EEPROM 108A is stored in the secured memory in the binary format. In the example shown in FIG. 7B, in the parameter name 122 “ModelName” whose ID 121 is “1”, the data length “6” bytes from the address 0 × 500000 is secured in the memory 171 and stored. The situation is shown. Similarly, in the parameter name 122 “AdminPassword” whose ID 121 is “2”, the data length of “4” bytes from the address 0 × 500010 is secured in the memory 171, and the parameter name 122 “MediaSize” whose ID 121 is “3”. In this case, the memory 171 is secured with the data length “2” bytes from the address 0 × 500020, and the parameter name 122 “PowerSaveMode” with the ID 121 “500” has the data length “1” bytes from the address 0 × 501F40. The length is secured in the memory 171 and stored respectively. The parameter name 122 “AdminPassword” whose ID 121 is “2” is formed by a numerical character string having a data length of “4” bytes, but this parameter is stored in an encrypted state. In the parameter specification 113 before the firmware update according to the present embodiment, the number of registered parameters is 500. The parameter name 122 “PowerSaveMode” whose ID 121 is “500” is a parameter registered at the end of the parameter specification 113, and the offset value is the largest value.

図8は、ファームウェア更新後のパラメータ仕様111を説明する概略図である。図8に示すファームウェア更新後のパラメータ仕様111では、ID121が"2"のパラメータ名122"AdminPassword"のデータ長が"4"バイトから"6"バイトにサイズが変更になっている。これに伴い、図4で示した仮想EEPROM108Bも、"AdminPassword"よりも後ろに配置されている全てのパラメータのオフセットが2バイトだけ後ろに配置されている。更に、ファームウェア更新で新たに追加されたパラメータ"WirelessLAN"も最後に追加されている。図4で示した仮想EEPROM108Bの各パラメータは全て、ファームウェア更新後のパラメータ仕様111の初期値124の値である。EEPROM108Bに示すように、一旦、各パラメータを初期化する理由は、ファームウェア更新前後でパラメータ仕様に差異があった場合に、ファームウェア更新前の値を書き戻すと、その値は利用者の期待通りの振る舞いをするとは限らないためである。   FIG. 8 is a schematic diagram for explaining the parameter specification 111 after firmware update. In the parameter specification 111 after the firmware update illustrated in FIG. 8, the data length of the parameter name 122 “AdminPassword” with the ID 121 of “2” is changed from “4” bytes to “6” bytes. Accordingly, in the virtual EEPROM 108B shown in FIG. 4, the offsets of all parameters arranged behind “AdminPassword” are arranged behind by 2 bytes. Furthermore, the parameter “WirelessLAN” newly added by the firmware update is also added last. All the parameters of the virtual EEPROM 108B shown in FIG. 4 are values of the initial value 124 of the parameter specification 111 after the firmware update. As shown in the EEPROM 108B, the reason for initializing each parameter is that if there is a difference in parameter specifications before and after the firmware update, if the value before the firmware update is written back, the value will be as expected by the user. This is because they do not always behave.

一旦、初期化して(仮想EEPROM108B)、その後、仕様に変更がないパラメータだけを図7に示した一時保持されたファームウェア更新前の設定パラメータから仮想EEPROM108に書き戻せば、前述したように、ファームウェア更新前後で仕様が変更になったパラメータは更新後のファームウェアの初期値に初期化される。   Once initialized (virtual EEPROM 108B) and then only the parameters whose specifications are not changed are written back to the virtual EEPROM 108 from the temporarily stored setting parameters before the firmware update shown in FIG. Parameters whose specifications have been changed before and after are initialized to the initial values of the updated firmware.

図5のEEPROM108Cの概略図に示したように、仕様に変更があった、ID121が"2"のパラメータ名122"AdminPassword"だけは、ファームウェア設定前のパラメータが書き戻されず、ファームウェア更新後のパラメータ仕様113に示された初期値に置き換わっている。   As shown in the schematic diagram of the EEPROM 108C in FIG. 5, only the parameter name 122 “AdminPassword” whose ID 121 is “2” whose specification has been changed is not written back, and the parameter after firmware update is not written back. The initial value shown in the specification 113 is replaced.

次に、更新後のファームウェアを動作させるための設定パラメータにファームウェア更新前の設定パラメータを反映させるための処理について図9のフローチャートを用いて説明する。   Next, a process for reflecting the setting parameter before updating the firmware in the setting parameter for operating the updated firmware will be described with reference to the flowchart of FIG.

なお、ファームウェアの更新は、RAM107上に展開されたファームウェアをCPU101が実行することによって行われる。そして、画像形成装置100の再起動後に同様にRAM107上に展開された更新後のファームウェアをCPU101が実行することによってステップS400以降の処理が行われる。   The firmware is updated by the CPU 101 executing the firmware developed on the RAM 107. Then, after the image forming apparatus 100 is restarted, the CPU 101 executes the updated firmware developed on the RAM 107 in the same manner, so that the processing from step S400 is performed.

ステップS400において、ファームウェアが更新されると、CPU101はRAM107上にEEPROM105のメモリイメージ(仮想EEPROM108A)を作成する(ステップS500)。以降の設定パラメータ処理においては、EEPROM105に最終的な設定パラメータが書き込まれるまで、この仮想EEPROM108に対して処理が行われる。これは、一般的なEEPROMには書き込み回数に制限があるためであり、書き込み回数の増加によってEEPROMの寿命を必要以上に縮めないための配慮である。   When the firmware is updated in step S400, the CPU 101 creates a memory image (virtual EEPROM 108A) of the EEPROM 105 on the RAM 107 (step S500). In the subsequent setting parameter processing, the virtual EEPROM 108 is processed until the final setting parameters are written in the EEPROM 105. This is because a general EEPROM has a limit on the number of times of writing, and is a consideration for preventing the life of the EEPROM from being shortened more than necessary by increasing the number of times of writing.

RAM107上に仮想EEPROM108Aを作成した後、CPU101はFlashB112が保持するファームウェア更新前のパラメータ仕様113に基づいて、仮想EEPROM108Aからファームウェア更新前の設定パラメータを読み出す(ステップS502)。そして、CPU101は、読み出した設定パラメータをRAM107に保持させる。   After creating the virtual EEPROM 108A on the RAM 107, the CPU 101 reads out the setting parameter before the firmware update from the virtual EEPROM 108A based on the parameter specification 113 before the firmware update held by the FlashB 112 (step S502). Then, the CPU 101 stores the read setting parameter in the RAM 107.

次に、CPU101は、仮想EEPROM108Aをファームウェア更新後のパラメータ仕様111に従って初期化し仮想EEPROM108Bを作成する(ステップS502)。そして、CPU101は、以下の手順に従って、仮想EEPROM108Bに対して、ファームウェア更新前の設定パラメータをID121が"1"のパラメータ名122"ModelName"からID121が"500"のパラメータ名122"PowerSaveMode"まで順番に1つずつ再配置して仮想EEPROM108Cを作成する。   Next, the CPU 101 initializes the virtual EEPROM 108A according to the parameter specification 111 after the firmware update, and creates the virtual EEPROM 108B (step S502). Then, according to the following procedure, the CPU 101 sequentially sets the setting parameters before updating the firmware from the parameter name 122 “ModelName” with ID 121 “1” to the parameter name 122 “PowerSaveMode” with ID 121 “500”. Are rearranged one by one to create a virtual EEPROM 108C.

ステップS503において、CPU101はファームウェア更新後のパラメータ仕様に同じIDのパラメータが存在するか否かを確認する。ここで、同じIDのパラメータが存在する場合(ステップS503 有)、CPU101はファームウェア更新前後の属性の差異を確認する(ステップS504)。   In step S503, the CPU 101 confirms whether there is a parameter with the same ID in the parameter specification after the firmware update. If there is a parameter with the same ID (Yes in step S503), the CPU 101 checks the attribute difference before and after the firmware update (step S504).

すなわち、CPU101は、パラメータの型(ステップS505)、初期値(ステップS506)、サイズ(ステップ507)を確認する。全ての仕様に差異が見つからなかった場合(ステップS505 無、ステップS506 無、ステップS507 無)、CPU101は、仮想EEPROM108Bの値をファームウェア更新前の値に書き戻す(ステップS508)。これに対して、同じIDのパラメータが存在しない場合(ステップS503 無)、又はパラメータの型、初期値、サイズの何れの値に差異があった場合(ステップS505、ステップS506、ステップS507の何れかが有)、CPU101はEEPROM108Bの値をファームウェア更新前の値に書き戻さない。   That is, the CPU 101 confirms the parameter type (step S505), the initial value (step S506), and the size (step 507). If no difference is found in all the specifications (step S505 none, step S506 none, step S507 none), the CPU 101 writes the value of the virtual EEPROM 108B back to the value before the firmware update (step S508). On the other hand, when there is no parameter with the same ID (no step S503), or when there is a difference in any of the parameter type, initial value, and size (any of step S505, step S506, or step S507) The CPU 101 does not write the value of the EEPROM 108B back to the value before the firmware update.

ファームウェア更新前後において、パラメータの仕様に差異があった場合にファームウェア更新前の値を書き戻すと、その値は利用者の期待した通りの振る舞いをするとは限らないため、仕様に変更があった場合、CPU101は新しい初期値を設定する。   When there is a difference in the parameter specifications before and after the firmware update, if the value before the firmware update is written back, the value may not behave as expected by the user, so the specification has changed. The CPU 101 sets a new initial value.

ID121が"500"のパラメータ名122"PowerSaveMode"の再配置が完了した後、CPU101は仮想EEPROM108CをEEPROM105にコピーする(ステップS509)。   After the rearrangement of the parameter name 122 “PowerSaveMode” whose ID 121 is “500” is completed, the CPU 101 copies the virtual EEPROM 108C to the EEPROM 105 (step S509).

最後に、CPU101は、FlashB112に保持されているパラーメタ仕様113をファームウェア更新後のパラメータ仕様111に差替えて処理を終了する(ステップS510)。   Finally, the CPU 101 replaces the parameter specification 113 held in the FlashB 112 with the parameter specification 111 after the firmware update, and ends the process (step S510).

以上のように、第1の実施形態によれば、ファームウェアの更新前の設定パラメータをパラメータ仕様に基づきバイナリ形式のままで更新することを可能とし、暗号化されてテキスト形式では取り扱うことができないようなデータでも取り扱うことができる。   As described above, according to the first embodiment, it is possible to update the setting parameters before updating the firmware in the binary format based on the parameter specifications, and the encrypted parameters cannot be handled in the text format. Can handle any kind of data.

[第2の実施形態]
図10は、本実施形態に係るファームウェア更新前のパラメータ仕様を説明する図である。本実施形態に係るパラメータ仕様113'は、第1の実施形態において説明したパラメータ仕様113に対して版数401が新たに追加されたものである。版数401は、各パラメータに付属する属性であり、配置126を除く、型123、初期値124、サイズ125の他の属性の何れかに変更があった場合に、ファームウェア更新の単位で前の版数に対して1だけインクリメントされる数である。版数の初期値は"1"であり、これは新規で登録されたパラメータの版数は"1"となるという意味である。図10に示したように、本実施形態に係るファームウェア更新前のパラメータ仕様113'において、例として挙げたパラメータの版数は全て"1"とした。
[Second Embodiment]
FIG. 10 is a diagram for explaining parameter specifications before firmware update according to the present embodiment. The parameter specification 113 ′ according to the present embodiment is a version number 401 newly added to the parameter specification 113 described in the first embodiment. The version number 401 is an attribute attached to each parameter, and when any of the other attributes of the type 123, the initial value 124, and the size 125, excluding the arrangement 126, is changed in the unit of firmware update. The number is incremented by 1 with respect to the version number. The initial version number is “1”, which means that the version number of the newly registered parameter is “1”. As shown in FIG. 10, in the parameter specification 113 ′ before the firmware update according to the present embodiment, the version numbers of the parameters given as examples are all “1”.

第1の実施形態においては、パラメータ仕様の属性の1つ1つをチェックしなければ、そのパラメータ仕様に変更があるか否かを確認できなかったのに対し、本実施形態においては、版数401の変更の有無のみをチェックするだけでそのパラメータ仕様に変更があるか否かを確認することができる。なお、本実施形態の説明において、第1の実施形態において説明した構成及び動作について同一な箇所については同一の符号を付してその説明を省略する。   In the first embodiment, it is not possible to confirm whether or not there is a change in the parameter specification without checking each attribute of the parameter specification. It is possible to confirm whether or not there is a change in the parameter specification by only checking whether or not 401 is changed. In the description of the present embodiment, the same portions as those in the configuration and operation described in the first embodiment are denoted by the same reference numerals, and the description thereof is omitted.

図11は、本実施形態に係るファームウェア更新後のパラメータ仕様111'を説明する概略図である。図11に示すファームウェア更新後のパラメータ仕様111'では、ID121が"2"のパラメータ名122"AdminPassword"の仕様が第1の実施形態と同様にファームウェアの更新前後で変更がなされている。そのため、ID121が"2"のパラメータ名122"AdminPassword"の版数は"2"となっている。   FIG. 11 is a schematic diagram for explaining the parameter specification 111 ′ after the firmware update according to the present embodiment. In the parameter specification 111 ′ after the firmware update shown in FIG. 11, the specification of the parameter name 122 “AdminPassword” with the ID 121 of “2” is changed before and after the firmware update as in the first embodiment. Therefore, the version number of the parameter name 122 “AdminPassword” whose ID 121 is “2” is “2”.

次に、更新後のファームウェアを動作させるための設定パラメータにファームウェア更新前の設定パラメータを反映させるための処理について図12のフローチャートを用いて説明する。   Next, a process for reflecting the setting parameter before updating the firmware in the setting parameter for operating the updated firmware will be described with reference to the flowchart of FIG.

図12のフローチャートに示す処理は、図9のフローチャートにおいて説明したステップS504、ステップS505、ステップS506、及びステップS507に係るパラメータ仕様に差異があるか否かの一連の判断処理が、ステップS700に示される版数に差異があるか否かの判断処理に置き換わったものであり、その他の処理は図9で説明した処理と同一である。したがって、ここでは、ステップS700に示される版数に差異があるか否かの判断処理についてのみ説明する。   The process shown in the flowchart of FIG. 12 is a series of processes for determining whether or not there is a difference in the parameter specifications related to step S504, step S505, step S506, and step S507 described in the flowchart of FIG. 9 is replaced with a process for determining whether or not there is a difference in the version numbers, and the other processes are the same as those described with reference to FIG. Therefore, only the determination process for determining whether or not there is a difference in the version numbers shown in step S700 will be described here.

図10及び図11に示したように、ID121が"2"のパラメータ名"AdminPassword"の版数は、ファームウェア更新前後で異なる。そのため、CPU101は、版数に差異があると判断し(ステップS700 有)、仮想EEPROM108Bから値を変更しない。一方、ID121が"1"のパラメータ名122"ModelName"、ID121が"3"のパラメータ名"MediaSize"、及びID121が"500"のパラメータ名"PoweerSaveMode"についてはファームウェア更新前後において版数の値は"1"のままである。したがって、CPU101は、版数に差異がないと判断し(ステップS700 無)、ステップS508において、仮想EEPROM108Bに対して更新処理を実行する。なお、ID121が"501"のパラメータ名122"WirelessLAN"は、ファームウェア更新後に新たに追加されたパラメータであるため更新は行われず、ステップS502において仮想EEPROM108Bに書き出された値がそのまま、ステップS509においてEERPOM105にコピーされる。   As shown in FIGS. 10 and 11, the version number of the parameter name “AdminPassword” whose ID 121 is “2” is different before and after the firmware update. Therefore, the CPU 101 determines that there is a difference in the version number (Yes in step S700), and does not change the value from the virtual EEPROM 108B. On the other hand, for the parameter name 122 “ModelName” whose ID 121 is “1”, the parameter name “MediaSize” whose ID 121 is “3”, and the parameter name “PowerSaveMode” whose ID 121 is “500”, the version number is the same before and after the firmware update. It remains “1”. Therefore, the CPU 101 determines that there is no difference in the version numbers (step S700: no), and executes an update process for the virtual EEPROM 108B in step S508. Note that the parameter name 122 “WirelessLAN” with the ID 121 of “501” is a parameter that has been newly added after the firmware update, and thus is not updated. The value written in the virtual EEPROM 108B in step S502 remains as it is in step S509. Copied to EERPOM 105.

以上のように、第2の実施形態によれば、第1の実施形態の効果に加え、パラメータ仕様差分の有無を示す版数という属性が追加されたため、各パラメータに対するファームウェアの更新前の設定値に戻すか否かの判断処理に係る処理速度を向上させることできる。これは、パラメータの数、各パラメータの属性の数が増えれば増えるほど大きな効果となる。   As described above, according to the second embodiment, in addition to the effect of the first embodiment, the attribute of the version number indicating the presence or absence of the parameter specification difference is added, so the setting value before updating the firmware for each parameter It is possible to improve the processing speed related to the determination process of whether or not to return to the above. This becomes more effective as the number of parameters and the number of attributes of each parameter increase.

本実施形態の説明においては、暗号化されてテキスト形式では取り扱うことができないようなデータとして管理者パスワード(AdminPassword)を例として挙げたが、画像形成装置外部で暗号化され、画像形成装置では復号化できないようなデータに対しても有効である。   In the description of the present embodiment, an administrator password (AdminPassword) is given as an example of data that is encrypted and cannot be handled in the text format. However, it is encrypted outside the image forming apparatus and decrypted by the image forming apparatus. It is also effective for data that cannot be converted to

また、本実施形態の説明においては、画像形成装置の印刷機能を例にとって説明したが、本発明はこれに限定されず、ファームウェアを更新する機能を備えた全ての装置に適用可能である。   In the description of the present embodiment, the print function of the image forming apparatus has been described as an example. However, the present invention is not limited to this, and can be applied to all apparatuses having a function of updating firmware.

100 画像形成装置
101 CPU
102 受信部
103 画像処理部
104 印刷部
105 EEPROM
106 設定パラメータ
107 RAM
108 仮想EEPROM
109 FlashA
110 ファームウェア
111,111' パラメータ仕様
112 FlashB
113,113' パラメータ仕様
114 システムバス
115 媒体給紙部
116 電源供給部
100 Image forming apparatus 101 CPU
102 receiving unit 103 image processing unit 104 printing unit 105 EEPROM
106 Setting parameter 107 RAM
108 Virtual EEPROM
109 FlashA
110 Firmware 111, 111 'Parameter specification 112 FlashB
113, 113 ′ Parameter specification 114 System bus 115 Medium feeding unit 116 Power supply unit

Claims (8)

第1の不揮発性メモリに記憶されたパラメータ設定値を参照して装置を動作させるファームウェアを更新する方法であって、
前記ファームウェアを更新するファームウェア更新ステップと、
前記ファームウェアの更新後に、更新前の前記ファームウェアのパラメータ識別子と配置情報とを含むパラメータ定義情報を第2の不揮発性メモリから読み出す更新前パラメータ定義読み出しステップと、
メモリ上にファームウェア更新前の前記第1の不揮発性メモリに記憶されたパラメータ設定値と同じ形式のメモリイメージを作成する更新前メモリイメージ作成ステップと、
前記メモリイメージから前記ファームウェア更新前のパラメータ設定値を読み出しパラメータ識別子と関連付けて前記メモリに保持させる更新前パラメータ設定値保持ステップと、
前記ファームウェア更新後のパラメータ配置情報に従って前記メモリに保持させたファームウェア更新前のパラメータ設定値を前記メモリイメージに再配置するパラメータ設定値再配置ステップと、
パラメータ設定値が再配置された前記メモリイメージを前記第1の不揮発メモリにコピーする第1の不揮発性メモリ書き込みステップと、
前記ファームウェア更新後に、更新後の前記ファームウェアのパラメータ定義情報を前記第2の不揮発性メモリ上に書き出す第2の不揮発性メモリ書き出しステップとを有することを特徴とするファームウェア更新方法。
A method for updating firmware for operating a device with reference to a parameter setting value stored in a first nonvolatile memory,
A firmware update step for updating the firmware;
A pre-update parameter definition read step for reading parameter definition information including the parameter identifier and arrangement information of the firmware before update from the second nonvolatile memory after the firmware update ;
A pre-update memory image creation step for creating a memory image in the same format as the parameter setting value stored in the first nonvolatile memory before firmware update on the memory;
A pre-update parameter setting value holding step for reading the parameter setting value before firmware update from the memory image and associating it with a parameter identifier and holding it in the memory;
A parameter setting value rearrangement step for rearranging the parameter setting value before firmware update held in the memory according to the parameter arrangement information after firmware update to the memory image;
A first nonvolatile memory writing step of copying the memory image in which parameter setting values are rearranged to the first nonvolatile memory;
A firmware update method comprising: a second nonvolatile memory writing step of writing parameter definition information of the updated firmware on the second nonvolatile memory after the firmware update.
前記パラメータ定義情報はパラメータごとに版数を属性としてもち、前記パラメータ設定値再配置ステップは、前記第2の不揮発メモリの更新前の前記パラメータ定義情報の版数と前記更新後のファームウェアが有する更新後の前記パラメータ定義情報の版数とを比較し、前記パラメータの版数が異なるパラメータについては、更新前の前記メモリイメージに再配置しないことを特徴とする請求項1記載のファームウェア更新方法。 The parameter definition information has a version number as an attribute for each parameter, and the parameter setting value rearrangement step includes updating the version number of the parameter definition information before the update of the second nonvolatile memory and the firmware after the update The firmware update method according to claim 1 , wherein the version number of the parameter definition information is compared, and parameters having different parameter version numbers are not rearranged in the memory image before update. 前記更新前パラメータ設定値保持ステップで保持される前記パラメータ設定値はバイナリ形式であることを特徴とする請求項1又は請求項2記載のファームウェア更新方法。   3. The firmware updating method according to claim 1, wherein the parameter setting value held in the pre-update parameter setting value holding step is in a binary format. 前記パラメータ定義情報はパラメータごとの初期値を有し、前記パラメータ設定値再配置ステップの実行以前に、前記ファームウェア更新後のパラメータ定義情報に従って、前記パラメータごとの初期値を、前記更新前メモリイメージに書き込むメモリイメージ初期化ステップをさらに有することを特徴とする請求項1記載のファームウェア更新方法。The parameter definition information has an initial value for each parameter, and the initial value for each parameter is stored in the pre-update memory image according to the parameter definition information after the firmware update before the execution of the parameter setting value rearrangement step. 2. The firmware update method according to claim 1, further comprising a memory image initialization step of writing. 第1の不揮発性メモリに記憶されたパラメータ設定値を参照して装置を動作させるファームウェアを更新するファームウェアプログラムであって、A firmware program for updating firmware for operating a device with reference to parameter setting values stored in a first nonvolatile memory,
前記ファームウェアを更新するファームウェア更新プログラムと、A firmware update program for updating the firmware;
前記ファームウェアの更新後に、更新前の前記ファームウェアのパラメータ識別子と配置情報とを含むパラメータ定義情報を第2の不揮発性メモリから読み出す更新前パラメータ定義読み出しプログラムと、A pre-update parameter definition read program that reads parameter definition information including the parameter identifier and arrangement information of the firmware before update from the second nonvolatile memory after the firmware update;
メモリ上にファームウェア更新前の前記第1の不揮発性メモリに記憶されたパラメータ設定値と同じ形式のメモリイメージを作成する更新前メモリイメージ作成プログラムと、A pre-update memory image creation program for creating a memory image in the same format as the parameter setting value stored in the first nonvolatile memory before firmware update on the memory;
前記メモリイメージから前記ファームウェア更新前のパラメータ設定値を読み出しパラメータ識別子と関連付けて前記メモリに保持させる更新前パラメータ設定値保持プログラムと、A pre-update parameter setting value holding program that reads the parameter setting value before firmware update from the memory image and associates the parameter setting value with a parameter identifier,
前記ファームウェア更新後のパラメータ配置情報に従って前記メモリに保持させたファームウェア更新前のパラメータ設定値を前記メモリイメージに再配置するパラメータ設定値再配置プログラムと、A parameter setting value rearrangement program for rearranging the parameter setting values before firmware update held in the memory according to the parameter arrangement information after firmware update in the memory image;
パラメータ設定値が再配置された前記メモリイメージを前記第1の不揮発メモリにコピーする第1の不揮発性メモリ書き込みプログラムと、A first nonvolatile memory writing program for copying the memory image in which parameter setting values are rearranged to the first nonvolatile memory;
前記ファームウェア更新後に、更新後の前記ファームウェアのパラメータ定義情報を前記第2の不揮発性メモリ上に書き出す第2の不揮発性メモリ書き出しプログラムとを有することを特徴とするファームウェアプログラム。A firmware program, comprising: a second nonvolatile memory writing program for writing parameter definition information of the updated firmware onto the second nonvolatile memory after the firmware update.
前記パラメータ定義情報はパラメータごとに版数を属性としてもち、前記パラメータ設定値再配置プログラムは、前記第2の不揮発メモリの更新前の前記パラメータ定義情報の版数と前記更新後のファームウェアが有する更新後の前記パラメータ定義情報の版数とを比較し、前記パラメータの版数が異なるパラメータについては、更新前の前記メモリイメージに再配置しないことを特徴とする請求項5記載のファームウェアプログラム The parameter definition information has a version number as an attribute for each parameter, and the parameter setting value rearrangement program updates the version number of the parameter definition information before the update of the second nonvolatile memory and the update of the firmware after the update 6. The firmware program according to claim 5, wherein a version number of the parameter definition information after that is compared, and a parameter having a different version number is not rearranged in the memory image before update . 前記更新前パラメータ設定値保持プログラムが保持させる前記パラメータ設定値はバイナリ形式であることを特徴とする請求項5又は請求項6記載のファームウェアプログラム。7. The firmware program according to claim 5, wherein the parameter setting value held by the pre-update parameter setting value holding program is in a binary format. 前記パラメータ定義情報はパラメータごとの初期値を有し、前記パラメータ設定値再配置プログラムの実行以前に、前記ファームウェア更新後のパラメータ定義情報に従って、前記パラメータごとの初期値を、前記更新前メモリイメージに書き込むメモリイメージ初期化プログラムをさらに有することを特徴とする請求項5記載のファームウェアプログラム。The parameter definition information has an initial value for each parameter, and the initial value for each parameter is stored in the pre-update memory image according to the parameter definition information after the firmware update before the execution of the parameter setting value relocation program. 6. The firmware program according to claim 5, further comprising a memory image initialization program to be written.
JP2013066809A 2013-03-27 2013-03-27 Firmware update method and firmware program Active JP5929809B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013066809A JP5929809B2 (en) 2013-03-27 2013-03-27 Firmware update method and firmware program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013066809A JP5929809B2 (en) 2013-03-27 2013-03-27 Firmware update method and firmware program

Publications (2)

Publication Number Publication Date
JP2014191601A JP2014191601A (en) 2014-10-06
JP5929809B2 true JP5929809B2 (en) 2016-06-08

Family

ID=51837794

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013066809A Active JP5929809B2 (en) 2013-03-27 2013-03-27 Firmware update method and firmware program

Country Status (1)

Country Link
JP (1) JP5929809B2 (en)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6582438B2 (en) * 2015-02-24 2019-10-02 日本電気株式会社 Information processing apparatus, system setting method, and computer program
JP6464038B2 (en) * 2015-06-09 2019-02-06 日立オートモティブシステムズ株式会社 Reprogramming system
KR102232069B1 (en) * 2019-11-26 2021-03-25 (주) 아이스펙 Apparatus and method for firmware updating on operating device of rotating electrical machine
CN113568632B (en) * 2021-06-22 2024-06-21 东莞市奥海科技股份有限公司 Server power firmware updating method and device, computer equipment and storage medium
CN115344309B (en) * 2022-07-25 2026-03-13 龙芯中科技术股份有限公司 A method, apparatus, electronic device, and storage medium for modifying memory parameters.

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3003619B2 (en) * 1997-04-09 2000-01-31 日本電気株式会社 Apparatus internal setting information backup apparatus and method, and storage medium storing apparatus internal setting information backup control program
JP2003256228A (en) * 2002-02-28 2003-09-10 Denso Corp Program rewriting device
JP2009254513A (en) * 2008-04-15 2009-11-05 Fujinon Corp Method of updating electronic endoscope firmware
JP5045584B2 (en) * 2008-07-01 2012-10-10 株式会社デンソー Program rewriting device
JP2012118869A (en) * 2010-12-02 2012-06-21 Fuji Xerox Co Ltd Update program and image formation apparatus

Also Published As

Publication number Publication date
JP2014191601A (en) 2014-10-06

Similar Documents

Publication Publication Date Title
TW436734B (en) Printer firmware updating method
JP5929809B2 (en) Firmware update method and firmware program
CN107577560B (en) Storage medium, data processing method and cartridge chip using the same
JP2009053901A (en) Printer
JP2008238799A (en) Image forming apparatus
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2005346723A (en) System and method for managing multiple resources across multiple printing devices
JP6752651B2 (en) Information processing systems, methods and programs in information processing systems
JP6431279B2 (en) Printing apparatus and printing apparatus control method
JP6582438B2 (en) Information processing apparatus, system setting method, and computer program
WO2019000511A1 (en) Method for remote encrypted upgrade of device data, storage medium and electronic device
JP6740785B2 (en) Information processing device and program
JP6097710B2 (en) Information processing apparatus and information processing program
JP2005032014A (en) Data processor, starting program for data processor, and starting method for data processor
JP2010128701A (en) System file sharing device, system file sharing method, and program
JP5834666B2 (en) Storage device and device
JP3817500B2 (en) Information processing apparatus, control method, and control program
JP3817499B2 (en) Information processing apparatus, control method, and control program
JP2008162054A (en) Printing device
CN100414490C (en) Printer controller and printer control method
JP4976759B2 (en) Image processing device
JP5976729B2 (en) Electronics
JP2009123134A (en) Usb host device and method for manufacturing usb host device
JP2024024444A (en) Printing device, printing device control method, program
JP5104992B2 (en) OUTPUT SYSTEM, OUTPUT DEVICE, OUTPUT DEVICE CONTROL METHOD, AND INFORMATION RECORDING MEDIUM

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150316

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20151116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151215

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160212

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20160322

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160418

R150 Certificate of patent or registration of utility model

Ref document number: 5929809

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350