(57)【要約】【課題】修正記憶部を有するプログラム更新システム及びその方法を提供する。【解決手段】コントローラは、第１の記憶部の第１の設定セクションを検査して、第２の記憶部に関連した第１の設定データが第１の設定セクションに記憶されるか否かを決定する。第１の設定データが第１の設定セクションに記憶される場合、コントローラは、第１の設定データを第２の記憶部へ書き込み、第１の設定データは第１の修正アドレス及び第１の修正アドレスに対応する第１の修正コードからなる。第２の記憶部は、第１の設定セクションから第１の設定データを記憶する。コントローラは、オリジナルプログラムを実行する場合、オリジナルプログラムの実行アドレスと修正アドレスを比較し、前記実行アドレスが修正アドレスと同様であるとき、修正コードにより実行アドレスに対応するエラーコードを置き換える。【選択図】図２
2010140469.tif 000002
【特許請求の範囲】
【請求項１】
複数の修正記憶装置を有するプログラム更新システムであって、
第１の設定セクションを有する第１の記憶部と、
前記第１の設定セクションから第１の設定データを記憶するために用いられる第２の記憶部と、
前記第１の記憶部に接続され、前記第１の記憶部の前記第１の設定セクションを検査することによって、前記第２の記憶部に関連した前記第１の設定データが前記第１の設定セクションに記憶されるか否かを決定し、前記第１の設定データが前記第１の設定セクションに記憶される場合、第１の修正アドレス及び前記第１の修正アドレスに対応する第１の修正コードからなる前記第１の設定データを読み取り、前記第１の設定データを前記第２の記憶部へ書き込むコントローラと、
オリジナルプログラムを記憶するために用いられる第４の記憶部とを含み、
前記コントローラは、前記オリジナルプログラムを実行する場合、前記オリジナルプログラムの実行アドレスと前記第１の修正アドレスを比較し、前記実行アドレスは前記第１の修正アドレスと同様であるとき、前記第１の修正コードにより前記実行アドレスに対応する第１のエラーコードを置き換えることを特徴とするプログラム更新システム。
【請求項２】
前記第１の記憶部はさらに、第２の設定セクションを含むことを特徴とする請求項１に記載のプログラム更新システム。
【請求項３】
前記コントローラはさらに、第３の記憶部を含むことを特徴とする請求項２に記載のプログラム更新システム。
【請求項４】
前記コントローラは、前記第１の記憶部の前記第２の設定セクションを検査して、前記第２の記憶部に関連した第２の設定データを前記第２の設定セクションに記憶するか否かを決定することを特徴とする請求項３に記載のプログラム更新システム。
【請求項５】
前記第２の設定データが前記第２の設定セクションに記憶される場合、前記コントローラは、前記第２の設定データを読み取り、前記第２の設定データを前記第３の記憶部へ書き込み、前記第２の設定データは、修正アドレス長さ、修正開始アドレス、及び前記修正開始アドレスから修正アドレス長さまで計算される第２の修正コードからなることを特徴とする請求項４に記載のプログラム更新システム。
【請求項６】
前記コントローラは、前記オリジナルプログラムの前記実行アドレスと前記修正開始アドレスを比較し、前記実行アドレスが前記修正開始アドレスと同様である場合、前記第２の修正コードにより前記実行アドレスに対応する第２のエラーコードを置き換えることを特徴とする請求項５に記載のプログラム更新システム。
【請求項７】
前記第３の記憶部において、前記修正アドレス長さにより表される記憶容量は、前記第２の記憶部の容量よりも大きく、且つ前記第４の記憶部の容量よりも小さいことを特徴とする請求項５に記載のプログラム更新システム。
【請求項８】
前記第３の記憶部は、スタティックランダムアクセスメモリであることを特徴とする請求項３に記載のプログラム更新システム。
【請求項９】
第１の記憶部に接続され、第２の記憶部、第３の記憶部、第４の記憶部及びコントローラを含むプログラム更新システムに用いられるプログラム更新方法であって、
（ａ）前記第１の記憶部に前記第２の記憶部に関連した第１の設定セクションを検知する工程と、
（ｂ）前記第１の記憶部の前記第１の設定セクションを検査して、前記第２の記憶部に関連した第１の設定データが前記第１の設定セクションに記憶されるか否かを決定する工程と、
（ｃ）前記第１の設定データが前記第１の設定セクションに記憶される場合、前記コントローラは、前記第１の設定データを読み取り、第１の修正アドレス及び前記第１の修正アドレスに対応する第１の修正コードからなる前記第１の設定データを前記第２の記憶部へ書き込む工程と、
（ｄ）前記コントローラは、前記第４の記憶部に記憶されるオリジナルプログラムを実行する工程と、
（ｅ）前記コントローラは、前記オリジナルプログラムの実行アドレスと前記修正アドレスを比較し、前記実行アドレスが前記修正アドレスと同様であるとき、前記第１の修正コードにより前記実行アドレスに対応するエラーコードを置き換える工程と、
を含むことを特徴とするプログラム更新方法。
【請求項１０】
（ｃ）工程後、さらに（ｃ１）前記第１の記憶部に前記第３の記憶部に関連した第２の設定セクションを検知する工程と、
（ｃ２）前記第１の記憶部の前記第２の設定セクションを検査して、前記第３の記憶部に関連した第２の設定データが前記第２の設定セクションに記憶されるか否かを決定する工程と、
（ｃ３）前記第２の設定データが前記第２の設定セクションに記憶される場合、前記コントローラは、前記第２の設定データを読み取り、前記第２の設定データを前記第３の記憶部へ書き込み、前記第２の設定データは、修正アドレス長さ、修正開始アドレス、及び前記修正開始アドレスから修正アドレス長さまで計算される第２の修正コードからなる工程と、
含むことを特徴とする請求項９に記載のプログラム更新方法。
【請求項１１】
（ｅ）工程後、さらに（ｆ）前記コントローラは、前記オリジナルプログラムの前記実行アドレスと前記修正開始アドレスを比較し、前記実行アドレスが前記修正開始アドレスと同様である場合、前記第２の修正コードにより前記実行アドレスに対応する第２のエラーコードを置き換える工程含むことを特徴とする請求項１０に記載のプログラム更新方法。
【請求項１２】
（ｆ）工程において、前記実行アドレスが前記修正開始アドレスと同様でない場合、前記コントローラは、前記実行アドレスに対応するプログラムコードを実行することを特徴とする請求項１１に記載のプログラム更新方法。
【請求項１３】
（ｃ３）工程において、前記第２の設定データが前記第２の設定セクションに記憶されない場合、（ｄ）工程を実行して前記コントローラは前記オリジナルプログラムを実行して続けることを特徴とする請求項１０に記載のプログラム更新方法。
【請求項１４】
（ｂ）工程において、前記第１の設定データが前記第１の設定セクションに記憶されない場合、（ｄ）工程を実行して前記コントローラは前記オリジナルプログラムを実行して続けることを特徴とする請求項９に記載のプログラム更新方法。
【請求項１５】
（ｅ）工程において、前記実行アドレスが前記修正アドレスと同様でない場合、前記コントローラは、前記実行アドレスに対応するプログラムコードを実行することを特徴とする請求項９に記載のプログラム更新方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、更新システム及びその方法に関し、特に複数の修正記憶部を有するプログラム更新システム及びその方法に関する。
【背景技術】
【０００２】
半導体工程技術の発達に伴い、集積回路（ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔ：ＩＣ）の幾何学サイズは小さくなってきているため、集積回路内に回路素子が設置される面積はさらに低減されるようになっている。特にオリジナルの操作プログラムを記憶する場合、この集積回路の記憶回路素子に小部分のエラー（ｅｒｒｏｒｓ）コードが存じても集積回路にエラーコードを除去する必要がある。従来の技術において、集積回路は、外部のフラッシュメモリに記憶される更新プログラムを利用してこのエラーコードをを有するオリジナルの操作プログラムが完全に書き込まれる。図１に示すように、従来の技術においてファームウェアプログラム更新システム１００を示すブロック図である。この更新システム１００は、マイクロコントローラ１０２、リードオンリーメモリ（ｒｅａｄ  ｏｎｌｙ  ｍｅｍｏｒｙ：ＲＯＭ）１０４、スタティックランダムアクセスメモリ（ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ：ＳＲＡＭ）１０６及び外部フラッシュメモリ（ｅｘｔｅｒｎａｌ  ｆｌａｓｈ  ｍｅｍｏｒｙ）１０８を含む。
【０００３】
プログラムの更新を実行する場合、ハードウェア回路（図示せず）は、フラッシュメモリ１０８に記憶される更新プログラムを更新システム１００へ送信し、マイクロコントローラ１０２によりリードオンリーメモリ（ＲＯＭ）１０４内のオリジナルの操作プログラムを置き換え、スタティックランダムアクセスメモリ（ＳＲＡＭ）１０６は、マイクロコントローラ１０２のメモリレジスタとしてこの元プログラムを実行する。上述したことから分かるように、マイクロコントローラ１０２は、このエラーコードだけに対するプログラムの更新を実行することができなく、完全な代替の方式により元プログラムの更新を実行する必要があり、そのため、この更新ステップは比較的に長い時間がかかった。なお、外部フラッシュメモリ１０８の容量はリードオンリーメモリ１０４の記憶容量と同じまたは大きくなる必要があるため、そのコストが高かった。従って、上述の問題を解決するための新しいファームウェアプログラム更新システムが望まれていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明の一つの目的は、更新システム内の修正記憶部を利用して実行されている元プログラムコードのエラーコードを修正し、修正記憶部は、例えば更新システム内のレジスタ及び／または更新システム内の一部の記憶セクションである複数の修正記憶部を有するプログラム更新システム及びその方法を提供することを課題とする。。
【０００５】
本発明のまた一つの目的は、更新システムの外部の小容量を有する記憶部を利用して修正プログラムコードを記憶し、修正プログラムコードを更新システム内の修正記憶部へ送信して実行されているオリジナルプログラムコードのエラーコードを修正する。前記小容量を有する記憶部は、オリジナルプログラムを記憶するメモリよりも小さい記憶体であり、更新システムのコストを節約することができる複数の修正記憶部を有するプログラム更新システム及びその方法を提供することを課題とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明によれば、複数の修正記憶装置を有するプログラム更新システムが提供される。前記プログラム更新システムは、第２の記憶部、第３の記憶部、第４の記憶部及びコントローラを含む。前記コントローラは、第１の記憶部及び駆動プログラムモジュールを前記第２の記憶部、前記第３の記憶部及び前記第４の記憶部に接続する。
【０００７】
前記第１の記憶部は、前記第１の設定セクションと前記第２の設定セクションを有する。前記コントローラは、前記第１の記憶部の前記第１の設定セクションを検査するために用いられて、前記第２の記憶部に関連した前記第１の設定データが前記第１の設定セクションに記憶されるか否かを決定する。前記第１の設定データが前記第１の設定セクションに記憶される場合、前記コントローラは、前記第１の設定データを読み取り、前記第１の設定データを前記第２の記憶部へ書き込み、前記第１の設定データは第１の修正アドレス及びその対応する第１の修正コードからなる。
【０００８】
前記第２の記憶部は、前記第１の設定セクションから前記第１の設定データを記憶するために用いられる。前記第３の記憶部は、前記第２の設定セクションから第２の設定データを記憶するために用いられる。前記第４の記憶部は、オリジナルプログラムを記憶するために用いられる。前記コントローラは、前記オリジナルプログラムを実行する場合、前記オリジナルプログラムの前記実行アドレスと前記修正アドレスを比較し、前記実行アドレスが前記修正アドレスと同様である場合、前記第１の修正コードにより前記実行アドレスに対応するエラーコードを置き換える。前記第３の記憶部において、前記修正アドレス長さにより表される記憶容量は、前記第２の記憶部よりも大きく、且つ前記第４の記憶部よりも小さい。前記第１の記憶部の容量は前記第４の記憶部よりも小さい。
【０００９】
また、本発明のプログラム更新方法は、以下の工程をに含む。
【００１０】
工程（ａ）において、前記第１の記憶部に前記第２の記憶部に関連した第１の設定セクションを検知する。
【００１１】
工程（ｂ）において、前記第１の記憶部の前記第１の設定セクションを検査して、前記第２の記憶部に関連した第１の設定データが前記第１の設定セクションに記憶されるか否かを決定する。
【００１２】
工程（ｃ）において、前記第１の設定データが前記第１の設定セクションに記憶される場合、前記コントローラは、前記第１の設定データを読み取り、前記第１の設定データを前記第２の記憶部へ書き込み、前記第１の設定データは第１の修正アドレス及びその対応する第１の修正コードからなる。
【００１３】
工程（ｄ）において、前記コントローラは、前記第４の記憶部に記憶されるオリジナルプログラムを実行する。
【００１４】
工程（ｅ）において、前記コントローラは、前記オリジナルプログラムの実行アドレスと前記修正アドレスを比較し、前記実行アドレスが前記修正アドレスと同様である場合、前記第１の修正コードにより前記実行アドレスに対応するエラーコードを置き換える。
【発明の効果】
【００１５】
本発明により、更新システムの修正記憶部を利用して実行されているオリジナルプログラムコードのエラーコードを修正する。且つ更新システムの外部の小容量を有する記憶部を利用して修正プログラムコードを記憶し、この修正プログラムコードを更新システム内の修正記憶部へ送信して実行されているオリジナルプログラムコードのエラーコードを修正する。この小容量を有する記憶部は、オリジナルプログラムを記憶するメモリよりも小さく、更新システムのコストを節約することができる。
【図面の簡単な説明】
【００１６】
【図１】従来の技術においてアプログラム更新システムを示すブロック図である。
【図２】本発明の実施形態によるプログラム更新システムを示すブロック図である。
【図３Ａ】本発明の実施形態による更新システムを実行する方法を示す流れ図である。
【図３Ｂ】本発明の実施形態による更新システムを実行する方法を示す流れ図である。
【発明を実施するための形態】
【００１７】
図２は、本発明の実施形態によるプログラム更新システム２００を示すブロック図である。プログラム更新システム２００は、第１の記憶部２０２及び駆動プログラムモジュール２１２に接続される。プログラム更新システム２００は、第２の記憶部２０４、第３の記憶部２０６、第４の記憶部２０８及びコントローラ２１０を含む。コントローラ２１０は、第１の記憶部２０２及び駆動プログラムモジュール２１２を第２の記憶部２０４、第３の記憶部２０６及び第４の記憶部２０８に接続する。このプログラム更新システム２００は、例えばファームウェア（ｆｉｒｍｗａｒｅ）プログラム更新システムである。
【００１８】
第１の記憶部２０２は、第１の設定セクションと第２の設定セクションを有する。コントローラ２１０は、第１の記憶部２０２の第１の設定セクションを検査するために用いられて、第２の記憶部２０４に関連した第１の設定データが第１の設定セクションに記憶されるか否かを決定する。第１の設定データが第１の設定セクションに記憶される場合、コントローラ２１０は、第１の設定データを読み取り、第１の設定データを第２の記憶部２０４へ書き込み、第１の設定データは第１の修正アドレス及びその対応する第１の修正コードからなる。
【００１９】
第２の記憶部２０４は、第１の設定セクションから第１の設定データを記憶するために用いられる。第３の記憶部２０６は、第２の設定セクションから第２の設定データを記憶するために用いられる。第４の記憶部２０８は、オリジナルプログラムを記憶するために用いられる。コントローラ２１０は、オリジナルプログラムを実行する場合、オリジナルプログラムの実行アドレスと修正アドレスを比較し、実行アドレスが修正アドレスと同様である場合、第１の修正コードにより実行アドレスに対応する第１のエラーコードを置き換える。
【００２０】
本発明の一実施形態において、第１の記憶部２０２は、例えばシリアルバス（ｓｅｒｉａｌ  ｂｕｓ）の電気的に内容を書き換えることができるＲＯＭ（ＥＥＰＲＯＭ）であり、例えば、素子コード２４Ｃ１６の１６Ｋビット（ｂｉｔｓ）ＥＥＰＲＯＭであり、大幅にＥＥＰＲＯＭの回路ピン（ｐｉｎｓ）を低減させ、有効に回路の占有面積を低減させることができる。第２の記憶部２０４は、例えばレジスタ（ｒｅｇｉｓｔｅｒ）である。第３の記憶部２０６は、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）  である。第４の記憶部２０８は、例えばリードオンリーメモリ（ＲＯＭ）  である。
【００２１】
なお、コントローラ２１０は、第１の記憶部２０２の第２の設定セクションを検査するために用いられて、第３の記憶部２０６に関連した第２の設定データが第２の設定セクションに記憶されるか否かを決定する。第２の設定データが前記第２の設定セクションに記憶される場合、コントローラ２１０は、第２の設定データを読み取り、第２の設定データを第３の記憶部へ書き込み、第２の設定データは、修正アドレス長さ、修正開始アドレス、及び修正開始アドレスに対応して修正アドレス長さにより計算される第２の修正コードからなる。コントローラ２１０は、オリジナルプログラムの実行アドレスと修正アドレスを比較して、実行アドレスが修正アドレスと同様である場合に、第２の修正コードにより実行アドレスに対応するエラーコードを置き換える。
【００２２】
第３の記憶部２０６において、修正アドレス長さにより表される記憶容量は、第２の記憶部２０４よりも大きく、且つ第４の記憶部２０８よりも小さい。第１の記憶部２０２の容量は第４の記憶部２０８よりも小さく、この好適な実施形態において、第１の記憶部２０２の容量は第４の記憶部２０８よりも遥かに小さく、大幅に第１の記憶部２０２を実行する集積回路のピン（ｐｉｎｓ）を低減させてプログラム更新システム２００の製造コストを下げ、有効に第１の記憶部２０２の回路の占有面積を低減させることができる。
【００２３】
本発明の一実施形態において、第１の設定セクションに第１の記憶部２０２のデータ形式では、例えば、第１のバイト（ｂｙｔｅ）が第２の記憶部２０４のレジスタの数を設定するために用いられ、一つのレジスタが３バイトに等しく、第２のバイトから第２５のバイトまでの第１の設定データが第２の記憶部２０４へ書き込み、８つのレジスタであって２４バイトに等しく、第２６のバイトと第２７のバイトは第３の記憶部２０６の第２の設定データの修正アドレス長であり、第１の記憶部２０２の第２８のバイトから最後のバイトまでは、３の記憶部２０６に書き込まれるプログラムコードである。
【００２４】
オリジナルプログラムは、アドレスＣ０２９にデータ０ｘ５５（エラーコード）を書き込み、オリジナルプログラムのメモリーに対応するアドレスは、００１６に位置して以下の表に示す。
【００２５】
【表１】
2010140469.tif 000003
【００２６】
正しいプログラムは、アドレスＣ０２９にデータ０ｘＡＡを書き込み、以下の数式で表される。
【００２７】
【表２】
2010140469.tif 000004
【００２８】
第１の記憶部２０２は、内容を以下に含む。
【００２９】
第１のバイトは、レジスタの設定組数が一組（０１）である。
【００３０】
第２のバイトから第３のバイトまでは、修正したい第４の記憶部２０８のアドレスが“００１６”である。
【００３１】
第４のバイトは、修正したプログラムコードが“ＡＡ”である。
【００３２】
コントローラ２１０が第４の記憶部２０８のオリジナルプログラムを実行している過程において、オリジナルプログラムのコードは、アドレス“００”から“１２”まで実行される。プログラムアドレス“００１２”、  “００１３”、“００１４”及び“００１５”はレジスタ１、２（００１６）と同じでなく、そのため、実行されるコードは“９０、Ｃ０、２９、７４”である。次に、アドレス“１６”にコードは実行される且つ第２の記憶部２０４のレジスタ１とレジスタ２（００１６）と同じである場合、コントローラ２１０は、レジスタ３（ＡＡ）によりオリジナルプログラム中のアドレス“１６”にコードを置き換え、そのため、コントローラはアドレスＣ０２９へデータ０ｘＡＡを書き込む。
【００３３】
オリジナルプログラムは、アドレスＣ０２９にデータ０ｘ５５（エラーコード）を書き込み、オリジナルプログラムのメモリーに対応するアドレスは、００１２に位置して以下の表に示す。
【００３４】
【表３】
2010140469.tif 000005
【００３５】
第１の記憶部２０２は、内容を以下に含む。
【００３６】
第２６、２７のバイトは、第３の記憶部２０６の修正アドレス長さである。
【００３７】
第２８のバイトの後は、第３の記憶部２０６に書き込まれるコードが“０２  Ｆ８  ００  ９０  Ｃ０  ２９  ７４  ＡＡ  Ｆ０  ０２  ００  １８”である。
【００３８】
修正したプログラムは、先ず第３の記憶部２０６の修正開始アドレスへ進み、次に、第３の記憶部２０６のプログラムコードを読み取り、続いて、アドレスＣ０２９へデータ０ｘＡＡを書き込む。
【００３９】
【表４】
2010140469.tif 000006
【００４０】
続いて、実行を終える後、第４の記憶部２０８のオリジナルプログラムコードの正しいアドレスに返す。
【００４１】
図２及び図３Ａ‐図３Ｂを参照する。図３Ａ‐図３Ｂは、本発明の実施形態による更新システム２００を実行する方法を示す流れ図である。この方法は、プログラム更新システム２００ために用いされる。プログラム更新システムは、第１の記憶部２０２に接続され、第２の記憶部２０４、第３の記憶部２０６、第４の記憶部２０８及びコントローラ２１０を含む。第３の記憶部２０６において修正アドレス長さにより表される記憶容量は、第２の記憶部２０４よりも大きく、且つ第４の記憶部２０８よりも小さい。第１の記憶部２０２の容量は第４の記憶部２０８よりも小さい。このプログラム更新方法は、以下の工程を含む。
【００４２】
工程Ｓ３００において、コントローラ２１０は、第１の記憶部２０２に第２の記憶部２０４に関連した第１の設定セクションを検知する。
【００４３】
工程Ｓ３０２において、コントローラ２１０は、第１の記憶部２０２の第１の設定セクションを検査して、第２の記憶部２０４に関連した第１の設定データが第１の設定セクションに記憶されるか否かを決定する。
【００４４】
工程Ｓ３０４において、第１の設定データが第１の設定セクションに記憶される場合、コントローラ２１０は、第１の設定データを読み取り、第１の設定データを第２の記憶部２０４へ書き込み、第１の設定データは第１の修正アドレス及びその対応する第１の修正コードからなる。第１の設定データが前記第１の設定セクションに記憶されない場合、コントローラ２１０は、工程Ｓ３１２へ進み、つまりオリジナルプログラムを実行する。
【００４５】
工程Ｓ３０６において、コントローラ２１０は、第１の記憶部２０２に第３の記憶部２０６に関連した第２の設定セクションを検知する。
【００４６】
工程Ｓ３０８において、コントローラ２１０は、第１の記憶部２０２の第２の設定セクションを検査して、第３の記憶部２０６に関連した第２の設定データが第２の設定セクションに記憶されるか否かを決定する。
【００４７】
工程Ｓ３１０において、第２の設定データが前記第２の設定セクションに記憶される場合、コントローラ２１０は、第２の設定データを読み取り、第２の設定データを第３の記憶部２０６へ書き込み、第２の設定データは、修正アドレス長さ、修正開始アドレス、及び修正開始アドレスに対応して修正アドレス長さにより計算される第２の修正コードからなる。第２の設定データが前記第２の設定セクションに記憶されない場合、コントローラ２１０は、工程Ｓ３１２へ進み、つまりオリジナルプログラムを実行する。
【００４８】
工程Ｓ３１２において、コントローラ２１０は、第４の記憶部２０８に記憶されるオリジナルプログラムを実行する。
【００４９】
工程Ｓ３１４において、コントローラ２１０は、オリジナルプログラムの実行アドレスと修正アドレスを比較し、実行アドレスが修正アドレスと同様である場合、第２の修正コードにより実行アドレスに対応するエラーコードを置き換え、工程Ｓ３１４ａに示すように、次に工程Ｓ３１２に返す。実行アドレスが修正アドレスと同様でない場合、工程Ｓ３１６を実行する。
【００５０】
工程Ｓ３１６において、コントローラ２１０は、オリジナルプログラムの実行アドレスと修正アドレスを比較し、実行アドレスが修正アドレスと同様である場合、第１の修正コードにより実行アドレスに対応するエラーコードを置き換え、工程Ｓ３１６ａに示すように、次に工程Ｓ３１２に返す。実行アドレスが修正アドレスと同様でない場合、コントローラ２１０は、実行アドレスに対応するプログラムコードを実行し、次に工程Ｓ３１２に返す。
【００５１】
上述したことから分かるように、本発明は、更新システムの修正記憶部を利用して実行されているオリジナルプログラムコードのエラーコードを修正する。修正記憶部は、例えば更新システム内の第２の記憶部及び／または更新システム内の一部の記憶セクション（即ち、第３の記憶部の記憶セクション）である。且つ更新システムの外部の小容量を有する第１の記憶部を利用して修正プログラムコードを記憶し、この修正プログラムコードを更新システム内の修正記憶部へ送信して実行されているオリジナルプログラムコードのエラーコードを修正する。この小容量を有する記憶部は、オリジナルプログラムを記憶するメモリよりも小さく、更新システムのコストを節約することができる。
【００５２】
当該分野の技術を熟知するものが理解できるように、本発明の好適な実施形態を前述の通り開示したが、これらは決して本発明を限定するものではない。本発明の主旨と範囲を脱しない範囲内で各種の変更や修正を加えることができる。従って、本発明の特許請求の範囲は、このような変更や修正を含めて広く解釈されるべきである。
【符号の説明】
【００５３】
１００  プログラム更新システム
１０２  マイクロコントローラ
１０４  リードオンリーメモリ
１０６  スタティックランダムアクセスメモリ
１０８  外部フラッシュメモリ
２００  プログラム更新システム
２０２  第１の記憶部
２０４  第２の記憶部
２０６  第３の記憶部
２０８  第４の記憶部
２１０  コントローラ
２１２  駆動プログラムモジュール
【図１】
2010140469.tif 000007
【図２】
2010140469.tif 000008
【図３Ａ】
2010140469.tif 000009
【図３Ｂ】
2010140469.tif 000010