(57)【要約】【課題】フラッシュメモリ内蔵のマイクロコントローラを使用しても安全にファームウェア書換えを行う。【解決手段】ファームウェア書換え時は、ホストコンピュータ２上のファームウェア書換えソフトウェアは、シリアルポート切り替えをマイクロコントローラ１へのクロス接続に設定し、ブートモード信号を有効にする。これによりマイクロコントローラ１は、ファームウェア動作を停止し、チップ自身が持つファームウェア書込みモードに移行する。ファームウェア書換えソフトウェアは、マイクロコントローラ１のファームウェア書込み手順に沿ってシリアル通信を行って新しいファームウェアを送り込み、マイクロコントローラ内蔵フラッシュメモリの内容を書換える。【選択図】      図２
2005032001.tif 000002
【特許請求の範囲】
【請求項１】
内蔵フラッシュメモリで動作し、シリアル通信によるファームウェア書込み機能を持つマイクロコントローラを有する情報処理装置において、
ホストコンピュータからマイクロコントローラを通常動作モード、およびファームウェア書込みモードに設定する手段と、
前記ホストコンピュータのシリアルポートをシステムのｃｏｍポート出力するか、前記マイクロコントローラのシリアルポートとクロス接続するかを切替える手段と、
前記切り替え手段を前記ホストコンピュータから設定する手段とを有し、
起動時に、前記マイクロコントローラを通常動作モードに設定する手段と、
起動時に、前記シリアルポートをシステムのｃｏｍポート接続に設定する手段と、
前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりマイクロコントローラをファームウェア書込みモードに設定する手段と、
前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートをマイクロコントローラのシリアルポートへのクロス接続に設定する手段と、
前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートから書換えるファームウェアを送信する手段とを具備したことを特徴とする情報処理装置。
【請求項２】
内蔵フラッシュメモリで動作し、シリアル通信によるファームウェア書込み機能を持つマイクロコントローラと、ホストコンピュータからマイクロコントローラを通常動作モード、およびファームウェア書込みモードに設定する手段と、ホストコンピュータのシリアルポートをシステムのｃｏｍポート出力するか、マイクロコントローラのシリアルポートとクロス接続するかを切替える手段と、前記切り替え手段をホストコンピュータから設定する手段とを有する情報処理装置のファームウェア書き換え方法において、
起動時に、マイクロコントローラを通常動作モードに設定し、かつシリアルポートをシステムのｃｏｍポート接続に設定し、
マイクロコントローラのファームウェア書換え時に、ソフトウェアによりマイクロコントローラをファームウェア書込みモードに設定し、かつソフトウェアによりシリアルポートをマイクロコントローラのシリアルポートへのクロス接続に設定し、
マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートから書換えるファームウェアを送信することを特徴とするファームウェアの書き換え方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ファームウェアが格納されたフラッシュメモリ装置を内蔵するマイクロコントローラと、該マイクロコントローラ搭載の情報処理装置に関し、特に、フラッシュメモリ上のファームウェアを書き換える方法に関する。
【０００２】
【従来の技術】
従来より、マイクロコントローラのファームウェアを書き換える技術は存在するが、従来では、以下のような手段を用いている。
（ａ）外付け  フラッシュ  メモリを採用し、マイクロコントローラを経由させず直接フラッシュメモリを書換える。
これは、特許文献１に見られる方式である。
（ｂ）内蔵フラッシュメモリを使用し、ファームウェア自身で書換えを行う。ただし、書き換えしないブートブロックと、書き換え可能な機能部に分け、機能部のみ書き換える。これは特許文献２に見られる方式である。
【０００３】
【特許文献１】
特開２００２−７３４０８公報  （図１）
【特許文献２】
特開２００１−４３２０６公報  （図１）
【０００４】
【発明が解決しようとする課題】
従来技術で説明した（ａ）のような方式はマイクロコントローラを経由させない為、全ファームウェアの書き換えが可能であり、書き換え中の電源断などの異常事態にも対応できる利点があるものの、マイクロコントローラ＋フラッシュメモリ構成となり、製造コスト的にマイクロコントローラ＋内蔵フラッシュメモリの構成より高価になる。
【０００５】
また、（ｂ）のような方式ではブートブロックの書き換えが必要になった際に書き換えが困難である。また、ブートブロックの書き換えに失敗すると修理が必要なり、保守コストがかかる。更に、主機能を提供する機能部の他にファームウェア書き換え用のブートブロックを開発する必要があり、開発コストが余分に必要であった。
【０００６】
そこで、本発明では、マイクロコントローラのファームウェアの書き換えをより安全な方式で全書き換えを可能とするファームウェア書き換え装置を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、上述した課題を解決するため、内蔵フラッシュメモリで動作し、シリアル通信によるファームウェア書込み機能を持つマイクロコントローラを有する情報処理装置において、ホストコンピュータからマイクロコントローラを通常動作モード、およびファームウェア書込みモードに設定する手段と、前記ホストコンピュータのシリアルポートをシステムのｃｏｍポート出力するか、前記マイクロコントローラのシリアルポートとクロス接続するかを切替える手段と、前記切り替え手段を前記ホストコンピュータから設定する手段とを有し、起動時に、前記マイクロコントローラを通常動作モードに設定する手段と、起動時に、前記シリアルポートをシステムのｃｏｍポート接続に設定する手段と、前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりマイクロコントローラをファームウェア書込みモードに設定する手段と、前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートをマイクロコントローラのシリアルポートへのクロス接続に設定する手段と、前記マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートから書換えるファームウェアを送信する手段とを具備したことを特徴とするものである。
【０００８】
また本発明は上述した課題を解決するため、内蔵フラッシュメモリで動作し、シリアル通信によるファームウェア書込み機能を持つマイクロコントローラと、ホストコンピュータからマイクロコントローラを通常動作モード、およびファームウェア書込みモードに設定する手段と、ホストコンピュータのシリアルポートをシステムのｃｏｍポート出力するか、マイクロコントローラのシリアルポートとクロス接続するかを切替える手段と、前記切り替え手段をホストコンピュータから設定する手段とを有する情報処理装置のファームウェア書き換え方法において、起動時に、マイクロコントローラを通常動作モードに設定し、かつシリアルポートをシステムのｃｏｍポート接続に設定し、マイクロコントローラのファームウェア書換え時に、ソフトウェアによりマイクロコントローラをファームウェア書込みモードに設定し、かつソフトウェアによりシリアルポートをマイクロコントローラのシリアルポートへのクロス接続に設定し、マイクロコントローラのファームウェア書換え時に、ソフトウェアによりシリアルポートから書換えるファームウェアを送信することを特徴とするものである。
【０００９】
【発明の実施の形態】
以下、図面を用いて、本発明の実施形態を説明する。
図１は、本発明の実施形態における計算機システムを示すシステム構成図であり、特に通常稼働時のデータの流れを示したブロック図である。
本計算機システムは、本実施形態の計算機システムには、書換え可能なフラッシュメモリ内蔵のマイクロコントローラ１と、マイクロコンピュータ１のフラッシュメモリを書き換え制御を実行できるホストコンピュータ２を有する。
【００１０】
ホストコンピュータ２は、ＢＩＯＳ３のプログラムに基づいて、通常動作を実施するか、マイクロコンピュータのフラッシュメモリに書き込まれているファームウェアの書き換え動作を実行するか切替える。
【００１１】
ホストコンピュータ２は、ブートモード信号と、シリアル切替信号を送信する送信端子を有し、ブートモード信号はマイクロコンピュータ１に入力され、シリアル切替信号は、ＰＡＬ（プログラマブルアレイロジック）に入力される。
【００１２】
ホストコンピュータ２に設けられたシリアルポート４は、外部とのデータ入出力を実行するインタフェースであり、マイクロコンピュータ１のファームウェア更新時には、このシリアルポート４を通じて、更新用のファームウェアが送信される。そして、更新用のファームウェアは、マイクロコンピュータ１のシリアルポート５を介して、マイクロコンピュータ１に送信され、マイクロコンピュータ１では受信したファームウェアをフラッシュメモリに書き込みを行う。
【００１３】
ＰＡＬ６はホストコンピュータ２から送信されるシリアル切替信号に基づいて、ホストコンピュータ２から送信されたデータをｃｏｍポート７に送信するように接続するか、マイクロコンピュータ１のシリアルポート５に接続するかを切り換える。
【００１４】
具体的には、図１の状態は、通常動作時を示しており、シリアルポート４と、ｃｏｍポート７が接続されておりの、図２の状態は、マイクロコンピュータのファームウェア更新時を示しており、シリアルポート４と、シリアルポート５が接続されている。
【００１５】
このような構成を有する本発明の実施形態における動作を以下に説明する。
本実施形態のマイクロコントローラ１はホストコンピュータ２から出力されるブートモード信号によってファームウェア書込みモードになる。ファームウェア書込みモードとなったマイクロコントローラ１はフラッシュメモリの全領域を書き込むことが可能である。
【００１６】
ホストコンピュータ２は、マイクロコントローラ１のブートモード信号に接続された制御信号を持ち、ブートモード信号の有効、  無効を設定可能である。
また、ホストコンピュータ２上のシリアルポート４は、途中配置されたＰＡＬ（プログラマブルアレイロジック）により外部入出力用のｃｏｍポート７に接続するか、マイクロコントローラ１のシリアルポート５にクロス接続するかが切替設定できる。
【００１７】
ホストコンピュータ２は、ＰＡＬ６に対して制御を行う為のシリアル切替信号を持ち、設定によりどちらに接続するかを切り替えられる。なお、切り替え手段の実現方法がＰＡＬによるものであることは、本特許の本質を何ら制限するものではない。例えば、完全なハードウェアロジックにより実現する手段もある。
【００１８】
そして、通常の起動時は図１に示すように、初期化としてＢＩＯＳ３でホストコンピュータ２からブートモード信号を無効にすると共に、シリアルポート切り替えを  ｃｏｍポート７接続に設定する。これにより、マイクロコントローラは通常動作を行う。ただし、本実施例ではＢＩＯＳによる初期化を行ったが、これは本特許の本質を制限するものではない。例えば別の実施方式として、ハードウェアによりブートモード信号とシリアルポート切り替えを前述のように設定しＢＩＯＳでは特に設定しない、という手段もある。
【００１９】
図２に示すようにファームウェア書換え時は、ホストコンピュータ２上のファームウェア書換えソフトウェアは、シリアルポート切り替えをマイクロコントローラ１へのクロス接続に設定し、ブートモード信号を有効にする。これによりマイクロコントローラ１は、ファームウェア動作を停止し、チップ自身が持つファームウェア書込みモードに移行する。ファームウェア書換えソフトウェアは、マイクロコントローラ１のファームウェア書込み手順に沿ってシリアル通信を行って新しいファームウェアを送り込み、マイクロコントローラ内蔵フラッシュメモリの内容を書換える。
【００２０】
もし、書換え途中に停電が発生するなどの原因で、書換えが完了できなかった場合でも、再度ファームウェア書換えソフトウェアを実行することで、ファームウェア書換えが可能となる。
【００２１】
以上説明したように、本実施形態によれば、フラッシュメモリ内蔵のマイクロコントローラを使用しても安全にファームウェア書換えを行うことが可能になる。また、ブートブロックを使用する方式に比べ、ファームウェア全体を書換え可能なので、書換え可能部分の制限がなくなる。
【００２２】
この結果、安価なマイクロコントローラを採用することにより製品コストを低減させるとともに、ファームウェア書換えのミスによる保守交換を不要にでき、保守コストを低減させることが可能になる。
【００２３】
【発明の効果】
本発明により、フラッシュメモリ内蔵のマイクロコントローラを使用しても安全にファームウェア書換えを行うことが可能になる。従って、安価なマイクロコントローラを採用することにより製品コストを低減させるとともに、ファームウェア書換えのミスによる保守交換を不要にでき、保守コストを低減させることが可能になる。
【図面の簡単な説明】
【図１】本発明の一実施形態における計算機システムの通常動作時を示したシステム構成図である。
【図２】同実施形態におけ計算機システムのファームウェア更新動作時を示したシステム構成図である。
【符号の説明】
１…マイクロコンピュータ、２…ホストコンピュータ、３…ＢＩＯＳ、４…シリアルポート、５…シリアルポート、６…ＰＡＬ、７…ｃｏｍポート。
【図１】
2005032001.tif 000003
【図２】
2005032001.tif 000004