(57)【要約】【課題】特に外部との通信機能を有するファームウエアの開発において、特別なデバッグポートが不要で、ＩＣＥの使用が不要な方法を提供することを目的とする。【解決手段】装置の監視制御をする上位制御部とメモリを有する監視制御部と、該制御部からの制御により動作する下位制御部及びそれを制御するファームウエアを格納するメモリと、前記上位制御部のメモリ内に、前記下位制御部をデバッグし、かつメモリの読出し／書き込みをするためのメモリコマンドを送出し、前記下位制御部からのデバッグ結果を受け取るためのメモリコマンド送出／応答部と、前記下位制御部のメモリ内に、前記上位制御部からのメモリコマンドを受信し、デバッグを実施した結果を返答するメモリコマンド受信／応答部を有することにより、ＩＣＥが不要となる。【選択図】　　　図１
2004030075.tif 000002
【特許請求の範囲】
【請求項１】
装置の監視制御をする上位制御部とメモリを有する監視制御部と、該制御部からの制御により動作する下位制御部及びそれを制御するファームウエアを格納するメモリと、前記上位制御部のメモリ内に、前記下位制御部をデバッグし、かつメモリの読出し／書き込みをするためのメモリコマンドを送出し、前記下位制御部からのデバッグ結果を受け取るためのメモリコマンド送出／応答部と、前記下位制御部のメモリ内に、前記上位制御部からのメモリコマンドを受信し、かつデバッグを実施した結果を返答するメモリコマンド受信／応答部を有することを特徴とするデバッグ装置。
【請求項２】
上位制御部のメモリ内のコマンド送出／応答部が、デバッグを実行しかつメモリを読出し／書き込みするためのメモリコマンドを送出し、下位制御部のメモリ内のメモリコマンド受信／応答部が該コマンド送出／応答部から送出されたメモリコマンドを受信し、メモリ内に格納されたファームウエアのデバッグを実施し、その結果を該コマンド送出／応答部へ返答することを特徴とするデバッグ方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ＣＰＵにより動作を制御する各種装置のファームウエア開発における、デバッグを実施するデバッグ装置及びデバッグ方法に関する。
【０００２】
【従来の技術】
従来、ＣＰＵを搭載して動作する装置には、その装置の制御に適したプログラム（ファームウエア）が開発されインストールされる。例えば、伝送装置のファームウエア開発段階では、伝送装置を制御するＣＰＵが正常にそのファームウエアで実行されるかを検証するため、繰り返しデバッグ作業が行われる。そのデバッグ作業には一般的にインサーキットエミュレータ（ＩＣＥ）を接続して試験を行っている。
【０００３】
ＩＣＥはデバッグ対象のＣＰＵと同等の動作をし、あらかじめ対象装置で実行されるファームウエアがローデイングされ、対象装置のＣＰＵに代わってそのファームウエアを実行する。ファームウエア開発者は、ＩＣＥに接続したＰＣ（パソコン）やＷＳ（ワークステーション）から、プログラムの実行番地やレジスタの値などを指示して、ファームウエアの動作をトレースする。
【０００４】
図７に示す従来の主信号系ハードウエアをデバッグする場合、デバッグ用コネクタ１８にＩＣＥを接続し、メモリ９内のファームウエア、ＣＰＵ周辺回路１７及びＬＳＩ・汎用ハードウエア回路１６のデバッグを実施している。
なお、図４のメモリ（ＭＥＭ）９内にはＣＰＵ８を動作させるプログラム１３が搭載されており、デバッグでこの動作を検証している。
【０００５】
【発明が解決しようとする課題】
上記のファームウエア開発方法は、一般的には有効な手段であるが、以下のような問題点が指摘されている。
ＩＣＥを使う方法においては、高価なＩＣＥ設備の用意やＩＣＥ接続のための実装スペースが必要となり、製品での試験においては経済面や小型化に問題が生じる。
【０００６】
また、ＣＰＵの動作速度向上に対応するためのハード的な速度の限界も出てきている。さらに、図７に示した様にデバッグポートのためのコネクタを製品上に実装する必要がある等、製品の小型化の上でも制限が生じる。そこで本発明は、ファームウエアの開発において、特に外部との通信機能を有するファームウエアの開発において、特別なデバッグポートが不要で、ＩＣＥの使用が不要な方法を提供とすることを目的とするものである。
【０００７】
【課題を解決するための手段】
本発明は上記課題を解決するため次の構成及び方法を採用する。
装置の監視制御をする上位制御部とメモリを有する監視制御部と、該制御部からの制御により動作する下位制御部及びそれを制御するファームウエアを格納するメモリとを、前記上位制御部のメモリ内に、前記下位制御部をデバッグし、かつメモリの読出し／書き込みをするためのメモリコマンドを送出し、前記下位制御部からのデバッグ結果を受け取るためのメモリコマンド送出／応答部と、前記下位制御部のメモリ内に、前記上位制御部からのメモリコマンドを受信し、かつデバッグを実施した結果を返答するメモリコマンド受信／応答部を有する。
【０００８】
上位制御部のメモリ内のコマンド送出／応答部がデバッグを実行しかつメモリを読出し／書き込みするためのメモリコマンドを送出し、下位制御部のメモリ内のメモリコマンド受信／応答部が該コマンド送出／応答部から送出されたメモリコマンドを受信し、メモリ内に格納されたファームウエアのデバッグを実施し、その結果を該コマンド送出／応答部へ返答する。
【０００９】
【発明の実施の形態】
以下本発明の実施の形態を具体例を用いて説明する。
通信装置への適用例、例えば伝送装置の場合を図１に示す。本装置は、外部インタフェースケーブル２を介して外部制御端末１により制御され装置全体の監視制御を行う監視制御部４、主信号を処理するための主信号部７及び監視制御部４の上位ＣＰＵ５と主信号部７の下位ＣＰＵ８をつなぐ通信パス１２とから構成されている。監視制御部４は上位ＣＰＵ５及びそれを制御するファームウエア（プログラム）がインストールされているメモリ（ＭＥＭ）６が搭載されている。
また、主信号部７には下位ＣＰＵ８及びそれを制御するファームウエア（プログラム）がインストールされているメモリ（ＭＥＭ）９が搭載されている。上位ＣＰＵ５は、通信パス１２を介して下位ＣＰＵ８を制御している。さらに、主信号部７では、下位ＣＰＵ８のさらなる下位ＣＰＵとしてＣＰＵ１０及びそれを制御するファームウエア（プログラム）がインストールされているメモリ（ＭＥＭ）１１を搭載している場合もある。
【００１０】
図２及び図３に本発明による監視制御部及び主信号部メモリ（ＭＥＭ）内ファーム構成を示す。監視制御部４のメモリ（ＭＥＭ）６内のファームウエアと主信号部のメモリ（ＭＥＭ）９内のファームウエアに、主信号部７に搭載されているＣＰＵ８がメモリ（ＭＥＭ）９内のプログラム１３で正常に動作するかどうかのデバッグを行うためのメモリコマンド送出／応答部１４とメモリコマンド受信／応答部１５とをそれぞれ設けた。
【００１１】
図１の動作の説明をする。
まずデバッグ開始時、監視制御部４のＣＰＵ５は外部制御端末（ＷＳ）１からのデバッグ用プログラムをインタフェースケーブル２を介してメモリ６に格納する。メモリ６のメモリコマンド送出／応答部は、ＣＰＵ５の制御により通信パス１２を介して、主信号部７に搭載されているＬＳＩ・汎用ハードウエアをデバッグするため、メモリコマンドとしてＬＳＩ汎用コマンドを送出する。主信号部７のメモリ９内のメモリコマンド受信／応答部は、上位ＣＰＵ５より送られてきたＬＳＩ汎用コマンドを受信し、ＣＰＵ８の制御によりコマンドをデコードして該当ＬＳＩ・汎用ハードウエアのデバッグを実施し、その結果をメモリ９内のメモリコマンド受信／応答部より、通信パス１２を介して上位ＣＰＵ５のメモリ６のメモリコマンド送信／応答部に返答することにより、主信号部７に搭載されているＬＳＩ・汎用ハードウエアをデバッグすることが出来る。
【００１２】
図５には、図１の監視制御部４と主信号部７間の通信フレーム構成を示す。
図５の（ａ）は、主信号部の汎用的ハードウエアとしてＬＳＩを制御するＬＳＩ汎用コマンド及び応答フレームを示す。
このフレームは、その先頭から識別子（１６バイト）、ＬＳＩ識別子（２バイト）、ＬＳＩ内制御対象（２バイト）、コマンド（４バイト）及びデータ（ｎバイト）から成る。
【００１３】
識別子は、コマンドが書き込み状態であるか読出し状態であるかの区別をするためのものである。また、識別子はプロトコルに依存する。
ＬＳＩ識別子は、デバッグ対象であるＬＳＩを特定するためのものである。例えば、ＬＳＩ−１は”０００１ｈ”、ＬＳＩ−２は”０００２ｈ”、ＬＳＩ−３は”０００３ｈ”とする。”０００ｎｈ”は１６進数のコードである。
【００１４】
ＬＳＩ内制御対象は、ＬＳＩ内制御対象を特定するためのものである。例えば制御対象１は”０００１ｈ”、制御対象２は”０００２ｈ”、制御対象３は”０００３ｈとする。
コマンドは、デバッグ内容を指示するためのコマンドを表し、任意の形式で定義できる。
データはデバッグのデータ内容を表す。形式は任意で、読出コマンドではｎ＝０とする。
【００１５】
上記のようなＬＳＩ汎用コマンドにより、上位ＣＰＵ５から下位ＣＰＵ８に対しコマンドを送り下位ＣＰＵ８搭載の主信号部７のＬＳＩ・汎用ハードウエアのデバッグを実施することが出来る。また、主信号系ＰＫＧ交換時には、通信装置では信号断が発生するが、上記上位ＣＰＵ５のファーム経由で下位ＣＰＵ８のファームが搭載されている主信号部７のＬＳＩ・汎用ハードウエアの動作を、図５のＬＳＩ汎用のフレームにより変更することが可能となり、信号断を回避できる。
【００１６】
また、上位ＣＰＵ５のファームから下位ＣＰＵ８のファーム管理下のハードウエアを直接制御することにより下位ＣＰＵ８のファームウエアを変更することなく、機能の拡張や変更が可能となる。
プログラムを格納するメモリは一般的にフラッシュメモリが使われる。そのプログラム領域を制御するためのＦｌａｓｈ制御コマンドをメモリコマンドとした時の動作も、前記ＬＳＩ汎用コマンドの場合と同様に、通信パス１２を介して上位ＣＰＵ５から下位ＣＰＵ８にＦｌａｓｈ制御コマンドを送出することにより、メモリ９内のプログラムのデバッグや変更を行うことが出来る。
【００１７】
Ｆｌａｓｈ制御コマンド／応答例を図５（ｂ）に示す。
このフレームは、その先頭から、識別子（１６バイト）、ページ番号（４バイト）及びデータ（ｎバイト）からなる。
識別子は、コマンドが書き込み状態であるか読出し状態であるかの区別をするものである。また、識別子はプロトコルに依存する。
【００１８】
ページ番号は、Ｆｌａｓｈのデータをあらかじめ分割して割り当てておいたページ番号を特定するためのものである。
データはプログラムの動作変更内容や警報状態を示す。読出コマンドではｎ＝０で、データフォーマットはモトローラＳ／Ｉｎｔｅｌ　ＨＥＸ等とする。
このようにして上位ＣＰＵ５から下位ＣＰＵ８を制御することにより下位ＣＰＵ８のファームウエアの変更が可能となる。さらに、上位ＣＰＵ５のファームウエアの変更だけで、あるいは上位ＣＰＵ５のデバッグポートから下位ＣＰＵ８のデバッグや動作変更、ファームウエアダウンロードが可能となり、下位ＣＰＵ８の構成の簡素化が図れる。
【００１９】
さらに、下位ＣＰＵ８のメモリをＲＡＭ動作可能とし、ＲＡＭ（Ｉ／Ｏ）制御コマンドをメモリコマンドとした時の動作も、前記ＬＳＩ汎用コマンドやＦｌａｓｈ制御コマンドの場合と同様に、通信パス１２を介して上位ＣＰＵ５から下位ＣＰＵ８にＲＡＭ（Ｉ／Ｏ）制御コマンドを送出することによりファームウエアダウンロードを不要に出来る。
【００２０】
ＲＡＭ（Ｉ／Ｏ）制御コマンド／応答例を図５（ｃ）に示す。
このフレームは、その先頭から、識別子（１６バイト）、アドレス（４バイト）、データ長（４バイト）及びデータ（ｎバイト）からなる。
識別子は、コマンドが書き込み状態であるか読出し状態であるかの区別をするものである。また、識別子はプロトコルに依存する。
【００２１】
アドレスはＲＡＭ上のアドレスを指定する。
データ長は読出しあるいは書き込みデータのデータの長さを示す。
データは読出し或いは書き込みデータを表す。ただし、読出しコマンドではｎ＝０とする。
【００２２】
このように定義して、下位ＣＰＵ８のメモリをＲＡＭ動作可能とし、ブート部分以外のプログラム自体を常に立ち上がり時に上位ＣＰＵ５から下位ＣＰＵ８のメモリヘダウンロードする構成により、ファームウエアダウンロード自体を不要とすることが出来る。
図６は本発明によるパッケージ構成を示す。図６では、図７に比べて、ＣＰＵ周辺のＩＣＥ接続用スペースをなくすことができ、デバッグ目的用のコネクタ（図７の１８）も不要となる。
【００２３】
また、ＣＰＵ５のファームのデバッグにおいて、制御端末１との通信フレームの中にＣＰＵ５のファームのメモリ制御やハード制御のコマンドを追加することにより、ＣＰＵ５のファームのデバッグが遠隔から可能となる。更に、そのコマンドの中に下位ＣＰＵ８のファームやハードを制御するコマンドを定義することにより、ＣＰＵ８のファームの状況も制御端末１から操作することが可能となる。
【００２４】
ただし、制御端末１は外部に開放されるため、ＣＰＵ５のファームにおいてデバッグ用のコマンドを受付可能かの判断のため、ＣＰＵ５のファームが搭載されているＰＫＧにデバッグＳＷを設け、このＳＷがＯＮのときのみコマンドを受け付けすることにより誤動作防止を図ることが出来る。
【００２５】
【発明の効果】
以上説明したように、本特許の内容により以下の効果が得られる。
・デバッグのための特別なハードを必要としないため、小型の装置のデバッグに有効であり、小型化も容易である。あるいは、デバッグ用のポートを、ログ出力専用にするなど別の用途に使用できる。
・ファームやハードのデバッグに使用するオンラインデバッガ相当の機能を容易
に実現できる。
・ファームの入れ替えをすることなく、パッケージの動作を変更できる。あるい
は、ファームの動作自体を、バッチにより変更できる。
・ファームウエアダウンロードの機能を、ハードを追加することなく実現できる
。
【図面の簡単な説明】
【図１】本発明の通信装置への適用例である。
【図２】本発明による監視制御部ＭＥＭ内ファーム構成図である。
【図３】本発明による主信号部ＭＥＭ内ファーム構成図である。
【図４】従来例によるＭＥＭ内ファーム構成図である。
【図５】ファーム間通信フレーム構成例である。
【図６】本発明による主信号系ハードウエア構成である。
【図７】従来の主信号系ハードウエア構成である。
【符号の説明】
１　制御端末
２　インタフェースケーブル
４　監視制御部
５　監視制御部搭載ＣＰＵ
６　監視制御部搭載ＣＰＵを動作させるメモリ部（ＭＥＭ）
７　主信号部
８　主信号部搭載ＣＰＵ
９　主信号部搭載ＣＰＵを動作させるメモリ部（ＭＥＭ）
１０　主信号部搭載下位ＣＰＵ
１１　主信号部搭載下位ＣＰＵを動作させるメモリ部（ＭＥＭ）
１２　上位ＣＰＵ−下位ＣＰＵ間通信パス
１３　ＣＰＵのメモリ内のプログラム領域
１４　ＣＰＵのメモリ内のメモリコマンド送出／応答部
１５　ＣＰＵのメモリ内のメモリコマンド受信／応答部
１６　ＬＳＩ等汎用ハードウエア
１７　ＣＰＵ周辺回路
１８　デバッグ用コネクタ
【図１】
2004030075.tif 000003
【図２】
2004030075.tif 000004
【図３】
2004030075.tif 000005
【図４】
2004030075.tif 000006
【図５】
2004030075.tif 000007
【図６】
2004030075.tif 000008
【図７】
2004030075.tif 000009