(57)【要約】【課題】  ファームウェアのハードウェア制御関数に関する評価を行う場合の利便性をより向上させることが可能なファームウェア評価システム等を提供すること。【解決手段】  ファームウェア評価システムが、少なくとも１つのＡＰＩ（ハードウェア制御関数）１３２を記憶したＡＰＩ部１３０と、前記ハードウェア制御関数に関する評価を行うための評価用文字列をＰＣ２０から入力するとともに、ＰＣ２０に評価結果情報を出力する入出力部１１０と、ＡＰＩ１３２を使用する評価用ユーザーインターフェース部１２０とを有するファームウェアシステムを含んで構成される。【選択図】      図１
2007219893.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも１つのハードウェア制御関数を記憶した関数記憶部と、
前記ハードウェア制御関数に関する評価を行うための評価用文字列をホストコンピュータから入力するとともに、前記ホストコンピュータに評価結果情報を出力する入出力部と、
前記ハードウェア制御関数を使用する評価用ユーザーインターフェース部と、
を有するファームウェアシステムを含み、
前記評価用ユーザーインターフェース部は、
前記評価用文字列を解釈する文字列解釈部と、
当該文字列解釈部による解釈に応じて前記関数記憶部に記憶された特定のハードウェア制御関数を呼び出す関数呼び出し部と、
当該関数呼び出し部による前記特定のハードウェア制御関数の呼び出し結果に基づき、前記評価結果情報を生成する評価結果生成部と、
を含むことを特徴とするファームウェア評価システム。
【請求項２】
請求項１に記載のファームウェア評価システムにおいて、
前記ホストコンピュータは、前記ハードウェア制御関数に関する評価の終了後に、前記評価用ユーザーインターフェース部に代えて、前記ハードウェア制御関数を使用する製品版ユーザーインターフェース部が含まれるように前記ファームウェアシステムを更新する更新部を含むことを特徴とするファームウェア評価システム。
【請求項３】
ホストコンピュータと、ファームウェアシステムとを用いたファームウェア評価方法であって、
前記ファームウェアシステムは、
少なくとも１つのハードウェア制御関数を記憶した関数記憶部と、
入出力部と、
前記ハードウェア制御関数を使用する評価用ユーザーインターフェース部と、
を含み、
前記入出力部は、前記ハードウェア制御関数に関する評価を行うための評価用文字列を前記ホストコンピュータから入力し、
前記文字列解釈部は、前記評価用文字列を解釈し、
前記評価用ユーザーインターフェース部は、当該文字列解釈部による解釈に応じて前記関数記憶部に記憶された特定のハードウェア制御関数を呼び出し、
前記評価用ユーザーインターフェース部は、前記特定のハードウェア制御関数の呼び出し結果に基づき、前記評価結果情報を生成し、
前記入出力部は、前記ホストコンピュータに評価結果情報を出力することを特徴とするファームウェア評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ファームウェア評価システムおよびファームウェア評価方法に関する。
【背景技術】
【０００２】
一般的に、ファームウェア開発においては、ハードウェアを制御するハードウェア制御関数（例えば、ＡＰＩ等）と、ユーザーインターフェース部分を実現するユーザーインターフェース部が同時に開発されている。
【０００３】
このため、開発者は、ユーザーインターフェース部がある程度完成するまでハードウェア制御関数のテストを行えず、ハードウェアに起因する重大な問題の発見の遅れ、ファームウェアの品質の低下、開発期間の延長等の弊害が生じていた。
【０００４】
また、このような弊害の原因として、開発者が、ハードウェア制御関数の動作を十分に理解しないまま、設計、実装を行うということがある。
【０００５】
さらに、このような弊害の原因として、コスト削減の観点からデバッグに必要となるＩＣＥ(In Circuit Emulator)等の特殊な機材の個数が不足した状態で開発者が開発しなければならないということもある。
【０００６】
例えば、特許文献１では、ＩＣＥ等の開発支援装置を使用せずに、汎用的なテストプログラムの実行を可能とするシステム環境を実現し、プログラム開発効率およびファームウェアシステムの完成度の向上を図ることを目的とした組込型ファームウェア評価システムが記載されている。
【０００７】
この組込型ファームウェア評価システムは、ホストコンピュータと、前記ホストコンピュータと双方向通信が可能に接続され、ファームウェアアプリケーションおよび当該アプリケーションを実行するためのハードウェアを有するファームシステムと、を具備する組込型ファームウェア評価システムにおいて、前記ホストコンピュータは、あらかじめファームウェア評価用に指定書式で記述されたテストスクリプトを解析し、前記ファームシステムが認識可能なテストコードに変換するテストスクリプト変換手段を備え、前記ファームシステムは、前記テストスクリプト変換手段で変換されたテストコードを格納するテストコード格納手段と、前記テストコード格納手段から読み出したテストコードを解析し、ファームウェアアプリケーション実行の空き時間に前記テストコードにしたがった処理を実行するテストコード実行手段を備えている。
【０００８】
このような構成が採用されているのは、特許文献１では、ファームウェアにテストプログラムを実装して削除する手法におけるテストプログラムの一過性、テストプログラムの削除ミスを問題としているからである。また、このような問題に対し、特許文献１では、ファームウェアシステムにテストコード実行手段を固定する手法が採用されている。
【特許文献１】特開２００１−１５４８８０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、特許文献１のように、ファームウェアシステムにテストコード実行手段を固定すると、出荷時の製品にもテストコード実行手段が含まれてしまうことになり、必要となるファームウェアの記憶容量が増えてしまう。
【００１０】
本発明の目的は、ファームウェアのハードウェア制御関数に関する評価を行う場合の利便性をより向上させることが可能なファームウェア評価システムおよびファームウェア評価方法を提供することにある。
【課題を解決するための手段】
【００１１】
上記課題を解決するため、本発明に係るファームウェア評価システムは、
少なくとも１つのハードウェア制御関数を記憶した関数記憶部と、
前記ハードウェア制御関数に関する評価を行うための評価用文字列をホストコンピュータから入力するとともに、前記ホストコンピュータに評価結果情報を出力する入出力部と、
前記ハードウェア制御関数を使用する評価用ユーザーインターフェース部と、
を有するファームウェアシステムを含み、
前記評価用ユーザーインターフェース部は、
前記評価用文字列を解釈する文字列解釈部と、
当該文字列解釈部による解釈に応じて前記関数記憶部に記憶された特定のハードウェア制御関数を呼び出す関数呼び出し部と、
当該関数呼び出し部による前記特定のハードウェア制御関数の呼び出し結果に基づき、前記評価結果情報を生成する評価結果生成部と、
を含むことを特徴とする。
【００１２】
また、本発明に係るファームウェア評価方法は、
ホストコンピュータと、ファームウェアシステムとを用いたファームウェア評価方法であって、
前記ファームウェアシステムは、
少なくとも１つのハードウェア制御関数を記憶した関数記憶部と、
入出力部と、
前記ハードウェア制御関数を使用する評価用ユーザーインターフェース部と、
を含み、
前記入出力部は、前記ハードウェア制御関数に関する評価を行うための評価用文字列を前記ホストコンピュータから入力し、
前記文字列解釈部は、前記評価用文字列を解釈し、
前記評価用ユーザーインターフェース部は、当該文字列解釈部による解釈に応じて前記関数記憶部に記憶された特定のハードウェア制御関数を呼び出し、
前記評価用ユーザーインターフェース部は、前記特定のハードウェア制御関数の呼び出し結果に基づき、前記評価結果情報を生成し、
前記入出力部は、前記ホストコンピュータに評価結果情報を出力することを特徴とする。
【００１３】
本発明によれば、ユーザーは、評価用文字列を用いてハードウェア制御関数に関する評価を行うことができる。これにより、ユーザーは、ＩＣＥ等の特別な機器を用いる必要はないため、ファームウェアのハードウェア制御関数に関する評価を行う場合の利便性をより向上させることができる。
【００１４】
また、本発明によれば、ファームウェア評価システム等は、ファームウェアシステム内の評価用ユーザーインターフェース部を用いてハードウェア制御関数を使用して評価することができる。これにより、ユーザーは、製品版ユーザーインターフェース部を用いることなくハードウェア制御関数を使用した評価を行うことができるため、製品版ユーザーインターフェース部の完成を待たずに評価を行うことができ、ファームウェアの開発効率が向上する。
【００１５】
また、前記ホストコンピュータは、前記ハードウェア制御関数に関する評価の終了後に、前記評価用ユーザーインターフェース部に代えて、前記ハードウェア制御関数を使用する製品版ユーザーインターフェース部が含まれるように前記ファームウェアシステムを更新する更新部を含んでもよい。
【００１６】
これによれば、ファームウェア評価システム等は、評価に用いた評価用ユーザーインターフェース部を評価終了後に除去することができ、評価を行うことによるファームウェアの容量増加を抑制することができる上、製品には評価用ユーザーインターフェース部が含まれないため評価用ユーザーインターフェース部に起因する製品の動作不良をなくすことができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明をファームウェア評価システムに適用した場合を例に採り、図面を参照しつつ説明する。なお、以下に示す実施例は、特許請求の範囲に記載された発明の内容を何ら限定するものではない。また、以下の実施例に示す構成の全てが、特許請求の範囲に記載された発明の解決手段として必須であるとは限らない。
【００１８】
図１は、本実施例におけるファームウェア評価システムの機能ブロック図である。
【００１９】
ファームウェア評価システムは、ホストコンピュータであるＰＣ２０と、ＰＣ２０とシリアルケーブルを介して接続されたファームウェアシステム１０とを含んで構成されている。
【００２０】
また、ＰＣ２０は、ファームウェア評価を行うためのコマンドである評価用文字列を入力する評価用文字列入力部２１０と、評価結果表示部２２０と、ファームウェアシステム１０を更新する更新部２３０と、ＰＣ側入出力部２４０とを含んで構成されている。
【００２１】
また、ファームウェアシステム１０は、ＰＣ２０と種々の情報を入出力する入出力部１１０と、評価用ユーザーインターフェース部１２０と、ＡＰＩ(Application Program Interface)部１３０とを含んで構成されている。なお、ＡＰＩ部１３０は、複数種のＡＰＩ１３２を記憶している。また、本実施例におけるＡＰＩはハードウェア制御関数であり、ＡＰＩ部１３０は関数記憶部として機能する。
【００２２】
また、評価用ユーザーインターフェース部１２０は、評価用文字列を解釈する文字列解釈部１２２と、文字列解釈部１２２による解釈に応じてＡＰＩ部に記憶された特定のハードウェア制御関数（ＡＰＩ１３０）を呼び出す関数呼び出し部１２４と、関数呼び出し部１２４による特定のハードウェア制御関数の呼び出し結果に基づき、評価結果情報を生成する評価結果生成部１２６とを含んで構成されている。
【００２３】
また、ファームウェアシステム１０は、例えば、プロジェクタ等の電子機器に実装されており、電子機器のハードウェアの動作を制御する機能を有する。
【００２４】
なお、これらの各部を実装するためのハードウェアとしては以下のものを採用可能である。例えば、評価用文字列入力部２１０としてはキーボード、評価用プログラムを記憶したＲＯＭ、ＣＰＵ等、評価結果表示部２２０としては評価用プログラムを記憶したＲＯＭ、ＣＰＵ、液晶ディスプレイ等、更新部２３０としてはＣＰＵ等、ＰＣ側入出力部２４０、入出力部１１０としてはシリアルポート等、評価用ユーザーインターフェース部１２０としてはＡＰＩ呼び出し処理等を実行するプログラムに基づいて動作するＣＰＵ、ＲＡＭ、ＨＤＤ等、ＡＰＩ部１３０としてはＲＡＭ、ＨＤＤ等を採用可能である。
【００２５】
次に、これらの各部を用いたファームウェア評価処理の流れについて説明する。
【００２６】
図２は、本実施例におけるファームウェア評価処理の流れを示すフローチャートである。
【００２７】
評価用文字列入力部２１０は、ユーザーである開発者による操作に基づいて評価用文字列を入力する（ステップＳ１）。なお、この評価用文字列は、例えば、いわゆるインタープリタ言語のようにユーザーが使用しやすい言語で入力可能なＡＳＣＩＩ文字列である。より具体的には、評価用文字列は、例えば、「API_1(10)CR」のように、呼び出すＡＰＩ名（API_1）、当該ＡＰＩ１３２の引数（10）、改行コード（CR）で構成される。
【００２８】
また、評価用文字列の入力手法は、キーボード等を用いた対話的な入力手法であってもよいし、あらかじめ評価用文字列が記憶されたファイルを読み取る手法等であってもよい。
【００２９】
ＰＣ側入出力部２４０は、評価用文字列入力部２１０によって入力された評価用文字列をファームウェアシステム１０に出力する。ファームウェアシステム１０の入出力部１１０は、当該評価用文字列を入力する。
【００３０】
そして、評価用ユーザーインターフェース部１２０は、評価処理を実行する（ステップＳ２）。
【００３１】
図３は、本実施例における評価処理の流れを示すフローチャートである。
【００３２】
文字列解釈部１２２は、評価用文字列を最初から１文字ずつ入力する（ステップＳ１１）。
【００３３】
そして、文字列解釈部１２２は、当該文字が改行コードかどうかを判定する（ステップＳ１２）。
【００３４】
改行コードではない場合、文字列解釈部１２２は、文字列解釈部１２２内の文字バッファに当該文字を追加する（ステップＳ１４）。
【００３５】
一方、改行コードである場合、文字列解釈部１２２は、文字バッファに追加された文字列を解析し（ステップＳ１３）、関数呼び出しコマンドであるかどうかを判定する（ステップＳ１５）。
【００３６】
関数呼び出しコマンドではない場合、文字列解釈部１２２は、適切な評価文字列ではないことを示すエラー情報を生成し、入出力部１１０は、当該エラー情報をＰＣ２０に出力する（ステップＳ１７）。
【００３７】
一方、関数呼び出しコマンドである場合、関数呼び出し部１２４は、ＡＰＩ呼び出し処理を実行する（ステップＳ１６）。
【００３８】
図４は、本実施例におけるＡＰＩ呼び出し処理の流れを示すフローチャートである。
【００３９】
関数呼び出し部１２４は、評価用文字列に基づき、関数呼び出し部１２４内のＡＰＩ管理情報を検索する（ステップＳ２１）。なお、ＡＰＩ管理情報は、例えば、ＡＰＩ１３２ごとの「名称」、「アドレス」、「引数の個数」、引数ごとの「引数のデータ型」等を示す情報である。
【００４０】
そして、関数呼び出し部１２４は、評価用文字列に含まれるＡＰＩ１３２の名称と、ＡＰＩ管理情報に含まれるＡＰＩ１３２の名称を比較することにより、評価対象のＡＰＩ１３２が存在するかどうかを判定する（ステップＳ２２）。
【００４１】
評価対象のＡＰＩが存在する場合、関数呼び出し部１２４は、評価用文字列に含まれる引数の個数およびデータ型と、ＡＰＩ管理情報に含まれるＡＰＩ１３２の引数の個数およびデータ型を比較することにより、引数が適切かどうかを判定する（ステップＳ２３）。
【００４２】
ＡＰＩが存在しない場合または引数が適切ではない場合、関数呼び出し部１２４は、ＡＰＩが存在しないことまたは引数が適切ではないことを示すエラー情報を生成し、入出力部１１０は、当該エラー情報をＰＣ２０に出力する（ステップＳ２６）。
【００４３】
一方、引数が適切である場合、関数呼び出し部１２４は、評価用文字列に基づき、引数を指定してＡＰＩ１３２を呼び出す（ステップＳ２４）。より具体的には、関数呼び出し部１２４は、例えば、「call API_1(10)」といった呼び出し文を実行し、ＡＰＩ部１３０に対してＡＰＩ「API_1」に引数「10」を入力した場合の戻り値を返すことを要求する要求情報を出力する。
【００４４】
評価結果生成部１２６は、当該要求情報に対するＡＰＩ部１３０からの応答情報に含まれる戻り値（例えば、「０１０１」等）を文字列（例えば、「５」等）に変換して評価結果情報を生成し、入出力部１１０は、当該評価結果情報をＰＣ２０に出力する（ステップＳ２５）。
【００４５】
図４に示すＡＰＩ呼び出し処理（ステップＳ１６）終了後、図３に示すように、文字列解釈部１２２は、文字バッファをクリアする（ステップＳ１８）。
【００４６】
図３に示す評価処理（ステップＳ２）終了後、図２に示すように、評価結果表示部２２０は、ファームウェアシステム１０からの出力が正常かどうかを判定する（ステップＳ３）。
【００４７】
正常ではない場合、すなわち、エラー情報が出力された場合、評価結果表示部２２０は、当該エラー情報に基づき、エラーメッセージを表示する（ステップＳ５）。
【００４８】
一方、正常である場合、すなわち、評価結果情報が出力された場合、評価結果表示部２２０は、評価結果情報に基づき、評価結果（例えば、「５」等）を表示する（ステップＳ４）。
【００４９】
ファームウェアシステム１０およびＰＣ２０は、以上の処理を評価が終了するまで（ステップＳ６）実行する。
【００５０】
評価が終了し、製品を出荷する段階になった場合、更新部２３０は、評価用ユーザーインターフェース部１２０に代えて製品版ユーザーインターフェース部が含まれるようにファームウェアシステム１０を更新する（ステップＳ７）。より具体的には、更新部２３０は、例えば、ファームウェアから評価用ユーザーインターフェース部１２０のモジュールを削除し、製品版ユーザーインターフェース部のモジュールをファームウェアに追加する。
【００５１】
以上のように、本実施例によれば、ユーザーは、評価用文字列を用いてハードウェア制御関数に関する評価を行うことができる。これにより、ユーザーは、インタープリタ言語を使用する感覚でハードウェア制御用のＡＰＩ１３２を直接使用することができる。また、ＩＣＥ等の特別な機器を用いる必要はないため、ファームウェアのハードウェア制御関数に関する評価を行う場合の利便性をより向上させることができる。
【００５２】
また、本実施例によれば、ファームウェア評価システムは、ファームウェアシステム１０内の評価用ユーザーインターフェース部１２０を用いてハードウェア制御関数を使用して評価することができる。これにより、ユーザーは、製品版ユーザーインターフェース部を用いることなくハードウェア制御関数を使用した評価を行うことができるため、製品版ユーザーインターフェース部の完成を待たずに評価を行うことができ、ファームウェアの開発効率が向上する。
【００５３】
さらに、本実施例によれば、ファームウェア評価システムは、ファームウェア評価における利便性と開発効率を向上させることができるため、ファームウェアの品質も向上させることができる。
【００５４】
また、本実施例によれば、ファームウェア評価システムは、評価に用いた評価用ユーザーインターフェース部１２０を評価終了後に除去することができ、評価を行うことによるファームウェアの容量増加を抑制することができる上、製品には評価用ユーザーインターフェース部１２０が含まれないため評価用ユーザーインターフェース部１２０に起因する製品の動作不良をなくすことができる。
【００５５】
なお、本発明の適用は上述した実施例に限定されず、種々の変形が可能である。
【００５６】
例えば、上述した実施例では、ファームウェア評価システムは、ＡＰＩ１３２に関する評価を行ったが、ＡＰＩ１３２以外のファームウェアに関する評価を行ってもよい。すなわち、ファームウェア評価システムは、ファームウェアに含まれる定数、変数等の存在を確認する評価を行ってもよい。
【００５７】
また、評価用文字列の内容、ＡＰＩの呼び出し方法等は上述した実施例に限定されず、一般的に用いれている任意の手法を採用可能である。例えば、ＡＰＩを呼び出す際の引数は変数でもよい。引数が変数の場合、関数呼び出し部１２４が、変数名、変数の型、変数の値が対応付けされた変数管理情報に基づいて引数が適切かどうかを判定することができる。
【００５８】
また、ファームウェア評価システムの用途は、ＡＰＩ１３２のテストを行う目的に限定されず、ＡＰＩ１３２の挙動を確認することによる開発者の教育目的等であってもよい。
【００５９】
また、上述した実施例では、ファームウェア評価システムは、ＰＣ２０を含んでいるが、ＰＣ２０を含まなくてもよい。
【図面の簡単な説明】
【００６０】
【図１】本実施例におけるファームウェア評価システムの機能ブロック図である。
【図２】本実施例におけるファームウェア評価処理の流れを示すフローチャートである。
【図３】本実施例における評価処理の流れを示すフローチャートである。
【図４】本実施例におけるＡＰＩ呼び出し処理の流れを示すフローチャートである。
【符号の説明】
【００６１】
１０  ファームウェアシステム（ファームウェア評価システム）、２０  ＰＣ（ホストコンピュータ、ファームウェア評価システム）、１１０  入出力部、１２０  評価用ユーザーインターフェース部、１２２  文字列解釈部、１２４  関数呼び出し部、１２６  評価結果生成部、１３０  ＡＰＩ部（関数記憶部）、１３２  ＡＰＩ（ハードウェア制御関数）、２３０  更新部
【図１】
2007219893.tif 000003
【図２】
2007219893.tif 000004
【図３】
2007219893.tif 000005
【図４】
2007219893.tif 000006