JP2004246576A - Program rewriting method and semiconductor device - Google Patents

Program rewriting method and semiconductor device Download PDF

Info

Publication number
JP2004246576A
JP2004246576A JP2003035102A JP2003035102A JP2004246576A JP 2004246576 A JP2004246576 A JP 2004246576A JP 2003035102 A JP2003035102 A JP 2003035102A JP 2003035102 A JP2003035102 A JP 2003035102A JP 2004246576 A JP2004246576 A JP 2004246576A
Authority
JP
Japan
Prior art keywords
program
area
new
server
recording medium
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.)
Withdrawn
Application number
JP2003035102A
Other languages
Japanese (ja)
Inventor
Hirotsuna Miura
弘綱 三浦
Yoshihiro Tate
義宏 舘
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2003035102A priority Critical patent/JP2004246576A/en
Publication of JP2004246576A publication Critical patent/JP2004246576A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a program rewriting method capable of safely rewriting a program recorded in a recording medium with a new program received from a server. <P>SOLUTION: This program rewriting method comprises a step (a) for communicating with a server by executing a second program, a step (b) for transmitting a new first program to this device, a step (c) for recording the new first program in the first area of a recording medium, a step (d) for communicating with the server by executing the new first program recorded in the first area of the recording medium, a step (e) for transmitting the new second program to the device and a step (f) for recording the new second program in the second area of the recording medium. <P>COPYRIGHT: (C)2004,JPO&NCIPI

Description

【0001】
【発明の属する技術分野】
本発明は、ネットワークを介してサーバに接続された装置の記録媒体に記録されたプログラムの書換方法に関する。さらに、本発明は、ネットワークを介してサーバに接続された装置に用いられる半導体装置に関する。
【0002】
【従来の技術】
従来より、通信コントローラ(通信用LSI)は、CPUコアと、CPUコアが実行するためのプログラム(ファームウェア)を記録するフラッシュROMとを有している。このフラッシュROMに記録されたプログラムには通信に必要なコードが含まれており、この通信に必要なコードが書き換えられた時点で通信が不可能となってしまうため、フラッシュROMに記録されているプログラムを書き換えることはできなかった。そのため、プログラムを書き換えるには、ROMライタ等を用いなければならなかった。
【0003】
しかしながら、通信コントローラが組み込まれた機器は、すぐに人の手の届くところに配置されているとは限らず、また、ネットワークから取り外すことが困難である場合もある。さらに、ネットワークに大量の機器が接続されている場合には、これら全ての機器内の通信コントローラのファームウェアを書き換えることが容易ではなかった。
【0004】
ところで、従来、特に運用中にブート処理プログラムを遠隔操作により書き換え可能とするコンピュータシステムがある(例えば、特許文献1参照)。
【0005】
【特許文献1】
特許第2940480号公報
【0006】
特許文献1に掲載されたコンピュータシステムは、少なくとも2面の不揮発性記憶デバイス、少なくとも2面の不揮発性記憶デバイスの切り替えを行う不揮発性記憶デバイスセレクタ、マルチタスクオペレーティングシステム、少なくとも2面の不揮発性記憶デバイスにおけるブート処理プログラムの書き換え状態を保持するラッチ付きレジスタ等を必要とし、少なくとも2面の不揮発性記憶デバイスを現用系不揮発性記憶デバイス及び予備系不揮発性記憶デバイスとして使用するものである。
【0007】
また、各装置の機能を停止することなく複数の装置がオンライン状態のまま一括して同時にソフトウェアのダウンロードの処理が可能なリモートソフトウェアダウンロード方式がある(例えば、特許文献2参照)。
【0008】
【特許文献2】
特開平5−158703号公報
【0009】
特許文献2に掲載されたリモートソフトウェアダウンロード方式は、ネットワークを構成する各装置が現用と予備用の2種類のEEPROMを必要とし、ネットワーク管理装置からのbroadcast型通信手段を使用して複数の装置の予備用のEEPROMにプログラムデータを書き込む第一の手段、point−to−point型通信手段を使用して第一の手段によって個々の装置の予備用EEPROMに書き込まれたプログラムデータが正常であることを確認する第二の手段、broadcast型通信手段を使用して複数の装置に現用か予備用かのEEPROMを指定して立ち上げを行わせる第三の手段、個々の装置に於いて第三の手段による立ち上げ後の異常検出時には自動的に予備用から現用のEEPROMに切り替えて再立ち上げを行う第四の手段、第二の手段と同様に個々の装置に現在運用中のEEPROMを確認する第五の手段を必要とする。
【0010】
また、シリアル通信ポート等を利用して不揮発性の書き換え可能なメモリにファームウェアの応用部分を書き込み、また書き換えることを可能とする制御装置がある(例えば、特許文献3参照)。
【0011】
【特許文献3】
特開2000−112765号公報
【0012】
特許文献3に掲載された制御装置は、ファームウェアの第1の部分に従って起動した場合に第2の記憶手段にファームウェアの第2の部分が記憶されているか否かを調べ、記憶されている場合はファームウェアの第2の部分を実行し、記憶されていない場合は待機状態を維持し、該待機状態の間またはファームウェアの第2の部分の実行中に書き込み命令が与えられた場合に、プログラムに従って外部通信手段を介してファームウェアの第2の部分を受信して第2の記憶手段に書き込み実行命令の受信を待機するものである。
【0013】
【発明が解決しようとする課題】
そこで、上記の点に鑑み、本発明は、ネットワークを介してサーバに接続された装置の記録媒体に記録されたプログラムを安全に書き換えることができるプログラム書換方法を提供することを第1の目的とする。また、本発明は、ネットワークを介してサーバに接続された装置に用いられる半導体装置を提供することを第2の目的とする。
【0014】
【課題を解決するための手段】
以上の課題を解決するため、本発明に係るプログラム書換方法は、ネットワークを介してサーバに接続された装置の記録媒体に記録されたプログラムの書換処理のための第1のプログラム及び装置において所定の機能を実現するための第2のプログラムを書き換える方法であって、装置において、第2のプログラムを実行することにより、サーバとの通信を行うステップ(a)と、サーバにおいて、新たな第1のプログラムを装置に送信するステップ(b)と、装置において、新たな第1のプログラムを記録媒体の第1の領域に記録するステップ(c)と、装置において、記録媒体の第1の領域に記録された新たな第1のプログラムを実行することにより、サーバとの通信を行うステップ(d)と、サーバにおいて、新たな第2のプログラムを装置に送信するステップ(e)と、装置において、新たな第2のプログラムを記録媒体の第2の領域に記録するステップ(f)とを具備する。
【0015】
これにより、プログラムを安全に書き換えることができる。
【0016】
また、新たな第1のプログラムが、新たな第1のプログラムの記録媒体の第1の領域への記録が完了したことを表す第1の情報を末尾部に有しており、装置において、ステップ(f)の後に、第1の情報を、新たな第2のプログラムの記録媒体の第2の領域への記録が完了したことを表す第2の情報に書き換えるステップ(g)を更に具備することとしても良い。また、記録媒体の第3の領域に装置のブート処理のための第3のプログラムが記録されており、ステップ(a)が、装置において、記録媒体の第3の領域に記録された第3のプログラムを実行し、記録媒体の第2の領域に第2の情報が記録されている場合に、記録媒体の第2の領域に記録されている第2のプログラムに制御を移すことにより、サーバとの通信を行い、ステップ(d)が、装置において、再起動後、記録媒体の第3の領域に記録された第3のプログラムを実行し、記録媒体の第2の領域に第1の情報が記録されている場合に、記録媒体の第1の領域に記録されている第1のプログラムに制御を移すことにより、サーバとの通信を行うこととしても良い。
【0017】
また、装置とサーバが、TFTP(Trivial File Transfer Protocol)においてエラーとして扱われるべきパケットで通信を行うこととしても良い。
これにより、情報処理装置3以外の他のTFTPクライアントのプログラム(ファームウェア)を書き換えてしまうことを防止することができる。
さらに、パケットが、第2のプログラムのバージョンに関する情報を含むこととしても良い。
【0018】
また、第2のプログラムが、バージョンに関する情報を末尾部に有することとしても良い。
これにより、第2の領域に記録されている第2のプログラムが書き換え対象であるか又は書き換え対象ではないかを容易に管理することができる。
【0019】
また、ステップ(b)が、サーバにおいて、IEEE802.3のパケットを用いて、新たな第1のプログラムを装置に送信し、ステップ(e)が、サーバにおいて、IEEE802.3のパケットを用いて、新たな第2のプログラムを装置に送信することとしても良い。
これにより、アップデート専用プログラムのプログラムサイズを小さくすることができる。
【0020】
また、ステップ(b)が、サーバにおいて、新たな第1のプログラムを所定のサイズのブロック単位で装置に送信し、ステップ(c)が、装置において、新たな第1のプログラムを所定のサイズのブロック単位で記録媒体の第1の領域に記録し、ステップ(e)が、サーバにおいて、新たな第2のプログラムを所定のサイズのブロック単位で装置に送信し、ステップ(f)が、装置において、新たな第2のプログラムを所定のサイズのブロック単位で記録媒体の第2の領域に記録することとしても良い。
【0021】
これにより、通信エラー等によってメインプログラムの途中で書き換えが中止された場合に、既に書き換え(消去及び書き込み)が行われたブロックの再書き換えを不要とすることができ、メインプログラムの書き換えを再び試みたときの書き換えに必要な時間を短くすることができるとともに、既に書き換え(消去及び書き込み)が行われたブロックの書き換え寿命が短くなることを防止することができる。
【0022】
また、本発明に係る半導体装置は、ネットワークを介してサーバに接続された装置に用いられる半導体装置であって、プログラムの書換処理のための第1のプログラムを記録する第1の領域及び所定の機能を実現するための第2のプログラムを記録する第2の領域を有するメモリと、メモリの第2の領域に記録された第2のプログラムを実行することによりサーバとの通信を行い、新たな第1のプログラムをサーバから受信し、新たな第1のプログラムをメモリの第1の領域に記録し、メモリの第1の領域に記録された新たな第1のプログラムを実行することによりサーバとの通信を行い、新たな第2のプログラムをサーバから受信し、新たな第2のプログラムをメモリの第2の領域に記録する処理部とを具備する。
これにより、メモリ内のプログラムを安全に書き換えることができる。
【0023】
【発明の実施の形態】
以下、図面を参照しながら、本発明の実施の形態について説明する。
図1に、本発明の一実施形態に係るプログラム書換方法を実現するためのシステムの構成を示す。図1に示すように、システム1は、サーバコンピュータ2と、情報処理装置3とを具備する。サーバコンピュータ2と情報処理装置3は、ネットワークを介して接続されている。
サーバコンピュータ2は、情報処理装置3が実行するための最新バージョンのプログラムを格納しており、必要に応じて、この最新バージョンのプログラムを情報処理装置3に送信する。
【0024】
図2は、図1の情報処理装置3の内部構成を示す図である。図2に示すように、情報処理装置3は、CPU4と、RAM5と、ROM6と、通信コントローラ7と、ネットワークインタフェース8とを具備する。
CPU4は、RAM5を作業用領域として使用しながら、ROM6に格納されたプログラムを実行する。
【0025】
通信コントローラ7は、TCP/IPを用いた通信の物理層(例えば、IEEE802.3に規定される10Base−T等)を担うネットワークインタフェース8に接続されており、外部機器との間のTCP/IPを用いた通信を行う。
図3は、本発明の一実施形態に係る半導体装置として、図2の通信コントローラ7の内部構成を示す図である。図3に示すように、通信コントローラ7は、ネットワークインタフェース部11と、バスインタフェース部13と、CPUコア15と、フラッシュROM17とを具備する。
【0026】
ネットワークインタフェース部11は、外部機器から通信データを受け取ってCPUコア15に送り、CPUコア15から通信データを受け取って外部機器に送る。
バスインタフェース部13は、CPU4から通信データ等を受け取ってCPUコア15に送り、CPUコア15から通信データ等を受け取ってCPU4に送る。
【0027】
フラッシュROM17は、CPUコア15がTCP/IPを用いた通信等の機能を実現するためのプログラム(ファームウェア)を記録している。
図4は、フラッシュROM17のメモリマップを示す図である。図4に示すように、フラッシュROM17は、ブートセクタ(ブートプログラム記録領域)と、メインプログラム記録領域と、アップデート専用プログラム記録領域とを有する。
【0028】
ブートセクタは、通信コントローラ7の起動時に実行されるプログラムであるブートプログラムを記録する領域である。
メインプログラム記録領域は、通信コントローラ7が所定の機能を実現するためのプログラムであるメインプログラムを記録する領域である。なお、このメインプログラムは、後に説明するように、アップデート専用プログラム記録領域に記録されているプログラムを最新バージョンのプログラムに書き換える処理のためのコードを含んでいる。
【0029】
メインプログラム記録領域の末尾部には、メインプログラムのバージョン情報を記録するためのバージョン情報記録領域が設けられており、このバージョン情報記録領域に記録されているバージョン情報をサーバコンピュータ2(図1参照)に格納されているメインプログラムのバージョン情報と比較することにより、メインプログラム記録領域に現在記録されているメインプログラムが最新バージョンのメインプログラムであるか否かを判断することができる。
【0030】
アップデート専用プログラム記録領域は、メインプログラム記録領域に現在記録されているメインプログラムを最新バージョンのメインプログラムに書き換える処理を行うためのプログラムであるアップデート専用プログラムを記録する領域である。アップデート専用プログラム記録領域の末尾部には、アップデート専用プログラムの書換が完了した旨又はメインプログラムの書換が完了した旨を表すシグネチャを記録するためのシグネチャ記録領域が設けられている。
【0031】
なお、アップデート専用プログラムは、メインプログラム記録領域に現在記録されているメインプログラムを最新バージョンのメインプログラムに書き換える処理に特化したプログラムであるため、そのプログラムサイズは、メインプログラムのプログラムサイズより小さい。
【0032】
次に、システム1におけるプログラム書換動作について、図1〜図5を参照しながら説明する。
図5は、サーバコンピュータ2及びCPUコア15の動作を示すフローチャートである。
CPUコア15は、起動すると、ブートプログラムを実行し、さらに、ブートプログラムからメインプログラムに処理を移し、メインプログラムを実行する(ステップS101)。なお、後に説明するように、所定の条件下では、CPUコア15が、ブートプログラムの実行後、ブートプログラムからアップデート専用プログラムに処理を移し、アップデート専用プログラムを実行する場合もある。
【0033】
CPUコア15は、UDP/IP上のTFTP(Trivial File Transfer Protocol)を用いて、最新バージョンのアップデート専用プログラムをサーバコンピュータ2に要求する。サーバコンピュータ2は、TFTPを用いて、最新バージョンのアップデート専用プログラムをCPUコア15に送信する(ステップS201)。
【0034】
CPUコア15は、サーバコンピュータ2から受信した最新バージョンのアップデート専用プログラムを、フラッシュROM17のアップデート専用プログラム記録領域内に記録する(ステップS102)。このとき、アップデート専用プログラム記録領域の末尾部のシグネチャ記録領域内には、アップデート専用プログラムの書き換えが完了した旨を表すシグネチャが記録される。シグネチャ記録領域は、アップデート専用プログラム記録領域の末尾部に設けられているため、アップデート専用プログラムの書き換えが完了した旨を表すシグネチャがシグネチャ記録領域内に記録されていることは、アップデート専用プログラムの書き換えが完了したことを保証することとなる。
【0035】
なお、何らかの理由(例えば、ネットワークトラブル等)により、アップデート専用プログラムの転送が途中で中断され、アップデート専用プログラムの書き換えが途中まで行われはしたが完了されなかった場合、アップデート専用プログラム記録領域内のアップデート専用プログラムは不完全なものとなる。しかしながら、このような場合であっても、メインプログラム記録領域内のメインプログラムは元の状態のままであり、メインプログラム記録領域内のメインプログラムには何らの影響もなく、CPUコア15の動作にも何らの影響もない。
【0036】
アップデート専用プログラムの書き換えが完了すると、CPUコア15は、再起動を行い、ブートプログラムを実行する。ここで、アップデート専用プログラム記録領域の末尾部のシグネチャ記録領域内にアップデート専用プログラムの書き換えが完了した旨を表すシグネチャが記録されているため、CPU15は、ブートプログラムからアップデート専用プログラムに処理を移し、アップデート専用プログラムを実行する(ステップS103)。
次に、CPUコア15は、最新バージョンのメインプログラムをサーバコンピュータ2に要求する。サーバコンピュータ2は、最新バージョンのメインプログラムをCPUコア15に送信する(ステップS202)。
【0037】
CPUコア15は、サーバコンピュータ2から受信した最新バージョンのメインプログラムを、フラッシュROM17のメインプログラム記録領域内に記録する(ステップS104)。
なお、ネットワークトラブル等により、メインプログラムの転送が途中で中断され、メインプログラムの書き換えが途中まで行われはしたが完了されなかった場合、メインプログラム記録領域内のメインプログラムは不完全なものとなる。しかしながら、このような場合であっても、アップデート専用プログラム記録領域内のアップデート専用プログラムは完全なものである。そのため、CPUコア15は、再起動後、再度アップデート専用プログラム記録領域内のアップデート専用プログラムを実行し、メインプログラムの書き換えを再度試みることができる。
【0038】
メインプログラムの書き換えが完了すると、CPUコア15は、メインプログラムの書き換えが完了した旨を表すシグネチャを、アップデート専用プログラム記録領域の末尾部のシグネチャ記録領域内に記録する(ステップS105)。これにより、CPUコア15は、次回再起動時に、ブートプログラムを実行し、さらに、ブートプログラムから最新バージョンのメインプログラムに処理を移し、最新バージョンのメインプログラムを実行することができる。
【0039】
このように、本実施形態によれば、アップデート専用プログラムの転送が途中で中断され、アップデート専用プログラムの書き換えが途中まで行われはしたが完了されなかった場合であっても、メインプログラム記録領域内のメインプログラムには何らの影響もないため、アップデート専用プログラムの書き換えを再度試みることができる。また、メインプログラムの転送が途中で中断され、メインプログラムの書き換えが途中まで行われはしたが完了されなかった場合であっても、アップデート専用プログラム記録領域内のアップデート専用プログラムは完全なものであるため、メインプログラムの書き換えを再度試みることができる。従って、フラッシュROM17に記録されているプログラムの書き換えを安全に行うことができる。
【0040】
なお、本実施形態においては、サーバコンピュータ2からCPUコア15へのプログラムの転送にUDP/IP上のTFTPを用いることとしている。TCP/IP、UDP/IP等の汎用プロトコルは、階層構造を有しており、プロトコルに細かい取り決め(例えば、再送信のための取り決め等)があるため、TCP/IP、UDP/IP等の汎用プロトコルを実現するためのコードは複雑であり、コードサイズも大きい。そのため、アップデート専用プログラムのプログラムサイズが大きくなり、別のフラッシュROMを用意する必要が生じたり、メインプログラム記録領域のサイズが圧迫され小さくなってしまう場合も生じ得る。
そこで、TFTPを用いることなく、IEEE802.3のパケットをそのまま用いることとしても良い(生パケットの使用)。パケットをそのまま用いることとすれば、アップデート専用プログラムのプログラムサイズを小さくすることができ、別のフラッシュROMを用意する必要を無くし、メインプログラム記録領域のサイズが圧迫され小さくなってしまうことを防止することができる。
【0041】
また、サーバコンピュータ2からCPUコア15へのプログラムの転送にUDP/IP上のTFTPを用いることとすると、TFTPが汎用のプロトコルであるため、情報処理装置3以外の他のTFTPクライアントからのTFTPパケットによってサーバコンピュータ2が誤動作し、情報処理装置3以外の他のTFTPクライアントのプログラム(ファームウェア)を書き換えてしまうことが考えられる。このようなことを防止するため、TCP/IP、UDP/IP等の上に専用プロトコルを実装することとすると、アップデート専用プログラム又はメインプログラムのプログラムサイズが大きくなってしまう。そこで、サーバコンピュータ2がネットワーク上にブロードキャストするTFTPパケットとしてTFTPの規格外のパケットを用いることとしても良い。
【0042】
図6は、サーバコンピュータ2がネットワーク上にブロードキャストするTFTPパケットの例を示す図である。図6に示すTFTPパケットは、”ABCDEFGHIJKLMNOPQ”という通常あり得ないファイル名のファイル読み込み要求(RRQ:Read ReQuest)を表しており、さらに、”XYZ”というモードはTFTPにはない。そのため、情報処理装置3以外の他のTFTPクライアントは、エラーコード1(そのようなファイル名のファイルは見つからないことを表す)又はエラーコード4(モードが不正であることを表す)をサーバコンピュータ2に返送する。一方、情報処理装置3は、図7に示すようなTFTPパケットをサーバコンピュータ2に返送する。
【0043】
図7に示すTFTPパケットは、「未定義のエラー、エラーの詳細はエラーメッセージを参照」を意味する。これは、情報処理装置3以外の他のTFTPクライアントがサーバコンピュータ2に返送するTFTPパケットと異なるので、サーバコンピュータ2は、プログラム書換対象である情報処理装置3を他のTFTPクライアントと識別することができる。
これにより、情報処理装置3以外の他のTFTPクライアントのプログラム(ファームウェア)を書き換えてしまうことを防止することができる。
【0044】
なお、図6のTFTPパケットのファイル名及び図7のTFTPパケットのエラーメッセージに、メインプログラムのバージョン情報を表す文字列を含ませることとしても良い。
【0045】
また、本実施形態においては、図4に示すように、フラッシュROM17のメインプログラム格納領域の末尾部にバージョン情報格納領域を設けている。そのため、アップデート専用プログラム実行によるメインプログラムの書き換え処理中(図5中のステップS202及びS104参照)には、バージョン情報格納領域内には書き換えられる前の古いバージョン情報が格納されており、CPUコア15は、サーバコンピュータ2からの問い合わせに対し、古いバージョン情報を返信する。従って、アップデート専用プログラム実行によるメインプログラムの書き換え処理中(メインプログラムの書き換え処理完了前)には、メインプログラム格納領域内のメインプログラムは、書き換え対象となる。
【0046】
また、アップデート専用プログラム実行によるメインプログラムの書き換え処理完了後には、バージョン情報格納領域内には書き換えられた後の最新のバージョン情報が格納されており、CPUコア15は、サーバコンピュータ2からの問い合わせに対し、最新のバージョン情報を返信する。従って、アップデート専用プログラム実行によるメインプログラムの書き換え処理完了後には、メインプログラム格納領域内のメインプログラムは、書き換え対象とならない。
【0047】
このように、本実施形態によれば、メインプログラム格納領域内のメインプログラムが書き換え対象であるか(古いバージョンのメインプログラムであるか)、書き換え対象ではないか(最新バージョンのメインプログラムであるか)を容易に管理することができる。
【0048】
また、フラッシュROM17のメインプログラム格納領域内のメインプログラムを所定サイズのブロック単位で書き換え(消去及び書き込み)を行うこととすれば、通信エラー等によってメインプログラムの途中で書き換えが中止された場合に、既に書き換え(消去及び書き込み)が行われたブロックの再書き換えを不要とすることができ、メインプログラムの書き換えを再び試みたときの書き換えに必要な時間を短くすることができるとともに、既に書き換え(消去及び書き込み)が行われたブロックの書き換え寿命が短くなることを防止することができる。
【図面の簡単な説明】
【図1】プログラム書換方法を実現するためのシステムの構成を示す図。
【図2】図1の情報処理装置の内部構成を示す図。
【図3】図2の通信コントローラの内部構成を示す図。
【図4】図3のフラッシュROMのメモリマップを示す図。
【図5】図1のシステムの動作を示すフローチャート。
【図6】送受信されるパケットのフォーマットの一例を示す図。
【図7】送受信されるパケットのフォーマットの一例を示す図。
【符号の説明】
1 システム、2 サーバコンピュータ、3 情報処理装置、4 CPU、5RAM、6 ROM、7 通信コントローラ、8 ネットワークインタフェース、11 ネットワークインタフェース部、13 バスインタフェース部、15CPUコア、17 フラッシュROM
[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a method for rewriting a program recorded on a recording medium of a device connected to a server via a network. Further, the present invention relates to a semiconductor device used for a device connected to a server via a network.
[0002]
[Prior art]
Conventionally, a communication controller (communication LSI) has a CPU core and a flash ROM for recording a program (firmware) to be executed by the CPU core. The program recorded in the flash ROM includes a code required for communication, and communication becomes impossible when the code required for communication is rewritten. The program could not be rewritten. Therefore, in order to rewrite the program, a ROM writer or the like had to be used.
[0003]
However, devices with a built-in communication controller are not always located within easy reach of humans, and may be difficult to remove from a network. Further, when a large number of devices are connected to the network, it is not easy to rewrite the firmware of the communication controller in all of these devices.
[0004]
By the way, conventionally, there is a computer system in which a boot processing program can be rewritten by remote control particularly during operation (for example, see Patent Document 1).
[0005]
[Patent Document 1]
Japanese Patent No. 2940480
[0006]
The computer system disclosed in Patent Document 1 includes at least two nonvolatile storage devices, a nonvolatile storage device selector that switches between at least two nonvolatile storage devices, a multitasking operating system, and at least two nonvolatile storage devices. This requires a register with a latch for holding a rewrite state of a boot processing program in the device, and uses at least two nonvolatile storage devices as an active nonvolatile storage device and a standby nonvolatile storage device.
[0007]
In addition, there is a remote software download method in which a plurality of devices can be simultaneously and simultaneously downloaded without leaving the function of each device online (see, for example, Patent Document 2).
[0008]
[Patent Document 2]
JP-A-5-158703
[0009]
In the remote software download method disclosed in Patent Document 2, each device constituting the network requires two types of EEPROMs, one for the current operation and the other for the backup, and a plurality of devices are transmitted using a broadcast type communication means from the network management device. First means for writing program data to a spare EEPROM, using a point-to-point type communication means to confirm that the program data written to the spare EEPROM of each device by the first means is normal. A second means for confirming, a third means for using a broadcast type communication means to start up a plurality of devices by designating an EEPROM as an active or a spare, and a third means for each device When an abnormality is detected after start-up, the EEPROM is automatically switched from the standby EEPROM to the current EEPROM and Fourth means for performing Chiage requires a fifth means for confirming EEPROM currently in operation in the second individual device similar to the device.
[0010]
Further, there is a control device capable of writing and rewriting an application portion of firmware in a nonvolatile rewritable memory using a serial communication port or the like (for example, see Patent Document 3).
[0011]
[Patent Document 3]
JP 2000-112765 A
[0012]
The control device disclosed in Patent Literature 3 checks whether or not the second part of the firmware is stored in the second storage means when activated according to the first part of the firmware. Executing the second part of the firmware, maintaining a standby state if not stored, and externally following the program during the standby state or when a write instruction is given during execution of the second part of the firmware; The second part of the firmware is received via the communication means, and the writing of the second part to the second storage means is awaited.
[0013]
[Problems to be solved by the invention]
In view of the above, a first object of the present invention is to provide a program rewriting method capable of safely rewriting a program recorded on a recording medium of an apparatus connected to a server via a network. I do. It is a second object of the present invention to provide a semiconductor device used for a device connected to a server via a network.
[0014]
[Means for Solving the Problems]
In order to solve the above problems, a program rewriting method according to the present invention provides a first program and a predetermined program for rewriting a program recorded on a recording medium of a device connected to a server via a network. A method of rewriting a second program for realizing a function, the method comprising: executing (a) communication with a server by executing a second program in an apparatus; (B) transmitting the program to the device, (c) recording a new first program in the first area of the recording medium in the device, and recording the first program in the first area of the recording medium in the device. (D) performing communication with the server by executing the newly executed first program, and executing a new second program in the server. And step (e) of transmitting device, the apparatus comprises a step (f) to record a new second program in a second area of the recording medium.
[0015]
Thereby, the program can be safely rewritten.
[0016]
Further, the new first program has first information at the end indicating that recording of the new first program in the first area of the recording medium has been completed, and the apparatus includes the following steps: After (f), the method further comprises a step (g) of rewriting the first information with second information indicating that recording of the new second program in the second area of the recording medium has been completed. It is good. In addition, a third program for boot processing of the device is recorded in a third area of the recording medium, and step (a) is performed in the apparatus by the third program recorded in the third area of the recording medium. By executing the program and transferring the control to the second program recorded in the second area of the recording medium when the second information is recorded in the second area of the recording medium, Step (d) is to execute the third program recorded in the third area of the recording medium after the restart in the apparatus, and the first information is stored in the second area of the recording medium. When recorded, communication with the server may be performed by transferring control to the first program recorded in the first area of the recording medium.
[0017]
Further, the device and the server may perform communication using a packet to be treated as an error in a TFTP (Trial File Transfer Protocol).
Thereby, it is possible to prevent the program (firmware) of the TFTP client other than the information processing device 3 from being rewritten.
Furthermore, the packet may include information about the version of the second program.
[0018]
Further, the second program may have information about the version at the end.
This makes it possible to easily manage whether the second program recorded in the second area is to be rewritten or not.
[0019]
Also, step (b) transmits a new first program to the device using the IEEE802.3 packet in the server, and step (e) uses the IEEE802.3 packet in the server, A new second program may be transmitted to the device.
Thereby, the program size of the update-dedicated program can be reduced.
[0020]
Further, step (b) transmits a new first program to the device in units of blocks of a predetermined size in the server, and step (c) transmits a new first program of the predetermined size to the device in the device. The recording is performed in the first area of the recording medium in units of blocks, and in the step (e), a new second program is transmitted to the apparatus in units of blocks of a predetermined size in the server, and the step (f) is performed in the apparatus. Alternatively, the new second program may be recorded in the second area of the recording medium in blocks of a predetermined size.
[0021]
In this way, when rewriting is interrupted in the middle of the main program due to a communication error or the like, it is not necessary to rewrite blocks that have already been rewritten (erased and written). It is possible to shorten the time required for rewriting when the block has been rewritten, and to prevent the rewriting life of a block that has already been rewritten (erased and written) from being shortened.
[0022]
Further, a semiconductor device according to the present invention is a semiconductor device used for a device connected to a server via a network, and includes a first area for recording a first program for rewriting a program, and a predetermined area. A memory having a second area for recording a second program for realizing the function, and communication with the server by executing the second program recorded in the second area of the memory, to create a new The first program is received from the server, the new first program is recorded in a first area of the memory, and the new first program recorded in the first area of the memory is executed. And a processing unit for receiving the new second program from the server and recording the new second program in the second area of the memory.
Thus, the program in the memory can be safely rewritten.
[0023]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described with reference to the drawings.
FIG. 1 shows a configuration of a system for realizing a program rewriting method according to an embodiment of the present invention. As shown in FIG. 1, the system 1 includes a server computer 2 and an information processing device 3. The server computer 2 and the information processing device 3 are connected via a network.
The server computer 2 stores the latest version of the program to be executed by the information processing device 3, and transmits the latest version of the program to the information processing device 3 as necessary.
[0024]
FIG. 2 is a diagram showing the internal configuration of the information processing device 3 of FIG. As shown in FIG. 2, the information processing device 3 includes a CPU 4, a RAM 5, a ROM 6, a communication controller 7, and a network interface 8.
The CPU 4 executes a program stored in the ROM 6 while using the RAM 5 as a work area.
[0025]
The communication controller 7 is connected to a network interface 8 that is responsible for a physical layer (for example, 10Base-T defined in IEEE802.3) of communication using TCP / IP, and performs TCP / IP communication with an external device. Communication using is performed.
FIG. 3 is a diagram showing an internal configuration of the communication controller 7 of FIG. 2 as a semiconductor device according to one embodiment of the present invention. As shown in FIG. 3, the communication controller 7 includes a network interface unit 11, a bus interface unit 13, a CPU core 15, and a flash ROM 17.
[0026]
The network interface unit 11 receives communication data from an external device and sends it to the CPU core 15, and receives communication data from the CPU core 15 and sends it to the external device.
The bus interface unit 13 receives communication data and the like from the CPU 4 and sends it to the CPU core 15, and receives communication data and the like from the CPU core 15 and sends it to the CPU 4.
[0027]
The flash ROM 17 records a program (firmware) for the CPU core 15 to realize a function such as communication using TCP / IP.
FIG. 4 is a diagram showing a memory map of the flash ROM 17. As shown in FIG. 4, the flash ROM 17 has a boot sector (boot program recording area), a main program recording area, and an update-only program recording area.
[0028]
The boot sector is an area for recording a boot program which is a program executed when the communication controller 7 is started.
The main program recording area is an area for recording a main program that is a program for the communication controller 7 to realize a predetermined function. The main program includes a code for rewriting a program recorded in the update-dedicated program recording area to the latest version of the program, as described later.
[0029]
At the end of the main program recording area, a version information recording area for recording version information of the main program is provided. The version information recorded in the version information recording area is stored in the server computer 2 (see FIG. 1). By comparing with the version information of the main program stored in (1), it is possible to determine whether or not the main program currently recorded in the main program recording area is the latest version of the main program.
[0030]
The update-dedicated program recording area is an area for recording an update-dedicated program that is a program for performing a process of rewriting a main program currently recorded in the main program recording area to a latest version of the main program. At the end of the update-dedicated program recording area, there is provided a signature recording area for recording a signature indicating that the update-dedicated program has been rewritten or the main program has been rewritten.
[0031]
The update-dedicated program is a program specialized for rewriting the main program currently recorded in the main program recording area to the latest version of the main program, and thus has a smaller program size than the main program.
[0032]
Next, a program rewriting operation in the system 1 will be described with reference to FIGS.
FIG. 5 is a flowchart showing operations of the server computer 2 and the CPU core 15.
When activated, the CPU core 15 executes the boot program, shifts the processing from the boot program to the main program, and executes the main program (step S101). As described later, under a predetermined condition, the CPU core 15 may shift the processing from the boot program to the update-dedicated program after executing the boot program, and execute the update-dedicated program.
[0033]
The CPU core 15 requests the server computer 2 for the latest version of the update-dedicated program by using a TFTP (Trial File Transfer Protocol) on UDP / IP. The server computer 2 transmits the latest version of the dedicated update program to the CPU core 15 by using the TFTP (step S201).
[0034]
The CPU core 15 records the latest version of the dedicated update program received from the server computer 2 in the dedicated update program recording area of the flash ROM 17 (step S102). At this time, a signature indicating that rewriting of the update-dedicated program has been completed is recorded in the signature recording area at the end of the update-dedicated program recording area. Since the signature recording area is provided at the end of the update-dedicated program recording area, the fact that the signature indicating that rewriting of the update-dedicated program has been completed is recorded in the signature recording area means that the update-dedicated program is rewritten. Is completed.
[0035]
Note that, for some reason (for example, network trouble), the transfer of the update-only program is interrupted halfway, and the update-only program is partially rewritten but not completed. Update-only programs are incomplete. However, even in such a case, the main program in the main program recording area remains in its original state, and the main program in the main program recording area is not affected at all. Has no effect.
[0036]
When the update-dedicated program is completely rewritten, the CPU core 15 restarts and executes the boot program. Here, since the signature indicating that the rewriting of the update-only program has been completed is recorded in the signature recording area at the end of the update-only program recording area, the CPU 15 shifts the processing from the boot program to the update-only program, An update-only program is executed (step S103).
Next, the CPU core 15 requests the server computer 2 for the latest version of the main program. The server computer 2 transmits the latest version of the main program to the CPU core 15 (Step S202).
[0037]
The CPU core 15 records the latest version of the main program received from the server computer 2 in the main program recording area of the flash ROM 17 (Step S104).
If the transfer of the main program is interrupted due to a network trouble or the like, and the rewriting of the main program is performed halfway but not completed, the main program in the main program recording area becomes incomplete. . However, even in such a case, the update-dedicated program in the update-dedicated program recording area is complete. Therefore, after restarting, the CPU core 15 can execute the update-only program in the update-only program recording area again, and can try to rewrite the main program again.
[0038]
When the rewriting of the main program is completed, the CPU core 15 records a signature indicating that the rewriting of the main program is completed in the signature recording area at the end of the update-specific program recording area (step S105). This allows the CPU core 15 to execute the boot program at the next restart, shift the processing from the boot program to the latest version of the main program, and execute the latest version of the main program.
[0039]
As described above, according to the present embodiment, even if the transfer of the update-dedicated program is interrupted halfway and the update-dedicated program is partially rewritten but not completed, Since the main program has no effect, the update-only program can be rewritten. In addition, even if the transfer of the main program is interrupted halfway and the rewriting of the main program is performed halfway but not completed, the update-only program in the update-only program recording area is complete. Therefore, rewriting of the main program can be attempted again. Accordingly, the program recorded in the flash ROM 17 can be safely rewritten.
[0040]
In the present embodiment, TFTP on UDP / IP is used to transfer a program from the server computer 2 to the CPU core 15. General-purpose protocols such as TCP / IP and UDP / IP have a hierarchical structure, and there are detailed rules (for example, rules for retransmission) in the protocols, so general-purpose protocols such as TCP / IP and UDP / IP The code for implementing the protocol is complex and the code size is large. For this reason, the program size of the update-dedicated program increases, and it may be necessary to prepare another flash ROM, or the size of the main program recording area may be compressed and reduced.
Therefore, the IEEE 802.3 packet may be used as it is without using the TFTP (use of a raw packet). If the packet is used as it is, the program size of the update-dedicated program can be reduced, eliminating the need to prepare another flash ROM and preventing the main program recording area from being compressed and reduced in size. be able to.
[0041]
Further, if TFTP on UDP / IP is used to transfer the program from the server computer 2 to the CPU core 15, TFTP packets from TFTP clients other than the information processing device 3 are used because TFTP is a general-purpose protocol. It is conceivable that the server computer 2 malfunctions due to this and rewrites the program (firmware) of the TFTP client other than the information processing device 3. If a dedicated protocol is implemented on top of TCP / IP, UDP / IP, etc. in order to prevent such a situation, the program size of the update-dedicated program or the main program increases. Therefore, the server computer 2 may use a non-TFTP standard packet as the TFTP packet broadcast on the network.
[0042]
FIG. 6 is a diagram illustrating an example of a TFTP packet that the server computer 2 broadcasts on a network. The TFTP packet shown in FIG. 6 represents a file read request (RRQ: Read Request) of a file name that cannot be normally called “ABCDEFGHIJKLMNOPQ”, and the mode “XYZ” does not exist in TFTP. Therefore, the TFTP client other than the information processing device 3 transmits the error code 1 (indicating that a file having such a file name cannot be found) or the error code 4 (indicating that the mode is invalid) to the server computer 2. Return to. On the other hand, the information processing device 3 returns a TFTP packet as shown in FIG.
[0043]
The TFTP packet shown in FIG. 7 means “undefined error, see error message for details of error”. Since this is different from the TFTP packet returned by the TFTP client other than the information processing device 3 to the server computer 2, the server computer 2 can identify the information processing device 3 to be rewritten from the other TFTP clients. it can.
Thereby, it is possible to prevent the program (firmware) of the TFTP client other than the information processing device 3 from being rewritten.
[0044]
The character string representing the version information of the main program may be included in the file name of the TFTP packet in FIG. 6 and the error message of the TFTP packet in FIG.
[0045]
In this embodiment, as shown in FIG. 4, a version information storage area is provided at the end of the main program storage area of the flash ROM 17. Therefore, during the rewriting process of the main program by executing the update-dedicated program (see steps S202 and S104 in FIG. 5), the old version information before being rewritten is stored in the version information storage area, and the CPU core 15 Returns old version information in response to an inquiry from the server computer 2. Therefore, during the rewriting process of the main program by the execution of the update-dedicated program (before the rewriting process of the main program is completed), the main program in the main program storage area is to be rewritten.
[0046]
After the rewriting process of the main program by the execution of the update-dedicated program is completed, the latest version information after the rewriting is stored in the version information storage area, and the CPU core 15 receives the inquiry from the server computer 2. The latest version information is returned. Therefore, after the rewriting process of the main program by the execution of the update-dedicated program is completed, the main program in the main program storage area is not to be rewritten.
[0047]
As described above, according to the present embodiment, the main program in the main program storage area is to be rewritten (an old version of the main program) or not to be rewritten (to be the latest version of the main program). ) Can be easily managed.
[0048]
If the main program in the main program storage area of the flash ROM 17 is rewritten (erased and written) in block units of a predetermined size, if the rewriting is interrupted in the middle of the main program due to a communication error or the like, Rewriting of a block that has already been rewritten (erased and written) can be made unnecessary, and the time required for rewriting when rewriting the main program is retried can be shortened. And writing) can be prevented from being shortened.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a system for realizing a program rewriting method.
FIG. 2 is a diagram showing an internal configuration of the information processing apparatus of FIG. 1;
FIG. 3 is a diagram showing an internal configuration of the communication controller of FIG. 2;
FIG. 4 is a view showing a memory map of the flash ROM of FIG. 3;
FIG. 5 is a flowchart showing the operation of the system of FIG. 1;
FIG. 6 is a diagram showing an example of a format of a transmitted / received packet.
FIG. 7 is a diagram showing an example of a format of a transmitted / received packet.
[Explanation of symbols]
1 system, 2 server computer, 3 information processing device, 4 CPU, 5 RAM, 6 ROM, 7 communication controller, 8 network interface, 11 network interface unit, 13 bus interface unit, 15 CPU core, 17 flash ROM

Claims (9)

ネットワークを介してサーバに接続された装置の記録媒体に記録されたプログラムの書換処理のための第1のプログラム及び前記装置において所定の機能を実現するための第2のプログラムを書き換える方法であって、
前記装置において、前記第2のプログラムを実行することにより、前記サーバとの通信を行うステップ(a)と、
前記サーバにおいて、新たな第1のプログラムを前記装置に送信するステップ(b)と、
前記装置において、前記新たな第1のプログラムを前記記録媒体の第1の領域に記録するステップ(c)と、
前記装置において、前記記録媒体の第1の領域に記録された前記新たな第1のプログラムを実行することにより、前記サーバとの通信を行うステップ(d)と、
前記サーバにおいて、新たな第2のプログラムを前記装置に送信するステップ(e)と、
前記装置において、前記新たな第2のプログラムを前記記録媒体の第2の領域に記録するステップ(f)と、
を具備する方法。
A method for rewriting a first program for rewriting a program recorded on a recording medium of a device connected to a server via a network and a second program for realizing a predetermined function in the device. ,
(A) performing communication with the server by executing the second program in the device;
(B) transmitting, in the server, a new first program to the device;
(C) recording the new first program in a first area of the recording medium in the device;
(D) performing communication with the server by executing the new first program recorded in a first area of the recording medium in the device;
(E) transmitting, in the server, a new second program to the device;
(F) recording the new second program in a second area of the recording medium in the device;
A method comprising:
前記新たな第1のプログラムが、前記新たな第1のプログラムの前記記録媒体の第1の領域への記録が完了したことを表す第1の情報を末尾部に有しており、
前記装置において、ステップ(f)の後に、前記第1の情報を、前記新たな第2のプログラムの前記記録媒体の第2の領域への記録が完了したことを表す第2の情報に書き換えるステップ(g)を更に具備することを特徴とする請求項1記載の方法。
The new first program has, at the end thereof, first information indicating that recording of the new first program in the first area of the recording medium has been completed;
In the apparatus, after the step (f), rewriting the first information to second information indicating that recording of the new second program in the second area of the recording medium has been completed. The method of claim 1, further comprising: (g).
前記記録媒体の第3の領域に前記装置のブート処理のための第3のプログラムが記録されており、
ステップ(a)が、前記装置において、前記記録媒体の第3の領域に記録された前記第3のプログラムを実行し、前記記録媒体の第2の領域に前記第2の情報が記録されている場合に、前記記録媒体の第2の領域に記録されている第2のプログラムに制御を移すことにより、前記サーバとの通信を行い、
ステップ(d)が、前記装置において、再起動後、前記記録媒体の第3の領域に記録された前記第3のプログラムを実行し、前記記録媒体の第2の領域に前記第1の情報が記録されている場合に、前記記録媒体の第1の領域に記録されている第1のプログラムに制御を移すことにより、前記サーバとの通信を行うことを特徴とする請求項2記載の方法。
A third program for boot processing of the device is recorded in a third area of the recording medium,
In the step (a), the apparatus executes the third program recorded in a third area of the recording medium, and the second information is recorded in a second area of the recording medium. In this case, by transferring control to a second program recorded in a second area of the recording medium, communication with the server is performed,
Step (d), in the device, after the restart, executes the third program recorded in the third area of the recording medium, and stores the first information in the second area of the recording medium. 3. The method according to claim 2, wherein, if recorded, communication with the server is performed by transferring control to a first program recorded in a first area of the recording medium.
前記装置と前記サーバが、TFTP(Trivial File Transfer Protocol)においてエラーとして扱われるべきパケットで通信を行うことを特徴とする請求項1〜3のいずれか1項に記載の方法。The method according to any one of claims 1 to 3, wherein the device and the server communicate with each other using a packet to be treated as an error in a TFTP (Trial File Transfer Protocol). 前記パケットが、前記第2のプログラムのバージョンに関する情報を含むことを特徴とする請求項4記載の方法。The method of claim 4, wherein the packet includes information about a version of the second program. 前記第2のプログラムが、バージョンに関する情報を末尾部に有することを特徴とする請求項1〜5のいずれか1項に記載の方法。The method according to claim 1, wherein the second program has information about a version at a tail portion. ステップ(b)が、前記サーバにおいて、IEEE802.3のパケットを用いて、新たな第1のプログラムを前記装置に送信し、ステップ(e)が、前記サーバにおいて、IEEE802.3のパケットを用いて、新たな第2のプログラムを前記装置に送信することを特徴とする請求項1〜3のいずれか1項に記載の方法。Step (b) transmits a new first program to the device using the IEEE802.3 packet in the server, and step (e) uses the IEEE802.3 packet in the server. 4. The method according to claim 1, further comprising transmitting a new second program to the device. ステップ(b)が、前記サーバにおいて、新たな第1のプログラムを所定のサイズのブロック単位で前記装置に送信し、
ステップ(c)が、前記装置において、前記新たな第1のプログラムを所定のサイズのブロック単位で前記記録媒体の第1の領域に記録し、
ステップ(e)が、前記サーバにおいて、新たな第2のプログラムを所定のサイズのブロック単位で前記装置に送信し、
ステップ(f)が、前記装置において、前記新たな第2のプログラムを所定のサイズのブロック単位で前記記録媒体の第2の領域に記録することを特徴とする請求項1〜7のいずれか1項に記載の方法。
Step (b), in the server, transmitting a new first program to the device in block units of a predetermined size;
Step (c), in the device, recording the new first program in a first area of the recording medium in block units of a predetermined size;
Step (e), in the server, transmitting a new second program to the device in block units of a predetermined size;
8. The apparatus according to claim 1, wherein in the step (f), the new second program is recorded in a second area of the recording medium in units of blocks of a predetermined size. The method described in the section.
ネットワークを介してサーバに接続された装置に用いられる半導体装置であって、
プログラムの書換処理のための第1のプログラムを記録する第1の領域及び所定の機能を実現するための第2のプログラムを記録する第2の領域を有するメモリと、
前記メモリの第2の領域に記録された前記第2のプログラムを実行することにより前記サーバとの通信を行い、新たな第1のプログラムを前記サーバから受信し、前記新たな第1のプログラムを前記メモリの第1の領域に記録し、前記メモリの第1の領域に記録された前記新たな第1のプログラムを実行することにより前記サーバとの通信を行い、新たな第2のプログラムを前記サーバから受信し、前記新たな第2のプログラムを前記メモリの第2の領域に記録する処理部と、
を具備する半導体装置。
A semiconductor device used for a device connected to a server via a network,
A memory having a first area for recording a first program for rewriting a program and a second area for recording a second program for realizing a predetermined function;
The communication with the server is performed by executing the second program recorded in the second area of the memory, a new first program is received from the server, and the new first program is executed. The communication with the server is performed by recording the new first program recorded in the first area of the memory and executing the new first program recorded in the first area of the memory. A processing unit that receives from the server and records the new second program in a second area of the memory;
A semiconductor device comprising:
JP2003035102A 2003-02-13 2003-02-13 Program rewriting method and semiconductor device Withdrawn JP2004246576A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2003035102A JP2004246576A (en) 2003-02-13 2003-02-13 Program rewriting method and semiconductor device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003035102A JP2004246576A (en) 2003-02-13 2003-02-13 Program rewriting method and semiconductor device

Publications (1)

Publication Number Publication Date
JP2004246576A true JP2004246576A (en) 2004-09-02

Family

ID=33020616

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003035102A Withdrawn JP2004246576A (en) 2003-02-13 2003-02-13 Program rewriting method and semiconductor device

Country Status (1)

Country Link
JP (1) JP2004246576A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006189973A (en) * 2004-12-28 2006-07-20 Sony Corp Electronic apparatus and program update method for the same
JP2006202200A (en) * 2005-01-24 2006-08-03 Nec Corp Portable terminal, multiprocessor system and program thereof
JP2009169496A (en) * 2008-01-11 2009-07-30 Panasonic Electric Works Co Ltd Control terminal unit

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006189973A (en) * 2004-12-28 2006-07-20 Sony Corp Electronic apparatus and program update method for the same
JP2006202200A (en) * 2005-01-24 2006-08-03 Nec Corp Portable terminal, multiprocessor system and program thereof
JP2009169496A (en) * 2008-01-11 2009-07-30 Panasonic Electric Works Co Ltd Control terminal unit

Similar Documents

Publication Publication Date Title
WO2017149825A1 (en) Program update system, program update method, and computer program
JP2001195241A (en) Computer
JP2007094766A (en) Controller, upgrade method and program
US7222342B2 (en) Execution on a machine, the start of an auxiliary downloader when storage of new software memory fails during execution of a first downloader
JP6074064B2 (en) Electronics
JP2001331327A (en) Electronic equipment
JP2018160207A (en) On-vehicle controller and program update software
JP4013040B2 (en) Download apparatus and download method
JP2004246576A (en) Program rewriting method and semiconductor device
CN116382753A (en) High-reliability remote upgrading method for equipment firmware based on network
JP2002189609A (en) System and method for updating software adapted to accident
JP6565389B2 (en) Printer firmware rewriting method and printer
JPH10187454A (en) Bios reloading system
JP2006172098A (en) Packet communication device, rebooting method in packet communication device, and program
JP2004054421A (en) Memory, information processor, storage method and information processing method
JP7491765B2 (en) Firmware update system and firmware update method
JP2000040003A (en) Firmware updation system
WO2021166603A1 (en) Information processing device, program update system, and program update method
JP2004355389A (en) Remote update system
JP2010117970A (en) Disk controller and firmware update method
JP5016604B2 (en) Information processing apparatus and information processing method
JP2003122575A (en) Information processing unit
JPH09160783A (en) Program download method
JP2005242930A (en) Information processor, program updating method, program updating program, and computer-readable storage medium recording program updating program
JP2004110220A (en) Method for updating program

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060509