(57)【要約】【課題】フラッシュメモリをプリント板に実装後にもブートプログラムの変更を可能とする。【解決手段】マイクロコンピュータ１に、外部フラッシュメモリ２とＲＡＭ３を設けたシステムにおいて、フラッシュメモリのファームウェアプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておき、システムのリセット時の設定で二次ブートプログラムを動作させ、外部記憶装置４または伝送インタフェース５を介してブートプログラムをＲＡＭに転送し、フラッシュメモリのブートプログラムを消去した後で、ＲＡＭ上のブートプログラムをフラッシュメモリに書き込む。ＪＴＡＧを使用できる場合、インサーキットエミュレータからＲＡＭにブートプログラム及びファームウェアプログラムを転送することで変更を行う。【選択図】　図１
2004078483.tif 000002
【特許請求の範囲】
【請求項１】
マイクロコンピュータに、外部フラッシュメモリとＲＡＭを設けたマイクロコンピュータシステムにおけるファームウェアプログラムの変更方法であって、
前記フラッシュメモリのファームウェアプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておく手段と、
システムのリセット時の設定で前記二次ブートプログラムが動作するようにしておく手段と、
前記二次ブートプログラムは、外部記憶装置または伝送インタフェースを介して前記ブートプログラムを前記ＲＡＭに転送し、前記フラッシュメモリのブートプログラムを消去した後で、前記ＲＡＭ上のブートプログラムを前記フラッシュメモリに書き込む手段と、
を有することを特徴とするファームウェアプログラムの変更方法。
【請求項２】
ＪＴＡＧが使用できるマイクロコンピュータに、外部フラッシュメモリとＲＡＭを有するマイクロコンピュータシステムにおけるファームウェアプログラムの変更方法であって、
前記ＪＴＡＧによりインサーキットエミュレータをマイクロコンピュータに接続する手段と、
前記インサーキットエミュレータから前記ＲＡＭにブートプログラム及びファームウェアプログラムを転送する手段と、
前記ファームウェアプログラムの中に、フラッシュメモリコピープログラムを用意しておく手段と、
前記インサーキットエミュレータから前記ＲＡＭ上のファームウェアプログラム中のフラッシュメモリコピープログラムを起動する手段と、
前記フラッシュメモリコピープログラムは、前記フラッシュメモリ全体を消去し、前記ＲＡＭ上のブートプログラム及びファームウェアプログラムを前記フラッシュメモリにコピーする手段と、
を有することを特徴とするファームウェアプログラムの変更方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、フラッシュメモリを使用したマイクロコンピュータシステムにおけるファームウェアプログラムの変更方法に関する。
【０００２】
【従来の技術】
現在、マイクロコンピュータシステムでのファームウェア（以下、Ｆ／Ｗと記述）プログラムの格納方法としては以下のものがある。
【０００３】
（１）ＥＰＲＯＭを使用する方法
Ｆ／Ｗプログラムを紫外線で消去可能なＥＰＲＯＭに書き込んでおいて、マイクロコンピュータシステムのプリント板にあるＲＯＭソケットにＥＰＲＯＭを実装して、Ｆ／ＷプログラムをＥＰＲＯＭ上で動作させる。
【０００４】
この方法でＦ／Ｗプログラムを変更するためには、プリント板上のＥＰＲＯＭを取り外して、ＥＰＲＯＭの内容をＲＯＭライタを使って書き換え、そのＥＰＲＯＭをプリント板に実装する。この方法はこれまで最も良く使われてきた。
【０００５】
（２）フラッシュメモリを使用する方法（その１）
ＥＰＲＯＭに替わって、最近はフラッシュメモリが使われている。このフラッシュメモリは表面実装部品となっているものが多く、ＥＰＲＯＭと同様に、プリント板に実装したり取り外したりを繰り返すようなことはできない。通常はフラッシュメモリ製造時に予め決まったＦ／Ｗプログラムを書き込んでしまい、それをプリント板に実装したままにする。従って、一度、書き込んだＦ／Ｗプログラムを変更する場合は特殊な操作を必要とする。
【０００６】
（３）ＲＡＭを使用する方法
ＥＰＲＯＭまたはフラッシュメモリにブートプログラム（起動プログラム）を予め書き込んでおく。ＥＰＲＯＭまたはフラッシュメモリは通常、プリント板に実装したままにする。このブートプログラムは、Ｆ／Ｗプログラムを外部記録装置から伝送路を介してＲＡＭに転送する機能を持っている。電源投入時、ブートプログラムが動作して、外部記憶装置から伝送インタフェース（シリアル伝送、ＬＡＮ伝送）を通してＦ／Ｗプログラムを受け取り、それをＲＡＭ上に転送し、転送が正常に終了した時点でＲＡＭ上のＦ／Ｗプログラムを起動する。
【０００７】
この方法はブートプログラムのみをＥＰＲＯＭやフラッシュメモリに予め格納していれば、Ｆ／Ｗプログラムの変更はいたって自由に行える。
【０００８】
（４）フラッシュメモリを使用する方法（その２）
フラッシュメモリ内蔵のワンチップマイクロコンピュータで採用されている方法である。ワンチップマイクロコンピュータの内部にはフラッシュメモリとＲＡＭとシリアル伝送インタフェースが内蔵されている。また、ブートプログラムもＲＯＭとして内蔵されている。ワンチップマイクロコンピュータのリセット時に、フラッシュメモリ書き込みモード設定を行うと、ブートプログラムが動作して、ワンチップマイクロコンピュータに内蔵されているシリアルインタフェースを介してＦ／Ｗプログラムを受信し、内蔵しているＲＡＭに書き込む。一定量のＦ／Ｗプログラムを受信した時点で内蔵フラッシュメモリをブロック消去して、ＲＡＭに受信したＦ／Ｗプログラムをフラッシュメモリに書き込む。これをＦ／Ｗプログラムの全サイズについて、順次フラッシュメモリのブロック数分実行してＦ／Ｗプログラムをフラッシュメモリに書き込む。ワンチップマイクロコンピュータのフラッシュメモリ書き込みモード設定を解除してリセットをかけると、内蔵したフラッシュメモリのＦ／Ｗプログラムが動作する。
【０００９】
【発明が解決しようとする課題】
（１）ＥＰＲＯＭを使用する方法
現在でも、この方法は広く使われている。しかし、プリント板の実装密度が向上していて、部品面積の大きいＥＰＲＯＭの使用が困難になってきている。
【００１０】
（２）フラッシュメモリを使用する方法（その１）
フラッシュメモリがプリント板に実装したままになっているため、一度、書き込んだＦ／Ｗプログラムを変更する場合は特殊な操作を必要とする。フラッシュメモリを変更するためのブートプログラムをフラッシュメモリの一部に書き込んでおいて、そのブートプログラムを使って、フラッシュメモリのその他の部分を書き換えるような方法がある。しかし、ブートプログラム自体を変更することはできない。
【００１１】
（３）ＲＡＭを使用する方法
この方法でも、プリント板に実装したままのＥＰＲＯＭやフラッシュメモリにあるブートプログラムを変更することはできない。
【００１２】
（４）フラッシュメモリを使用する方法（その２）
フラッシュメモリ内蔵のワンチップマイクロコンピュータでは内蔵しているフラッシュメモリの容量に制限がある。その制限を越えたＦ／Ｗプログラムを使いたい場合はワンチップマイクロコンピュータの外部にフラッシュメモリを別途用意する必要がある。この場合は内蔵フラシュメモリ内に、外部フラッシュメモリ書き換えプログラムを用意しておけば良いことになる。但し、ワンチップマイクロコンピュータ以外のマイクロコンピュータではこのようなことはできない。
【００１３】
本発明の目的は、上記の課題を解決したファームウェアプログラムの変更方法を提供することにある。
【００１４】
【課題を解決するための手段】
本発明は、前記の課題を解決するため、フラッシュメモリのファームウェアプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておき、これをシステムのリセット時に動作させ、ブートプログラムをＲＡＭに転送し、フラッシュメモリのブートプログラムを消去した後で、ＲＡＭ上のブートプログラムをフラッシュメモリに書き込む方法、または、ＪＴＡＧによりインサーキットエミュレータをマイクロコンピュータに接続し、インサーキットエミュレータからＲＡＭにブートプログラム及びファームウェアプログラムを転送し、ファームウェアプログラムの中に、フラッシュメモリコピープログラムを用意しておき、インサーキットエミュレータからＲＡＭ上のファームウェアプログラム中のフラッシュメモリコピープログラムを起動し、フラッシュメモリコピープログラムは、フラッシュメモリ全体を消去し、ＲＡＭ上のブートプログラム及びファームウェアプログラムをフラッシュメモリにコピーする方法とするもので、以下の方法を特徴とする。
【００１５】
（１）マイクロコンピュータに、外部フラッシュメモリとＲＡＭを設けたマイクロコンピュータシステムにおけるファームウェアプログラムの変更方法であって、
前記フラッシュメモリのファームウェアプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておく手段と、
システムのリセット時の設定で前記二次ブートプログラムが動作するようにしておく手段と、
前記二次ブートプログラムは、外部記憶装置または伝送インタフェースを介して前記ブートプログラムを前記ＲＡＭに転送し、前記フラッシュメモリのブートプログラムを消去した後で、前記ＲＡＭ上のブートプログラムを前記フラッシュメモリに書き込む手段と、
を有することを特徴とする。
【００１６】
（２）ＪＴＡＧが使用できるマイクロコンピュータに、外部フラッシュメモリとＲＡＭを有するマイクロコンピュータシステムにおけるファームウェアプログラムの変更方法であって、
前記ＪＴＡＧによりインサーキットエミュレータをマイクロコンピュータに接続する手段と、
前記インサーキットエミュレータから前記ＲＡＭにブートプログラム及びファームウェアプログラムを転送する手段と、
前記ファームウェアプログラムの中に、フラッシュメモリコピープログラムを用意しておく手段と、
前記インサーキットエミュレータから前記ＲＡＭ上のファームウェアプログラム中のフラッシュメモリコピープログラムを起動する手段と、
前記フラッシュメモリコピープログラムは、前記フラッシュメモリ全体を消去し、前記ＲＡＭ上のブートプログラム及びファームウェアプログラムを前記フラッシュメモリにコピーする手段と、
を有することを特徴とする。
【００１７】
【発明の実施の形態】
（実施形態１）
図１は、本発明の実施形態を示すマイクロコンピュータシステムの構成図であり、マイクロコンピュータ１の外部にフラッシュメモリ２とＲＡＭ３が実装されるシステムの場合である。
【００１８】
この構成において、リセット時にフラッシュメモリ２にあるブートプログラムで、プリント板に実装される外部記憶装置４または伝送インタフェース５を介した外部記憶装置６からＦ／ＷプログラムをＲＡＭ３に書き込んでＦ／Ｗプログラムを実行させる。なお、外部記憶装置としては、フラッシュメモリ２のブートプログラム以外の領域にＦ／Ｗプログラムを書き込んでおくことができる。
【００１９】
上記のＦ／Ｗプログラムの取り込みには、フラッシュメモリ２の製造時、ブートプログラムを予め書き込んでおいて、それをプリント板に実装する。その後、マイクロコンピュータシステムにある外部記憶装置４または伝送インタフェース５を介してＦ／ＷプログラムをＲＡＭ３に転送し、ＲＡＭ３上のＦ／Ｗプログラムをフラッシュメモリ２のＦ／Ｗプログラム領域に転送する。これで、フラッシュメモリ２にはＦ／Ｗプログラムが転送できる。
【００２０】
問題はブートプログラムを変更する場合である。ブートプログラムを変更する場合は以下の手順で実現される。
【００２１】
（１）フラッシュメモリ２のＦ／Ｗプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておく。
【００２２】
（２）マイクロコンピュータシステムのリセット時の設定で二次ブートプログラムが動作するようにしておく。
【００２３】
（３）二次ブートプログラムは、外部記憶装置４または伝送インタフェースを介してブートプログラムをＲＡＭ３に転送する。
【００２４】
（４）二次ブートプログラムは、フラッシュメモリ２のブートプログラムを消去した後で、ＲＡＭ３上のブートプログラムをフラッシュメモリ２に書き込む。
【００２５】
したがって、本実施形態では、通常では不可能なフラッシュメモリをプリント板に実装後にもブートプログラムの変更が可能になる。また、特殊な装置が不要である。また、ＪＴＡＧがないマイクロコンピュータシステムでも適用が可能である。
【００２６】
（実施形態２）
図２は、本発明の実施形態を示すマイクロコンピュータシステムの構成図であり、ＪＴＡＧが使用できるマイクロコンピュータで、外部フラッシュメモリ２とＲＡＭ３があるシステムで、リセット時にＩＣＥ（インサーキットエミュレータ）７からブートプログラムとＦ／ＷプログラムをＲＡＭ３に書き込んでブートプログラムとＦ／Ｗプログラムをフラッシュメモリ２に書き込む。
【００２７】
この方法は以下の手順で実現される。
【００２８】
（１）ＩＣＥ７をＪＴＡＧ８により、マイクロコンピュータシステムに接続する。
【００２９】
（２）ＩＣＥ７からマイクロコンピュータシステムのＲＡＭ３にブートプログラム及びＦ／Ｗプログラムを転送する。
【００３０】
（３）Ｆ／Ｗプログラムの中に、フラッシュメモリコピープログラムを用意しておく。
【００３１】
（４）ＩＣＥ７からＲＡＭ３上のＦ／Ｗプログラム中のフラッシュメモリコピープログラムを起動する。
【００３２】
（５）フラッシュメモリコピープログラムはフラッシュメモリ２の全体を消去する。
【００３３】
（６）フラッシュメモリコピープログラムはＲＡＭ３上のブートプログラム及びＦ／Ｗプログラムをフラッシュメモリ２にコピーする。
【００３４】
したがって、本実施形態では、伝送インタフェースでＦ／Ｗプログラムを転送する実施形態１に比べて、フラッシュメモリの書き換えが高速に実施できる。特に、ブートプログラムを用意しなくても良い。
【００３５】
【発明の効果】
以上のとおり、本発明によれば、フラッシュメモリのファームウェアプログラム内にブートプログラムを変更するための二次ブートプログラムを作成しておき、これをシステムのリセット時に動作させ、ブートプログラムをＲＡＭに転送し、フラッシュメモリのブートプログラムを消去した後で、ＲＡＭ上のブートプログラムをフラッシュメモリに書き込むようにしたため、通常では不可能なフラッシュメモリをプリント板に実装後にもブートプログラムの変更が可能になる。また、特殊な装置が不要である。また、ＪＴＡＧがないマイクロコンピュータシステムでも適用が可能である。
【００３６】
また、ＪＴＡＧによりインサーキットエミュレータをマイクロコンピュータに接続し、インサーキットエミュレータからＲＡＭにブートプログラム及びファームウェアプログラムを転送し、ファームウェアプログラムの中に、フラッシュメモリコピープログラムを用意しておき、インサーキットエミュレータからＲＡＭ上のファームウェアプログラム中のフラッシュメモリコピープログラムを起動し、フラッシュメモリコピープログラムは、フラッシュメモリ全体を消去し、ＲＡＭ上のブートプログラム及びファームウェアプログラムをフラッシュメモリにコピーするようにしたため、フラッシュメモリの書き換えが高速に実施でき、しかもブートプログラムを用意しなくても良い。
【図面の簡単な説明】
【図１】本発明の実施形態１を示すシステム構成図。
【図２】本発明の実施形態２を示すシステム構成図。
【符号の説明】
１…マイクロコンピュータ
２…フラッシュメモリ
３…ＲＡＭ
４、６…外部記憶装置
５…伝送インタフェース
７…インサーキットエミュレータ
【図１】
2004078483.tif 000003
【図２】
2004078483.tif 000004