(57)【要約】【課題】回路基板上のフラッシュメモリに書き込みプログラムが書き込まれていない場合にも、専用インターフェースを搭載することなく、フラッシュメモリのプログラムコードを書き換えることが可能な電子機器を得ること。【解決手段】切り替え部３の第１の切り替え点では、ＣＰＵ２から出力されたアドレスにて０番地が指定された場合、アドレスデコーダ４にフラッシュメモリ５を選択させ、第２の切り替え点では、ＣＰＵ２から出力されたアドレスにて０番地が指定された場合、アドレスデコーダ４にコネクタ６を選択させ、第３の切り替え点では、ＣＰＵ２から出力されたアドレスにて０番地が指定された場合、アドレスデコーダ４にコネクタ６を選択させ、ＣＰＵ２から出力されたアドレスにて１０００番地が指定された場合、アドレスデコーダ４にフラッシュメモリ５を選択させる。【選択図】        図１
2010176182.tif 000002
【特許請求の範囲】
【請求項１】
プログラムコードに従って演算処理を行うＣＰＵと、
前記ＣＰＵにて実行されるプログラムコードを格納する不揮発性メモリと、
前記ＣＰＵおよび前記不揮発性メモリに接続されたデータバスおよびアドレスバスをＲＯＭエミュレータに接続可能なコネクタと、
前記ＣＰＵから出力されたアドレスの上位ビットに基づいて、前記不揮発性メモリおよび前記コネクタのいずれか一方を前記データバスおよび前記アドレスバス上の信号の出力先として選択するアドレスデコーダと、
前記アドレスデコーダにて選択される出力先を切り替える切り替え部とを備えることを特徴とする電子機器。
【請求項２】
前記ＣＰＵ、前記不揮発性メモリ、前記コネクタ、前記アドレスデコーダおよび前記切り替え部は、同一の回路基板上に搭載されていることを特徴とする請求項１に記載の電子機器。
【請求項３】
前記切り替え部は、
前記ＣＰＵから出力されたアドレスにて第１の番地が指定された場合、前記アドレスデコーダに前記不揮発性メモリを選択させる第１の切り替え点と、
前記ＣＰＵから出力されたアドレスにて前記第１の番地が指定された場合、前記アドレスデコーダに前記コネクタを選択させる第２の切り替え点と、
前記ＣＰＵから出力されたアドレスにて前記第１の番地が指定された場合、前記アドレスデコーダに前記コネクタを選択させ、前記ＣＰＵから出力されたアドレスにて第２の番地が指定された場合、前記アドレスデコーダに前記不揮発性メモリを選択させる第３の切り替え点とを備えることを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記切り替え部にて前記第１の切り替え点に切り替えられた場合、前記ＣＰＵは前記不揮発性メモリにアクセスすることにより、前記不揮発性メモリに格納されているプログラムコードを実行し、
前記切り替え部にて前記第２の切り替え点に切り替えられた場合、前記ＣＰＵは前記コネクタを介して前記ＲＯＭエミュレータにアクセスすることにより、前記ＲＯＭエミュレータに格納されているプログラムコードを実行し、
前記切り替え部にて前記第３の切り替え点に切り替えられた場合、前記不揮発性メモリに格納されるプログラムコードおよびそのプログラムコードを前記第２の番地に書き込むように指示する書き込みプログラムが前記ＲＯＭエミュレータに格納された後に、前記ＣＰＵは前記コネクタを介して前記ＲＯＭエミュレータにアクセスし、前記書き込みプログラムを実行することにより、前記ＲＯＭエミュレータに格納されているプログラムコードを前記不揮発性メモリに書き込むことを特徴とする請求項３に記載の電子機器。
【請求項５】
前記アドレスデコーダは、
前記不揮発性メモリのチップセレクト端子に出力が接続され、前記切り替え部からの出力と前記ＣＰＵから出力されたアドレスの上位ビットとを比較する第１のコンパレータと、
前記コネクタのチップセレクト端子に出力が接続され、前記切り替え部からの出力と前記ＣＰＵから出力されたアドレスの上位ビットとを比較する第２のコンパレータとを備えることを特徴とする請求項３または４に記載の電子機器。
【請求項６】
前記切り替え部にて前記第１の切り替え点に切り替えられた場合、前記切り替え部から前記第１のコンパレータに論理値‘０’が出力されるとともに、前記ＣＰＵは、アドレスの上位ビットを‘０’にすることで、前記不揮発性メモリにアクセスし、
前記切り替え部にて前記第２の切り替え点に切り替えられた場合、前記切り替え部から前記第２のコンパレータに論理値‘０’が出力されるとともに、前記ＣＰＵは、アドレスの上位ビットを‘０’にすることで、前記ＲＯＭエミュレータにアクセスし、
前記切り替え部にて前記第３の切り替え点に切り替えられた場合、前記切り替え部から前記第１のコンパレータに論理値‘１’が出力されるとともに、前記切り替え部から前記第２のコンパレータに論理値‘０’が出力され、前記ＣＰＵは、アドレスの上位ビットを‘０’にすることで、前記ＲＯＭエミュレータ上の書き込みプログラムを実行し、前記書き込みプログラムに従ってアドレスの上位ビットを‘１’にすることで、前記不揮発性メモリにプログラムコードを書き込むことを特徴とする請求項５に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は電子機器に関し、特に、専用インターフェースを搭載することなく、回路基板上でフラッシュメモリのプログラムを書き換えることが可能な電子機器に関する。
【背景技術】
【０００２】
近年の電子機器では、ＣＰＵを用いて各種の制御を行わせることが行われており、このＣＰＵを動作させるプログラムを格納するために、フラッシュメモリなどの不揮発性メモリがＣＰＵとともに回路基板上に搭載されている。
【０００３】
ここで、フラッシュメモリのプログラムを書き換える場合、フラッシュメモリを回路基板上に搭載したまま行うオンボード書き込みという方法がある。このオンボード書き込みでは、フラッシュメモリにプログラムを書き込むための書き込みプログラムを電子機器に持たせるように構成される。
【０００４】
また、フラッシュメモリを回路基板上に搭載したままプログラムを書き換える方法として、特許文献１には、ブートプログラムを更新時、ブートプログラムをバックアップ領域に複写し、ブートプログラム領域の書き換えが完了するまではバックアップ領域のブートプログラムを実行するようにするとともに、ステータス領域に書き換え状態情報を格納して、この情報により各ステップを実行する方法が開示されている。
【０００５】
また、特許文献２には、回路基板上のフラッシュメモリとマスタボード上のフラッシュメモリを接続し、回路基板のＣＰＵバス権をマスタボードのＣＰＵに移行して、マスタボードのＣＰＵの出力信号によって、回路基板上のフラッシュメモリおよびマスタボード上のフラッシュメモリのいずれか１つのみをチップイネーブルとし、マスタボードからプログラムを回路基板上のフラッシュメモリにコピーする方法が開示されている。
【０００６】
【特許文献１】特開２００１−３３１３７９号公報
【特許文献２】特開２００４−１５７８００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、オンボード書き込みを実現するために、プログラムをフラッシュメモリに書き込むための書き込みプログラムを電子機器に持たせる方法では、シリアルインターフェースなどの専用インターフェースを搭載したり、フラッシュメモリへの書き込み機能を内蔵しているマイクロコンピュータを使用したりする必要がある。そのため、シリアルインターフェースなどの専用インターフェースが搭載されていなかったり、フラッシュメモリへの書き込み機能を内蔵していないマイクロコンピュータを使用したりする場合には、オンボード書き込みが困難になるという問題があった。
【０００８】
また、特許文献１に開示された方法では、フラッシュメモリにプログラムを書き込むための書き込みプログラムがフラッシュメモリに書き込まれている必要がある。このため、書き込みプログラムがフラッシュメモリに書き込まれていない場合には、オンボード書き込みができないという問題があった。また、書き込みプログラムが完成している段階では有効であるが、書き込みプログラムの開発中の段階や書き込みプログラムが正常に動作できない段階では有効に動作しないという問題があった。
【０００９】
また、特許文献２に開示された方法では、回路基板上のフラッシュメモリにプログラムを書き込むための書き込みプログラムをマスタボード上のフラッシュメモリに持たせるため、回路基板上のフラッシュメモリに書き込みプログラムが書き込まれていない場合にも、オンボード書き込みができるが、書き込み専用のマスタボードを作製し、回路基板上のフラッシュメモリに格納されたプログラムを実行する第１のＣＰＵとは別個に、マスタボード上のフラッシュメモリに格納された書き込みプログラムを実行する第２のＣＰＵを設ける必要があることから、余分なコストが発生するという問題があった。
【００１０】
本発明は、上記に鑑みてなされたものであって、回路基板上のフラッシュメモリに書き込みプログラムが書き込まれていない場合にも、専用インターフェースを搭載することなく、フラッシュメモリのプログラムコードを書き換えることが可能な電子機器を得ることを目的とする。
【課題を解決するための手段】
【００１１】
上述した課題を解決し、目的を達成するために、本発明の電子機器は、プログラムコードに従って演算処理を行うＣＰＵと、前記ＣＰＵにて実行されるプログラムコードを格納する不揮発性メモリと、前記ＣＰＵおよび前記不揮発性メモリに接続されたデータバスおよびアドレスバスをＲＯＭエミュレータに接続可能なコネクタと、前記ＣＰＵから出力されたアドレスの上位ビットに基づいて、前記不揮発性メモリおよび前記コネクタのいずれか一方を前記データバスおよび前記アドレスバス上の信号の出力先として選択するアドレスデコーダと、前記アドレスデコーダにて選択される出力先を切り替える切り替え部とを備えることを特徴とする。
【発明の効果】
【００１２】
この発明によれば、回路基板上のフラッシュメモリに書き込みプログラムが書き込まれていない場合にも、専用インターフェースを搭載することなく、フラッシュメモリのプログラムコードを書き換えることが可能という効果を奏する。
【発明を実施するための最良の形態】
【００１３】
以下に、本発明に係る電子機器の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【００１４】
図１は、本発明に係る電子機器の実施の形態の概略構成を示すブロック図である。図１において、回路基板１には、ＣＰＵ２、切り替え部３、アドレスデコーダ４、フラッシュメモリ５およびコネクタ６が搭載されている。ここで、ＣＰＵ２は、プログラムコードに従って演算処理を行うことができる。フラッシュメモリ５は、ＣＰＵ２にて実行されるプログラムコードを格納することができる。そして、ＣＰＵ２に接続されたアドレスバスＢＡの下位ビット目は、フラッシュメモリ５のアドレス端子Ａに接続されている。また、ＣＰＵ２に接続されたデータバスＢＤは、フラッシュメモリ５のデータ端子Ｄに接続されている。また、アドレスデコーダ４は、ＣＰＵ２から出力されたアドレスの上位ビットで指定される番地に基づいて、選択信号Ｓ１をフラッシュメモリ５に出力したり、選択信号Ｓ２をコネクタ６に出力したりすることができる。
【００１５】
例えば、フラッシュメモリ５には、００００〜０ＦＦＦ番地にデータを格納することができるものとする。また、ＣＰＵ２にて指定されるアドレスの幅はＡ＃１２−０の１３ビット分であるものとする。
【００１６】
この場合、ＣＰＵ２に接続されたアドレスバスＢＡの１１〜０ビット目Ａ＃１１−０は、フラッシュメモリ５のアドレス端子Ａに接続される。また、アドレスデコーダ４は、ＣＰＵ２から出力されたアドレスの１２ビット目Ａ＃１２に基づいて、選択信号Ｓ１をフラッシュメモリ５に出力したり、選択信号Ｓ２をコネクタ６に出力したりすることができる。そして、アドレスデコーダ４は、選択信号Ｓ１をフラッシュメモリ５に出力することで、アドレスバスＢＡの１１〜０ビット目およびデータバスＤＡ上の信号の出力先としてフラッシュメモリ５を選択し、選択信号Ｓ２をコネクタ６に出力することで、アドレスバスＢＡの１１〜０ビット目およびデータバスＤＡ上の信号の出力先としてコネクタ６を選択することができる。
【００１７】
切り替え部３は、アドレスデコーダ４にて選択される出力先を切り替えることができる。なお、切り替え部３には、第１から第３の３つの切り替え点を設けることができる。そして、第１の切り替え点では、ＣＰＵ２から出力されたアドレスにて第１の番地（例えば、０番地）が指定された場合、アドレスデコーダ４にフラッシュメモリ５を選択させることができる。第２の切り替え点では、ＣＰＵ２から出力されたアドレスにて第１の番地（例えば、０番地）が指定された場合、アドレスデコーダ４にコネクタ６を選択させることができる。第３の切り替え点では、ＣＰＵ２から出力されたアドレスにて第１の番地（例えば、０番地）が指定された場合、アドレスデコーダ４にコネクタ６を選択させ、ＣＰＵ２から出力されたアドレスにて第２の番地（例えば、１０００番地）が指定された場合、アドレスデコーダ４にフラッシュメモリ５を選択させることができる。
【００１８】
コネクタ６は、アドレスバスＢＡの１１〜０ビット目Ａ＃１１−０およびデータバスＤＡをＲＯＭエミュレータに接続するとともに、アドレスデコーダ４から出力された選択信号Ｓ２をＲＯＭエミュレータに入力することができる。
【００１９】
また、ＲＯＭエミュレータ７は、通信ポートＰを介してパーソナルコンピュータ８に接続されている。なお、ＲＯＭエミュレータ７とパーソナルコンピュータ８とは、例えば、ＲＳ２３２などのシリアルインターフェースを用いて接続することができる。
【００２０】
ここで、アドレスデコーダ４には、フラッシュメモリ５のチップセレクト端子ＣＳに選択信号Ｓ１を出力するコンパレータＰ１、コネクタ６のチップセレクト端子ＣＳに選択信号Ｓ２を出力するコンパレータＰ２が設けられている。また、切り替え部３には、論理値‘０’が入力されるスイッチＳＷ１、論理値‘１’が入力されるスイッチＳＷ２が設けられている。なお、例えば、論理値‘０’は接地電位、論理値‘１’は電源電位とすることができる。
【００２１】
そして、第１の切り替え点では、コンパレータＰ１の一方の入力端子にスイッチＳＷ１を切り替えるとともに、スイッチＳＷ２をオフすることができる。第２の切り替え点では、コンパレータＰ２の一方の入力端子にスイッチＳＷ１を切り替えるとともに、スイッチＳＷ２をオフすることができる。第３の切り替え点では、コンパレータＰ２の一方の入力端子にスイッチＳＷ１を切り替えるとともに、コンパレータＰ１の一方の入力端子にスイッチＳＷ２を切り替えることができる。
【００２２】
なお、スイッチＳＷ１、ＳＷ２は、例えば、トグルスイッチなどの機械的なスイッチを用いるようにしてもよいし、トランジスタなどの電子的なスイッチを用いるようにしてもよい。
【００２３】
図２は、図１の電子機器の動作を示すフローチャートである。図２において、パーソナルコンピュータ８は、フラッシュメモリ５に格納されるプログラムコードおよびそのプログラムコードがフラッシュメモリ５に書き込まれるように指示する書き込みプログラムをＲＯＭエミュレータ７に格納する（ステップＴ０）。そして、図１の切り替え部３にて第１から第３のいずれかの切り替え点に設定される（ステップＴ１）。そして、切り替え部３にて第１の切り替え点に設定された場合、ＣＰＵ２は、フラッシュメモリ５にアクセスすることで（ステップＴ２）、フラッシュメモリ５に格納されているプログラムコードを実行する（ステップＴ３）。
【００２４】
一方、切り替え部３にて第２の切り替え点に設定された場合、ＣＰＵ２は、コネクタ６を介してＲＯＭエミュレータ７にアクセスすることにより（ステップＴ４）、ＲＯＭエミュレータ７に格納されているプログラムコードを実行する（ステップＴ５）。
【００２５】
また、切り替え部３にて第３の切り替え点に設定された場合、ＣＰＵ２は、コネクタ６を介してＲＯＭエミュレータ７にアクセスすることにより（ステップＴ７）、前もってＲＯＭエミュレータ７に格納されている書き込みプログラムを実行し（ステップＴ８）、ＲＯＭエミュレータ７に格納されているプログラムコードをフラッシュメモリ５に書き込む（ステップＴ９）。
【００２６】
図３は、図１の切り替え部３にて第１の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。図３において、図１の切り替え部３にて第１の切り替え点に切り替えられた場合（図２のステップＴ１）、切り替え部３からコンパレータＰ１の一方の入力端子に論理値‘０’が出力される。なお、この場合、コンパレータＰ２の一方の入力端子は不定にすることができる。また、この場合、フラッシュメモリ５には、ＣＰＵ２にて実行されるプログラムコードＰＫ１を格納することができる。また、この場合、回路基板１とＲＯＭエミュレータ７とは必ずしも接続する必要はなく、切り離してもよい。
【００２７】
そして、例えば、リセット解除後にＣＰＵ２が最初に読みに行くアドレスが０番地であるものとすると、ＣＰＵ２から出力されたアドレスの１２ビット目Ａ＃１２が‘０’になる（図２のステップＴ２）。このため、コンパレータＰ１において、切り替え部３からの出力とＣＰＵ２からの出力とが一致していると判断され、フラッシュメモリ５のチップセレクト端子ＣＳに選択信号Ｓ１が出力される。そして、フラッシュメモリ５のチップセレクト端子ＣＳに選択信号Ｓ１が出力されると、フラッシュメモリ５へのアクセスが許可され、アドレスの１１〜０ビット目Ａ＃１１−０で指定される番地からデータが読み出されることで、フラッシュメモリ５に格納されているプログラムコードＰＫ１がＣＰＵ２にて実行される（図２のステップＴ３）。
【００２８】
図４は、切り替え部３にて第２の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。図４において、図１の切り替え部３にて第２の切り替え点に切り替えられた場合（図２のステップＴ１）、切り替え部３からコンパレータＰ２の一方の入力端子に論理値‘０’が出力される。なお、この場合、コンパレータＰ１の一方の入力端子は不定にすることができる。また、この場合、ＲＯＭエミュレータ７には、ＣＰＵ２にて実行される開発途中または試験用のプログラムコードＰＫ２を格納することができる。また、この場合、コネクタ６を介して回路基板１とＲＯＭエミュレータ７とを接続する。
【００２９】
そして、例えば、リセット解除後にＣＰＵ２が最初に読みに行くアドレスが０番地であるものとすると、ＣＰＵ２から出力されたアドレスの１２ビット目Ａ＃１２が‘０’になる（図２のステップＴ４）。このため、コンパレータＰ２において、切り替え部３からの出力とＣＰＵ２からの出力とが一致していると判断され、コネクタ６のチップセレクト端子ＣＳに選択信号Ｓ２が出力される。そして、コネクタ６のチップセレクト端子ＣＳに選択信号Ｓ２が出力されると、選択信号Ｓ２がコネクタ６を介してＲＯＭエミュレータ７のチップセレクト端子ＣＳに出力される。そして、選択信号Ｓ２がＲＯＭエミュレータ７のチップセレクト端子ＣＳに出力されると、ＲＯＭエミュレータ７へのアクセスが許可され、アドレスの１１〜０ビット目Ａ＃１１−０で指定される番地からデータが読み出されることで、ＲＯＭエミュレータ７に格納されているプログラムコードＰＫ２がＣＰＵ２にて実行される（図２のステップＴ５）。
【００３０】
図５は、切り替え部３にて第３の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。図５において、図１の切り替え部３にて第３の切り替え点に切り替えられた場合（図２のステップＴ１）、切り替え部３から、コンパレータＰ１の一方の入力端子に論理値‘１’が出力されるとともに、コンパレータＰ２の一方の入力端子に論理値‘０’が出力される。ここで、コネクタ６を介して回路基板１と接続されたＲＯＭエミュレータ７には、ＣＰＵ２にて実行されるプログラムコードＰＫ３をパーソナルコンピュータ８から前もってダウンロードさせることができる（図２のステップＴ０）。また、ＲＯＭエミュレータ７には、例えば、プログラムコードＰＫ３を１０００番地に書き込むように指示する書き込みプログラムＷＰをパーソナルコンピュータ８から前もってダウンロードさせることができる（図２のステップＴ０）。
【００３１】
そして、例えば、リセット解除後にＣＰＵ２が最初に読みに行くアドレスが０番地であるものとすると、ＣＰＵ２から出力されたアドレスの１２ビット目Ａ＃１２が‘０’になる（図２のステップＴ７）。このため、コンパレータＰ２において、切り替え部３からの出力とＣＰＵ２からの出力とが一致していると判断され、コネクタ６のチップセレクト端子ＣＳに選択信号Ｓ２が出力される。そして、コネクタ６のチップセレクト端子ＣＳに選択信号Ｓ２が出力されると、選択信号Ｓ２がコネクタ６を介してＲＯＭエミュレータ７のチップセレクト端子ＣＳに出力される。そして、選択信号Ｓ２がＲＯＭエミュレータ７のチップセレクト端子ＣＳに出力されると、ＲＯＭエミュレータ７へのアクセスが許可され、アドレスの１１〜０ビット目Ａ＃１１−０で指定される番地からデータが読み出されることで、ＲＯＭエミュレータ７に格納されている書き込みプログラムＷＰがＣＰＵ２にて実行される（図２のステップＴ８）。
【００３２】
そして、書き込みプログラムＷＰがＣＰＵ２にて実行されると、ＲＯＭエミュレータ７に格納されているプログラムコードＰＫ３が１０００番地に書き込まれるように、アドレスバスＢＡおよびデータバスＢＤ上にアドレスおよびデータがＣＰＵ２からそれぞれ出力される。
【００３３】
そして、プログラムコードＰＫ３が１０００番地に書き込まれるようにアドレスバスＢＡ上にアドレスが出力されると、ＣＰＵ２から出力されたアドレスの１２ビット目Ａ＃１２が‘１’になる。このため、コンパレータＰ１において、切り替え部３からの出力とＣＰＵ２からの出力とが一致していると判断され、フラッシュメモリ５のチップセレクト端子ＣＳに選択信号Ｓ１が出力される。そして、フラッシュメモリ５のチップセレクト端子ＣＳに選択信号Ｓ１が出力されると、フラッシュメモリ５へのアクセスが許可され、アドレスの１１〜０ビット目Ａ＃１１−０で指定される番地にデータが書き込まれることで、ＲＯＭエミュレータ７に格納されていたプログラムコードＰＫ３がフラッシュメモリ５に格納される（図２のステップＴ９）。
【００３４】
そして、プログラムコードＰＫ３がフラッシュメモリ５に格納されると、図３に示すように、図１の切り替え部３にて第１の切り替え点に切り替えることにより、フラッシュメモリ５に格納されているプログラムコードＰＫ３がＣＰＵ２にて実行される。
【００３５】
ここで、ＲＯＭエミュレータ７に書き込みプログラムＷＰを格納し、その書き込みプログラムＷＰを回路基板１上のＣＰＵ２にて実行させることにより、回路基板１上のフラッシュメモリ５に書き込みプログラムＷＰが書き込まれていない場合にも、専用インターフェースを搭載することなく、フラッシュメモリ５のプログラムコードＰＫ１をプログラムコードＰＫ３に書き換えることが可能となる。
【００３６】
また、ＲＯＭエミュレータ７に格納された書き込みプログラムＷＰを回路基板１上のＣＰＵ２にて実行させることにより、回路基板１上のＣＰＵ２とは別個に、書き込みプログラムＷＰを実行させるためのＣＰＵを設ける必要がなくなり、書き込み専用のマスタボードが不要となることから、余分なコストが発生するのを抑えることができる。
【００３７】
また、ＲＯＭエミュレータ７に格納された書き込みプログラムＷＰは、パーソナルコンピュータ８上で自由に変更することができ、書き込みプログラムＷＰの開発中の段階や書き込みプログラムＷＰが正常に動作できない段階においても、オンボード書き込みを実行させることができる。
【００３８】
また、回路基板１上において、プログラマブルロジック素子にてロジック回路が構成される場合には、プログラマブルロジック素子内に切り替え部３を追加することができ、新たな部品を追加することなく、切り替え部３を回路基板１上に実装することが可能となることから、コストアップを抑制することができる。
【００３９】
また、フラッシュメモリ５を回路基板１上に実装したまま、フラッシュメモリ５のプログラムコードＰＫ１を書き換えることが可能となることから、ソケットを介して脱着されるＥＰＲＯＭなどを回路基板１上に搭載する必要がなくなり、ＥＰＲＯＭをフラッシュメモリ５に置き換えることができる。
【００４０】
なお、上述した実施の形態では、ＣＰＵ２、切り替え部３、アドレスデコーダ４、フラッシュメモリ５およびコネクタ６は、同一の回路基板１上に搭載する方法について説明したが、ＣＰＵ２、切り替え部３、アドレスデコーダ４、フラッシュメモリ５およびコネクタ６は、必ずしも同一の回路基板１上に搭載されている必要はなく、ＣＰＵ２、切り替え部３、アドレスデコーダ４、フラッシュメモリ５およびコネクタ６の少なくともいずれか１つの部品は、異なる回路基板上に搭載されていてもよい。
【００４１】
また、上述した実施の形態では、ＣＰＵ２にて実行されるプログラムコードを格納するために、フラッシュメモリ５を用いる方法について説明したが、電気的に書き換えおよび消去が可能な不揮発性メモリならば何でもよく、例えば、ＥＥＰＲＯＭなどを用いるようにしてもよい。
【００４２】
また、上述した実施の形態では、切り替え部３にて第１の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ１に論理値‘０’が出力されるとともに、ＣＰＵ２は、アドレスの上位ビットを‘０’にすることで、フラッシュメモリ５にアクセスし、切り替え部３にて第２の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ２に論理値‘０’が出力されるとともに、ＣＰＵ２は、アドレスの上位ビットを‘０’にすることで、ＲＯＭエミュレータ７にアクセスし、切り替え部３にて第３の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ１に論理値‘１’が出力されるとともに、切り替え部３からコンパレータＰ２に論理値‘０’が出力され、ＣＰＵ２は、アドレスの上位ビットを‘０’にすることで、ＲＯＭエミュレータ７上の書き込みプログラムＷＰを実行し、書き込みプログラムＷＰに従ってアドレスの上位ビットを‘１’にすることで、フラッシュメモリ５にプログラムコードＰＫ３を書き込む方法について説明した。
【００４３】
これに対して、切り替え部３にて第１の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ１に論理値‘１’が出力されるとともに、ＣＰＵ２は、アドレスの上位ビットを‘１’にすることで、フラッシュメモリ５にアクセスし、切り替え部３にて第２の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ２に論理値‘１’が出力されるとともに、ＣＰＵ２は、アドレスの上位ビットを‘１’にすることで、ＲＯＭエミュレータ７にアクセスし、切り替え部３にて第３の切り替え点に切り替えられた場合、切り替え部３からコンパレータＰ１に論理値‘０’が出力されるとともに、切り替え部３からコンパレータＰ２に論理値‘１’が出力され、ＣＰＵ２は、アドレスの上位ビットを‘１’にすることで、ＲＯＭエミュレータ７上の書き込みプログラムＷＰを実行し、書き込みプログラムＷＰに従ってアドレスの上位ビットを‘０’にすることで、フラッシュメモリ５にプログラムコードＰＫ３を書き込むようにしてもよい。
【産業上の利用可能性】
【００４４】
以上のように本発明に係る電子機器は、回路基板上のフラッシュメモリに書き込みプログラムが書き込まれていない場合にも、専用インターフェースを搭載することなく、回路基板上でフラッシュメモリのプログラムを書き換える方法に適している。
【図面の簡単な説明】
【００４５】
【図１】本発明に係る電子機器の実施の形態の概略構成を示すブロック図である。
【図２】図１の電子機器の動作を示すフローチャートである。
【図３】図１の切り替え部３にて第１の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。
【図４】図１の切り替え部３にて第２の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。
【図５】図１の切り替え部３にて第３の切り替え点に切り替えられた時のアドレス割付状態を示すブロック図である。
【符号の説明】
【００４６】
１  回路基板
２  ＣＰＵ
３  切り替え部
４  アドレスデコーダ
５  フラッシュメモリ
６  コネクタ
７  ＲＯＭエミュレータ
８  パーソナルコンピュータ
ＳＷ１、ＳＷ２  スイッチ
Ｐ１、Ｐ２  コンパレータ
ＢＡ  アドレスバス
ＤＡ  データバス
【図１】
2010176182.tif 000003
【図２】
2010176182.tif 000004
【図３】
2010176182.tif 000005
【図４】
2010176182.tif 000006
【図５】
2010176182.tif 000007