JP2008048229A - Image processing device - Google Patents

Image processing device Download PDF

Info

Publication number
JP2008048229A
JP2008048229A JP2006222854A JP2006222854A JP2008048229A JP 2008048229 A JP2008048229 A JP 2008048229A JP 2006222854 A JP2006222854 A JP 2006222854A JP 2006222854 A JP2006222854 A JP 2006222854A JP 2008048229 A JP2008048229 A JP 2008048229A
Authority
JP
Japan
Prior art keywords
area
data
control unit
kernel
program
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
JP2006222854A
Other languages
Japanese (ja)
Inventor
Hidenori Kaname
秀紀 要
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.)
Murata Machinery Ltd
Original Assignee
Murata Machinery Ltd
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 Murata Machinery Ltd filed Critical Murata Machinery Ltd
Priority to JP2006222854A priority Critical patent/JP2008048229A/en
Publication of JP2008048229A publication Critical patent/JP2008048229A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To provide an image processing device which can easily recognize a state of an option board 3. <P>SOLUTION: When power of an option board 3 is activated and a specific state occurs in the option board 3 by a rewrite of a firmware or the like, version information indicating a version of the firmware of the option board 3 is replaced with information indicating the specific state, or information indicating the specific state is embedded in the version information, and the version information is transmitted to a main board 2. When a predetermined operation displaying a version of the option board 3 is performed for an operation portion 28 of a compound unit 1, information indicating the specific state which occurs in the option board 3 is displayed in a display portion 29. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

本発明は、画像処理装置に関し、詳しくは、メイン制御部とサブ制御部とを備える画像処理装置に関するものである。   The present invention relates to an image processing apparatus, and more particularly to an image processing apparatus including a main control unit and a sub control unit.

従来、画像処理装置には、特許文献1に記載されているように、自装置の全体を制御するメインボード(メイン制御部)とは別個に、所定の機能を実現するオプションボード(サブ制御部)を備える構成となったものが存在する。このようなオプションボードには、例えば、画像処理装置が端末装置から受信した印刷データの転送をメインボードから受け、当該印刷データを画像データに展開してメインボードに転送するというものなどがある。このようなオプションボードには複数のLED(Light Emitting Diode)が搭載され、この複数のLEDを予め定義されたパターンで発光させることにより、当該オプションボードの状況が示されていた。
特開2005−277894号公報
2. Description of the Related Art Conventionally, an image processing apparatus includes an option board (sub control unit) that realizes a predetermined function separately from a main board (main control unit) that controls the entire apparatus, as described in Patent Document 1. ) Exists. Such an option board includes, for example, the transfer of print data received from the terminal device by the image processing apparatus from the main board, the development of the print data into image data, and the transfer to the main board. A plurality of LEDs (Light Emitting Diodes) are mounted on such an option board, and the status of the option board is indicated by causing the plurality of LEDs to emit light in a predefined pattern.
JP 2005-277894 A

しかし、このようなオプションボードでは、当該オプションボードが画像処理装置の筐体内部に配置されるので、LEDを画像処理装置の外観において確認することができない。そのため、当該オプションボードの状況を知るためには、画像処理装置の筐体の背面などに設けられたパネルを開いてLEDを確認しなければならず手間がかかるという問題があった。例えば、複合機などの画像処理装置は、装置の背面を建物の壁面などに近接させて設置されることが多く、このような場合には、パネルを開いて筐体内のLEDを確信するためには、画像処理装置を移動させなければならず、非常に手間であった。   However, in such an option board, since the option board is disposed inside the housing of the image processing apparatus, the LED cannot be confirmed on the appearance of the image processing apparatus. Therefore, in order to know the status of the option board, there is a problem that it takes time to open a panel provided on the rear surface of the casing of the image processing apparatus and check the LEDs. For example, image processing apparatuses such as multifunction peripherals are often installed with the back of the apparatus close to the wall surface of a building. In such a case, in order to be sure of the LEDs in the housing by opening the panel Has to move the image processing apparatus, which is very troublesome.

本発明は、かかる問題に鑑みてなされたものであり、オプションボート(サブ制御部)の状況を簡便に知ることができる画像処理装置を提供することを目的とする。   The present invention has been made in view of such a problem, and an object thereof is to provide an image processing apparatus that can easily know the state of an optional boat (sub-control unit).

上記目的を達成するために、請求項1に記載の画像処理装置は、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、前記サブ制御部は、当該サブ制御部において特定の状況が発生している旨を示す告知情報を前記メイン制御部に送信する送信手段を備え、前記メイン制御部は、前記送信手段によって送信された告知情報が示す内容を表示する表示手段を備えることを特徴としている。   In order to achieve the above object, an image processing apparatus according to claim 1 is an image processing apparatus including a main control unit that controls the entire device and a sub-control unit that controls a predetermined function of the device. The sub-control unit includes transmission means for transmitting notification information indicating that a specific situation is occurring in the sub-control unit to the main control unit, and the main control unit It is characterized by comprising display means for displaying the contents indicated by the transmitted notice information.

この構成によれば、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、サブ制御部において、送信手段により、当該サブ制御部において特定の状況が発生している旨を示す告知情報がメイン制御部に送信され、メイン制御部において、表示手段により、送信手段によって送信された告知情報が示す内容が表示される。したがって、ユーザやサービスマンは、画像処理装置を移動させたり、筐体を開いたりすることなく、簡便に、サブ制御部に発生している特定の状況を知ることができる。   According to this configuration, the image processing apparatus includes a main control unit that controls the entire own device and a sub control unit that controls a predetermined function of the own device. Notification information indicating that a specific situation is occurring in the sub-control unit is transmitted to the main control unit, and the main control unit displays the content indicated by the notification information transmitted by the transmission unit. Therefore, a user or a service person can easily know a specific situation occurring in the sub-control unit without moving the image processing apparatus or opening the housing.

上記目的を達成するために、請求項2に記載の画像処理装置は、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、前記サブ制御部は、当該サブ制御部に特定の状況が発生している旨を示す告知情報を、前記バージョン情報に置き換え、又は、前記バージョン情報に埋め込んで前記メイン制御部に送信する送信手段を備えることを特徴としている。   In order to achieve the above object, an image processing apparatus according to claim 2 includes a main control unit that controls the entire self apparatus and a sub control unit that controls a predetermined function of the self apparatus, and the sub control unit. An image processing apparatus that displays the content indicated by the firmware version information on the display device included in the main control unit, wherein the sub control unit notifies the sub control unit that a specific situation has occurred. Transmitting means for replacing the information with the version information or embedding it in the version information and transmitting the information to the main control unit is provided.

この構成によれば、自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、サブ制御部において、送信手段により、当該サブ制御部に特定の状況が発生している旨を示す告知情報が、バージョン情報に置き換えられ、又は、バージョン情報に埋め込まれてメイン制御部に送信される。   According to this configuration, the main control unit includes a main control unit that controls the entire device and a sub control unit that controls a predetermined function of the device, and the content indicated by the firmware version information of the sub control unit is the main control unit. In the sub-control unit, notification information indicating that a specific situation has occurred in the sub-control unit is replaced with version information in the sub-control unit. Embedded in the version information and transmitted to the main control unit.

したがって、ユーザやサービスマンは、画像処理装置を移動させたり、筐体を開いたりすることなく、簡便に、サブ制御部に発生している特定の状況を知ることができる。また、告知情報がバージョン情報に置き換えられ、又は、バージョン情報に埋め込まれるので、画像処理装置のインターフェースを変更することなく、サブ制御部に発生している特定の状況を簡便に知ることができる画像処理装置を実現することができる。さらに、画像処理装置に対して特定の操作を行ったときに、サブ制御部のバージョン情報が示す内容を表示装置に表示する構成となっている場合には、バージョン情報が示す内容を表示する既知の操作のみによって、サブ制御部に発生している特定の状況を示す告知情報の内容を表示装置に表示させることができる。また、告知情報が示すサブ制御部に発生している特定の状況が、サブ制御部のファームウェアの書き換えに伴うものである場合には、ファームウェアを書き換えた際には、ユーザやサービスマンは必ずファームウェアのバージョンを確認するので、サブ制御部に発生している特定の状況が確実にユーザやサービスマンに知得される。   Therefore, a user or a service person can easily know a specific situation occurring in the sub-control unit without moving the image processing apparatus or opening the housing. Also, since the notification information is replaced with version information or embedded in the version information, an image that can easily know a specific situation occurring in the sub-control unit without changing the interface of the image processing apparatus A processing device can be realized. Further, when a specific operation is performed on the image processing apparatus, when the content indicated by the version information of the sub-control unit is displayed on the display device, the known content for displaying the content indicated by the version information is displayed. Only by this operation, the content of the notification information indicating the specific situation occurring in the sub-control unit can be displayed on the display device. In addition, if the specific situation occurring in the sub-control unit indicated by the notification information is associated with rewriting the firmware of the sub-control unit, the user or serviceman must always update the firmware. As a result, the specific situation occurring in the sub-control unit is surely known to the user or service person.

請求項3に記載の画像処理装置は、請求項1又は2に記載の画像処理装置であって、前記サブ制御部の所定の機能は、前記メイン制御部から転送された印刷データを画像データに展開して前記メイン制御部に転送する機能であることを特徴としている。   An image processing apparatus according to a third aspect is the image processing apparatus according to the first or second aspect, wherein the predetermined function of the sub-control unit converts the print data transferred from the main control unit into image data. The function is to expand and transfer to the main control unit.

この構成によれば、サブ制御部の所定の機能は、メイン制御部から転送された印刷データを画像データに展開してメイン制御部に転送する機能である。したがって、ユーザやサービスマンは、メイン制御部から転送された印刷データを画像データに展開してメイン制御部に転送するサブ制御部に発生する特定の状況を簡便に知ることができる。   According to this configuration, the predetermined function of the sub control unit is a function of developing the print data transferred from the main control unit into image data and transferring the image data to the main control unit. Therefore, the user or service person can easily know a specific situation that occurs in the sub-control unit that develops the print data transferred from the main control unit into image data and transfers the image data to the main control unit.

請求項4に記載の画像処理装置は、請求項1乃至3のいずれか1に記載された画像処理装置であって、前記特定の状況は、前記サブ制御部のファームウェアの書き換えに伴う状況であることを特徴としている。   An image processing apparatus according to a fourth aspect is the image processing apparatus according to any one of the first to third aspects, wherein the specific situation is a situation accompanying rewriting of firmware of the sub-control unit. It is characterized by that.

この構成によれば、特定の状況は、サブ制御部のファームウェアの書き換えに伴う状況である。したがって、ユーザやサービスマンは、サブ制御部のファームウェアの書き換えに伴い当該サブ制御部に発生している状況を簡便に知ることができる。   According to this configuration, the specific situation is a situation accompanying rewriting of the firmware of the sub-control unit. Therefore, the user or service person can easily know the situation occurring in the sub control unit as the firmware of the sub control unit is rewritten.

請求項5に記載の画像処理装置は、請求項4に記載の画像処理装置であって、前記特定の状況は、前記サブ制御部のファームウェアの副記憶装置から主記憶装置への読み込み中にファームウェアの異常が検知された状況であることを特徴としている。   The image processing apparatus according to claim 5 is the image processing apparatus according to claim 4, wherein the specific situation is determined when firmware of the sub control unit is being read from the secondary storage device to the main storage device. This is characterized by the fact that an abnormality is detected.

この構成によれば、特定の状況は、サブ制御部のファームウェアのFlash(Read Only Memory)ROMなどの副記憶装置からSDRAM(Synchronous Dynamic Random Access Memory)などの主記憶装置への読み込み中にファームウェアの異常が検知された状況である。したがって、ユーザやサービスマンは、ファームウェアの異常が検出されたことを簡便に知ることができる。   According to this configuration, the specific situation is that the firmware of the sub-controller is being read from the secondary storage device such as the flash (read only memory) ROM of the firmware to the main storage device such as the SDRAM (synchronous dynamic random access memory). This is a situation where an abnormality has been detected. Therefore, the user or service person can easily know that a firmware abnormality has been detected.

請求項6に記載の画像処理装置は、請求項4又は5に記載の画像処理装置であって、前記サブ制御部のファームウェアは、副記憶装置の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、前記特定の状況は、前記副記憶装置に記憶された前記ファームウェアのフォントデータが当該ファームウェアのカーネルプログラムに適合していない状況であることを特徴としている。   The image processing device according to claim 6 is the image processing device according to claim 4 or 5, wherein the firmware of the sub-control unit is divided into individual storage areas of the secondary storage device according to the type of data. Rewritten for each type of data stored and rewritten data, the specific situation is the situation where the font data of the firmware stored in the secondary storage device is not compatible with the kernel program of the firmware It is characterized by being.

この構成によれば、サブ制御部のファームウェアは、副制御部の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、特定の状況は、副記憶装置に記憶されているファームウェアのうちのフォントデータが、当該ファームウェアのうちのカーネルプログラムに適合していない状況である。したがって、ユーザやサービスマンは、フォントデータがカーネルプログラムに適合していないことを簡便に知ることができる。   According to this configuration, the firmware of the sub control unit is divided and stored for each data type in each storage area of the sub control unit, and is rewritten for each data type by the rewrite data. The situation is a situation where the font data of the firmware stored in the secondary storage device is not compatible with the kernel program of the firmware. Therefore, the user or service person can easily know that the font data is not compatible with the kernel program.

以下、本発明の画像処理装置の一例としての複合機1について、図面を参照しつつ説明する。図1に示すように、複合機1は、メインボード(メイン制御部に相当する。)2及びオプションボード(サブ制御部に相当する。)3を備えており、当該メインボード2及びオプションボード3によって、ファクシミリ通信機能、インターネットファクシミリ通信機能、コピー機能、スキャナ機能、PCプリント機能などが実現される。メインボード2は複合機1の全体を制御するものである。そして、オプションボード3は、クライアントPC6から、複合機1によって印刷を行うために送信された、ページ記述言語によって記述された印刷データをネットワークインターフェースコントローラ4を介して受信し、受信した印刷データを画像データに展開してメインボード2に転送するものである。メインボード2とオプションボード3とは、バス13によって通信可能に接続されている。   Hereinafter, an MFP 1 as an example of an image processing apparatus of the present invention will be described with reference to the drawings. As shown in FIG. 1, the multi function device 1 includes a main board (corresponding to a main control unit) 2 and an option board (corresponding to a sub control unit) 3, and the main board 2 and option board 3. Thus, a facsimile communication function, an Internet facsimile communication function, a copy function, a scanner function, a PC print function, and the like are realized. The main board 2 controls the entire multifunction device 1. The option board 3 receives the print data described in the page description language transmitted from the client PC 6 for printing by the multi-function peripheral 1 via the network interface controller 4, and receives the received print data as an image. The data is developed and transferred to the main board 2. The main board 2 and the option board 3 are communicably connected via a bus 13.

このような複合機1では、複合機1に電源が投入され、メインボード2及びオプションボード3に電力が供給されると、オプションボード3のファームウェアのバージョンを示すバージョン情報がメインボード2に送信される。また、電源投入時にオプションボード3に特定の状況が発生している場合には、その状況を示す情報(告知情報に相当する。)によって置き換えられたバージョン情報、又は、当該状況を示す情報が埋め込まれたバージョン情報がオプションボード3からメインボード2に送信される。そして、メインボード2に送信されたバージョン情報の示す内容は表示部29に表示される。   In such a multifunction device 1, when power is supplied to the multifunction device 1 and power is supplied to the main board 2 and the option board 3, version information indicating the firmware version of the option board 3 is transmitted to the main board 2. The If a specific situation occurs in the option board 3 when the power is turned on, version information replaced with information indicating the situation (corresponding to notification information) or information indicating the situation is embedded. The version information is transmitted from the option board 3 to the main board 2. Then, the content indicated by the version information transmitted to the main board 2 is displayed on the display unit 29.

また、オプションボード3のファームウェアは、クライアントPC6から送信される書き換えデータによってアップデート(書き換え)することができる。   Further, the firmware of the option board 3 can be updated (rewritten) by rewrite data transmitted from the client PC 6.

クライアントPC6は、一般的な機能を備えたPCであり、ユーザが作成した文書などのデータをPDLデータ(ページ記述言語)に変換し、当該PDLデータを、LAN5を介して複合機1に送信する。なお、ここで使用されるPDL(ページ記述言語)は特に限定されるものではないが、例えばPCL(Printer Control Language)などを用いることができる。   The client PC 6 is a PC having a general function, converts data such as a document created by a user into PDL data (page description language), and transmits the PDL data to the multi function device 1 via the LAN 5. . The PDL (page description language) used here is not particularly limited. For example, PCL (Printer Control Language) can be used.

オプションボード3は、図1に示すように、制御部(MPU:Microprocessing Unit)7、インターフェース回路8、FlashROM(Read Only Memory)8、SDRAM(Synchronous Dynamic Random Access Memory)9、及び、データ処理回路11を備えたものであって、各部7乃至11は、バス12によって通信可能に接続されている。   As shown in FIG. 1, the option board 3 includes a control unit (MPU: Microprocessing Unit) 7, an interface circuit 8, a flash ROM (Read Only Memory) 8, an SDRAM (Synchronous Dynamic Random Access Memory) 9, and a data processing circuit 11. The units 7 to 11 are communicably connected via a bus 12.

制御部7は、FlashROM9に記憶されているファームウェアの各種プログラムに従って、このオプションボード3を構成する各部を制御する。インターフェース回路8は、ネットワークインターフェースコントローラ4から転送されたPDLデータや書き換えデータを受信するものである。また、インターフェース回路8が受信したPDLデータは、データ処理回路11において所定のデータ処理が施されて、画像データに展開された後にメインボード2に転送される。   The control unit 7 controls each unit constituting the option board 3 according to various firmware programs stored in the Flash ROM 9. The interface circuit 8 receives PDL data and rewrite data transferred from the network interface controller 4. The PDL data received by the interface circuit 8 is subjected to predetermined data processing in the data processing circuit 11, developed into image data, and then transferred to the main board 2.

FlashROM9(副記憶装置に相当する。)は、制御部7によってオプションボード3の各部を制御するためのファームウェアを記憶するフラッシュメモリであり、図2に示すようにブート領域F−B、第1カーネル領域F−K1、第2カーネル領域F−K2、一般プログラム領域F−P、及び、フォント領域F−Fの5つの記憶領域に論理的に分割されている。SDRAM10(主記憶装置に相当する。)は、制御部7の主メモリ、ワークエリアなどとして機能し、プログラム領域SD−P及び、データ領域SD−Dの2つの記憶領域に論理的に分割されている。   A flash ROM 9 (corresponding to a secondary storage device) is a flash memory that stores firmware for controlling each unit of the option board 3 by the control unit 7, and includes a boot area FB, a first kernel as shown in FIG. It is logically divided into five storage areas: an area F-K1, a second kernel area F-K2, a general program area FP, and a font area FF. The SDRAM 10 (corresponding to a main storage device) functions as a main memory and a work area of the control unit 7, and is logically divided into two storage areas, a program area SD-P and a data area SD-D. Yes.

FlashROM9のブート領域F−Bは、システム起動時に実行されるブートプログラムを記憶している記憶領域である。第1カーネル領域F−K1及び、第2カーネル領域F−K2は、カーネルプログラムを記憶している記憶領域である。カーネルプログラムには、オプションボード3とメインボード2との間の通信の初期化、自己書き換え(アップデート)、ジョブ管理、データ管理、タスク管理などを行うための制御プログラムや初期パラメータ、受信した書き換えデータによりFlashROM9のファームウェアをアップデート(書き換え)するための書き換えコード、ファームウェアをアップデートした後に書き換えが正常に行われたか否かを検査するためのデータチェックコードなどが含まれる。一般プログラム領域F−Pは、オプションボード3が各種処理動作を行うための一般プログラムを記憶している記憶領域であり、例えば、インターフェース回路8が受信したPDLデータに所定のデータ処理を行うためのデータ処理プログラムなどを記憶している。フォント領域F−Fは、フォントデータを記憶している記憶領域である。   The boot area FB of the FlashROM 9 is a storage area that stores a boot program that is executed when the system is started. The first kernel area F-K1 and the second kernel area F-K2 are storage areas that store kernel programs. The kernel program includes a control program and initial parameters for initialization of communication between the option board 3 and the main board 2, self-rewriting (update), job management, data management, task management, etc., received rewriting data Thus, a rewrite code for updating (rewriting) the firmware of the FlashROM 9 and a data check code for checking whether or not the rewrite has been normally performed after the firmware is updated are included. The general program area FP is a storage area for storing a general program for the option board 3 to perform various processing operations. For example, the general program area FP is for performing predetermined data processing on the PDL data received by the interface circuit 8. Stores data processing programs. The font area FF is a storage area that stores font data.

また、FlashROM9のこれらの各記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fのサイズは、それぞれ常に一定の値となるように設定されており、ここではブート領域F−Bが8kb(キロバイト)、第1カーネル領域F−K1、及び、第2カーネル領域F−K2がそれぞれ248kb、一般プログラム領域F−Pが2816kb、フォント領域F−Fが5120kbに設定されている。このように、オプションボード3のファームウェアは、データの種類別に分割されて異なるサイズの記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fにそれぞれ記憶されているが、これらの各記憶領域の全体にプログラムやフォントデータが記憶されているわけではなく、プログラムやフォントデータに適当なデータサイズの空きデータ、すなわち16進数で「00」又は「FF」の値を持つ空きデータが付加されたデータがそれぞれ対応する記憶領域に記憶されている。例えば、2816kbの一般プログラム領域F−Pの場合、実際に使用する一般プログラム全体のデータサイズが2600kbであれば、これに216kbの空きデータが付加された一般プログラム領域F−Pのサイズと等しい2816kbのデータが該一般プログラム領域F−Pに記憶されている。なお、これらの各記憶領域に記憶されているデータは、各記憶領域毎に個別に外部から受信した書き換えデータによって書き換えることが可能である。FlashROM9に記憶されているファームウェアは、書き換えデータによって、例えば、第1カーネル領域F−K1及び、第2カーネル領域F−K2のデータのみを書き換えたり、一般プログラム領域F−Pとフォント領域F−Fのデータのみを書き換えたりすることが可能である。   In addition, the size of each of the storage areas FB, F-K1, F-K2, FP, and FF of the flash ROM 9 is always set to a constant value. The boot area F-B is set to 8 kb (kilobytes), the first kernel area F-K1 and the second kernel area F-K2 are set to 248 kb, the general program area FP is set to 2816 kb, and the font area FF is set to 5120 kb. Has been. As described above, the firmware of the option board 3 is divided according to the data type and stored in the storage areas FB, F-K1, F-K2, FP, and FF having different sizes. However, the program and font data are not stored in the whole of these storage areas, and empty data of an appropriate data size, that is, a value of “00” or “FF” in hexadecimal notation is stored in the program or font data. The data to which the free data is added is stored in the corresponding storage area. For example, in the case of the general program area FP of 2816 kb, if the data size of the entire general program to be actually used is 2600 kb, it is equal to the size of the general program area FP to which 216 kb of empty data is added. Are stored in the general program area FP. Note that the data stored in each of these storage areas can be rewritten by rewrite data received from the outside individually for each storage area. For example, the firmware stored in the FlashROM 9 can rewrite only the data in the first kernel area F-K1 and the second kernel area F-K2 with the rewrite data, or the general program area FP and the font area FF. It is possible to rewrite only the data.

一方、SDRAM10のプログラム領域SD−Pは、制御部7によってFlashROM9に記憶されている各種データを制御部7で実行するために一時的に読み込む領域である。SDRAM10のプログラム領域SD−Pのうち、FlashROM9のブート領域F−Bに記憶されているブートプログラムを読み込む領域をブート領域SD−B、第1カーネル領域F−K1に記憶されているカーネルプログラム、又は、第2カーネル領域F−K2に記憶されているカーネルプログラムを読み込む領域を第1カーネル領域SD−K1、第2カーネル領域F−K2に記憶されているカーネルプログラムを読み込む領域を第2カーネル領域SD−K2、一般プログラム領域F−Pに記憶されている一般プログラムを読み込む領域を一般プログラム領域SD−P、フォント領域F−Fに記憶されているフォントデータを読み込む領域をフォント領域SD−Fとそれぞれ呼ぶ。   On the other hand, the program area SD-P of the SDRAM 10 is an area for temporarily reading various data stored in the flash ROM 9 by the control section 7 in order to be executed by the control section 7. Of the program area SD-P of the SDRAM 10, an area for reading a boot program stored in the boot area FB of the flash ROM 9 is a kernel program stored in the boot area SD-B, the first kernel area F-K1, or An area for reading a kernel program stored in the second kernel area F-K2 is a first kernel area SD-K1, and an area for reading a kernel program stored in the second kernel area F-K2 is a second kernel area SD. -K2, an area for reading a general program stored in the general program area FP is a general program area SD-P, and an area for reading font data stored in the font area FF is a font area SD-F. Call.

制御部7は、システム起動時にFlashROM9のブート領域F−BのブートプログラムをSDRAM10のプログラム領域SD−Pに読み込み、プログラム領域SD−Pに読み込まれたブートプログラムに基づいて、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム、第2カーネル領域F−K2に記憶されているカーネルプログラムをSDRAM10のプログラム領域SD−Pに読み込む。プログラム領域SD−Pにカーネルプログラムを読み込むと、制御部7は、プログラム領域SD−Pのカーネルプログラムに基づいて、一般プログラム領域F−Pに記憶されている一般プログラム、フォント領域F−Fに記憶されているフォントデータをそれぞれSDRAM10のプログラム領域SD−Pに読み込む。制御部7は、このようにしてFlashROM9の各記憶領域のデータをSDRAM10のプログラム領域SD−Pにロードし、ロードしたプログラムを必要に応じて実行することにより、例えば、外部から受信したPDLデータを画像データに展開してメインボード2に転送したり、外部から受信した書き換えデータによりオプションボード3のファームウェアをアップデート(書き換え)したりすることができる。SDRAM10のデータ領域SD−Dは、各種データを一時的に格納する領域であり、ネットワークインターフェースコントローラ4によって転送されたPDLデータや書き換えデータなどを一時的に格納する。   The control unit 7 reads the boot program in the boot area FB of the FlashROM 9 into the program area SD-P of the SDRAM 10 at the time of system startup, and based on the boot program read into the program area SD-P, the first kernel area of the FlashROM 9 The kernel program stored in the F-K1 and the kernel program stored in the second kernel area F-K2 are read into the program area SD-P of the SDRAM 10. When the kernel program is read into the program area SD-P, the control unit 7 stores the general program stored in the general program area FP and the font area FF based on the kernel program in the program area SD-P. Each font data read is read into the program area SD-P of the SDRAM 10. The control unit 7 loads the data in each storage area of the flash ROM 9 into the program area SD-P of the SDRAM 10 in this way, and executes the loaded program as necessary, for example, PDL data received from the outside It can be expanded into image data and transferred to the main board 2, or the firmware of the option board 3 can be updated (rewritten) by rewrite data received from the outside. The data area SD-D of the SDRAM 10 is an area for temporarily storing various data, and temporarily stores PDL data and rewrite data transferred by the network interface controller 4.

データ処理回路11は、インターフェース回路8が受信したPDLデータに所定のデータ処理を施すものであり、具体的にはインターフェース回路8が受信したPDLデータを解析してメインボード2で処理可能な画像データに展開した後、その画像データをMMR(Modified Modified Read)方式で符号化(エンコード)する。このようにしてデータ処理回路11において所定のデータ処理が施された画像データは、インターフェース回路8によってメインボード2へと転送される。なお、ここで使用する符号化方式は、メインボード2において復号が可能な方式であればMMR方式に限定されるものではなく、例えば、MH(Modified Huffman)、MR(Modified Read)、JBIG(Joint Bi-level Image Group)方式などの他の符号化方式を使用してもよい。また、ここでは、画像データの転送速度などを考慮して展開した画像データをMMR方式で符号化して転送しているが、展開した画像データを符号化することなくそのままメインボード2に転送するようにしてもよい。   The data processing circuit 11 performs predetermined data processing on the PDL data received by the interface circuit 8. Specifically, the data processing circuit 11 analyzes the PDL data received by the interface circuit 8 and can process the image data on the main board 2. Then, the image data is encoded by the MMR (Modified Modified Read) method. The image data that has been subjected to predetermined data processing in the data processing circuit 11 in this way is transferred to the main board 2 by the interface circuit 8. Note that the encoding method used here is not limited to the MMR method as long as it can be decoded by the main board 2. For example, MH (Modified Huffman), MR (Modified Read), JBIG (Joint) Other encoding schemes such as the Bi-level Image Group scheme may be used. In this example, the developed image data is transferred in accordance with the MMR method in consideration of the transfer speed of the image data. However, the developed image data is transferred to the main board 2 without being encoded. It may be.

一方、オプションボード3から転送された画像データの印刷処理などを行うメインボード2は、制御部(MPU)21、ROM(Read Only Memory)22、RAM(Random Access Memory)23、原稿読取部24、コーデック(CODEC:Coder and Decoder)25、画像メモリ26、記録部27、操作部28、及び、表示部29を備えており、各部21乃至29は、バス30によって通信可能に接続されている。   On the other hand, the main board 2 that performs printing processing of image data transferred from the option board 3 includes a control unit (MPU) 21, a ROM (Read Only Memory) 22, a RAM (Random Access Memory) 23, a document reading unit 24, A codec (CODEC: Coder and Decoder) 25, an image memory 26, a recording unit 27, an operation unit 28, and a display unit 29 are provided. The units 21 to 29 are communicably connected via a bus 30.

制御部21は、ROM22に記憶されているプログラムに従って、この複合機1を構成する各部を制御する。ROM22は、前記プログラムを記憶している。RAM23は、制御部21の主メモリ、ワークエリアなどとして機能し、予め登録された各種設定情報などを記憶している。原稿読取部24は、例えば、CCD(Charge Coupled Device)などのイメージセンサによって原稿の画像データを読取る。   The control unit 21 controls each unit constituting the multi-function device 1 according to a program stored in the ROM 22. The ROM 22 stores the program. The RAM 23 functions as a main memory, work area, and the like of the control unit 21 and stores various setting information registered in advance. The document reading unit 24 reads image data of a document with an image sensor such as a CCD (Charge Coupled Device).

コーデック25は、画像データの符号化及び、復号(デコード)を行うものであり、原稿読取部24で読取られた原稿の画像データをMH、MR、MMR、JBIG方式などにより符号化し、符号化されている画像データを復号する。なお、オプションボード3から転送された画像データは、このコーデック25において復号される。画像メモリ26は、コーデック25によって符号化された原稿の画像データ、オプションボード3から転送された画像データなどを格納する。   The codec 25 encodes and decodes image data. The image data of the document read by the document reading unit 24 is encoded by the MH, MR, MMR, JBIG method, and the like. The image data that is stored is decoded. The image data transferred from the option board 3 is decoded by the codec 25. The image memory 26 stores image data of a document encoded by the codec 25, image data transferred from the option board 3, and the like.

記録部27は、原稿読取部24において読取られた原稿の画像データ、オプションボード3から転送された画像データなどの画像を記録紙に記録するものであり、この記録部27における記録方式としては、例えば、電子写真方式を用いることができる。オプションボード3から転送された画像データは、画像メモリ26に一旦格納された後、コーデック25によって復号され、この記録部27においてその画像が用紙に記録される。   The recording unit 27 records images such as image data of the original read by the original reading unit 24 and image data transferred from the option board 3 on a recording sheet. The recording method in the recording unit 27 is as follows. For example, an electrophotographic method can be used. The image data transferred from the option board 3 is temporarily stored in the image memory 26, then decoded by the codec 25, and the recording unit 27 records the image on paper.

操作部28は、図示しないが原稿読取部24に原稿の読取開始を指示するためのスタートキー、コピー部数などを入力するためのテンキー、各種設定を行うためのカーソルキーなど、表示部29と連動した各種操作キーを備えている。表示部29は、各種の設定状態や複合機1の動作状態などを文字や図形などで表示する液晶表示装置(LCD:Liquid Crystal Display)や、点灯又は消灯で表示するLEDランプなどを備えている。   Although not shown, the operation unit 28 is linked with the display unit 29, such as a start key for instructing the document reading unit 24 to start reading a document, a numeric keypad for inputting the number of copies, and a cursor key for performing various settings. Various operation keys are provided. The display unit 29 includes a liquid crystal display (LCD) that displays various setting states and operation states of the multifunction device 1 with characters, graphics, and the like, and an LED lamp that is turned on or off. .

以上に説明したように構成された複合機1に対して、LAN5上のクライアントPC6からPDLデータが送信されると、当該PDLデータはネットワークインターフェースコントローラ4によってオプションボード3に転送される。そして、PDLデータは、オプションボード3において展開されて所定の符号化方式で符号化された後、メインボード2へと転送されて当該メインボード2においてその画像が用紙に記録される。また、クライアントPC6は、複合機1において印刷すべきPDLデータの他に、オプションボード3のFlashROM9に記憶されているファームウェアの全体又は一部をアップデートするための書き換えデータを複合機1に対して送信する。   When PDL data is transmitted from the client PC 6 on the LAN 5 to the multi-function device 1 configured as described above, the PDL data is transferred to the option board 3 by the network interface controller 4. The PDL data is developed on the option board 3 and encoded by a predetermined encoding method, and then transferred to the main board 2 where the image is recorded on the paper. In addition to the PDL data to be printed in the multifunction device 1, the client PC 6 sends rewrite data for updating all or part of the firmware stored in the flash ROM 9 of the option board 3 to the multifunction device 1. To do.

オプションボード3は、FlashROM9の各記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fに記憶されているファームウェアの全体、すなわち、記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fのデータの全てをアップデートすることは当然に可能であるが、一部の記憶領域のデータのみをアップデートすることも可能である。FlashROM9の各記憶領域の一部のみのアップデートを行う場合には、クライアントPC6から、FlashROM9の記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fのうち、書き換えが必要な記憶領域に対応する書き換えデータのみを送信する。   The option board 3 includes the entire firmware stored in the storage areas FB, F-K1, F-K2, FP, and FF of the flash ROM 9, that is, the storage areas FB, F- Naturally, it is possible to update all of the data of K1, F-K2, FP, and FF, but it is also possible to update only data in a part of the storage area. When updating only a part of each storage area of the FlashROM 9, the client PC 6 rewrites the storage areas FB, F-K1, F-K2, FP, and FF of the FlashROM 9. Only rewrite data corresponding to the storage area that requires is transmitted.

以下、FlashROM9の第1カーネル領域F−K1及び第2カーネル領域F−K2のデータのみをアップデートするための書き換えデータ(以下、「K領域用書き換えデータ」という。)を例としてクライアントPC6から送信される書き換えデータについて、図3に基づいて説明する。このK領域用書き換えデータは、図3に示すようにFlashROM9の第1カーネル領域F−K1及び第2カーネル領域F−K2に記憶されているデータと同様に、カーネルプログラムのデータに適当なデータサイズの空きデータとから構成されており、そのデータサイズは第1カーネル領域F−K1又は第2カーネル領域F−K2のサイズと等しい248kbである。このように、書き換え用のカーネルプログラムに適当なサイズの空きデータを付加することにより、カーネルプログラムのデータサイズが変動したとしても、常に第1カーネル領域F−K1又は第2カーネル領域F−K2のサイズと同じデータサイズのK領域用書き換えデータをオプションボード3に送信することができる。   Hereinafter, rewrite data for updating only the data in the first kernel area F-K1 and the second kernel area F-K2 of the flash ROM 9 (hereinafter referred to as “K area rewrite data”) is transmitted from the client PC 6 as an example. The rewritten data will be described with reference to FIG. As shown in FIG. 3, the rewrite data for the K area has an appropriate data size for the data of the kernel program, similarly to the data stored in the first kernel area F-K1 and the second kernel area F-K2 of the FlashROM 9. The data size is 248 kb which is equal to the size of the first kernel area F-K1 or the second kernel area F-K2. Thus, even if the data size of the kernel program is changed by adding free data of an appropriate size to the rewriting kernel program, the first kernel area F-K1 or the second kernel area F-K2 is always changed. The rewrite data for the K area having the same data size as the size can be transmitted to the option board 3.

このようにして作成されたK領域用書き換えデータがオプションボード3に送信された場合、オプションボード3は、K領域用書き換えデータを受信した後、一旦SDRAM10のデータ領域SD−Dに格納する。そして、FlashROM9の第1カーネル領域F−K1及び第2カーネル領域2のカーネルプログラムを、データ領域SD−Dに格納したK領域用書き換えデータで書き換える。この書き換えに際して、書き換えを行う前に書き換えデータが正常であるか否かを判断し、書き換えを行った後に書き換えられたデータが正常であるか否かを判断する。このデータが正常であるか否かの判断では、所定の誤り検出データ作成手順に基づいて演算処理を行ってデータ検査を実行する。具体的には、オプションボード3の制御部7は、チェックサム(Check Sum)によるデータ検査(サムチェック)を行う。そのため、クライアントPC6から送信される書き換えデータには、書き換えデータを構成する各データを数値として加算し、その総和の値から一定の計算をして求めた誤り検出データ(以下、「チェッカ」という。)が埋め込まれている。   When the K area rewrite data created in this way is transmitted to the option board 3, the option board 3 receives the K area rewrite data and then temporarily stores it in the data area SD-D of the SDRAM 10. Then, the kernel programs in the first kernel area F-K1 and the second kernel area 2 of the Flash ROM 9 are rewritten with the K area rewrite data stored in the data area SD-D. At the time of this rewriting, it is determined whether or not the rewritten data is normal before rewriting, and it is determined whether or not the rewritten data is normal after rewriting. In determining whether or not the data is normal, a data check is performed by performing arithmetic processing based on a predetermined error detection data creation procedure. Specifically, the control unit 7 of the option board 3 performs data check (sum check) using a check sum. Therefore, the error detection data (hereinafter referred to as “checker”) obtained by adding each data constituting the rewrite data as a numerical value to the rewrite data transmitted from the client PC 6 and performing a certain calculation from the total value. ) Is embedded.

この書き換えデータに埋め込まれる1個のチェッカで表すことのできるデータの領域サイズをNとすると、領域サイズNは任意に設定することができるが、領域サイズNを無限大に設定した場合、いかなるデータサイズの書き換えデータであっても埋め込まれるチェッカの個数は1個である。しかし、オプションボード3においてサムチェックを行う場合に、書き換えデータのどの部分において書き換えエラーが発生したかを特定できるようにするため、ここでは一例としてNの値は1024kbに設定されている。そして、書き換えデータのデータサイズをMとすると、書き換えデータのデータサイズMが領域サイズN以下である場合にはその書き換えデータに1個のチェッカを埋め込み、データサイズMが領域サイズNを越える場合には領域サイズNに基づいてその書き換えデータを複数の部分領域に分割し、各部分領域毎にチェッカの値を算出し、書き換えデータの後端に算出した複数のチェッカを埋め込む。このチェッカが埋め込まれた領域をチェッカ領域と呼ぶ。   If the area size of data that can be represented by one checker embedded in the rewrite data is N, the area size N can be set arbitrarily, but if the area size N is set to infinity, any data The number of checkers to be embedded is one even for rewritten data of size. However, in order to be able to specify in which part of the rewrite data the rewrite error has occurred when performing the sum check in the option board 3, the value of N is set to 1024 kb as an example here. When the data size of the rewrite data is M, if the data size M of the rewrite data is equal to or smaller than the area size N, one checker is embedded in the rewrite data, and the data size M exceeds the area size N. Divides the rewrite data into a plurality of partial areas based on the area size N, calculates a checker value for each partial area, and embeds the calculated checkers at the rear end of the rewrite data. An area in which the checker is embedded is called a checker area.

そこで、書き換えデータにチェッカを埋め込む場合、まず予め設定されている領域サイズNと送信すべき書き換えデータのデータサイズMから埋め込むチェッカの個数でもある部分領域数cを算出する。図3に示すように、書き換えデータがK領域用書き換えデータである場合には、書き換えデータのデータサイズMが248kbであり、領域サイズNの値である1024kb以下であるため、部分領域数cは「1」でありこの書き換えデータには1個のチェッカが埋め込まれる。   Therefore, when the checker is embedded in the rewrite data, first, the number of partial areas c which is also the number of checkers to be embedded is calculated from the preset area size N and the data size M of the rewrite data to be transmitted. As shown in FIG. 3, when the rewrite data is K area rewrite data, the data size M of the rewrite data is 248 kb, and the area size N is 1024 kb or less. “1”, and one checker is embedded in the rewritten data.

次に、算出した部分領域数cに基づいて各部分領域のデータを加算してサム値を算出する。なお、ここでは、部分領域数cは1であるため、書き換えデータを複数の部分領域に分割することなく248kbのデータサイズの書き換えデータを部分領域としてデータに対してサム値Sを算出する。具体的には、248kbのK領域用書き換えデータを構成する全データを数値として先頭部分から加算してその総和を算出する。このようにして全てのデータの総和からサム値Sを算出することができるが、ここでは1個のチェッカのデータサイズbが2バイトであり、書き換えデータの最後の2バイトにチェッカを埋め込むため、最後の2バイトに元々あった値vをサム値Sから差引く。そして、このようにして求めたS−vを反転させた値−(S−v)をチェッカの値として書き換えデータの最後の2バイトに埋め込む。なお、ここでは、K領域用書き換えデータの最後の2バイトに元々あった値vを−(S−v)の値のチェッカに書き換えているが、チェッカに書き換える部分のvの値は空きデータの値であるため、チェッカを埋め込んだとしても書き換えデータの内容(ここでは、カーネルプログラム)が変化することはない。すなわち、書き換えデータの内容に影響を与えることなくチェッカを埋め込むことができる。 Next, the sum value is calculated by adding the data of each partial area based on the calculated number of partial areas c. Here, since the partial area number c is 1, to calculate the sum values S 1 to the data rewriting data of the data size of 248kb as a partial region without dividing the rewritten data into a plurality of partial regions. Specifically, all data constituting the 248-kb rewrite data for the K area are added as numerical values from the top part to calculate the sum. In this way, the sum value S 1 can be calculated from the sum of all data, but here the data size b of one checker is 2 bytes, and the checker is embedded in the last 2 bytes of the rewritten data. Subtract the value v 1 originally in the last 2 bytes from the sum value S 1 . Then, the value-(S 1 -v 1 ) obtained by inverting S 1 -v 1 obtained in this way is embedded as the checker value in the last two bytes of the rewrite data. Note that here, the value v 1 originally in the last two bytes of the rewrite data for the K area is rewritten to a checker having a value of − (S 1 −v 1 ), but the value of v 1 of the portion to be rewritten to the checker Is a value of empty data, so even if the checker is embedded, the content of the rewritten data (here, the kernel program) does not change. That is, the checker can be embedded without affecting the contents of the rewritten data.

以上に説明したように、書き換えデータのデータサイズMが1個のチェッカで表すことのできる領域サイズN以下である場合には、書き換えデータには1個のチェッカが埋め込まれる。一方、データサイズMが領域サイズNを越える場合には、書き換えデータには複数のチェッカが埋め込まれる。例えば、図4に例示するように書き換えデータが、FlashROM9の一般プログラム領域のデータを書き換えるためのP領域用書き換えデータである場合、そのデータサイズMは2816kbであり、領域サイズNの値である1024kbを越えており、部分領域数cは3となる。そして、算出した部分領域数cに対応する部分領域を図4に示すように、部分領域X、部分領域Y、及び、部分領域Zのように設定する。ここでは、複数の部分領域のうち、最初の部分領域である部分領域Xが端数を受け持つように部分領域Xのデータサイズを768kbに設定し、部分領域Y、及び、部分領域Zのデータサイズを領域サイズNと等しい1024kbに設定する。   As described above, when the data size M of the rewrite data is equal to or smaller than the area size N that can be represented by one checker, one checker is embedded in the rewrite data. On the other hand, when the data size M exceeds the region size N, a plurality of checkers are embedded in the rewritten data. For example, as shown in FIG. 4, when the rewrite data is rewrite data for P area for rewriting data in the general program area of the FlashROM 9, the data size M is 2816 kb, and the area size N is 1024 kb. And the number of partial areas c is 3. Then, the partial areas corresponding to the calculated number c of partial areas are set as a partial area X, a partial area Y, and a partial area Z as shown in FIG. Here, among the plurality of partial areas, the data size of the partial area X is set to 768 kb so that the partial area X which is the first partial area is responsible for fractions, and the data sizes of the partial area Y and the partial area Z are set to It is set to 1024 kb which is equal to the area size N.

このようにして、部分領域X乃至Zを設定した後、まず部分領域Xについてサム値を算出するが、サム値を算出して各部分領域毎にチェッカを埋め込むと、各部分領域、ここでは部分領域X、及び、部分領域Yのデータの内容が変化してしまう。そこで、部分領域X乃至Zのチェッカは、空きデータが付加されている最後の部分領域Zの後端のチェッカ領域に埋め込む。具体的には、部分領域Xと部分領域Yについて、それぞれ算出した各領域のサム値をそのまま反転させてチェッカとして埋め込む。すなわち、図4に示すように、768kbの部分領域Xの全データの総和であるサム値Sを算出し、これを反転させた−Sの値を部分領域Xのチェッカとして部分領域Zにおけるチェッカ領域の先頭に埋め込む。ここで、チェッカ領域の先頭は、1個のチェッカのデータサイズbと、書き換えデータのデータサイズMと、部分領域数(チェッカの個数)cとに基づいて、M−c×bの関係式から算出することができる。 After setting the partial areas X to Z in this way, first, the sum value is calculated for the partial area X. When the sum value is calculated and the checker is embedded for each partial area, The contents of the data in the area X and the partial area Y change. Therefore, the checkers of the partial areas X to Z are embedded in the checker area at the rear end of the last partial area Z to which empty data is added. Specifically, for the partial areas X and Y, the calculated sum values of the respective areas are inverted as they are and embedded as checkers. That is, as shown in FIG. 4, the sum value S 2 which is the sum of all the data of the partial region X of 768 kb is calculated, and the value −S 2 obtained by inverting this is used as the checker of the partial region X. Embed at the beginning of the checker area. Here, the head of the checker area is based on a relational expression of M−c × b based on the data size b of one checker, the data size M of rewrite data, and the number of partial areas (number of checkers) c. Can be calculated.

このようにして部分領域Xのチェッカを埋め込んだ後、部分領域Yについても同様にサム値Sを算出し、算出したサム値をそのまま反転させた値−Sを部分領域Yのチェッカとして部分領域Zにおける部分領域Xのチェッカの次の2バイトに埋め込む。そして、最後の部分領域である部分領域Zのサム値Sから求めたチェッカを部分領域Zの最後の2バイトに埋め込むが、この部分領域Zには、前記部分領域X及び、Yのチェッカと部分領域Zのチェッカの3個のチェッカを埋め込むためのチェッカ領域が存在するため、部分領域Zの全データの総和であるサム値Sからチェッカ領域に元々存在したデータ、すなわち、書き換えデータの最後の6バイト分のデータの総和であるvを部分領域を設定した段階で算出しておき、サム値Sから差引く。そして、これを反転させた値−(S−v)を部分領域Zのチェッカとして部分領域Zの最後の2バイトに埋め込む。 After embedding the checker of the thus partial region X, part similarly calculates a sum value S 3 also partial region Y, as the value -S 3 obtained by inverting the calculated sum value as a checker subregion Y It is embedded in the next 2 bytes of the checker of the partial area X in the area Z. And while embedding the checker determined from sum value S 4 of the partial region Z is the last partial area in the last two bytes of the partial region Z, in this portion region Z, the partial region X and a Y checker since the checker area for embedding the three checker checker partial region Z is present, the partial region Z of the entire data of the sum is a sum value S 4 originally present data to the checker area from, i.e., the last rewrite data the v 2 which is the sum of the data of 6 bytes previously calculated at the stage of setting the partial region is subtracted from the sum value S 4. Then, the inverted value-(S 4 -v 2 ) is embedded in the last two bytes of the partial area Z as a checker for the partial area Z.

以上に説明したように、実データに適当なデータサイズの空きデータが付加された書き換えデータに、当該書き換えデータのデータサイズMに基づいて1又は複数のチェッカが埋め込まれるが、ブート領域F−Bのデータを書き換えるためのB領域用書き換えデータ及び、フォント領域F−Fのデータを書き換えるためのF領域用書き換えデータについても同様に書き換えデータを作成してチェッカが埋め込まれる。そして、このようにチェッカ領域にチェッカが埋め込まれた後、書き換えが必要な記憶領域の書き換えデータのみがクライアントPC6から送信される。例えば、一般プログラム領域F−Pのデータのみ書き換えが必要な場合には、P領域用書き換えデータのみからなる2816kbの書き換えデータが送信され、第1カーネル領域F−K1及び第2カーネル領域F−K2、並びに、一般プログラム領域F−Pのデータについて書き換えが必要な場合には、K領域用書き換えデータとP領域用書き換えデータとからなる3064kbの書き換えデータがクライアントPC6から送信される。   As described above, one or a plurality of checkers are embedded in the rewrite data in which free data of an appropriate data size is added to the actual data based on the data size M of the rewrite data, but the boot area FB The rewrite data is similarly created for the B area rewrite data for rewriting the data and the F area rewrite data for rewriting the data in the font area FF, and the checker is embedded. Then, after the checker is embedded in the checker area in this way, only rewrite data in the storage area that needs to be rewritten is transmitted from the client PC 6. For example, when only the data in the general program area FP needs to be rewritten, 2816-kb rewritten data consisting only of the P area rewrite data is transmitted, and the first kernel area F-K1 and the second kernel area F-K2 are transmitted. In addition, when the data in the general program area FP needs to be rewritten, 3064 kb rewritten data composed of the K area rewritten data and the P area rewritten data is transmitted from the client PC 6.

次に、以上に説明したようにチェッカを用いて書き換えデータが正常であるか否かを判断するデータ検査の方法について説明する。以下においては、書き換えデータによって書き換えられた後のFlashROM9の記憶領域のデータが正常であるか否かを判断するデータ検査の場合について説明するが、書き換え前に一旦SDRAM10のデータ領域SD−Dに記憶されている書き換えデータが正常であるか否かを判断するデータ検査の場合も同様にして実行できる。   Next, a data inspection method for determining whether or not rewritten data is normal using a checker as described above will be described. In the following, a case of data inspection for determining whether or not the data in the storage area of the Flash ROM 9 after being rewritten by the rewrite data is normal will be described. However, the data is once stored in the data area SD-D of the SDRAM 10 before rewriting. The same can be performed in the case of data inspection for determining whether or not the rewritten data being normal is normal.

まず、書き換えデータによる自装置1のファームウェアの書き換え処理が終了した後、書き換えた記憶領域のサイズM及び、1個のチェッカで表すことができる領域サイズNからサムチェックを行う対象領域の部分領域数cを算出し、部分領域を設定する。ここで、対象領域は、FlashROM9の記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fのうちの書き換えデータに書き換えた記憶領域であり、複数の記憶領域に対して書き換えを行った場合には、まず、その複数の記憶領域のうちのいずれか1つの記憶領域を対象領域してサムチェックを行う。上述したように、対象領域のデータ(書き換えデータ)には、サムチェックを行う部分領域の数と等しい数のチェッカが埋め込まれている。書き換えたFlashROM9の記憶領域のサイズMと該記憶領域のデータを書き換えた書き換えデータのデータサイズは等しいため、対象領域のデータを書き換えた書き換えデータのデータサイズについてもMで表すことができる。   First, after the rewriting process of the firmware of the own device 1 by the rewriting data is completed, the number of partial areas of the target area to be sum-checked from the rewritten storage area size M and the area size N that can be represented by one checker c is calculated and a partial region is set. Here, the target area is a storage area that has been rewritten to rewritten data among the storage areas FB, F-K1, F-K2, FP, and FF of the flash ROM 9, and includes a plurality of storage areas. When rewriting is performed, first, a sum check is performed using any one of the plurality of storage areas as a target area. As described above, the number of checkers equal to the number of partial areas to be sum-checked is embedded in the target area data (rewrite data). Since the size M of the rewritten flash ROM 9 storage area is equal to the data size of the rewritten data obtained by rewriting the data in the storage area, the data size of the rewritten data obtained by rewriting the data in the target area can also be represented by M.

例えば、図5に示すように対象領域が2816kbの一般プログラム領域F−Pである場合には、対象領域のサイズ、すなわち一般プログラム領域F−Pを書き換えたP領域用書き換えデータのデータサイズMが1個のチェッカで表すことができる領域サイズN(1024kb)を越えており、部分領域数cは3である。そして、図4と同様に一般プログラム領域F−Pを768kbの部分領域X、1024kbの部分領域Y、1024kbの部分領域Zの3つの部分領域を設定する。なお、ここでも複数の部分領域のうち、先頭の部分領域が端数を受け持つように各部分領域のサイズが設定される。   For example, when the target area is a general program area FP of 2816 kb as shown in FIG. 5, the size of the target area, that is, the data size M of the P area rewrite data obtained by rewriting the general program area FP is set. It exceeds the region size N (1024 kb) that can be represented by one checker, and the number of partial regions c is 3. Then, in the same manner as in FIG. 4, the general program area FP is set with three partial areas, a partial area X of 768 kb, a partial area Y of 1024 kb, a partial area Z of 1024 kb. Here, the size of each partial area is set so that the top partial area of the plurality of partial areas is responsible for fractions.

そして、対象領域におけるチェッカ領域からチェッカを読み出す。対象領域におけるチェッカ領域の先頭アドレスDは、対象領域の先頭アドレスをA、対象領域(書き換えた記憶領域)のサイズM、チェッカの個数(部分領域数)c、1個のチェッカのデータサイズbに基づいて、D=A+M−c×bの関係式から算出することができる。この関係式からチェッカ領域の先頭アドレスDを算出してチェッカの位置を特定し、その先頭アドレスD以降のデータをチェッカの値として読み出す。ここで、図5に示す一般プログラム領域F−Pの場合には、部分領域Xのチェッカと部分領域Yのチェッカと部分領域Zのチェッカの3つのチェッカの値を読み出すことができる。なお、1個のチェッカで表すことができる領域サイズNと1個のチェッカのデータサイズbは、第1カーネル領域F−K1又は第2カーネル領域F−K2に記憶されているデータチェックコードによって予め設定されている。1個のチェッカで表すことができる領域サイズNと1個のチェッカのデータサイズbは、書き換えデータにチェッカを埋め込む際の領域サイズとデータサイズに等しい値がそれぞれ設定されており、例えば、領域サイズNが1024kb、データサイズbが2バイトである。   Then, the checker is read from the checker area in the target area. The start address D of the checker area in the target area is set such that the start address of the target area is A, the size M of the target area (rewritten storage area), the number of checkers (number of partial areas) c, and the data size b of one checker. Based on the relational expression, D = A + M−c × b. From this relational expression, the head address D of the checker area is calculated, the position of the checker is specified, and data after the head address D is read as the value of the checker. Here, in the case of the general program area FP shown in FIG. 5, the values of the three checkers of the checker of the partial area X, the checker of the partial area Y, and the checker of the partial area Z can be read. Note that the area size N that can be represented by one checker and the data size b of one checker are determined in advance by the data check code stored in the first kernel area F-K1 or the second kernel area F-K2. Is set. The area size N that can be represented by one checker and the data size b of one checker are respectively set to values equal to the area size and data size when the checker is embedded in the rewrite data. N is 1024 kb and the data size b is 2 bytes.

次に、部分領域の先頭アドレスとサイズに基づいてサム値を計算する。例えば、一般プログラム領域F−Pのように、3つの部分領域が設定されている場合、まず、部分領域Xの先頭アドレス、すなわち、対象領域の先頭アドレスAから768kbの部分領域Xの全データを数値として加算してサム値を計算する。そして、計算したサム値とチェッカの値の和がゼロになるか否かを判断する。サム値とチェッカの値の和がゼロである場合には、部分領域に誤りはないと判断し、ゼロでない場合には部分領域に誤りがあると判断する。すべての部分領域(部分領域X,Y,Z)についてサムチェックを行い、すべての部分領域に誤りがない場合に、当該対象領域のデータが正常であると判断する。   Next, the sum value is calculated based on the start address and size of the partial area. For example, when three partial areas are set as in the general program area FP, first, the top address of the partial area X, that is, all the data in the partial area X of 768 kb from the start address A of the target area is obtained. Add the numbers and calculate the sum value. Then, it is determined whether or not the sum of the calculated sum value and the checker value becomes zero. When the sum of the sum value and the checker value is zero, it is determined that there is no error in the partial area, and when it is not zero, it is determined that there is an error in the partial area. Sum check is performed on all partial areas (partial areas X, Y, and Z), and if all partial areas have no error, it is determined that the data in the target area is normal.

以下に、図6及び図7を用いて、クライアントPC6から送信された書き換えデータに基づいてオプションボード3のFlashROM9に記憶されているファームウェアをアップデート(書き換え)する場合に、オプションボード3の制御部7が実行する処理について説明する。オプションボード3の制御部7は、FlashROM9の第1カーネル領域F−K1又は第2カーネル領域F−K2からSDRAM10の第1カーネル領域SD−K1に読み込まれたカーネルプログラムに従って処理を実行する。FlashROM9に記憶されているファームウェアは、ブート領域F−B、第1カーネル領域F−K1、第2カーネル領域F−K2、一般プログラム領域F−P、フォント領域F−F毎にそれぞれ単独でアップデート(書き換え)可能であるが、以下には、第1カーネル領域F−K1、第2カーネル領域F−K2、一般プログラム領域F−P、フォント領域F−Fをアップデート(書き換え)する場合について説明する。なお、図6及び図7に示す各処理の実行順序は図示するものに限定されるものではなく、処理の実行順序を変更しても本発明を実現できる場合には適宜に変更してもよい。   Hereinafter, the controller 7 of the option board 3 is used when the firmware stored in the flash ROM 9 of the option board 3 is updated (rewritten) based on the rewrite data transmitted from the client PC 6 with reference to FIGS. The processing executed by will be described. The control unit 7 of the option board 3 executes processing in accordance with the kernel program read from the first kernel area F-K1 or the second kernel area F-K2 of the flash ROM 9 into the first kernel area SD-K1 of the SDRAM 10. The firmware stored in the flash ROM 9 is updated independently for each of the boot area F-B, the first kernel area F-K1, the second kernel area F-K2, the general program area FP, and the font area FF ( In the following, a case where the first kernel area F-K1, the second kernel area F-K2, the general program area FP, and the font area FF are updated (rewritten) will be described. 6 and FIG. 7 are not limited to those shown in the drawings, and may be changed as appropriate when the present invention can be realized even if the execution order of the processes is changed. .

まず、制御部7は、クライアントPC6から送信され、一時的にSDRAM10のデータ領域SD−Dに記憶されている書き換えデータの正当性のチェックを行う(S101)。この正当性のチェックでは、SDRAM10のデータ領域SD−Dに記憶されているデータが書き換えデータであるか否かのチェックと書き換えデータが正常であるか否かのチェックを行う。FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム、及び、第2カーネル領域F−K2に記憶されているカーネルプログラムには、図8に示すような、書き換えデータのデータサイズとFlashROM9の各記憶領域F−B(Bと表記)、F−K1(Kと表記)、F−K2(Kと表記)、F−P(Pと表記)、及び、F−F(Fと表記)とを対応付けたテーブルが含まれている。したがって、制御部7は、受信してSDRAM10のデータ領域SD−Dに記憶されているデータのデータサイズが図8に示すデータサイズのいずれかであるか否かによって、受信したデータが書き換えデータであるか否かを判断することができる。例えば、受信した書き換えデータのデータサイズが248kbであれば、書き換えデータは第1カーネル領域F−K1及び第2カーネル領域F−K2のデータを書き換えるためのK領域用書き換えデータであると判断し、また、受信した書き換えデータのデータサイズが7936kbであれば、書き換えデータは一般プログラム領域F−Pのデータを書き換えるためのP領域用書き換えデータとフォント領域F−Fのデータを書き換えるためのF領域用書き換えデータであると判断する。受信した書き換えデータが正常であるか否かは、上述したチェッカを用いたサムチェックによってチェックする。   First, the control unit 7 checks the validity of the rewrite data transmitted from the client PC 6 and temporarily stored in the data area SD-D of the SDRAM 10 (S101). In this validity check, whether or not the data stored in the data area SD-D of the SDRAM 10 is rewrite data and whether or not the rewrite data is normal are checked. The kernel program stored in the first kernel area F-K1 of the flash ROM 9 and the kernel program stored in the second kernel area F-K2 include the data size of the rewrite data and the flash ROM 9 as shown in FIG. Storage areas FB (denoted as B), F-K1 (denoted as K), F-K2 (denoted as K), FP (denoted as P), and FF (denoted as F) Is included in the table. Therefore, the control unit 7 determines that the received data is rewritten data depending on whether the data size of the data received and stored in the data area SD-D of the SDRAM 10 is one of the data sizes shown in FIG. It can be determined whether or not there is. For example, if the data size of the received rewrite data is 248 kb, it is determined that the rewrite data is K area rewrite data for rewriting the data in the first kernel area F-K1 and the second kernel area F-K2. If the data size of the received rewrite data is 7936 kb, the rewrite data is for the P area rewrite data for rewriting the data in the general program area FP and for the F area for rewriting the data in the font area FF. Judged as rewritten data. Whether the received rewrite data is normal or not is checked by the sum check using the checker described above.

そして、書き換えデータが正当であるか否かを判断する(S102)。受信したデータが書き換えデータであり、かつ、書き換えデータが正常である場合に書き換えデータが正当であると判断する。書き換えデータが正当でないと判断すると(S102:NO)、所定のエラー処理を行う(S129)。一方、書き換えデータが正当であると判断すると(S102:YES)、FlashROM9の第1カーネル領域F−K1に書き換え前の現時点で記憶されているカーネルプログラムが正常であるか(破損しているか)否かのチェックを行い(S103)、チェックの結果に基づいて当該カーネルプログラムが正常であるか否かを判断する(S104)。カーネルプログラムが正常であるか否かのチェックは、上述したチェッカを用いたサムチェックによって行う。   Then, it is determined whether the rewritten data is valid (S102). When the received data is rewrite data and the rewrite data is normal, it is determined that the rewrite data is valid. If it is determined that the rewritten data is not valid (S102: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the rewritten data is valid (S102: YES), whether or not the kernel program stored in the first kernel area F-K1 of the FlashROM 9 before rewriting is normal (is damaged). Is checked (S103), and based on the result of the check, it is determined whether or not the kernel program is normal (S104). Whether the kernel program is normal is checked by a sum check using the checker described above.

第1カーネル領域F−K1に記憶されているカーネルプログラムが正常でないと判断すると(S104:NO)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、FlashROM9の第1カーネル領域F−K1を書き換える(S105)。そして、チェッカを用いたサムチェックによりFlashROM9の第1カーネル領域F−K1に書き込まれたカーネルプログラムが正常であるか否かをチェックし(S106)、当該カーネルプログラムが正常であるか否かを判断する(S107)。   If it is determined that the kernel program stored in the first kernel area F-K1 is not normal (S104: NO), the rewrite data of the kernel program is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the FlashROM 9 The first kernel area F-K1 is rewritten (S105). Then, it is checked whether the kernel program written in the first kernel area F-K1 of the FlashROM 9 is normal by a sum check using a checker (S106), and it is determined whether the kernel program is normal. (S107).

FlashROM9の第1カーネル領域F−K1に書き込まれたカーネルプログラムが正常でないと判断すると(S107:NO)、所定のエラー処理を行う(S129)。一方、当該カーネルプログラムが正常であると判断すると(S107:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータから一般プログラムの書き換えデータを読み出し、FlashROM9の一般プログラム領域F−Pを書き換える(S108)。そして、チェッカを用いたチェックサムによりFlashROM9の一般プログラム領域F−Pに書き込まれた一般プログラムが正常であるか否かをチェックし(S109)、当該一般プログラムが正常であるか否かを判断する(S110)。   If it is determined that the kernel program written in the first kernel area F-K1 of the FlashROM 9 is not normal (S107: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the kernel program is normal (S107: YES), the rewrite data of the general program is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the general program area FP of the FlashROM 9 is read. Rewrite (S108). Then, it is checked whether or not the general program written in the general program area FP of the FlashROM 9 is normal by a checksum using a checker (S109), and it is determined whether or not the general program is normal. (S110).

FlashROM9の一般プログラム領域F−Pに書き込まれた一般プログラムが正常でないと判断すると(S110:NO)、所定のエラー処理を行う(S129)。一方、当該一般プログラムが正常であると判断すると(S110:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからフォントデータの書き換えデータを読み出し、FlashROM9のフォント領域F−Fを書き換える(S111)。そして、チェッカを用いたサムチェックによりFlashROM9のフォント領域F−Fに書き込まれたフォントデータが正常であるか否かをチェックし(S112)、当該フォントデータが正常であるか否かを判断する(S113)。   If it is determined that the general program written in the general program area FP of the FlashROM 9 is not normal (S110: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the general program is normal (S110: YES), the font data rewrite data is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the font area FF of the FlashROM 9 is rewritten. (S111). Then, it is checked whether or not the font data written in the font area FF of the FlashROM 9 is normal by a sum check using a checker (S112), and it is determined whether or not the font data is normal (S112). S113).

FlashROM9のフォント領域F−Fに書き込まれたフォントデータが正常でないと判断すると(S113:NO)、所定のエラー処理を行う(S129)。一方、当該フォントデータが正常であると判断すると(S113:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、FlashROM9の第2カーネル領域F−K2を書き換える(S114)。そして、チェッカを用いたサムチェックによりFlashROM9の第2カーネル領域F−K2に書き込まれたカーネルプログラムが正常であるか否かをチェックし(S115)、当該カーネルプログラムが正常であるか否かを判断する(S116)。当該カーネルプログラムが正常でないと判断すると(S116:NO)、所定のエラー処理を行う(S129)。一方、当該カーネルプログラムが正常であると判断すると(S116:YES)、ファームウェアの書き換え処理を終了する。   If it is determined that the font data written in the font area FF of the FlashROM 9 is not normal (S113: NO), predetermined error processing is performed (S129). On the other hand, when it is determined that the font data is normal (S113: YES), the rewrite data of the kernel program is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the second kernel area F-K2 of the FlashROM 9 is read. Is rewritten (S114). Then, it is checked whether the kernel program written in the second kernel area F-K2 of the FlashROM 9 is normal by a sum check using a checker (S115), and it is determined whether the kernel program is normal. (S116). If it is determined that the kernel program is not normal (S116: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the kernel program is normal (S116: YES), the firmware rewriting process is terminated.

ステップS104において、FlashROM9の第1カーネル領域F−K1に現時点で記憶されているカーネルプログラムが正常であると判断すると(S104:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータから一般プログラムの書き換えデータを読み出し、FlashROM9の一般プログラム領域F−Pを書き換える(S117)。そして、チェッカを用いたサムチェックによりFlashROM9の一般プログラム領域F−Pに書き込まれた一般プログラムが正常であるか否かをチェックし(S118)、当該一般プログラムが正常であるか否かを判断する(S119)。   If it is determined in step S104 that the kernel program currently stored in the first kernel area F-K1 of the FlashROM 9 is normal (S104: YES), the rewrite data stored in the data area SD-D of the SDRAM 10 is used. The rewrite data of the general program is read, and the general program area FP of the FlashROM 9 is rewritten (S117). Then, it is checked whether or not the general program written in the general program area FP of the Flash ROM 9 is normal by a sum check using a checker (S118), and it is determined whether or not the general program is normal. (S119).

FlashROM9の一般プログラム領域F−Pに書き込まれた一般プログラムが正常でないと判断すると(S119:NO)、所定のエラー処理を行う(S129)。一方、当該一般プログラムが正常であると判断すると(S119:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからフォントデータの書き換えデータを読み出し、FlashROM9のフォント領域F−Fを書き換える(S120)。そして、チェッカを用いたサムチェックによりFlashROM9のフォント領域F−Fに書き込まれたフォントデータが正常であるか否かをチェックし(S121)、当該フォントデータが正常であるか否かを判断する(S122)。   If it is determined that the general program written in the general program area FP of the FlashROM 9 is not normal (S119: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the general program is normal (S119: YES), the rewrite data of the font data is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the font area FF of the FlashROM 9 is rewritten. (S120). Then, it is checked whether or not the font data written in the font area FF of the FlashROM 9 by the sum check using the checker is normal (S121), and it is determined whether or not the font data is normal (S121). S122).

FlashROM9のフォント領域F−Fに書き込まれたフォントデータが正常でないと判断すると(S122:NO)、所定のエラー処理を行う(S129)。一方、当該フォントデータが正常であると判断すると(S112:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、FlashROM9の第2カーネル領域F−K2を書き換える(S123)。そして、チェッカを用いたサムチェックによりFlashROM9の第2カーネル領域F−K2に書き込まれたカーネルプログラムが正常であるか否かをチェックし(S124)、当該カーネルプログラムが正常であるか否かを判断する(S125)。   If it is determined that the font data written in the font area FF of the FlashROM 9 is not normal (S122: NO), predetermined error processing is performed (S129). On the other hand, when it is determined that the font data is normal (S112: YES), the rewrite data of the kernel program is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the second kernel area F-K2 of the FlashROM 9 is read. Is rewritten (S123). Then, it is checked whether or not the kernel program written in the second kernel area F-K2 of the FlashROM 9 is normal by the sum check using the checker (S124), and it is determined whether or not the kernel program is normal. (S125).

FlashROM9の第2カーネル領域F−K2に書き込まれたカーネルプログラムが正常でないと判断すると(S125:NO)、所定のエラー処理を行う(S129)。一方、当該カーネルデータが正常であると判断すると(S125:YES)、SDRAM10のデータ領域SD−Dに記憶されている書き換えデータからカーネルプログラムの書き換えデータを読み出し、FlashROM9の第1カーネル領域F−K1を書き換える(S126)。そして、チェッカを用いたサムチェックによりFlashROM9の第1カーネル領域F−K1に書き込まれたカーネルプログラムが正常であるか否かをチェックし(S127)、当該カーネルプログラムが正常であるか否かを判断する(S128)。当該カーネルプログラムが正常でないと判断すると(S128:NO)、所定のエラー処理を行う(S129)。一方、当該カーネルプログラムが正常であると判断すると(S128:YES)、ファームウェアの書き換え処理を終了する。   If it is determined that the kernel program written in the second kernel area F-K2 of the FlashROM 9 is not normal (S125: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the kernel data is normal (S125: YES), the rewrite data of the kernel program is read from the rewrite data stored in the data area SD-D of the SDRAM 10, and the first kernel area F-K1 of the FlashROM 9 is read. Is rewritten (S126). Then, it is checked whether the kernel program written in the first kernel area F-K1 of the FlashROM 9 is normal by a sum check using a checker (S127), and it is determined whether the kernel program is normal. (S128). If it is determined that the kernel program is not normal (S128: NO), predetermined error processing is performed (S129). On the other hand, if it is determined that the kernel program is normal (S128: YES), the firmware rewriting process is terminated.

このように、オプションボード3では、ファームウェアを、データの種類別に分割してFlashROM9の各記憶領域F−B、F−K1、F−K2、F−P、及び、F−Fに記憶し、書き換えデータによってファームウェアをアップデートする際には、FlashROM9の各記憶領域F−B、F−K1、F−K2、F−P、及び、F−F毎にデータの書き換えを行う。そして、書き換えデータに含まれるカーネルプログラムを、FlashROM9の第1カーネル領域F−K1と第2カーネル領域F−K2との2箇所に書き込む。このような方法によってファームウェアのアップデート(書き換え)を行うと、アップデート中の停電などによりオプションボード3に電源断が発生した場合でも、第1カーネル領域F−K1のカーネルプログラムと第2カーネル領域F−K2のカーネルプログラムとの両方が一度に破損することがないので、正常なカーネルプログラムが存在しないという事態が発生することを防止することができる。   As described above, in the option board 3, the firmware is divided into data types and stored in the storage areas FB, F-K1, F-K2, FP, and FF of the flash ROM 9, and rewritten. When the firmware is updated with data, the data is rewritten for each of the storage areas FB, F-K1, F-K2, FP, and FF of the FlashROM 9. Then, the kernel program included in the rewrite data is written in two locations of the first kernel area F-K1 and the second kernel area F-K2 of the FlashROM 9. When the firmware is updated (rewritten) by such a method, even if the power supply to the option board 3 occurs due to a power failure during the update, the kernel program in the first kernel area F-K1 and the second kernel area F- Since both the K2 kernel program and the kernel program are not damaged at the same time, it is possible to prevent a situation in which a normal kernel program does not exist.

また、FlashROM9の第1カーネル領域F−K1のカーネルプログラム及び第2カーネル領域F−K2のカーネルプログラムの書き換えを行う際に、第1カーネル領域F−K1のカーネルプログラムが破損しているか(正常であるか)否かを判断し、破損している場合には、第2カーネル領域F−K2のカーネルプログラムの書き換えに先立って第1カーネル領域F−K1のカーネルプログラムの書き換えを行う。また、第2カーネル領域F−K2のカーネルプログラムが損傷している場合(図6のステップ104の判断におけるYESの場合に含まれる)には、第1カーネル領域F−K1のカーネルプログラムの書き換えに先立って第2カーネル領域F−K2のカーネルプログラムの書き換えを行う。したがって、第1カーネル領域F−K1のカーネルプログラムと第2カーネル領域F−K2のカーネルプログラムとのどちらかが破損している状態で、第1カーネル領域F−K1のカーネルプログラム及び第2カーネル領域F−K2のカーネルプログラムの書き換えを行う場合に電源断が再び発生した場合でも、第1カーネル領域F−K1又は第2カーネル領域F−K2のどちらかに正常なカーネルプログラムが存在することとなる。   In addition, when the kernel program in the first kernel area F-K1 and the kernel program in the second kernel area F-K2 of the flash ROM 9 are rewritten, the kernel program in the first kernel area F-K1 is damaged (normally If it is damaged, the kernel program in the first kernel area F-K1 is rewritten prior to rewriting the kernel program in the second kernel area F-K2. Further, when the kernel program in the second kernel area F-K2 is damaged (included in the case of YES in the determination of step 104 in FIG. 6), the kernel program in the first kernel area F-K1 is rewritten. First, the kernel program in the second kernel area F-K2 is rewritten. Therefore, the kernel program and the second kernel area in the first kernel area F-K1 are in a state where either the kernel program in the first kernel area F-K1 or the kernel program in the second kernel area F-K2 is damaged. Even when the power interruption occurs again when the F-K2 kernel program is rewritten, a normal kernel program exists in either the first kernel area F-K1 or the second kernel area F-K2. .

本実施の形態における複合機1では、以上に説明したような方法によって、オプションボード3のFlashROM9に記憶されているファームウェアの書き換えを行う。そして、複合機1が再起動され、オプションボード3に電力が供給されて、FlashROM9に記憶されているファームウェアをSDRAM10に読み込んだ際に、オプションボード3に特定の状況が発生すると、当該特定の状況が発生した旨を示す情報(告知情報に相当する。)をメインボード2に送信する。オプションボード3のファームウェアがSDRAM10に読み込まれた際にオプションボード3に特定の状況が発生していない場合には、オプションボード3は、FlashROM9の第1カーネル領域F−K1又は第2カーネル領域F−K2からSDRAM10の第1カーネル領域SD−K1に読み込まれたカーネルプログラムのバージョンの文字列を示すバージョン情報をメインボード2に送信する。そして、先に述べたように、特定の状況がオプションボード3に発生した場合には、このカーネルプログラムのバージョンの文字列を当該特定の状況の発生及びその状況の内容を示す文字列に置き換えたバージョン情報、又は、カーネルプログラムのバージョンの文字列に当該特定の状況の発生及びその状況の内容を示す文字列を埋め込んだバージョン情報をメインボード2に送信する。   In the multifunction device 1 according to the present embodiment, the firmware stored in the flash ROM 9 of the option board 3 is rewritten by the method described above. Then, when the multifunction device 1 is restarted, power is supplied to the option board 3 and the firmware stored in the flash ROM 9 is read into the SDRAM 10, if a specific situation occurs in the option board 3, the particular situation Is transmitted to the main board 2 (indicating that it corresponds to notification information). When the firmware of the option board 3 is read into the SDRAM 10, when the specific situation does not occur in the option board 3, the option board 3 is connected to the first kernel area F-K1 or the second kernel area F- of the flash ROM 9. Version information indicating the character string of the version of the kernel program read from K2 into the first kernel area SD-K1 of the SDRAM 10 is transmitted to the main board 2. As described above, when a specific situation occurs in the option board 3, the character string of the kernel program version is replaced with a character string indicating the occurrence of the specific situation and the contents of the situation. Version information or version information in which a character string indicating the occurrence of the specific situation and the contents of the situation is embedded in the character string of the version of the kernel program is transmitted to the main board 2.

複合機1のユーザやサービスマンは、複合機1の電源の投入後に、複合機1の操作部28に対して、オプションボード3のファームウェアのバージョンを表示させるための所定の操作を行うことによって、上記バージョン情報に基づいて、カーネルプログラムのバージョンを示す文字列、又は、オプションボード3に特定の状況が発生した旨を示す文字列を表示部29に表示することができる。カーネルプログラムのバージョンを示す文字列に置き換えられ、又は、当該文字列に埋め込まれる文字列が示す、オプションボード3に発生した特定の状況とは、例えば、オプションボード3のファームウェアの書き換えに伴って発生する状況である。より具体的には、FlashROM9に記憶されているファームウェアに異常があり(破損している)正常ではない状況や、書き換えられたファームウェアのカーネルプログラムにフォントデータが適合していない状況などである。   A user or a service person of the multifunction device 1 performs a predetermined operation for displaying the firmware version of the option board 3 on the operation unit 28 of the multifunction device 1 after the power of the multifunction device 1 is turned on. Based on the version information, a character string indicating the version of the kernel program or a character string indicating that a specific situation has occurred in the option board 3 can be displayed on the display unit 29. The specific situation generated in the option board 3 indicated by the character string replaced with the character string indicating the version of the kernel program or embedded in the character string is generated, for example, when the firmware of the option board 3 is rewritten. It is a situation to do. More specifically, the firmware stored in the FlashROM 9 is abnormal (damaged) and is not normal, or the font data is not compatible with the rewritten firmware kernel program.

ファームウェアに異常があるか否かは、FlashROM9の各領域F−K1、F−K2、F−P、F−Fに記憶されているデータ(プログラム)毎に、上述したチェッカを用いたサムチェックにより確認することができる。   Whether there is an abnormality in the firmware is determined by the sum check using the checker described above for each data (program) stored in each area F-K1, F-K2, FP, and FF of the FlashROM 9. Can be confirmed.

また、FlashROM9のフォント領域F−Fに記憶されているフォントデータが、第1カーネル領域F−K1又は第2カーネル領域F−K2に記憶されているカーネルプログラムに適合しているか否かは、フォントデータのサムチェックに使用されるチェッカ、及び、図9に示すようなバージョンテーブル40に基づいて確認することができる。このバージョンテーブル40は、FlashROM9のフォント領域F−Fに書き込まれているであろうフォントデータのバージョンと当該バージョンのフォントデータのチェッカとを対応付けて記憶したテーブルである。FlashROM9に記憶されているフォントデータは、空きデータも含めて5120kbであるので、図2に示すように、チェッカ領域には5つのチェッカが存在する。図9のバージョンテーブル40に、フォントデータのバージョンと対応付けて記憶されているのは、チェッカ領域の5つのチェッカのうちの5つ目(末尾)のチェッカである。そのため、FlashROM9のフォント領域F−Fに記憶されるフォントデータは、フォントデータの5つ目の部分領域のチェックサムに使用されるチェッカの値が、フォントデータのバージョン毎に異なるように構成されている。そして、当該チェッカの値を、バージョンテーブル40において検索することによって、FlashROM9に記憶されているフォントデータのバージョンを知ることができる。FlashROM9に記憶されているフォントデータのバージョンが、バージョンテーブル40に記憶されている最新のバージョンでない場合に、FlashROM9に記憶されているフォントデータが、同じくFlashROM9に記憶されているカーネルプログラムに適合していないと判断する。   Whether the font data stored in the font area FF of the Flash ROM 9 is compatible with the kernel program stored in the first kernel area F-K1 or the second kernel area F-K2 It can be confirmed based on a checker used for data sum check and a version table 40 as shown in FIG. The version table 40 is a table that stores a version of font data that will be written in the font area FF of the FlashROM 9 and a checker for the font data of that version in association with each other. Since the font data stored in the Flash ROM 9 is 5120 kb including empty data, there are five checkers in the checker area as shown in FIG. What is stored in the version table 40 of FIG. 9 in association with the font data version is the fifth (tail) checker of the five checkers in the checker area. Therefore, the font data stored in the font area FF of the FlashROM 9 is configured such that the checker value used for the checksum of the fifth partial area of the font data differs for each version of the font data. Yes. The version of the font data stored in the flash ROM 9 can be known by searching the version table 40 for the value of the checker. If the version of the font data stored in the FlashROM 9 is not the latest version stored in the version table 40, the font data stored in the FlashROM 9 is compatible with the kernel program stored in the FlashROM 9 as well. Judge that there is no.

次に、図10及び図11を用いて、オプションボード3に電力が供給されて、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム、第2カーネル領域F−K1に記憶されているカーネルプログラム、一般プログラム領域F−Pに記憶されている一般プログラム、フォント領域F−Fに記憶されているフォントデータをSDRAM10のデータ領域SD−Dの各領域に読み込み、バージョン情報をメインボード2に送信する場合に、オプションボード3の制御部7が実行する処理について説明する。オプションボード3の制御部7は、FlashROM9のブート領域F−BからSDRAM10のブート領域SD−Bに読み込まれたブートプログラム、及び、第1カーネル領域F−K1又は第2カーネル領域F−K2から第1カーネル領域SD−K1に読み込まれたカーネルプログラムに従って処理を実行する。なお、図10及び図11に示す各処理の実行順序は図示するものに限定されるものではなく、処理の実行順序を変更しても本発明を実現できる場合には適宜に変更してもよい。   Next, using FIG. 10 and FIG. 11, power is supplied to the option board 3, and the kernel program stored in the first kernel area F-K1 of the flash ROM 9 is stored in the second kernel area F-K1. The kernel program, the general program stored in the general program area FP, and the font data stored in the font area FF are read into each area of the data area SD-D of the SDRAM 10, and the version information is read from the main board 2 A process executed by the control unit 7 of the option board 3 in the case of transmitting to will be described. The control unit 7 of the option board 3 includes the boot program read from the boot area F-B of the flash ROM 9 into the boot area SD-B of the SDRAM 10, and the first kernel area F-K1 or the second kernel area F-K2. The processing is executed in accordance with the kernel program read into one kernel area SD-K1. Note that the execution order of the processes shown in FIGS. 10 and 11 is not limited to that illustrated, and may be changed as appropriate when the present invention can be realized even if the execution order of the processes is changed. .

まず、複合機1の電源が投入されてオプションボード3に電力が供給されると、FlashROM9のブート領域F−Bに記憶されているブートプログラムがSDRAM10のブート領域SD−Bに読み込まれ、実行される(S201)。ブートプログラムがSDRAM10に読み込まれると、制御部7は、ブートプログラムに基づいて、例えば、SDRAM10のデータ領域SD−Dに設けられた、FlashROM9に記憶されているカーネルプログラムのバージョンを示すバージョン情報(文字列情報)を一時的に記憶するためのバージョン文字列領域の初期化を行う(S202)。次に、制御部7は、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラムをSDRAM10の第1カーネル領域SD−K1に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする(S203)。このカーネルプログラムが正常であるか否かのチェックは、FlashROM9の第1カーネル領域F−K1のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。つまり、制御部7は、FlashROM9の第1カーネル領域F−K1からカーネルプログラムのデータを順次に読み出して第1カーネル領域SD−K1に書き込みつつ、第1カーネル領域F−K1から読み出した各データを数値として加算し、サムチェックのための総和を求める。そして、サムチェックの結果に基づいて、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム、すなわち、SDRAM10の第1カーネル領域SD−K1に読み込まれたカーネルプログラムが正常であるか否かを判断する(S204)。   First, when the multifunction device 1 is turned on and power is supplied to the option board 3, the boot program stored in the boot area FB of the Flash ROM 9 is read into the boot area SD-B of the SDRAM 10 and executed. (S201). When the boot program is read into the SDRAM 10, based on the boot program, the control unit 7, for example, version information (characters indicating the version of the kernel program stored in the Flash ROM 9 provided in the data area SD-D of the SDRAM 10). The version character string area for temporarily storing (column information) is initialized (S202). Next, the control unit 7 reads the kernel program stored in the first kernel area F-K1 of the flash ROM 9 into the first kernel area SD-K1 of the SDRAM 10 and checks whether the kernel program is normal. (S203). Whether the kernel program is normal or not is checked by a sum check based on a checker stored in the checker area of the first kernel area F-K1 of the FlashROM 9. That is, the control unit 7 sequentially reads the data of the kernel program from the first kernel area F-K1 of the flash ROM 9 and writes the data to the first kernel area SD-K1, while reading each data read from the first kernel area F-K1. Add as numbers to find sum for sum check. Then, based on the result of the sum check, whether or not the kernel program stored in the first kernel area F-K1 of the FlashROM 9, that is, the kernel program read into the first kernel area SD-K1 of the SDRAM 10 is normal. Is determined (S204).

FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラムが正常でないと判断すると(S204:NO)、次に、FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラムをSDRAM10の第1カーネル領域SD−K1に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする(S205)。このカーネルプログラムが正常であるか否かのチェックは、FlashROM9の第2カーネル領域F−K2のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラム、すなわち、SDRAM10の第1カーネル領域SD−K1に読み込まれたカーネルプログラムが正常であるか否かを判断する(S206)。   If it is determined that the kernel program stored in the first kernel area F-K1 of the FlashROM 9 is not normal (S204: NO), then the kernel program stored in the second kernel area F-K2 of the FlashROM 9 is stored in the SDRAM 10 While reading into the first kernel area SD-K1, it is checked whether or not the kernel program is normal (S205). Whether or not the kernel program is normal is checked by a sum check based on a checker stored in the checker area of the second kernel area F-K2 of the FlashROM 9. Based on the result of the sum check, whether or not the kernel program stored in the second kernel area F-K2 of the FlashROM 9, that is, the kernel program read into the first kernel area SD-K1 of the SDRAM 10 is normal. Is determined (S206).

FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラムが正常であると判断すると(S206:YES)、SDRAM10のデータ領域SD−Dのバージョン文字列領域に、第1カーネル領域F−K1に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ERR−K1”を示す文字列情報を書き込み(S207)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“ERR−K1”を示す文字情報)をメインボード2に送信し(S225)、処理を終了する。   If it is determined that the kernel program stored in the second kernel area F-K2 of the flash ROM 9 is normal (S206: YES), the first kernel area F-K1 is added to the version character string area of the data area SD-D of the SDRAM 10. The character string information indicating that the kernel program stored in is not normal, for example, “ERR-K1” is written (S207), and the version information stored in the version character string area (in this case) Transmits the character information indicating “ERR-K1”) to the main board 2 (S225), and ends the process.

一方、第2カーネル領域F−K2に記憶されているカーネルプログラムが正常でないと判断すると(S206:NO)、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム(正常ではない)を、SDRAM10の第1カーネル領域SD−K1に読み込み(S208)、バージョン文字列領域に、第1カーネル領域F−K1に記憶されているカーネルプログラム及び第2カーネル領域F−K2に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ERRK12”を示す文字列情報を書き込む(S209)。そして、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“ERRK12”を示す文字情報)をメインボード2に送信して(S225)、処理を終了する。   On the other hand, if it is determined that the kernel program stored in the second kernel area F-K2 is not normal (S206: NO), the kernel program (not normal) stored in the first kernel area F-K1 of the FlashROM 9 is determined. , Read into the first kernel area SD-K1 of the SDRAM 10 (S208), and the kernel program stored in the first kernel area F-K1 and the kernel stored in the second kernel area F-K2 in the version character string area Character string information indicating, for example, “ERRK12”, which is a character string indicating that the program is not normal, is written (S209). Then, the version information (in this case, character information indicating “ERRK12”) stored in the version character string area is transmitted to the main board 2 (S225), and the process is terminated.

ステップS204において、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラムが正常であると判断すると(S210:YES)、次に、FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラムをSDRAM10の第2カーネル領域SD−K2に読み込みつつ、当該カーネルプログラムが正常であるか否かをチェックする(S210)。このカーネルプログラムが正常であるか否かのチェックは、FlashROM9の第2カーネル領域F−K2のチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラム、すなわち、SDRAM10の第2カーネル領域SD−K2に読み込まれたカーネルプログラムが正常であるか否かを判断する(S211)。   If it is determined in step S204 that the kernel program stored in the first kernel area F-K1 of the FlashROM 9 is normal (S210: YES), then it is stored in the second kernel area F-K2 of the FlashROM 9 While reading the kernel program into the second kernel area SD-K2 of the SDRAM 10, it is checked whether or not the kernel program is normal (S210). Whether or not the kernel program is normal is checked by a sum check based on a checker stored in the checker area of the second kernel area F-K2 of the FlashROM 9. Based on the result of the sum check, whether or not the kernel program stored in the second kernel area F-K2 of the FlashROM 9, that is, the kernel program read into the second kernel area SD-K2 of the SDRAM 10 is normal. Is determined (S211).

FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラムが正常でないと判断すると(S211:NO)、SDRAM10のデータ領域SD−Dのバージョン文字列領域に、第2カーネル領域F−K2に記憶されているカーネルプログラムが正常でない旨を示す文字列である、例えば“ERR−K2”を示す文字列情報を書き込み(S212)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“ERR−K2”を示す文字情報)をメインボード2に送信し(S225)、処理を終了する。   If it is determined that the kernel program stored in the second kernel area F-K2 of the flash ROM 9 is not normal (S211: NO), the version character string area of the data area SD-D of the SDRAM 10 is changed to the second kernel area F-K2. The character string information indicating that the stored kernel program is not normal, for example, character string information indicating “ERR-K2” is written (S212), and the version information stored in the version character string area (in this case) , Character information indicating “ERR-K2”) is transmitted to the main board 2 (S225), and the process is terminated.

一方、FlashROM9の第2カーネル領域F−K2に記憶されているカーネルプログラムが正常であると判断すると(S211:YES)、FlashROM9の第1カーネル領域F−K1から、当該領域F−K1に記憶されているカーネルプログラムのバージョンを示す文字列である、例えば、“A0A0B1”を示す文字列情報を読み出して、バージョン文字列領域に書き込む(S213)。   On the other hand, if it is determined that the kernel program stored in the second kernel area F-K2 of the FlashROM 9 is normal (S211: YES), the first kernel area F-K1 of the FlashROM 9 is stored in the area F-K1. For example, character string information indicating “A0A0B1”, which is a character string indicating the version of the current kernel program, is read and written in the version character string area (S213).

このように、FlashROM9からSDRAM10に読み込んだカーネルプログラムが正常である場合には、制御部7は、当該カーネルプログラムに基づいて以下の処理を実行する。まず、FlashROM9の一般プログラム領域F−Pに記憶されている一般プログラムをSDRAM10の一般プログラム領域SD−Pに読み込みつつ、当該一般プログラムが正常であるか否かをチェックする(S214)。この一般プログラムが正常であるか否かのチェックは、FlashROM9の一般プログラム領域F−Pのチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、FlashROM9の一般プログラム領域F−Pに記憶されている一般プログラム、すなわち、SDRAM10の一般プログラム領域SD−Pに読み込まれた一般プログラムが正常であるか否かを判断する(S215)。   As described above, when the kernel program read from the Flash ROM 9 to the SDRAM 10 is normal, the control unit 7 executes the following processing based on the kernel program. First, while reading the general program stored in the general program area FP of the Flash ROM 9 into the general program area SD-P of the SDRAM 10, it is checked whether or not the general program is normal (S214). Whether the general program is normal is checked by a sum check based on a checker stored in the checker area of the general program area FP of the FlashROM 9. Based on the result of the sum check, whether or not the general program stored in the general program area FP of the FlashROM 9, that is, the general program read into the general program area SD-P of the SDRAM 10, is normal is determined. Judgment is made (S215).

FlashROM9の一般プログラム領域F−Pに記憶されている一般プログラムが正常でないと判断すると(S215:NO)、SDRAM10のデータ領域SD−Dのバージョン文字列領域の一部に、一般プログラム領域F−Pに記憶されている一般プログラムが正常でない旨を示す文字列である、例えば“ERR−P”を示す文字列情報を埋め込み(S216)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“AERR−P”を示す文字情報)をメインボード2に送信し(S225)、処理を終了する。   If it is determined that the general program stored in the general program area FP of the flash ROM 9 is not normal (S215: NO), the general program area FP is included in a part of the version character string area of the data area SD-D of the SDRAM 10. Embedded in the character string information indicating that the general program stored in is not normal, for example, “ERR-P” (S216), and the version information stored in the version character string area (in this case) Transmits the character information indicating “AERR-P”) to the main board 2 (S225), and ends the process.

一方、FlashROM9の一般プログラム領域F−Pに記憶されている一般プログラムが正常であると判断すると(S215:YES)、FlashROM9のフォント領域F−Fに記憶されているフォントデータをSDRAM10のフォント領域SD−Fに読み込みつつ、当該フォントデータが正常であるか否かをチェックする(S217)。このフォントデータが正常であるか否かのチェックは、FlashROM9のフォント領域F−Fのチェッカ領域に記憶されているチェッカに基づくサムチェックによって行う。そして、サムチェックの結果に基づいて、FlashROM9のフォント領域F−Fに記憶されているフォントデータ、すなわち、SDRAM10のフォント領域SD−Fに読み込まれたフォントデータが正常であるか否かを判断する(S218)。   On the other hand, if it is determined that the general program stored in the general program area FP of the FlashROM 9 is normal (S215: YES), the font data stored in the font area FF of the FlashROM 9 is converted into the font area SD of the SDRAM 10. While reading into -F, it is checked whether or not the font data is normal (S217). Whether or not the font data is normal is checked by a sum check based on a checker stored in the checker area of the font area FF of the FlashROM 9. Then, based on the result of the sum check, it is determined whether or not the font data stored in the font area FF of the FlashROM 9, that is, the font data read into the font area SD-F of the SDRAM 10 is normal. (S218).

FlashROM9のフォント領域F−Fに記憶されているフォントデータが正常でないと判断すると(S218:NO)、SDRAM10のデータ領域SD−Dのバージョン文字列領域の一部に、フォント領域F−Fに記憶されているフォントデータが正常でない旨を示す文字列である、例えば“ERR−F”を示す文字列情報を埋め込み(S219)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“AERR−F”を示す文字情報)をメインボード2に送信し(S225)、処理を終了する。   When it is determined that the font data stored in the font area FF of the FlashROM 9 is not normal (S218: NO), the font data is stored in the font area FF in a part of the version character string area of the data area SD-D of the SDRAM 10. The character string information indicating that the font data being displayed is not normal, for example, character string information indicating “ERR-F” is embedded (S219), and the version information stored in the version character string area (in this case, (Character information indicating “AERR-F”) is transmitted to the main board 2 (S225), and the process is terminated.

一方、FlashROM9のフォント領域F−Fに記憶されているフォントデータが正常であると判断すると(S218:YES)、フォント領域F−Fのチェッカ領域の末尾に記憶されているチェッカの値を、FlashROM9の第1カーネル領域F−K1に記憶されているバージョンテーブル40において検索してFlashROM9に記憶されているフォントデータのバージョンをチェックする(S220)。   On the other hand, if it is determined that the font data stored in the font area FF of the flash ROM 9 is normal (S218: YES), the checker value stored at the end of the checker area of the font area FF is used as the flash ROM 9 The version of the font data stored in the flash ROM 9 is checked by searching the version table 40 stored in the first kernel area F-K1 (S220).

チェッカの値を用いたバージョンテーブル40における検索の結果、バージョンテーブル40内に該当するチェッカの値がないと判断すると(S221)、SDRAM10のデータ領域SD−Dのバージョン文字列領域の一部に、フォント領域F−Fに記憶されているフォントデータのバージョンが不明である旨を示す文字列である、例えば“XX”を示す文字列情報を埋め込み(S222)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“A0A0XX”を示す文字情報)をメインボード2に送信し(S225)、処理を終了する。   If it is determined that there is no corresponding checker value in the version table 40 as a result of the search in the version table 40 using the checker value (S221), a part of the version character string area of the data area SD-D of the SDRAM 10 is A character string indicating that the version of the font data stored in the font area FF is unknown, for example, character string information indicating “XX” is embedded (S222), and stored in the version character string area. Version information (in this case, character information indicating “A0A0XX”) is transmitted to the main board 2 (S225), and the process is terminated.

一方、チェッカの値を用いたバージョンテーブル40に対する検索の結果、フォント領域F−Fに記憶されているフォントデータのバージョンが最新のものでないと判断すると(S223:NO)、SDRAM10のデータ領域SD−Dのバージョン文字列領域の一部に、FlashROM9のフォント領域F−Fに記憶されているフォントデータのバージョンを示す文字列、例えば、フォントデータのバージョンが「2」である場合には、“@2”を示す文字列情報を埋め込み(S224)、当該バージョン文字列領域に記憶されているバージョン情報(この場合は、“A0A0@2”)をメインボード2に送信し(S225)、処理を終了する。   On the other hand, if it is determined that the version of the font data stored in the font area FF is not the latest as a result of searching the version table 40 using the checker value (S223: NO), the data area SD- of the SDRAM 10 If a character string indicating the version of the font data stored in the font area FF of the FlashROM 9 is included in a part of the version character string area of D, for example, if the version of the font data is “2”, “@ 2 ”is embedded (S224), the version information stored in the version character string area (in this case,“ A0A0 @ 2 ”) is transmitted to the main board 2 (S225), and the process is terminated. To do.

なお、FlashROM9のフォント領域F−Fに記憶されているフォントデータが最新のバージョンである場合には、ステップS213においてバージョン文字列領域に書き込まれた、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラムのバージョン、例えば、“A0A0B1”が、ステップS225でそのままメインボード2に送信される。   If the font data stored in the font area FF of the FlashROM 9 is the latest version, it is stored in the first kernel area F-K1 of the FlashROM 9 written in the version character string area in step S213. The version of the current kernel program, for example, “A0A0B1” is transmitted to the main board 2 as it is in step S225.

以上に説明したように、本発明の実施例の複合機1によれば、オプションボード3に電源が投入された際に、例えば、ファームウェアの書き換えによりオプションボード3に特定の状況が発生している場合には、オプションボード3のファームウェアのバージョンを示すバージョン情報が特定の状況を示す情報に置き換えられ、又は、バージョン情報に特定の状況を示す情報が埋め込まれ、当該バージョン情報がメインボード2に送信される。そして、複合機1の操作部28に対してオプションボード3のバージョンを表示させる所定の操作が行われると、バージョン情報に基づいてオプションボード3に発生している特定の状況を示す情報を表示部29に表示する。したがって、複合機1のユーザやサービスマンは、バージョンを表示させるための既知の操作のみにより、複合機1を移動させたり筐体を開いたりすることなく、簡便に、オプションボード3に発生した特定の状況を知ることができる。   As described above, according to the multifunction device 1 of the embodiment of the present invention, when the option board 3 is powered on, for example, a specific situation occurs in the option board 3 due to firmware rewriting. In this case, the version information indicating the firmware version of the option board 3 is replaced with information indicating a specific situation, or information indicating the specific situation is embedded in the version information, and the version information is transmitted to the main board 2. Is done. When a predetermined operation for displaying the version of the option board 3 is performed on the operation unit 28 of the multifunction machine 1, information indicating a specific situation occurring in the option board 3 based on the version information is displayed on the display unit. 29. Therefore, the user or service person of the multifunction device 1 can easily identify the specific occurrence of the option board 3 without moving the multifunction device 1 or opening the housing by only a known operation for displaying the version. Can know the situation.

なお、本発明の実施形態は上述の形態に限らず、本発明の技術的思想の範囲内において種々に変更してもよい。例えば、上述の実施形態では、バージョン情報を6文字の文字列を示す情報としたが、バージョン情報が示す文字列は6文字に限定されるものではない。   The embodiment of the present invention is not limited to the above-described embodiment, and various modifications may be made within the scope of the technical idea of the present invention. For example, in the above-described embodiment, the version information is information indicating a character string of 6 characters, but the character string indicated by the version information is not limited to 6 characters.

また、上述の実施形態では、カーネルプログラムが正常でない状況が発生した場合には、バージョン情報をカーネルプログラムが正常でない状況が発生した旨を示す情報に置き換え、それ以外の状況が発生した場合には、バージョン情報にその状況が発生したことを示す情報を埋め込むこととしたが、バージョン情報を特定の状況が発生したことを示す情報に置き換えるか、バージョン情報に特定の状況が発生したことを示す情報を埋め込むかの区別は、これに限るものでなく、適宜に設定してもよい。   Further, in the above-described embodiment, when a situation where the kernel program is not normal occurs, the version information is replaced with information indicating that a situation where the kernel program is not normal, and when any other situation occurs. Information indicating that the situation has occurred is embedded in the version information, but the version information is replaced with information indicating that the specific situation has occurred, or information indicating that the specific situation has occurred in the version information The distinction of whether to embed is not limited to this, and may be set as appropriate.

本発明は、メイン制御部とサブ制御部とを備える装置に適用可能である。   The present invention can be applied to an apparatus including a main control unit and a sub control unit.

本発明の画像処理装置の一例としての複合機1の構成例を示したブロック図である。1 is a block diagram illustrating a configuration example of a multifunction machine 1 as an example of an image processing apparatus of the present invention. FlashROM9とSDRAM10の記憶領域を説明する説明図である。2 is an explanatory diagram for explaining storage areas of a FlashROM 9 and an SDRAM 10. FIG. 第1カーネル領域F−K1及び第2カーネル領域F−K2のデータを書き換えるためのK領域用書き換えデータを説明する説明図である。It is explanatory drawing explaining the rewriting data for K area | regions for rewriting the data of 1st kernel area | region F-K1 and 2nd kernel area | region F-K2. 一般プログラム領域F−Pのデータを書き換えるためのP領域用書き換えデータを説明する説明図である。It is explanatory drawing explaining the rewrite data for P area | region for rewriting the data of the general program area | region FP. 一般プログラム領域F−Pのデータに対して行われるサムチェックを説明する説明図である。It is explanatory drawing explaining the sum check performed with respect to the data of the general program area | region FP. クライアントPC6から送信された書き換えデータに基づいてオプションボード3のFlashROM9に記憶されているファームウェアをアップデート(書き換え)する場合に、オプションボード3の制御部7が実行する処理について説明するフローチャートである。7 is a flowchart for explaining processing executed by the control unit 7 of the option board 3 when updating (rewriting) firmware stored in the Flash ROM 9 of the option board 3 based on rewrite data transmitted from the client PC 6. 図6のフローチャートに続くフローチャートである。It is a flowchart following the flowchart of FIG. 書き換えデータのデータサイズと書き換えデータによって書き換えるべき記憶領域との関係を記憶したテーブルを示す説明図である。It is explanatory drawing which shows the table which memorize | stored the relationship between the data size of rewriting data, and the memory area which should be rewritten by rewriting data. フォントデータのバージョンとフォントデータのチェッカの値とを対応付けて記憶したバージョンテーブル40の一例を示す説明図である。It is explanatory drawing which shows an example of the version table 40 which matched and memorize | stored the version of font data, and the value of the checker of font data. オプションボード3に電力が供給されて、FlashROM9の第1カーネル領域F−K1に記憶されているカーネルプログラム、第2カーネル領域F−K1に記憶されているカーネルプログラム、一般プログラム領域F−Pに記憶されている一般プログラム、フォント領域F−Fに記憶されているフォントデータをSDRAM10のデータ領域SD−Dの各領域に読み込み、バージョン情報をメインボード2に送信する場合に、オプションボード3の制御部7が実行する処理について説明するフローチャートである。When power is supplied to the option board 3, the kernel program stored in the first kernel area F-K1 of the flash ROM 9, the kernel program stored in the second kernel area F-K1, and stored in the general program area FP Control unit of the option board 3 when the font data stored in the general program and the font area FF are read into each area of the data area SD-D of the SDRAM 10 and the version information is transmitted to the main board 2 7 is a flowchart illustrating processing executed by 7. 図10のフローチャートに続くフローチャートである。It is a flowchart following the flowchart of FIG.

符号の説明Explanation of symbols

1 画像処理装置
2 メインボード
3 オプションボード
7 制御部(MPU)
8 インターフェース回路
9 FlashROM
10 SDRAM
F−B ブート領域
F−K1 第1カーネル領域
F−K2 第2カーネル領域
F−P 一般プログラム領域
F−F フォント領域
21 制御部(MPU)
29 表示部
1 Image processing device 2 Main board 3 Option board 7 Control unit (MPU)
8 Interface circuit 9 FlashROM
10 SDRAM
FB boot area F-K1 first kernel area F-K2 second kernel area FP general program area FF font area 21 control unit (MPU)
29 Display section

Claims (6)

自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備えた画像処理装置であって、
前記サブ制御部は、
当該サブ制御部において特定の状況が発生している旨を示す告知情報を前記メイン制御部に送信する送信手段を備え、
前記メイン制御部は、
前記送信手段によって送信された告知情報が示す内容を表示する表示手段を備えることを特徴とする画像処理装置。
An image processing apparatus including a main control unit that controls the entire device and a sub-control unit that controls a predetermined function of the device,
The sub-control unit
A transmission means for transmitting notification information indicating that a specific situation is occurring in the sub-control unit to the main control unit;
The main control unit
An image processing apparatus comprising: display means for displaying contents indicated by the notification information transmitted by the transmission means.
自装置の全体を制御するメイン制御部と自装置の所定の機能を制御するサブ制御部とを備え、前記サブ制御部のファームウェアのバージョン情報が示す内容を前記メイン制御部が備える表示装置に表示する画像処理装置であって、
前記サブ制御部は、当該サブ制御部に特定の状況が発生している旨を示す告知情報を、前記バージョン情報に置き換え、又は、前記バージョン情報に埋め込んで前記メイン制御部に送信する送信手段を備えることを特徴とする画像処理装置。
A main control unit that controls the entire device itself and a sub-control unit that controls a predetermined function of the device itself, and displays the contents indicated by the firmware version information of the sub-control unit on the display device provided in the main control unit An image processing apparatus that
The sub-control unit replaces the notification information indicating that a specific situation has occurred in the sub-control unit with the version information, or embeds in the version information and transmits to the main control unit An image processing apparatus comprising:
前記サブ制御部の所定の機能は、前記メイン制御部から転送された印刷データを画像データに展開して前記メイン制御部に転送する機能であることを特徴とする請求項1又は2に記載の画像処理装置。   The predetermined function of the sub-control unit is a function of developing print data transferred from the main control unit into image data and transferring the image data to the main control unit. Image processing device. 前記特定の状況は、前記サブ制御部のファームウェアの書き換えに伴う状況であることを特徴とする請求項1乃至3のいずれか1に記載の画像処理装置。   The image processing apparatus according to claim 1, wherein the specific situation is a situation accompanying rewriting of firmware of the sub-control unit. 前記特定の状況は、前記サブ制御部のファームウェアの副記憶装置から主記憶装置への読み込み中にファームウェアの異常が検知された状況であることを特徴とする請求項4に記載の画像処理装置。   The image processing apparatus according to claim 4, wherein the specific situation is a situation in which a firmware abnormality is detected during reading of firmware of the sub control unit from the secondary storage device to the main storage device. 前記サブ制御部のファームウェアは、副記憶装置の個々の記憶領域にデータの種類別に分割して記憶され、書き換えデータによりデータの種類毎に書き換えが行われるものであり、
前記特定の状況は、前記副記憶装置に記憶された前記ファームウェアのフォントデータが当該ファームウェアのカーネルプログラムに適合していない状況であることを特徴とする請求項4又は5に記載の画像処理装置。
The firmware of the sub-control unit is divided and stored for each data type in each storage area of the secondary storage device, and rewriting is performed for each data type by rewriting data,
The image processing apparatus according to claim 4, wherein the specific situation is a situation in which font data of the firmware stored in the secondary storage device is not compatible with a kernel program of the firmware.
JP2006222854A 2006-08-18 2006-08-18 Image processing device Pending JP2008048229A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006222854A JP2008048229A (en) 2006-08-18 2006-08-18 Image processing device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006222854A JP2008048229A (en) 2006-08-18 2006-08-18 Image processing device

Publications (1)

Publication Number Publication Date
JP2008048229A true JP2008048229A (en) 2008-02-28

Family

ID=39181525

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006222854A Pending JP2008048229A (en) 2006-08-18 2006-08-18 Image processing device

Country Status (1)

Country Link
JP (1) JP2008048229A (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012162011A (en) * 2011-02-08 2012-08-30 Seiko Epson Corp Recording device, control method of recording device, and program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012162011A (en) * 2011-02-08 2012-08-30 Seiko Epson Corp Recording device, control method of recording device, and program

Similar Documents

Publication Publication Date Title
US6467087B1 (en) Method for updating a printer firmware
CN100412826C (en) Image forming apparatus, information processing system, rewriting method, rewriting program and recording medium of firmware
JP2018019289A (en) Image forming apparatus
JP2007174215A (en) External controller, and remote operation system and method
KR20140148319A (en) Printing apparatus, method of controlling the same and storage medium
JP2008282090A (en) Electronic equipment and firmware update method therefor
JP2008085457A (en) Image information output device, program and image information output system
JP2008048229A (en) Image processing device
JP4983497B2 (en) Image forming apparatus, image forming apparatus control method, and image forming apparatus control program
JP2008040924A (en) Firmware rewriting method and firmware reading method
JP6651895B2 (en) Equipment, control method and program
JP4103823B2 (en) Data processing device
JP2005275843A (en) Data processor
JP5033467B2 (en) Printer and firmware update method in printer
JP2005032014A (en) Data processor, starting program for data processor, and starting method for data processor
JP2007213425A (en) Electrophotographic apparatus
JP4957120B2 (en) Printing apparatus and control method thereof
JP2011098444A (en) Printer, program and server apparatus
JP2009043040A (en) Image forming system
JP2005242512A (en) Data processor
JP2010252229A (en) Image forming apparatus
JP4188308B2 (en) Image processing apparatus, image processing system, and control program for image processing apparatus
JP2008168540A (en) Network system and network device
JP6199759B2 (en) Embedded system, image forming device
JP2004078894A (en) Image forming apparatus, and method and program for rewriting firmware, and record medium