JP2010049464A - Electronic equipment, and method for downloading program for updating in the same - Google Patents

Electronic equipment, and method for downloading program for updating in the same Download PDF

Info

Publication number
JP2010049464A
JP2010049464A JP2008212779A JP2008212779A JP2010049464A JP 2010049464 A JP2010049464 A JP 2010049464A JP 2008212779 A JP2008212779 A JP 2008212779A JP 2008212779 A JP2008212779 A JP 2008212779A JP 2010049464 A JP2010049464 A JP 2010049464A
Authority
JP
Japan
Prior art keywords
program
processing
update
storage device
processing device
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
JP2008212779A
Other languages
Japanese (ja)
Inventor
Tomohiro Kurose
智大 黒瀬
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.)
Riso Kagaku Corp
Original Assignee
Riso Kagaku Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Riso Kagaku Corp filed Critical Riso Kagaku Corp
Priority to JP2008212779A priority Critical patent/JP2010049464A/en
Publication of JP2010049464A publication Critical patent/JP2010049464A/en
Pending legal-status Critical Current

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To shorten time required for downloading a program in electronic equipment having a plurality of hierarchical processors. <P>SOLUTION: The electronic equipment includes the plurality of hierarchical processors, storage devices formed correspondingly to respective processors to store programs and a means for inputting an updating program. Each processor performs processing for updating a program stored in the storage device corresponding to itself when acquiring the updating program and processing for transmitting the updating program to the lower processor. During the waiting period of either one processing, the processor starts the other processing. <P>COPYRIGHT: (C)2010,JPO&INPIT

Description

本発明は、電子機器のプログラムダウンロードに関する。   The present invention relates to downloading a program for an electronic device.

情報処理装置、印刷装置等の電子機器は、一般に複数の処理装置を備えている。それぞれの処理装置は、処理装置に対応して設けられた不揮発性の記憶装置に格納されたプログラムにしたがって基本的な動作を行なうようになっている。   Electronic devices such as information processing apparatuses and printing apparatuses generally include a plurality of processing apparatuses. Each processing device performs basic operations in accordance with a program stored in a nonvolatile storage device provided corresponding to the processing device.

このようなプログラムは、電子機器の出荷後に機能の追加や不具合の修正のためにバージョンアップされる場合がある。プログラムがバージョンアップされると、バージョンアップされたプログラムのダウンロードを行ない、バージョンアップ前のプログラムを書き換える処理が行なわれる。   Such a program may be upgraded to add functions or correct defects after the electronic device is shipped. When the program is upgraded, the upgraded program is downloaded, and the program before the upgrade is rewritten.

特許文献1には、バージョンアップされたプログラムのダウンロードに関し、処理装置に対応して設けられた不揮発性の記憶装置に加え、バージョンアップされたプログラムを格納するレジスタを設け、複数の処理装置がレジスタからバージョンアップされたプログラムを読み出して不揮発性の記憶装置に格納することが記載されている。
特開2005−11134号公報
Japanese Patent Application Laid-Open No. 2004-228561 provides a register for storing an upgraded program in addition to a non-volatile storage device provided in correspondence with the processing device for downloading the upgraded program. It is described that the upgraded program is read out and stored in a non-volatile storage device.
Japanese Patent Laid-Open No. 2005-11134

ところで、複数の処理装置は、上位の処理装置、下位の処理装置というように階層化されていることが多く、階層化された構成では、一般に、階層を飛び越えて直接的な通信を行なうことができない。このため、バージョンアップされたプログラムの取得も上位の階層装置を介して行なうことになり、特許文献1に記載された技術をそのまま適用することはできない。   By the way, a plurality of processing devices are often hierarchized, such as an upper processing device and a lower processing device. In the hierarchized configuration, in general, direct communication can be performed across the hierarchies. Can not. For this reason, acquisition of the upgraded program is also performed via the upper hierarchical device, and the technique described in Patent Document 1 cannot be applied as it is.

階層化された複数の処理装置を有する電子機器でバージョンアップされたプログラムのダウンロードを行なう場合、各処理装置は、自身に対応して設けられた不揮発性の記憶装置にプログラムを書き込む処理と、下位の処理装置に対してバージョンアップされたプログラムを送信する処理を行なう必要がある。   When downloading an upgraded program in an electronic device having a plurality of hierarchical processing devices, each processing device has a process of writing the program in a nonvolatile storage device provided corresponding to the processing device, It is necessary to perform processing for transmitting the upgraded program to the processing device.

これらの処理をシリアルに実行して、不揮発性の記憶装置にプログラムを書き込んでから、下位の処理装置に対してプログラムを送る処理をひとつひとつ順番に行なうとすると処理時間がかかるという問題がある。特に、処理装置の階層が深い場合や、下位の処理装置が多数ある場合にこの問題は顕著となる。   If these processes are executed serially and a program is written in a non-volatile storage device and then the processes for sending the program to the lower-level processing devices are performed one by one, there is a problem that it takes a long processing time. In particular, this problem becomes significant when the hierarchy of processing devices is deep or when there are many lower-level processing devices.

本発明はこのような状況を鑑みてなされたものであり、階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することを目的とする。   The present invention has been made in view of such a situation, and an object of the present invention is to reduce the time required for downloading a program in an electronic apparatus having a plurality of hierarchical processing devices.

上記課題を解決するため、本発明の第1の態様である電子機器は、上位と下位の関係に階層化された複数の処理装置と、それぞれの処理装置に対応して設けられ、対応する処理装置が実行するプログラムが格納された記憶装置と、前記プログラムを更新するための1または複数の更新用プログラムを入力するプログラム入力手段とを備え、最上位の処理装置は、更新用プログラムが入力されると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを行ない、その他の処理装置は、上位の処理装置から更新用プログラムを受信すると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを行ない、前記最上位の処理装置およびその他の処理装置は、いずれかの処理における応答待ちの期間に、他の処理を開始することを特徴とする。   In order to solve the above-described problem, an electronic apparatus according to the first aspect of the present invention is provided with a plurality of processing devices hierarchized in a higher-order and lower-order relationship and corresponding processing devices. A storage device storing a program to be executed by the device; and program input means for inputting one or a plurality of update programs for updating the program. The highest-level processing device receives an update program. Then, a process of updating the program of the storage device corresponding to itself, a program update process including a period of waiting for a response from the storage device, and a process of transmitting the update program to a lower processing device And a program transmission process including a period of waiting for a response from the lower-level processing device, and the other processing devices receive an update program from the higher-level processing device. A process of updating the program of the storage device corresponding to itself, including a program update process including a period of waiting for a response from the storage device, and a process of transmitting the update program to a lower processing device. And performing a program transmission process including a period of waiting for a response from the lower level processing apparatus, and the uppermost level processing apparatus and the other processing apparatuses perform other processing during a response waiting period in any of the processes. It is characterized by starting.

本発明では、プログラム更新処理とプログラム送信処理とを行なう処理装置は、ある処理が終了する前に、他の処理を開始することができるため、階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することができる。   In the present invention, the processing device that performs the program update processing and the program transmission processing can start another processing before a certain processing is completed. Therefore, in an electronic apparatus having a plurality of hierarchical processing devices , The time required to download the program can be shortened.

ここで、処理装置は、書き換え可能なプログラムにしたがって動作する集積回路であり、例えば、CPU、マイコン、DSP(Digital Signal Processor)、画像処理装置、FPGA(Field Programmable Gate Array)等とすることができる。書き換え可能なプログラムは、代表的にはファームウェアプログラムとすることができる。処理装置がこのような処理を行なうためのプログラム自体をファームウェアプログラムとして記憶装置に記憶させておくことができる。なお、電子機器は、例えば、印刷装置とすることができる。   Here, the processing device is an integrated circuit that operates according to a rewritable program, and can be, for example, a CPU, a microcomputer, a DSP (Digital Signal Processor), an image processing device, an FPGA (Field Programmable Gate Array), or the like. . The rewritable program can be typically a firmware program. The program itself for the processing device to perform such processing can be stored in the storage device as a firmware program. The electronic device can be a printing device, for example.

具体的には、前記記憶装置のプログラムを更新する処理は、前記記憶装置へのメモリ消去命令送信処理と、前記記憶装置へのメモリ書込命令送信処理とが含まれ、前記記憶装置からの応答は、前記メモリ消去命令に対するメモリ消去終了報告、および、前記メモリ書込命令に対するメモリ書込終了報告とすることができる。   Specifically, the process of updating the program of the storage device includes a memory erase command transmission process to the storage device and a memory write command transmission process to the storage device, and a response from the storage device Can be a memory erase end report for the memory erase instruction and a memory write end report for the memory write instruction.

また、前記下位の処理装置に対して更新用プログラムを送信する処理は、プログラム送信処理と、前記下位装置からの応答である終了報告に対する結果受信処理とを含み、前記下位の処理装置からの応答待ちの期間は、前記プログラム送信処理後から前記下位装置からの終了報告があるまでの期間とすることができる。   In addition, the process of transmitting the update program to the lower processing apparatus includes a program transmission process and a result reception process for a completion report that is a response from the lower apparatus, and a response from the lower processing apparatus The waiting period may be a period after the program transmission process until a termination report is received from the lower-level device.

また、表示装置をさらに備え、前記最上位の処理装置は、更新用プログラムが入力されると、更新用プログラムのバージョンと、各記憶装置に格納されているプログラムのバージョンとを前記表示装置に表示させることが望ましい。   Further, the display device further includes a display device, and when the update program is input, the uppermost processing device displays the version of the update program and the version of the program stored in each storage device on the display device. It is desirable to make it.

このとき、前記最上位の処理装置は、更新用プログラムのバージョンに、各記憶装置に格納されているプログラムのバージョンよりも新しいバージョンが含まれている場合には、すべてのプログラムの更新を行なうか、バージョンの新しいプログラムのみの更新を行なうかの選択メニューを前記表示手段に表示させることが望ましい。これにより、ユーザがすべてのプログラムの更新を行なうか、バージョンの新しいプログラムのみの更新を行なうかを選択することができるようになる。   At this time, if the version of the update program includes a version newer than the version of the program stored in each storage device, the top-level processing device updates all the programs. It is desirable to display on the display means a selection menu for updating only the new version of the program. As a result, the user can select whether to update all programs or only a new version of the program.

なお、前記最上位の処理装置およびその他の処理装置は、あらかじめ定められた優先度にしたがって、前記プログラム更新処理および前記プログラム送信処理の実行順序を決定することができる。   The highest-level processing device and the other processing devices can determine the execution order of the program update processing and the program transmission processing according to a predetermined priority.

このとき、前記優先度は、処理時間を評価する所定の評価基準に基づいて処理毎に算出された評価値の高い順に定められていることが望ましい。処理時間のかかる処理は、応答期間が長くなる。このような処理の優先度を高くして早く処理を行なうことで、他の処理を行なうための応答待ち時間を確保することができる。これにより、全体的な処理時間を一層短くすることができる。   At this time, it is desirable that the priorities are determined in descending order of evaluation values calculated for each process based on a predetermined evaluation criterion for evaluating the processing time. A process requiring a long processing time has a long response period. By increasing the priority of such processing and performing the processing quickly, a response waiting time for performing other processing can be secured. Thereby, the overall processing time can be further shortened.

また、前記更新用プログラムは圧縮されている場合は、前記最上位の処理装置は、更新用プログラムが入力されると、前記優先度の順番に更新用プログラムの解凍処理を行なうことができる。これにより、処理開始時間を早めることができる。   When the update program is compressed, the highest-level processing device can perform the decompression process of the update program in the order of priority when the update program is input. Thereby, processing start time can be advanced.

あるいは、前記最上位の処理装置およびその他の処理装置は、更新用プログラムが入力あるいは更新用プログラムを受信すると、処理時間を評価する所定の評価基準に基づいて処理毎に評価値を算出し、評価値の高い順に優先度を各処理に設定して、設定された優先度にしたがって、前記プログラム更新処理および前記プログラム送信処理の実行順序を決定するようにしてもよい。   Alternatively, when the update program receives an input or update program, the highest-level processing device and other processing devices calculate an evaluation value for each process based on a predetermined evaluation criterion for evaluating the processing time, and A priority may be set for each process in descending order of value, and the execution order of the program update process and the program transmission process may be determined according to the set priority.

上記課題を解決するため、本発明の第2の態様である電子機器における更新用プログラムダウンロード方法は、上位と下位の関係に階層化された複数の処理装置と、それぞれの処理装置に対応して設けられ、対応する処理装置が実行するプログラムが格納された記憶装置と、前記プログラムを更新するための1または複数の更新用プログラムを入力するプログラム入力手段とを備えた電子機器における更新用プログラムダウンロード方法であって、最上位の処理装置に更新用プログラムが入力されると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを、いずれの処理も行なっていない場合、あるいは、他の処理における応答待ちの期間に開始し、その他の処理装置に上位の処理装置から更新用プログラムが受信されると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを、いずれの処理も行なっていない場合、あるいは、他の処理における応答待ちの期間に開始すること特徴とする。   In order to solve the above-described problem, an update program download method in an electronic apparatus according to a second aspect of the present invention corresponds to a plurality of processing devices hierarchized in a high-order and low-order relationship, and each processing device. Update program download in an electronic device provided with a storage device provided and stored with a program executed by a corresponding processing device, and program input means for inputting one or more update programs for updating the program A method for updating a program of a storage device corresponding to itself when an update program is input to a highest-level processing device, including a period of waiting for a response from the storage device Processing for sending an update program to a lower processing device, waiting for a response from the lower processing device. When no process is performed, or when a process for waiting for a response in another process is started and an update program is received from a higher-level processing apparatus by another processing apparatus. A process for updating a program in a storage device corresponding to itself, a program update process including a response waiting period from the storage device, and a process for transmitting an update program to a lower processing device. The program transmission process including a period of waiting for a response from the lower-level processing device is started when no process is performed, or during a period of waiting for a response in another process.

本発明では、プログラム更新処理とプログラム送信処理とを行なう処理装置は、ある処理を、いずれの処理も行なっていない場合、あるいは、他の処理における応答待ちの期間に開始するため、階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することができる。   In the present invention, the processing device that performs the program update process and the program transmission process is hierarchized in order to start a certain process when no process is performed or during a response waiting period in another process. In an electronic device having a plurality of processing devices, it is possible to reduce the time required for downloading a program.

本発明によれば、階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することができる。   ADVANTAGE OF THE INVENTION According to this invention, in the electronic device which has the several processing apparatus hierarchized, the time concerning download of a program can be shortened.

本発明の実施の形態について図面を参照して説明する。図1は、本発明の一実施形態である電子機器の構成を示すブロック図である。本図に示すように、電子機器10は、メイン基板100とサブ基板200と操作パネルユニット300と付属装置400とを備えている。電子機器10の用途は特に限定されず、例えば、コンピュータ等の情報処理装置、印刷装置、ゲーム装置、通信装置、家電装置等とすることができる。   Embodiments of the present invention will be described with reference to the drawings. FIG. 1 is a block diagram showing a configuration of an electronic apparatus according to an embodiment of the present invention. As shown in the figure, the electronic device 10 includes a main board 100, a sub board 200, an operation panel unit 300, and an accessory device 400. The use of the electronic device 10 is not particularly limited, and can be, for example, an information processing device such as a computer, a printing device, a game device, a communication device, a home appliance, or the like.

メイン基板100は、CPU(Central Processing Unit)110、RAM(Random Access Memory)120、HDD(ハードディスクドライブ)130、USB I/F(インタフェース)140を備えている。RAM120、HDD130、USB I/F(インタフェース)140は、それぞれCPU110にバス接続されている。また、CPU110には、表示装置・操作ボタン等が備えられた操作パネルユニット300が接続されている。   The main board 100 includes a CPU (Central Processing Unit) 110, a RAM (Random Access Memory) 120, an HDD (Hard Disk Drive) 130, and a USB I / F (Interface) 140. The RAM 120, the HDD 130, and the USB I / F (interface) 140 are bus-connected to the CPU 110, respectively. In addition, an operation panel unit 300 provided with a display device, operation buttons, and the like is connected to the CPU 110.

書き換え可能な不揮発性の記憶装置であるHDD130には、CPU110が実行するプログラムであるF/W(ファームウェアプログラム)131が格納されている。F/W131は、電子機器10の起動時にRAM120上に展開され、CPU110によって実行される。F/W131は、電子機器10の基本的な制御を行なうために組み込まれたプログラムであるが、必要に応じてバージョンアップされる。   An HDD 130 that is a rewritable nonvolatile storage device stores an F / W (firmware program) 131 that is a program executed by the CPU 110. The F / W 131 is expanded on the RAM 120 when the electronic device 10 is activated, and is executed by the CPU 110. The F / W 131 is a program incorporated in order to perform basic control of the electronic device 10, and is upgraded as necessary.

サブ基板200は、第1マイコン(マイクロコンピュータ)210、RAM220、フラッシュロム230、第2マイコン240、フラッシュロム250、第3マイコン260を備えている。第1マイコン210はメイン基板100のCPU110とバス接続されている。RAM220、フラッシュロム230、第2マイコン240、第3マイコン260は、それぞれ第1マイコン210に接続されている。   The sub-board 200 includes a first microcomputer (microcomputer) 210, a RAM 220, a flash ROM 230, a second microcomputer 240, a flash ROM 250, and a third microcomputer 260. The first microcomputer 210 is connected to the CPU 110 of the main board 100 by a bus. The RAM 220, the flash ROM 230, the second microcomputer 240, and the third microcomputer 260 are each connected to the first microcomputer 210.

書き換え可能な不揮発性の記憶装置であるフラッシュロム230には、第1マイコン210が実行するプログラムである第1F/W231と、第2F/W232とが格納されている。第1F/W231、第2F/W232は、電子機器10の起動時にRAM220上に展開され、第1マイコン210によって実行される。ただし、RAM220上に展開せずにフラッシュロム230から直接実行するようにしてもよい。第1F/W231、第2F/W232は、必要に応じてバージョンアップされる。   A flash ROM 230 that is a rewritable nonvolatile storage device stores a first F / W 231 and a second F / W 232 that are programs executed by the first microcomputer 210. The first F / W 231 and the second F / W 232 are expanded on the RAM 220 when the electronic device 10 is activated, and are executed by the first microcomputer 210. However, it may be executed directly from the flash ROM 230 without being expanded on the RAM 220. The first F / W 231 and the second F / W 232 are upgraded as necessary.

第2マイコン240には、フラッシュロム250が接続されている。書き換え可能な不揮発性の記憶装置であるフラッシュロム250には、第2マイコン240が実行するプログラムであるF/W251が格納されている。第3マイコン260には、フラッシュロム261が内蔵されている。フラッシュロム261には、第3マイコン260が実行するプログラムであるF/W262が格納されている。F/W251・F/W262は、必要に応じてバージョンアップされる。   A flash ROM 250 is connected to the second microcomputer 240. The flash ROM 250 which is a rewritable nonvolatile storage device stores an F / W 251 which is a program executed by the second microcomputer 240. The third microcomputer 260 has a built-in flash ROM 261. The flash ROM 261 stores an F / W 262 that is a program executed by the third microcomputer 260. F / W251 and F / W262 are upgraded as necessary.

また、メイン基板100のUSB I/F140には付属装置400が接続される。付属装置400は、付属装置400の動作を制御するマイコン410、フラッシュロム420を備えている。マイコン410に接続されたフラッシュロム420には、マイコン410が実行するプログラムであるF/W421が格納されている。F/W421は、必要に応じてバージョンアップされる。   Further, the accessory device 400 is connected to the USB I / F 140 of the main board 100. The accessory device 400 includes a microcomputer 410 and a flash ROM 420 that control the operation of the accessory device 400. The flash ROM 420 connected to the microcomputer 410 stores an F / W 421 that is a program executed by the microcomputer 410. The F / W 421 is upgraded as necessary.

上述のように、本発明は電子機器10の用途は限定されないが、例えば、電子機器10を印刷装置で構成した場合には、メイン基板100はコントローラ基板とし、サブ基板200は印刷エンジン制御基板とし、付属装置400はスキャナユニットとして構成することができる。   As described above, the application of the electronic device 10 is not limited in the present invention. For example, when the electronic device 10 is configured by a printing apparatus, the main board 100 is a controller board, and the sub board 200 is a print engine control board. The attachment device 400 can be configured as a scanner unit.

各不揮発性の記憶装置に格納されたF/W131、第1F/W231、第2F/W232、F/W251、F/W262、F/W421のバージョンアップは、更新用F/W群21を記録したUSBメモリをUSB I/F140のコネクタに接続し、更新用F/W群21をダウンロードすることにより行なうことができる。具体的には、メイン基板100のCPU110が、USBメモリ20から更新用F/W群21を読込んでRAM120に格納し、自身に接続されたHDD130内のF/W131を更新するとともに、自身に接続されたサブ基板200の第1マイコン210および付属装置400のマイコン410に更新用F/W群21中のプログラム更新に必要なF/Wデータを送信する。   F / W 131, first F / W 231, second F / W 232, F / W 251, F / W 262, F / W 421 version upgrade stored in each nonvolatile storage device recorded update F / W group 21 This can be done by connecting a USB memory to the connector of the USB I / F 140 and downloading the update F / W group 21. Specifically, the CPU 110 of the main board 100 reads the update F / W group 21 from the USB memory 20, stores it in the RAM 120, updates the F / W 131 in the HDD 130 connected to itself, and connects to it. F / W data necessary for updating the program in the update F / W group 21 is transmitted to the first microcomputer 210 of the sub-board 200 and the microcomputer 410 of the attached device 400.

F/Wデータを受信したサブ基板200の第1マイコン210はRAM220に一時的に格納して、自身に接続されたフラッシュロム230内の第1F/W231と第2W/F232を更新するとともに、第2マイコン240および第3マイコン260に更新用F/W群21中のプログラム更新に必要なF/Wデータを送信する。   The first microcomputer 210 of the sub-board 200 that has received the F / W data temporarily stores it in the RAM 220, updates the first F / W 231 and the second W / F 232 in the flash ROM 230 connected to itself, and F / W data necessary for program update in the update F / W group 21 is transmitted to the second microcomputer 240 and the third microcomputer 260.

CPU110からF/Wを受信した付属装置400のマイコン410は、自身に接続されたフラッシュロム420内のF/W421を更新し、第1マイコン210からF/Wを受信した第2マイコン240は、自身に接続されたフラッシュロム250のF/W251を更新し、第1マイコン210からF/Wを受信した第3マイコン260は、自身に内蔵されたフラッシュロム261のF/W262を更新する。これにより、各不揮発性の記憶装置に格納されたF/W131、第1F/W231、第2F/W232、F/W251、F/W262、F/W421がバージョンアップされることになる。   The microcomputer 410 of the accessory device 400 that has received the F / W from the CPU 110 updates the F / W 421 in the flash ROM 420 connected to itself, and the second microcomputer 240 that has received the F / W from the first microcomputer 210 is: The third microcomputer 260 that has updated the F / W 251 of the flash ROM 250 connected thereto and received the F / W from the first microcomputer 210 updates the F / W 262 of the flash ROM 261 built therein. As a result, the F / W 131, the first F / W 231, the second F / W 232, the F / W 251, the F / W 262, and the F / W 421 stored in each nonvolatile storage device are upgraded.

このように、CPU110、マイコン210、第2マイコン240、第3マイコン260、マイコン410の各処理装置は、それぞれ自身に接続された不揮発性の記憶装置を有しており、それぞれの記憶装置に自身が実行するプログラムが1または複数個格納されている。さらに、それぞれの処理装置はツリー構造の階層関係を形成している。具体的には、CPU110は、サブ基板200の第1マイコン210および付属装置400のマイコン410の上位装置であり、第1マイコン210は、第2マイコン240および第3マイコン260の上位装置である。処理装置同士の通信は上位処理装置と下位処理装置との間で行なうようにしている。したがって、例えば、CPU110が第2マイコン240から情報を収集する場合には、CPU110と第2マイコン240とが直接通信を行なうのではなく、第1マイコン210を介してCPU110と第2マイコン240とが間接的に通信を行なうことになる。   As described above, each of the processing devices of the CPU 110, the microcomputer 210, the second microcomputer 240, the third microcomputer 260, and the microcomputer 410 has a nonvolatile storage device connected to itself, and each storage device has its own storage device. One or more programs to be executed are stored. Further, each processing device forms a hierarchical structure of a tree structure. Specifically, the CPU 110 is a host device of the first microcomputer 210 of the sub-board 200 and the microcomputer 410 of the accessory device 400, and the first microcomputer 210 is a host device of the second microcomputer 240 and the third microcomputer 260. Communication between the processing devices is performed between the upper processing device and the lower processing device. Therefore, for example, when the CPU 110 collects information from the second microcomputer 240, the CPU 110 and the second microcomputer 240 do not directly communicate with each other, but the CPU 110 and the second microcomputer 240 via the first microcomputer 210. Communication is performed indirectly.

なお、処理装置は、書き換え可能なプログラムにしたがって動作する集積回路であり、例えば、CPU、マイコン、DSP(Digital Signal Processor)、画像処理装置、FPGA(Field Programmable Gate Array)等である。   The processing device is an integrated circuit that operates according to a rewritable program, such as a CPU, a microcomputer, a DSP (Digital Signal Processor), an image processing device, or an FPGA (Field Programmable Gate Array).

図2は、処理装置の関係および更新用プログラムのダウンロード処理を一般化した図である。本図に示すように、各処理装置は最上位処理装置を頂点とする木構造の階層関係を有し、それぞれの処理装置に不揮発性記憶装置が対応している。更新用プログラムをダウンロードする場合には、最上位処理装置に対してダウンロードを行なう。その後、各処理装置は、自身に接続された不揮発性記憶装置に格納されたプログラムを更新する処理と、下位の処理装置へプログラムを送信する処理とを行なう。   FIG. 2 is a diagram that generalizes the relationship between the processing devices and the update program download process. As shown in the figure, each processing device has a hierarchical tree structure with the highest processing device as a vertex, and a nonvolatile storage device corresponds to each processing device. When the update program is downloaded, it is downloaded to the highest level processing device. Thereafter, each processing device performs processing for updating a program stored in a nonvolatile storage device connected to the processing device and processing for transmitting the program to a lower processing device.

図3(a)は、自身に接続された不揮発性記憶装置に格納されたプログラムを更新する処理を説明するタイミングチャートである。プログラム更新処理では、不揮発性記憶装置に格納されたプログラムの上書きを行なうため、更新前のプログラムを消去してから書き込む必要がある。このため、処理装置は、自身に接続された不揮発性記憶装置に対して領域を指定してメモリ消去命令を出力する。この命令にしたがって不揮発性記憶装置はメモリ消去を実行する。そして、メモリ消去が終了すると、処理装置に対して終了報告を送信する。処理装置は、メモリ消去命令を出力してから(時刻t1)、終了報告を受けるまで(時刻t2)の間はメモリ消去待ち状態にある。   FIG. 3A is a timing chart for explaining a process of updating a program stored in a nonvolatile storage device connected to itself. In the program update process, since the program stored in the nonvolatile storage device is overwritten, it is necessary to erase the program before the update and write it. Therefore, the processing device designates an area for the nonvolatile storage device connected to itself and outputs a memory erase command. In accordance with this instruction, the non-volatile storage device executes memory erasure. When the memory erasure is completed, an end report is transmitted to the processing device. The processing apparatus is in a memory erasure waiting state after outputting the memory erasure command (time t1) until receiving an end report (time t2).

処理装置は、メモリ消去終了報告を受信してメモリ消去の終了を確認すると、更新用プログラムを指定してメモリ書込命令を出力する。この命令にしたがって不揮発性記憶装置は、消去した領域に更新用プログラムを書き込む。そして書込が終了すると、処理装置に対して終了報告を送信する。処理装置は、メモリ書込命令を出力してから(時刻t3)、終了報告を受けるまで(時刻t4)の間はメモリ書込待ち状態にある。   When the processing device receives the memory erasure end report and confirms the end of memory erasure, it designates the update program and outputs a memory write command. In accordance with this instruction, the nonvolatile storage device writes the update program in the erased area. When the writing is completed, an end report is transmitted to the processing device. The processing device is in a memory write waiting state after outputting a memory write command (time t3) until receiving an end report (time t4).

図3(b)は、下位の処理装置に対するプログラム送信処理を説明するタイミングチャートである。プログラム送信処理では、上位の処理装置が下位の処理装置に対してプログラムを送信する。プログラムを受信した下位の処理装置は、自身に接続された不揮発性記憶装置に対するプログラム更新処理と、さらに下位の処理装置へのプログラム送信処理を行なう。これらの処理が終了すると上位の処理装置に対して終了報告を送信する。上位の処理装置は、プログラムを送信してから(時刻t4)、下位の処理装置から終了報告を受けるまで(時刻t5)の間は結果待ち状態にある。そして、下位の処理装置から結果受信処理を行なう。終了報告時に他の処理を行なっている場合は、他の処理の終了後に結果受信処理を行なう。   FIG. 3B is a timing chart for explaining a program transmission process for a lower-level processing device. In the program transmission process, the upper processing device transmits a program to the lower processing device. The lower-level processing device that has received the program performs program update processing for the non-volatile storage device connected to the program and processing for transmitting the program to the lower-level processing device. When these processes are completed, an end report is transmitted to the host processing apparatus. The upper processing apparatus is in a result waiting state after transmitting the program (time t4) until receiving an end report from the lower processing apparatus (time t5). Then, a result reception process is performed from the lower level processing apparatus. When other processing is performed at the time of completion reporting, the result reception processing is performed after the completion of the other processing.

処理装置は、メモリ消去命令、メモリ書込命令、プログラム送信命令、結果受信の各処理実行時は、ビジー状態であるため複数の処理を同時に行なうことはできない。しかしながらメモリ消去待ち状態、メモリ書込待ち状態、結果待ち状態中は他の処理を行なうことができる。   The processing device is in a busy state when executing a memory erase command, a memory write command, a program transmission command, and a result reception, and therefore cannot perform a plurality of processes simultaneously. However, other processes can be performed during the memory erasure wait state, the memory write wait state, and the result wait state.

次に、図4のフローチャートを参照して最上位処理装置におけるプログラムダウンロード処理について説明する。最上位処理装置は、図1の例では、CPU110が対応する。本処理は、更新用F/W群21が格納されたUSBメモリ20がUSB I/F140のコネクタに装着されることで開始される(S101)。CPU110は、装着されたUSBメモリ20のあらかじめ定められた箇所に所定のデータが記録されている場合に、USBメモリ20に更新用F/W群21が格納されていると判断することができる。ただし、USBメモリ20に限られず他の記録媒体であってもよい。また、通信回線を介して更新用F/W群21を受信するようにしてもよい。この場合は、ユーザから更新プログラムのダウンロード指示を受け付けることで本処理を開始することができる。   Next, program download processing in the highest-level processing device will be described with reference to the flowchart of FIG. The CPU 110 corresponds to the highest-level processing device in the example of FIG. This process starts when the USB memory 20 storing the update F / W group 21 is attached to the connector of the USB I / F 140 (S101). The CPU 110 can determine that the update F / W group 21 is stored in the USB memory 20 when predetermined data is recorded in a predetermined location of the attached USB memory 20. However, the recording medium is not limited to the USB memory 20 and may be another recording medium. Further, the update F / W group 21 may be received via a communication line. In this case, this process can be started by receiving a download instruction for the update program from the user.

USBメモリ20には、格納されている更新用F/W群21のインデックス情報が記録されている。インデックス情報には、格納されている更新用F/W群21のリストと各F/Wのバージョンとが含まれている。CPU110は、このインデックス情報で示される新しいバージョンと、各不揮発性記憶装置に記録されている現在のF/Wのバージョンとを一覧形式で操作パネルユニット300の表示装置に表示する(S102)。CPU110は、電子機器10の起動時等に、各不揮発性記憶装置に記録されているF/Wのバージョンを収集して、RAM120に記憶しておくことが望ましい。   The USB memory 20 stores the index information of the stored update F / W group 21. The index information includes a list of stored update F / W groups 21 and versions of each F / W. The CPU 110 displays the new version indicated by the index information and the current F / W version recorded in each nonvolatile storage device on the display device of the operation panel unit 300 in a list format (S102). It is desirable that the CPU 110 collects the F / W version recorded in each nonvolatile storage device and stores it in the RAM 120 when the electronic device 10 is activated.

なお、各不揮発性記憶装置に記録されている現在のF/Wのバージョンがすべて新しいバージョンと一致する場合には、ダウンロード処理を終了するようにしてもよい。この際に、ダウンロードが不要である旨を操作パネルユニット300の表示装置に表示することが望ましい。   If all the current F / W versions recorded in each nonvolatile storage device match the new version, the download process may be terminated. At this time, it is desirable to display on the display device of the operation panel unit 300 that the download is unnecessary.

図5は、F/Wのバージョンの一覧表示画面の一例を示す図である。本図の例では、F/W毎に、現在のバージョンとUSBメモリ20に格納されている新しいバージョンとを対応させて表示している。本画面では、さらに、処理内容を表示してユーザから処理内容の選択を受け付ける。処理内容は「差分のみダウンロード」「全て上書きダウンロード」「ダウンロードを中止」とし、それぞれ、操作パネルユニット300の操作ボタンに対応付けてユーザから選択を受け付けるようにしている。ここで、プログラムの書き込み寿命(不揮発性記憶装置の書き換え可能回数)を考慮して、必要最小限の更新を行なう「差分のみダウンロード」をデフォルトで選択状態としておくことが望ましい。なお、ユーザが「ダウンロードを中止」を選択した場合は、以降処理を行なわず、ダウンロード処理を中止する。   FIG. 5 is a diagram illustrating an example of a F / W version list display screen. In the example of this figure, the current version and the new version stored in the USB memory 20 are displayed in correspondence with each F / W. In this screen, the processing content is further displayed and the selection of the processing content is accepted from the user. The processing contents are “download only difference”, “overwrite download all”, and “cancel download”, and accept the selection from the user in association with the operation buttons of the operation panel unit 300, respectively. Here, in consideration of the program writing life (the number of times the nonvolatile storage device can be rewritten), it is desirable to select “download only the difference” that performs the minimum update as a default state. When the user selects “Cancel download”, the download process is stopped without performing the subsequent processes.

ユーザから処理内容の選択を受け付けると(S103)、USBメモリ20から更新用のデータを読み込んで、RAM120に格納する(S104)。この際、「全て上書きダウンロード」の選択を受け付けている場合には、全ての更新用データを読み込み、「差分のみダウンロード」の選択を受け付けている場合には、現在格納されているバージョンよりも新しいバージョンのF/Wに対応する更新用データを読み込む。ただし、全ての更新用データを読込んで、後の処理で必要な更新用データのみを使用するようにしてもよい。   When selection of processing content is received from the user (S103), update data is read from the USB memory 20 and stored in the RAM 120 (S104). At this time, if the selection of “overwrite all download” is accepted, all update data is read, and if the selection of “download only difference” is accepted, it is newer than the currently stored version. Update data corresponding to the version F / W is read. However, all the update data may be read and only the update data necessary for later processing may be used.

更新用データが圧縮されている場合には解凍処理を行なう(S105)。なお、後述するように解凍の順序も優先度にしたがって制御するようにしてもよい。あるいは、サイズの大きい更新用データから解凍するようにしてもよい。   If the update data is compressed, decompression processing is performed (S105). As will be described later, the order of decompression may be controlled according to the priority. Or you may make it decompress | decompress from the update data with a big size.

そして、CPU110が行なうべき処理について優先度の設定を行なう(S106)。ここで、CPU110が行なうべき処理は、HDD130に格納されたF/W131の更新処理と、下位処理装置であるサブ基板200の第1マイコン210へのプログラム送信処理と、下位処理装置である付属装置400のマイコン410へのプログラム送信処理である。   Then, priority is set for the processing to be performed by the CPU 110 (S106). Here, the processing to be performed by the CPU 110 includes update processing of the F / W 131 stored in the HDD 130, program transmission processing to the first microcomputer 210 of the sub-board 200 that is a lower-level processing device, and an accessory device that is a lower-level processing device. This is a program transmission process to 400 microcomputers 410.

本実施形態では、これらの優先順位はあらかじめ定められており現在のF/W131に固定的に記録されているものとする。したがって、CPU110は、RAM120に展開されているF/W131を参照することで行なうべき処理の優先度を設定することができる。ただし、優先度は、USBメモリ20に記録しておくようにしてもよい。この場合は、USBメモリ20に記録された所定のデータを参照することで行なうべき処理の優先度を設定することができる。あるいは、後述するように読込んだデータのサイズ等に基づいてダイナミックに優先度を設定するようにしてもよい。   In this embodiment, it is assumed that these priorities are determined in advance and are fixedly recorded in the current F / W 131. Therefore, the CPU 110 can set the priority of processing to be performed by referring to the F / W 131 expanded in the RAM 120. However, the priority may be recorded in the USB memory 20. In this case, the priority of processing to be performed can be set by referring to predetermined data recorded in the USB memory 20. Alternatively, as described later, the priority may be dynamically set based on the size of the read data.

そして、優先度にしたがってプログラムの更新・送信処理を行なう(S107)。行なう処理の決定方法については図8を参照して後述し、プログラムの更新・送信処理の具体的な内容については図9を参照して後述する。   Then, a program update / transmission process is performed according to the priority (S107). The process determination method to be performed will be described later with reference to FIG. 8, and the specific contents of the program update / transmission process will be described later with reference to FIG.

その後、全ての処理について終了報告を受信するのを待ち(S108)、全ての処理について終了報告を受信すると(S108:Yes)、操作パネルユニット300の表示装置に、図6に一例を示すようなダウンロード終了画面を表示して、ユーザにダウンロード処理が終了したことを通知する。本図の例では、「ファームウェアのダウンロードが完了しました。USBメモリを抜いてください。」という表示を行なうようにしている。   After that, it waits to receive the end report for all the processes (S108), and when it receives the end report for all the processes (S108: Yes), the display device of the operation panel unit 300 shows an example in FIG. A download end screen is displayed to notify the user that the download process has ended. In the example of this figure, the display “Firmware download complete. Please remove the USB memory.” Is displayed.

次に、図7のフローチャートを参照して、最上処理装置以外の処理装置におけるプログラムダウンロード処理について説明する。最上処理装置以外の処理装置は、図1の例では、サブ基板200の第1マイコン210、第2マイコン240、第3マイコン260、付属装置400のマイコン410が対応する。本処理は、上位処理装置からF/W更新用データを受信することで開始される(S201)。   Next, program download processing in a processing apparatus other than the top processing apparatus will be described with reference to the flowchart of FIG. In the example of FIG. 1, the processing devices other than the top processing device correspond to the first microcomputer 210, the second microcomputer 240, the third microcomputer 260, and the microcomputer 410 of the accessory device 400 in the sub-board 200. This process is started by receiving F / W update data from the host processor (S201).

そして、処理装置が行なうべき処理について優先度の設定を行なう(S202)。ここで、処理装置が行なうべき処理は、自身に接続された不揮発性記憶装置に格納されたF/Wの更新処理と、下位処理装置へのプログラム送信処理である。ただし、下位処理装置が存在しない場合もある。   Then, priority is set for the processing to be performed by the processing device (S202). Here, the processing to be performed by the processing device is F / W update processing stored in a nonvolatile storage device connected to the processing device and program transmission processing to the lower processing device. However, there may be no subordinate processing device.

本実施形態では、これらの優先順位はあらかじめ定められており、自身に接続された不揮発性記憶装置に格納された現在のF/Wに固定的に記録されているものとする。ただし、優先度は、USBメモリ20に記録しておくようにしてもよい。この場合は、上位装置からUSBメモリ20に記録された優先度情報を取得することで行なうべき処理の優先度を設定することができる。あるいは、後述するように受信したデータのサイズ等に基づいてダイナミックに優先度を設定するようにしてもよい。   In this embodiment, it is assumed that these priorities are determined in advance and fixedly recorded in the current F / W stored in the nonvolatile storage device connected to the apparatus. However, the priority may be recorded in the USB memory 20. In this case, the priority of processing to be performed can be set by acquiring the priority information recorded in the USB memory 20 from the host device. Alternatively, as described later, the priority may be set dynamically based on the received data size or the like.

そして、優先度にしたがってプログラムの更新・送信処理を行なう(S203)。行なう処理の決定方法については図8を参照して後述し、プログラムの更新・送信処理の具体的な内容については図9を参照して後述する。その後、全ての処理について完了報告を受信するのを待ち(S204)、全ての処理について完了報告を受信すると(S204:Yes)、上位処理装置に対して終了報告を送信する(S205)。   Then, a program update / transmission process is performed according to the priority (S203). The process determination method to be performed will be described later with reference to FIG. 8, and the specific contents of the program update / transmission process will be described later with reference to FIG. After that, it waits to receive completion reports for all processes (S204), and when it receives completion reports for all processes (S204: Yes), it sends an end report to the host processor (S205).

ここで、プログラムの更新処理の場合は、最後のメモリ書込処理が終了したときに完了報告が出力される。最後のメモリ書込処理としたのは、メモリの書込単位に応じて、1回のプログラム更新処理についてメモリ消去とメモリ書込とを複数回に分けて行なう場合があるからである。また、プログラム送信処理の場合は、最後のプログラム送信処理の結果を受信したときに完了報告が出力される。最後のプログラム送信としたのは、1回のプログラム送信処理について複数回に分けてプログラムを送信する場合があるからである。   Here, in the case of a program update process, a completion report is output when the last memory write process is completed. The reason for the last memory write process is that memory erasure and memory write may be performed in a plurality of times for one program update process, depending on the memory write unit. In the case of program transmission processing, a completion report is output when the result of the last program transmission processing is received. The reason for the last program transmission is that the program may be transmitted in multiple times for one program transmission process.

次に、各処理装置における優先度にしたがったプログラムの更新・送信処理について説明する。まず、図8のフローチャートを参照して、上述の処理(S203)の更新・送信処理において行なう処理の決定方法について説明する。上述のように、各処理装置では、行なうべき処理について優先度が設定されている。ここで、優先度は、順位で示され重複はないものとする。   Next, program update / transmission processing according to priority in each processing apparatus will be described. First, with reference to the flowchart of FIG. 8, a method for determining a process to be performed in the update / transmission process of the above-described process (S203) will be described. As described above, the priority is set for the processing to be performed in each processing device. Here, it is assumed that the priority is indicated by rank and there is no overlap.

まず、行なう処理の対象候補として、行なうべき処理のうち最も優先度の高い処理を設定する(S301)。そして候補となった処理が、その時点で処理不要であるか、応答待ちの状態のいずれかであるかを判断する(S302)。ここで、処理不要は、例えば、その処理が既に終了している場合等である。また、応答待ちの状態は、その処理がプログラム更新処理であれば、メモリ消去待ち状態かメモリ書込待ち状態で、その処理がプログラム送信処理であれば、結果待ち状態である。なお、本実施形態では処理装置が複数の処理を同時に行なうことは想定されていないため、本フローチャートは処理を行なっていないとき、例えば、実行中の処理が終了あるいは応答待ち状態になった場合に行なうようにする。   First, a process with the highest priority among the processes to be performed is set as a candidate for a process to be performed (S301). Then, it is determined whether the candidate process is either not required at that time or waiting for a response (S302). Here, the processing unnecessary is, for example, a case where the processing has already been completed. The response wait state is a memory erase wait state or a memory write wait state if the process is a program update process, and a result wait state if the process is a program transmission process. In the present embodiment, since it is not assumed that the processing apparatus performs a plurality of processes simultaneously, this flowchart is not performing a process, for example, when a process being executed is ended or a response is waited. Do it.

その結果、処理不要、応答待ちの状態のいずれでもない場合(S302:No)には、その候補処理を実行する(S305)。したがって、優先度が高い処理が優先的に実行されることになる。具体的な実行内容については図9を参照して後述する。   As a result, if neither processing is required nor waiting for a response (S302: No), the candidate process is executed (S305). Therefore, processing with a high priority is preferentially executed. Specific execution contents will be described later with reference to FIG.

一方、処理不要、応答待ちの状態のいずれかの状態である場合(S302:Yes)には、次に優先度の高い処理があるかどうかを調べ(S303)、次に優先度の高い処理が存在する場合(S303:Yes)には、その処理を行なう処理の対象候補として、その時点で処理不要であるか、応答待ちの状態のいずれかであるかを判断する処理(S302)以降を繰り返す。したがって、優先度が低い処理は、優先度の高い処理が処理不要あるいは応答待ちの状態の時に行なわれることになる。このため、応答待ち時間の長い処理の優先度を高く設定しておくことで、早めに応答待ち状態を作り、その待ち状態の間に優先度の低い処理を行なうことで全体的な処理時間を短くすることができる。   On the other hand, if the process is not required or a response is waited (S302: Yes), it is checked whether there is a process with the next highest priority (S303), and the process with the next highest priority is performed. When it exists (S303: Yes), the process (S302) and subsequent steps are repeated as a candidate for a process to perform the process, which determines whether the process is unnecessary at that time or a response waiting state. . Therefore, a process with a low priority is performed when a process with a high priority is not required or is waiting for a response. Therefore, by setting a high priority for processing with a long response waiting time, a response waiting state is created early, and processing with a low priority is performed during the waiting state, thereby reducing the overall processing time. Can be shortened.

次に優先度の高い処理が存在しない場合(S303:No)には、行なうべき処理のうち最も優先度の高い処理を処理候補に設定して(S301)、上記の処理を繰り返す。このため、例えば、優先度の高い処理が応答待ちの状態から解除されると、優先的に実行されることになる。   If there is no process with the next highest priority (S303: No), the process with the highest priority among the processes to be performed is set as a process candidate (S301), and the above process is repeated. For this reason, for example, when a process with high priority is released from a response waiting state, it is preferentially executed.

対象候補となった処理を実行(S305)後、全ての処理が終了したかどうかを判断し(S306)、処理が残っている場合(S306:No)は、行なうべき処理のうち最も優先度の高い処理を処理候補に設定して(S301)、上記の処理を繰り返す。そして、全ての処理が終了すると(S306:Yes)、本処理を終了する。   After executing the process that is the target candidate (S305), it is determined whether or not all the processes have been completed (S306). If the process remains (S306: No), the highest priority among the processes to be performed is determined. A high process is set as a process candidate (S301), and the above process is repeated. Then, when all the processes are finished (S306: Yes), this process is finished.

次に、プログラムの更新・送信処理の具体的な実行内容について図9のフローチャートを参照して説明する。本処理は、上述の(S305)の対象処理実行に対応する。   Next, specific execution contents of the program update / transmission process will be described with reference to the flowchart of FIG. This process corresponds to the execution of the target process (S305) described above.

まず、実行する処理がプログラム更新処理かどうかを判断する(S401)。その結果、プログラム更新処理であった場合(S401:Yes)は、そのプログラムを上書きする領域が消去済であるかどうかを調べる(S402)。これは、例えば、更新プログラムのダウンロード処理においてログを記録しておくことで判断することができる。   First, it is determined whether the process to be executed is a program update process (S401). As a result, if it is a program update process (S401: Yes), it is checked whether or not the area where the program is overwritten has been erased (S402). This can be determined, for example, by recording a log in the update program download process.

消去済でない場合(S402:No)は、メモリ消去命令を不揮発性記憶装置に対して出力する(S403)。メモリ書込単位に応じてメモリ消去命令を複数回に分けるようにしてもよい。メモリ消去命令を出力すると、処理装置は、メモリ消去待ち状態となる(S404)。この待ち状態の間に処理装置は他の処理を行なうことができる。また、メモリ消去待ち状態は、不揮発性記憶装置から消去終了報告を受信すると解除される。   If not erased (S402: No), a memory erase command is output to the nonvolatile storage device (S403). The memory erase command may be divided into a plurality of times according to the memory write unit. When the memory erasure command is output, the processing apparatus enters a memory erasure waiting state (S404). During this waiting state, the processing device can perform other processes. The memory erasure waiting state is canceled when an erasure completion report is received from the nonvolatile storage device.

一方、消去済の場合(S405:Yes)は、データ書き込みを行なうために、まず、書き込むデータのチェックを行なう(S405)。データチェックでは、ハッシュ値等を用いて書込データの正当性や正常性等を確認する。ただし、データチェックは、データ受信時等に行なうようにしてもよい。   On the other hand, if the data has been erased (S405: Yes), the data to be written is checked first in order to write the data (S405). In the data check, the validity or normality of the write data is confirmed using a hash value or the like. However, the data check may be performed when data is received.

そして、メモリ書込命令を不揮発性記憶装置に対して出力する(S406)。メモリ書込単位に応じてメモリ書込命令を複数回に分けるようにしてもよい。メモリ書込命令を出力すると、処理装置は、メモリ書込待ち状態となる(S407)。この待ち状態の間に処理装置は他の処理を行なうことができる。また、メモリ書込待ち状態は、不揮発性記憶装置から書込終了報告を受信すると解除される。   Then, a memory write command is output to the nonvolatile storage device (S406). The memory write command may be divided into a plurality of times according to the memory write unit. When the memory write command is output, the processor enters a memory write wait state (S407). During this waiting state, the processing device can perform other processes. Also, the memory write waiting state is canceled when a write end report is received from the nonvolatile storage device.

実行する処理がプログラム更新処理でない場合(S401:No)、すなわち、プログラム送信処理の場合は、下位の処理装置に対して更新用プログラムデータを送信する(S408)。更新用プログラムデータを送信すると、処理装置は、結果待ち状態となる(S409)。この待ち状態の間に処理装置は他の処理を行なうことができる。また、結果待ち状態は、下位の処理装置から結果報告を受信すると解除される。   When the process to be executed is not the program update process (S401: No), that is, in the case of the program transmission process, the update program data is transmitted to the lower level processing apparatus (S408). When the update program data is transmitted, the processing apparatus waits for a result (S409). During this waiting state, the processing device can perform other processes. The result waiting state is canceled when a result report is received from a lower-level processing device.

以下に、具体的な例を用いて更新用プログラムのダウンロード処理についてさらに説明する。ここでは、簡単のため、図10に示すような構成で更新用プログラムのダウンロード処理を行なった場合を例に説明する。本図の例では、上位処理装置である第1マイコンが、自身に接続されたフラッシュロム230に格納されたプログラム1とプログラム2とを更新する処理と、下位処理装置である第2マイコン240に第2マイコン用プログラムを送信する処理を行ない、第2マイコンが自身に接続された第2マイコン用フラッシュメモリ250に格納されたプログラムを更新する処理を行なう。ここで、プログラム1の更新処理は、書込単位の都合により2回に分けて行なうものとする。   The update program download process will be further described below using a specific example. Here, for the sake of simplicity, a case will be described as an example in which the update program download process is performed with the configuration shown in FIG. In the example of this figure, the first microcomputer, which is the host processor, updates the program 1 and program 2 stored in the flash ROM 230 connected to itself, and the second microcomputer 240, which is the lower processor. The second microcomputer program is transmitted, and the second microcomputer updates the program stored in the second microcomputer flash memory 250 connected to the second microcomputer program. Here, it is assumed that the update process of the program 1 is performed in two steps for convenience of writing units.

第1マイコン210に接続されたRAM220には、プログラム1の更新処理の優先度が最上位の1であり、プログラム2の更新処理の優先度が2であり、第2マイコンへのプログラム送信処理の優先度が最下位の3である旨が記録されているものとする。   The RAM 220 connected to the first microcomputer 210 has the highest priority 1 for the update process of the program 1, the priority of the update process of the program 2 is 2, and the program transmission process to the second microcomputer It is assumed that the priority is the lowest 3 is recorded.

図11は、本例の場合の第1マイコン210および第2マイコン240のダウンロード処理の流れを示すタイミングチャートである。まず、最も優先度の高いプログラム1の更新処理が実行する処理として決定され、時刻t1で1回目のメモリ消去命令がフラッシュロム230に対して送られる。この命令後、第1マイコン210はメモリ消去待ち状態となるため、他の処理を行なうことができる。そこで、次に優先度の高いプログラム2更新処理が実行する処理として決定され、時刻t2でメモリ消去命令がフラッシュロム230に対して送られる。この命令後、第1マイコン210はメモリ消去待ち状態となるため、他の処理を行なうことができる。   FIG. 11 is a timing chart showing the flow of download processing of the first microcomputer 210 and the second microcomputer 240 in this example. First, the update process of the program 1 with the highest priority is determined to be executed, and the first memory erase command is sent to the flash ROM 230 at time t1. After this instruction, the first microcomputer 210 is in a memory erasure waiting state, so that other processing can be performed. Therefore, the program 2 update process with the next highest priority is determined to be executed, and a memory erase command is sent to the flash ROM 230 at time t2. After this instruction, the first microcomputer 210 is in a memory erasure waiting state, so that other processing can be performed.

最も優先度の高いプログラム1の更新処理は応答待ち状態にあるため、最も優先度の低い第2マイコンへのプログラム送信処理が実行する処理として決定される。そこで、時刻t3で第2マイコン240へのデータ送信が行なわれる。データを受信した第2マイコン240は、第1マイコン210とは独立に処理を行なうことができ、また、行なうべき処理は自身に接続された第2マイコン用フラッシュメモリ250に格納されたプログラムを更新するだけである。このため、第2マイコン240は、第2マイコン用フラッシュメモリ250へのメモリ消去命令を行ない、メモリ消去が終了すると、メモリ書込命令を行なう。そして、メモリ書込が終了すると第1マイコンに対して完了報告を送信する。   Since the update process of the program 1 with the highest priority is in a response waiting state, it is determined as the process to be executed by the program transmission process to the second microcomputer with the lowest priority. Therefore, data transmission to the second microcomputer 240 is performed at time t3. The second microcomputer 240 that has received the data can perform processing independently of the first microcomputer 210, and the processing to be performed updates the program stored in the second microcomputer flash memory 250 connected to the second microcomputer 240. Just do it. For this reason, the second microcomputer 240 issues a memory erase command to the second microcomputer flash memory 250, and when the memory erase is completed, the second microcomputer 240 issues a memory write command. When the memory writing is completed, a completion report is transmitted to the first microcomputer.

第1マイコン210は、第2マイコン240へのデータ送信が終了すると結果待ちの状態になる。この時点で、最も優先度の高いプログラム1の更新処理における第1回目のメモリ消去待ち状態が解除されているため、時刻t4でプログラム1の更新処理の1回目のメモリ書込命令がフラッシュロム230に対して送られる。その後、次に優先度の高いプログラム2更新処理が実行する処理として決定され、時刻t5でメモリ書込命令がフラッシュロム230に対して送られる。   The first microcomputer 210 waits for a result when the data transmission to the second microcomputer 240 is completed. At this time, since the first memory erasure waiting state in the update process of the program 1 with the highest priority is released, the first memory write instruction in the update process of the program 1 is executed at the time t4. Sent against. Thereafter, the program 2 update process with the next highest priority is determined to be executed, and a memory write command is sent to the flash ROM 230 at time t5.

その後は、いずれの処理も応答待ちの状態になり、時刻t6でプログラム1の更新処理における1回目のメモリ書込待ち状態が解除されると、2回目のメモリ消去命令がフラッシュロム230に対して送られる。その後もすべての処理が応答待ち状態となる。なお、プログラム2の更新処理におけるメモリ書込待ち状態が解除されると、プログラム2の更新処理は終了する。   After that, both processes wait for a response, and when the first memory write wait state in the update process of program 1 is canceled at time t6, the second memory erase instruction is sent to flash ROM 230. Sent. After that, all processes are in a response waiting state. Note that when the memory write wait state in the update process of the program 2 is released, the update process of the program 2 ends.

時刻t7で第2マイコン240から送られたデータ送信結果の受信処理が行なわれる。この処理は、例えば、第2マイコン240からの割り込み信号によって開始することができる。この結果受信処理を行なうことで、第2マイコンへのプログラム送信処理が終了する。   Reception processing of the data transmission result sent from the second microcomputer 240 is performed at time t7. This process can be started by an interrupt signal from the second microcomputer 240, for example. As a result of the reception process, the program transmission process to the second microcomputer is completed.

結果受信処理の最中にプログラム1の更新処理の2回目のメモリ消去待ち状態が解除されると、結果受信処理が終了した時刻t8にプログラム1の更新処理の2回目のメモリ書込命令がフラッシュロム230に対して送られ、第1マイコン210は、メモリ書込待ち状態になる。このメモリ書込待ち状態が解除されると第1マイコン210におけるすべての処理が終了したことになるため、第1マイコン210は、上位装置に対して終了報告を送信する。   If the second memory erasure wait state for the update process of program 1 is canceled during the result reception process, the second memory write instruction for the update process of program 1 is flushed at time t8 when the result reception process ends. The first microcomputer 210 enters a memory write waiting state. When this memory write wait state is released, all the processes in the first microcomputer 210 are completed, and therefore the first microcomputer 210 transmits an end report to the host device.

次に、優先度の設定方法について説明する。上述のように、本実施形態では、応答待ち時間の長い処理の優先度を高く設定しておくことで、早めに応答待ち状態を作り、その待ち状態の間に優先度の低い処理を行なうことで全体的な処理時間を短くするようにしている。ここで、応答待ち時間の長い処理は、不揮発性記憶装置における更新時間が長いプログラム更新処理と、下位処理装置における処理時間が長いプログラム送信処理である。   Next, a priority setting method will be described. As described above, in this embodiment, by setting a high priority for processing with a long response waiting time, a response waiting state is created early, and processing with a low priority is performed during the waiting state. The overall processing time is shortened. Here, the processes with a long response waiting time are a program update process with a long update time in the nonvolatile memory device and a program transmission process with a long process time in the lower-level processing device.

これらの応答待ち時間は、例えば、更新あるいは送信するプログラムのデータサイズ、処理装置の処理速度、処理装置間の通信速度、フラッシュメモリ(不揮発性記憶装置)の1セクタ(書込単位)の書込消去応答時間を用いて評価することができる。ここでは、表1に示すようなパラメータを用いて評価するものとする。

すなわち、データサイズの評価値Aは、データサイズに所定の係数を乗じた値とする。本例で係数は50とする。処理装置の処理速度の評価値Bは、所定の基準処理速度を対象となる処理装置の処理速度で割り、所定の係数を乗じた値とする。本例で所定の基準処理速度は500MIPSとし、所定の係数は30とする。処理装置間の通信速度の評価値Cは、KBで表わされたデータサイズをビット数に変換し、処理装置間の通信速度(bps)で割り、所定の係数を乗じた値とする。本例で所定の係数は40とする。フラッシュメモリ1セクタの書込消去応答時間の評価値Dは、フラッシュメモリの書込消去応答時間に所定の係数を乗じた値とする。本例で所定の係数は10とする。
These response waiting times are, for example, the data size of the program to be updated or transmitted, the processing speed of the processing device, the communication speed between the processing devices, and the writing of one sector (write unit) of the flash memory (nonvolatile storage device). It can be evaluated using the erase response time. Here, the evaluation is performed using parameters as shown in Table 1.

That is, the data size evaluation value A is a value obtained by multiplying the data size by a predetermined coefficient. In this example, the coefficient is 50. The evaluation value B of the processing speed of the processing device is a value obtained by dividing a predetermined reference processing speed by the processing speed of the target processing device and multiplying by a predetermined coefficient. In this example, the predetermined reference processing speed is 500 MIPS, and the predetermined coefficient is 30. The evaluation value C of the communication speed between the processing apparatuses is a value obtained by converting the data size represented by KB into the number of bits, dividing by the communication speed (bps) between the processing apparatuses, and multiplying by a predetermined coefficient. In this example, the predetermined coefficient is 40. The evaluation value D of the write / erase response time of one sector of the flash memory is a value obtained by multiplying the write / erase response time of the flash memory by a predetermined coefficient. In this example, the predetermined coefficient is 10.

そして、評価値A、評価値B、評価値C、評価値Dの合計値を優先順位値Xとして、優先順位値Xの高い順に優先度を定めるものとする。   The total value of the evaluation value A, the evaluation value B, the evaluation value C, and the evaluation value D is set as the priority value X, and the priority is determined in descending order of the priority value X.

図12に示すような構成の電子機器を例に、優先度の設定についてさらに説明する。本図の例では、上位処理装置である処理速度200MIPSの第1マイコン210が、自身に接続されたフラッシュロム230に格納された8192KBのプログラム1と3072KBのプログラム2とを更新する処理と、下位処理装置である処理速度180MIPSの第2マイコン240に512KBの第2マイコン用プログラムを送信する処理と、下位処理装置である処理速度30MIPSの第3マイコン260に64KBの第3マイコン用プログラムを送信する処理とを行なう場合の、第1マイコン210における優先度設定を説明する。   The priority setting will be further described by taking an electronic apparatus having a configuration as shown in FIG. 12 as an example. In the example of this figure, the first microcomputer 210 having a processing speed of 200 MIPS, which is the host processor, updates the 8192 KB program 1 and the 3072 KB program 2 stored in the flash ROM 230 connected to itself. A process for transmitting a 512 KB second microcomputer program to the second microcomputer 240 with a processing speed of 180 MIPS, which is a processing apparatus, and a 64 KB third microcomputer program to a third microcomputer 260 with a processing speed of 30 MIPS, which is a lower processing apparatus. The priority setting in the first microcomputer 210 when performing processing will be described.

ここで、第1マイコン210と第2マイコン240との間の通信処理速度は38400pbsであるとし、第1マイコン210と第3マイコン260との間の通信処理速度は115200bpsであるとする。また、第1マイコン210のフラッシュロム230の書込消去応答時間は600msであり、第2マイコン240のフラッシュロム250の書込消去応答時間は1000msであり、第3マイコン260のフラッシュロム261の書込消去応答時間は800msであるとすると、表2に示すスペック表が作成される。

このスペック表の各値に対して、上述の評価値算出を行なうと、表3に示す評価結果を得ることができる。

この結果、優先順位値Xの最も大きいプログラム1更新処理が最も優先度が高い処理として決定され、以下、プログラム2更新処理、第2マイコンへのプログラム送信処理、第3マイコンへのプログラム送信処理の順に優先度が決定される。
Here, it is assumed that the communication processing speed between the first microcomputer 210 and the second microcomputer 240 is 38400 pbs, and the communication processing speed between the first microcomputer 210 and the third microcomputer 260 is 115200 bps. Further, the write / erase response time of the flash ROM 230 of the first microcomputer 210 is 600 ms, the write / erase response time of the flash ROM 250 of the second microcomputer 240 is 1000 ms, and the write of the flash ROM 261 of the third microcomputer 260 is performed. Assuming that the erasure response time is 800 ms, the specification table shown in Table 2 is created.

When the above-described evaluation value calculation is performed for each value in the specification table, the evaluation results shown in Table 3 can be obtained.

As a result, the program 1 update process with the highest priority value X is determined as the process with the highest priority. Hereinafter, the program 2 update process, the program transmission process to the second microcomputer, and the program transmission process to the third microcomputer will be described. Priorities are determined in order.

電子機器10の開発者は、電子機器10の構成等に基づいて、あらかじめこの優先度を決定しておいて、各処理装置に対応した不揮発性記憶装置に記憶させておく。これにより各処理装置は、更新用プログラムのダウンロード処理の際、優先度にしたがった処理を行なうことができるようになる。また、更新用プログラムで、ダウンロードサイズ等が変更される場合を考慮して、USBメモリ20に優先度の情報を記録しておいてもよい。この場合、USBメモリ20に記録された優先度にしたがって各処理装置で更新用プログラムのダウンロード処理が行なわれる。さらには、不揮発性記憶装置に記憶されている優先度情報自体を更新用プログラムで更新することもできる。   The developer of the electronic device 10 determines the priority in advance based on the configuration of the electronic device 10 and stores the priority in a nonvolatile storage device corresponding to each processing device. As a result, each processing apparatus can perform processing according to the priority when the update program is downloaded. In addition, priority information may be recorded in the USB memory 20 in consideration of a case where the download size or the like is changed in the update program. In this case, the update program is downloaded in each processing device according to the priority recorded in the USB memory 20. Furthermore, the priority information itself stored in the nonvolatile storage device can be updated by an update program.

最上位の処理装置は、USBメモリ20から更新用データを読込むと、必要に応じてデータ解凍を行なうが(S105)、この解凍順序も上記の優先度にしたがって行なうようにしてもよい。これにより、プログラム更新・送信処理の開始を早めることができるようになる。なお、この場合は、優先度設定処理(S106)をデータ解凍処理(S105)より先に行なうようにする。   When the uppermost processor reads the update data from the USB memory 20, it performs data decompression as necessary (S105), but this decompression order may also be performed according to the above priority. As a result, the start of the program update / transmission process can be accelerated. In this case, the priority setting process (S106) is performed prior to the data decompression process (S105).

上記の例では、処理の優先度はあらかじめ定めるようにしていた。しかしながら、各処理装置において優先度をダイナミックに決定するようにしてもよい。この場合、プログラム更新・送信処理の開始に先だって、上述の評価値の算出をそれぞれの処理装置で行なうことで優先度がダイナミックに決定されることになる。具体的には、図13のフローチャートにしたがって行なうことができる。   In the above example, the processing priority is determined in advance. However, the priority may be dynamically determined in each processing apparatus. In this case, prior to the start of the program update / transmission process, the priority is dynamically determined by performing the above-described evaluation value calculation in each processing device. Specifically, it can be performed according to the flowchart of FIG.

すなわち、評価対象となる処理について、その処理に係るプログラムのデータサイズを参照して評価値Aを算出する(S501)。そして、評価対象となる処理に係る処理装置処理速度を参照して評価値Bを算出する(S502)。なお、処理装置の処理速度は、スペック情報であり既知であるため、あらかじめ不揮発性記憶装置に記録しておくようにする。評価対象となる処理がプログラム送信の場合(S503:Yes)は、さらに、送受信が行なわれる処理装置間の通信速度を参照して評価値Cを算出する。なお、処理装置間の通信速度は、スペック情報であり既知であるため、あらかじめ不揮発性記憶装置に記録しておくようにする。そして、評価対象となる処理に係る不揮発性記憶装置の1セクタの書込消去応答時間を参照して評価値Dを算出する(S505)。なお、不揮発性記憶装置の1セクタの書込消去応答時間は、スペック情報であり既知であるため、あらかじめ不揮発性記憶装置に記録しておくようにする。   That is, for the process to be evaluated, the evaluation value A is calculated with reference to the data size of the program related to the process (S501). Then, the evaluation value B is calculated with reference to the processing device processing speed related to the processing to be evaluated (S502). Note that the processing speed of the processing device is spec information and is known, and is recorded in advance in a nonvolatile storage device. When the process to be evaluated is program transmission (S503: Yes), the evaluation value C is further calculated with reference to the communication speed between the processing apparatuses that perform transmission and reception. Note that the communication speed between the processing devices is specification information and is known, and is recorded in advance in a nonvolatile storage device. Then, the evaluation value D is calculated with reference to the write / erase response time of one sector of the nonvolatile memory device related to the process to be evaluated (S505). Note that the write / erase response time for one sector of the nonvolatile storage device is the specification information and is known, and is recorded in advance in the nonvolatile storage device.

評価値A、評価値B、評価値C、評価値Dが算出されると、これらの評価値を加えることで、評価対象となっている処理の優先順位値Xを算出することができる(S506)。以上の優先順位値Xをすべての処理について繰り返し(S507)、すべての処理について優先順位値Xの算出を終了すると(S507:Yes)、算出された優先順位値Xに基づいて優先度が決定される(S508)。すなわち、優先順位値Xの大きい順に優先度を決定する。   When the evaluation value A, the evaluation value B, the evaluation value C, and the evaluation value D are calculated, by adding these evaluation values, the priority value X of the process that is the evaluation target can be calculated (S506). ). When the above priority order value X is repeated for all processes (S507) and calculation of the priority order value X is completed for all processes (S507: Yes), the priority is determined based on the calculated priority order value X. (S508). That is, priorities are determined in descending order of priority value X.

以上説明したように、本実施形態によれば、階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することができる。   As described above, according to the present embodiment, the time required for downloading a program can be shortened in an electronic apparatus having a plurality of hierarchical processing devices.

なお、上記実施例では、更新するプログラムを格納する記憶装置は、HDD(ハードディスクドライブ)、フラッシュロム等の不揮発性の記憶装置を用いていた。しかしながら、本発明は、不揮発性の記憶装置に限られず、揮発性の記憶装置にも適用することができる。この場合は、不揮発性の記憶装置に格納されたプログラムを電子機器の起動時等に揮発性の記憶装置に格納し、この揮発性の記憶装置に格納されたプログラムを上述のダウンロード手続を行なって更新するようにする。そして、電子機器の電源停止時等に更新されたプログラムを不揮発性の記憶装置に格納すればよい。揮発性の記憶装置を用いた場合においても階層化された複数の処理装置を有する電子機器において、プログラムのダウンロードにかかる時間を短縮することができる。   In the above embodiment, the storage device for storing the program to be updated is a nonvolatile storage device such as an HDD (Hard Disk Drive) or Flash ROM. However, the present invention is not limited to a nonvolatile storage device, and can also be applied to a volatile storage device. In this case, the program stored in the non-volatile storage device is stored in the volatile storage device when the electronic device is started up, and the program stored in the volatile storage device is downloaded as described above. Try to update. Then, a program updated when the power of the electronic device is stopped may be stored in the nonvolatile storage device. Even in the case of using a volatile storage device, it is possible to reduce the time required to download a program in an electronic apparatus having a plurality of hierarchical processing devices.

本発明の一実施形態である電子機器の構成を示すブロック図である。It is a block diagram which shows the structure of the electronic device which is one Embodiment of this invention. 処理装置の関係および更新用プログラムのダウンロード処理を一般化した図である。It is the figure which generalized the download process of the relationship of a processing apparatus and the program for an update. プログラム更新処理とプログラム送信処理とを説明するタイミングチャートであるIt is a timing chart explaining a program update process and a program transmission process 最上位処理装置におけるプログラムダウンロード処理について説明するフローチャートである。It is a flowchart explaining the program download process in a highest-order processing apparatus. F/Wのバージョンの一覧表示画面の一例を示す図である。It is a figure which shows an example of the list display screen of the version of F / W. ダウンロード終了画面の一例を示す図である。It is a figure which shows an example of a download completion screen. 最上位処理装置以外の処理装置におけるプログラムダウンロード処理について説明するフローチャートである。It is a flowchart explaining the program download process in processing apparatuses other than the highest-order processing apparatus. プログラム更新・送信処理における行なう処理の決定方法について説明するフローチャートである。It is a flowchart explaining the determination method of the process performed in a program update / transmission process. プログラム更新・送信処理の具体的な実行内容について説明するフローチャートである。It is a flowchart explaining the specific execution content of a program update / transmission process. 更新用プログラムのダウンロード処理を説明するための電子機器の構成を示すブロック図である。It is a block diagram which shows the structure of the electronic device for demonstrating the download process of the program for an update. 第1マイコン210および第2マイコン240のダウンロード処理の流れを示すタイミングチャートである。4 is a timing chart showing the flow of download processing of a first microcomputer 210 and a second microcomputer 240. 優先度の設定について説明するための電子機器の構成を示すブロック図である。It is a block diagram which shows the structure of the electronic device for demonstrating the setting of a priority. 優先度を決定する処理手順を説明するフローチャートである。It is a flowchart explaining the process sequence which determines a priority.

符号の説明Explanation of symbols

10…電子機器、20…USBメモリ、21…更新用F/W群、100…メイン基板、110…CPU、120…RAM、130…HDD、140…USB I/F、200…サブ基板、210…第1マイコン、220…RAM、230…フラッシュロム、240…第2マイコン、250…フラッシュロム、260…第3マイコン、261…フラッシュロム、300…操作パネルユニット、400…付属装置、410…マイコン、420…フラッシュロム DESCRIPTION OF SYMBOLS 10 ... Electronic device, 20 ... USB memory, 21 ... Update F / W group, 100 ... Main board, 110 ... CPU, 120 ... RAM, 130 ... HDD, 140 ... USB I / F, 200 ... Sub board, 210 ... 1st microcomputer, 220 ... RAM, 230 ... Flash ROM, 240 ... 2nd microcomputer, 250 ... Flash ROM, 260 ... 3rd microcomputer, 261 ... Flash ROM, 300 ... Operation panel unit, 400 ... Attached device, 410 ... Microcomputer, 420 ... Flash ROM

Claims (10)

上位と下位の関係に階層化された複数の処理装置と、
それぞれの処理装置に対応して設けられ、対応する処理装置が実行するプログラムが格納された記憶装置と、
前記プログラムを更新するための1または複数の更新用プログラムを入力するプログラム入力手段とを備え、
最上位の処理装置は、更新用プログラムが入力されると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを行ない、
その他の処理装置は、上位の処理装置から更新用プログラムを受信すると、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを行ない、
前記最上位の処理装置およびその他の処理装置は、いずれかの処理における応答待ちの期間に、他の処理を開始することを特徴とする電子機器。
A plurality of processing devices that are hierarchized into upper and lower relationships;
A storage device provided corresponding to each processing device and storing a program executed by the corresponding processing device;
Program input means for inputting one or more update programs for updating the program,
When the update program is input, the highest-level processing device updates the program of the storage device corresponding to itself, and includes a program update processing including a response waiting period from the storage device, A process of transmitting an update program to the processing device, performing a program transmission process including a period of waiting for a response from the lower processing device,
When the other processing device receives the update program from the host processing device, the processing device updates the program of the storage device corresponding to itself, and includes a program update processing including a response waiting period from the storage device, A process for transmitting an update program to a lower-level processing device, and performing a program transmission process including a period of waiting for a response from the lower-level processing device,
The uppermost processing device and the other processing devices start other processing during a response waiting period in any processing.
請求項1に記載の電子機器であって、
前記記憶装置のプログラムを更新する処理は、前記記憶装置へのメモリ消去命令送信処理と、前記記憶装置へのメモリ書込命令送信処理とが含まれ、
前記記憶装置からの応答は、前記メモリ消去命令に対するメモリ消去終了報告、および、前記メモリ書込命令に対するメモリ書込終了報告であることを特徴とする電子機器。
The electronic device according to claim 1,
The process of updating the program of the storage device includes a memory erase command transmission process to the storage device and a memory write command transmission process to the storage device,
The electronic device characterized in that the response from the storage device is a memory erase end report for the memory erase command and a memory write end report for the memory write command.
請求項1または2に記載の電子機器であって、
前記下位の処理装置に対して更新用プログラムを送信する処理は、プログラム送信処理と、前記下位装置からの応答である終了報告に対する結果受信処理とを含み、
前記下位の処理装置からの応答待ちの期間は、前記プログラム送信処理後から前記下位装置からの終了報告があるまでの期間であることを特徴とする電子機器。
The electronic device according to claim 1 or 2,
The process of transmitting the update program to the lower level processing apparatus includes a program transmission process and a result reception process for an end report that is a response from the lower level apparatus,
The electronic apparatus according to claim 1, wherein a period of waiting for a response from the lower order processing apparatus is a period from the end of the program transmission process until an end report is received from the lower order apparatus.
請求項1〜3のいずれか一項に記載の電子機器であって、
表示装置をさらに備え、
前記最上位の処理装置は、更新用プログラムが入力されると、更新用プログラムのバージョンと、各記憶装置に格納されているプログラムのバージョンとを前記表示装置に表示させることを特徴とする電子機器。
The electronic device according to any one of claims 1 to 3,
A display device,
The top-level processing device, when an update program is input, displays the version of the update program and the version of the program stored in each storage device on the display device .
請求項4に記載の電子機器であって、
前記最上位の処理装置は、更新用プログラムのバージョンに、各記憶装置に格納されているプログラムのバージョンよりも新しいバージョンが含まれている場合には、
すべてのプログラムの更新を行なうか、バージョンの新しいプログラムのみの更新を行なうかの選択メニューを前記表示手段に表示させることを特徴とする電子機器。
The electronic device according to claim 4,
If the version of the update program includes a version newer than the version of the program stored in each storage device,
An electronic apparatus, characterized in that a menu for selecting whether to update all programs or only a new version program is displayed on the display means.
請求項1に記載の電子機器であって、
前記最上位の処理装置およびその他の処理装置は、あらかじめ定められた優先度にしたがって、前記プログラム更新処理および前記プログラム送信処理の実行順序を決定することを特徴とする電子機器。
The electronic device according to claim 1,
The electronic device, wherein the highest-level processing device and the other processing devices determine an execution order of the program update processing and the program transmission processing according to a predetermined priority.
請求項6に記載の電子機器であって、
前記優先度は、処理時間を評価する所定の評価基準に基づいて処理毎に算出された評価値の高い順に定められていることを特徴とする電子機器。
The electronic device according to claim 6,
The electronic device is characterized in that the priorities are determined in descending order of evaluation values calculated for each process based on a predetermined evaluation criterion for evaluating a processing time.
請求項7に記載の電子機器であって、
前記更新用プログラムは圧縮されており、
前記最上位の処理装置は、更新用プログラムが入力されると、前記優先度の順番に更新用プログラムの解凍処理を行なうことを特徴とする電子機器。
The electronic device according to claim 7,
The update program is compressed,
The electronic device according to claim 1, wherein when the update program is input, the highest-level processing device performs decompression processing of the update program in the order of priority.
請求項1に記載の電子機器であって、
前記最上位の処理装置およびその他の処理装置は、更新用プログラムが入力あるいは更新用プログラムを受信すると、処理時間を評価する所定の評価基準に基づいて処理毎に評価値を算出し、評価値の高い順に優先度を各処理に設定して、設定された優先度にしたがって、前記プログラム更新処理および前記プログラム送信処理の実行順序を決定することを特徴とする電子機器。
The electronic device according to claim 1,
When the update program is input or the update program is received, the highest-level processing device and the other processing devices calculate an evaluation value for each process based on a predetermined evaluation criterion for evaluating the processing time. An electronic apparatus, wherein priority is set for each process in descending order, and the execution order of the program update process and the program transmission process is determined according to the set priority.
上位と下位の関係に階層化された複数の処理装置と、それぞれの処理装置に対応して設けられ、対応する処理装置が実行するプログラムが格納された記憶装置と、前記プログラムを更新するための1または複数の更新用プログラムを入力するプログラム入力手段とを備えた電子機器における更新用プログラムダウンロード方法であって、
最上位の処理装置に更新用プログラムが入力されると、前記最上位の処理装置が、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを、いずれの処理も行なっていない場合、あるいは、他の処理における応答待ちの期間に開始し、
その他の処理装置に上位の処理装置から更新用プログラムが受信されると、前記その他の処理装置が、自身に対応する記憶装置のプログラムを更新する処理であって、前記記憶装置からの応答待ちの期間を含むプログラム更新処理と、下位の処理装置に対して更新用プログラムを送信する処理であって、前記下位の処理装置からの応答待ちの期間を含むプログラム送信処理とを、いずれの処理も行なっていない場合、あるいは、他の処理における応答待ちの期間に開始すること特徴とする電子機器における更新用プログラムダウンロード方法。
A plurality of processing devices hierarchized in a higher and lower relationship, a storage device provided corresponding to each processing device and storing a program executed by the corresponding processing device, and for updating the program An update program download method in an electronic device comprising program input means for inputting one or more update programs,
When the update program is input to the highest-level processing device, the highest-level processing device is a process of updating the program of the storage device corresponding to itself, and includes a period of waiting for a response from the storage device When the program update process and the process for transmitting the update program to the lower-level processing device and including the period for waiting for a response from the lower-level processing device are not performed. Or start during a response waiting period in other processing,
When the update program is received by the other processing device from the host processing device, the other processing device is a process of updating the program of the storage device corresponding to itself, and waits for a response from the storage device. A program update process including a period and a program transmission process including a period of waiting for a response from the lower-level processing apparatus, which is a process of transmitting an update program to the lower-level processing apparatus, are performed. An update program download method for an electronic device, which starts in a period of waiting for a response in other processing.
JP2008212779A 2008-08-21 2008-08-21 Electronic equipment, and method for downloading program for updating in the same Pending JP2010049464A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008212779A JP2010049464A (en) 2008-08-21 2008-08-21 Electronic equipment, and method for downloading program for updating in the same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008212779A JP2010049464A (en) 2008-08-21 2008-08-21 Electronic equipment, and method for downloading program for updating in the same

Publications (1)

Publication Number Publication Date
JP2010049464A true JP2010049464A (en) 2010-03-04

Family

ID=42066502

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008212779A Pending JP2010049464A (en) 2008-08-21 2008-08-21 Electronic equipment, and method for downloading program for updating in the same

Country Status (1)

Country Link
JP (1) JP2010049464A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012006490A (en) * 2010-06-25 2012-01-12 Mitsubishi Electric Corp Program rewriting system of air-condition controller for railway vehicle
JP2014030088A (en) * 2012-07-31 2014-02-13 Mitsubishi Electric Building Techno Service Co Ltd Remote management system and gateway unit
JP2014099083A (en) * 2012-11-15 2014-05-29 Nintendo Co Ltd Information processing system, information processing device, information processing program and information processing method
WO2017208475A1 (en) * 2016-06-02 2017-12-07 住友電気工業株式会社 Relay device, program update system and program update method
JP2018181377A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method
JP2018181376A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012006490A (en) * 2010-06-25 2012-01-12 Mitsubishi Electric Corp Program rewriting system of air-condition controller for railway vehicle
JP2014030088A (en) * 2012-07-31 2014-02-13 Mitsubishi Electric Building Techno Service Co Ltd Remote management system and gateway unit
JP2014099083A (en) * 2012-11-15 2014-05-29 Nintendo Co Ltd Information processing system, information processing device, information processing program and information processing method
US9928053B2 (en) 2012-11-15 2018-03-27 Nintendo Co., Ltd. Joint acquisition of update software for multiple devices
WO2017208475A1 (en) * 2016-06-02 2017-12-07 住友電気工業株式会社 Relay device, program update system and program update method
JP2017215890A (en) * 2016-06-02 2017-12-07 住友電気工業株式会社 Relay device, program update system, and program update method
CN109219800A (en) * 2016-06-02 2019-01-15 住友电气工业株式会社 Relay, program updating system and method for updating program
US20190235855A1 (en) * 2016-06-02 2019-08-01 Sumitomo Electric Industries, Ltd. Relay device, program update system, and program update method
US10552143B2 (en) 2016-06-02 2020-02-04 Sumitomo Electric Industries, Ltd. Relay device, program update system, and program update method
CN109219800B (en) * 2016-06-02 2020-04-07 住友电气工业株式会社 Relay device, program update system, and program update method
JP2018181377A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method
JP2018181376A (en) * 2018-07-31 2018-11-15 住友電気工業株式会社 Relay device, program update system, and program update method

Similar Documents

Publication Publication Date Title
JP2010049464A (en) Electronic equipment, and method for downloading program for updating in the same
US20090198770A1 (en) System and method of updating codes in controller
JPWO2008117520A1 (en) MEMORY CONTROLLER, NONVOLATILE MEMORY SYSTEM, AND HOST DEVICE
JP2007047993A (en) Control circuit, electronic equipment using it and update method for firmware
CN110851154B (en) Computer-implemented method, system, and medium for updating read-only memory code
JP2016162022A (en) Information processing device and memory management program
JP2005173747A (en) Memory update system for field apparatus
JP2013084153A (en) Information processing device, information processing method, and program
JP6515462B2 (en) INFORMATION PROCESSING DEVICE, SETTING METHOD FOR INFORMATION PROCESSING DEVICE, AND SETTING PROGRAM
US20090300659A1 (en) Device Managing System and Program
JP2009265877A (en) Electronic apparatus
JP2009009323A (en) Setting device, electronic equipment, and setting program
JP5380895B2 (en) Management program, management method and management apparatus
JP4986598B2 (en) Application management system and control method thereof
US7287104B2 (en) Interface circuit for card-type memory, ASIC including interface circuit, and image forming apparatus including ASIC
JP6443583B2 (en) Information processing apparatus, information processing method, and information processing program
JP2005346473A (en) Information processing method, information processor, and imaging apparatus
JP2020080120A (en) Information processing device, update method of information processing device, and update program of information processing device
JP5164936B2 (en) Electronic device and electronic device control program
JP2005010912A (en) Program and computer
CN114489516B (en) Data storage device and method
JP2011039825A (en) Firmware updating method and firmware updating device
JP2008117404A (en) Memory rewriting control system
JP6617555B2 (en) Image forming apparatus
JP4920725B2 (en) Image processing apparatus and program