(57)【要約】【課題】マイコンシステムでのデバッガを使用したプログラムデバッグにおいて、アドレスで指定したデータ表示を、プログラム作成者が意図した形式と、システム状態に最適な表示を実施しプログラムの開発効率の向上を目的とする。【解決手段】プログラムから生成されるシンボル名、アドレス、データ型および、使用される条件のデバッグ情報をデバッガに保持し、そのデバッグ情報から指定されたアドレスのデータ型を判断し（５０１）、データの型に合わせた形式で表示させる（５０２）。また、同一アドレスに配置された異なった目的で使用されるデータの表示では、そのアドレスでデバッグ情報を検索し、そのアドレスに合致したデータの使用される条件を取り出し、その条件と表示するタイミングでのシステム状態より表示するべきデータ内容を表示する。【選択図】    図５
2004318210.tif 000002
【特許請求の範囲】
【請求項１】
データの型を指定しメモリ空間上に配置する言語でプログラムされたマイコンシステムのデバッガであって、メモリ空間上の任意に指定されたアドレスの前記データを前記プログラムで記述された前記データの型に従い、前記データを表示する機能を持ったデバッガ。
【請求項２】
マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおける前記データの表示方法であって、デバッグの対象となる前記マイコンのメモリ空間に配置される前記データに関するデータシンボル名とアドレス情報と型情報を持つデバッグ情報を利用して、前記デバッグを行う前記データのアドレスを指定して前記デバッグ情報を基に指定された前記アドレス上の前記データシンボル名と前記型情報を得る情報取得工程と、指定された前記アドレスの前記データを前記データシンボル名と前記型情報と共に表示する表示工程とを含む表示方法。
【請求項３】
マイコンシステム内部の状態により使用されないデータが存在するマイコンシステムのデバッガであって、コンパイラシステムから出力されるデータの使用条件とデータシンボル名および前記データの配置アドレスとを関連付けたデバッグ情報と、デバッグする前記マイコンシステム内部の状態による使用条件から、任意に指定されたアドレスのデータ表示において、表示のタイミングで前記マイコンシステム内部の状態により使用されないデータの表示を抑制する機能を持ったデバッガ。
【請求項４】
マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおける前記データの表示方法であって、前記デバッグの対象となる前記マイコンの前記メモリ空間に配置される前記データに関するデータシンボル名とアドレス情報と型情報と対応する、前記マイコンのメモリ空間に配置されるデータが使用される条件情報を持つデバッグ情報を利用して、前記デバッグを行う前記データのアドレスを指定して前記デバッグ情報を基に指定された前記アドレス上の前記データの条件情報を得る条件情報取得工程と、前記条件情報取得工程で得られた前記条件情報が前記マイコンのシステムで有効であるかを判断する判断工程と、前記判断工程の結果有効であれば前記データを表示して有効でなければ表示しない若しくは無効表示する表示判断工程とを含む表示方法。
【請求項５】
排他的に使用される複数のデータがメモリ空間の同一アドレスに配置されているマイコンシステムのデバッガであって、コンパイラシステムから出力されるデータの選択条件とデータシンボル名およびデータの配置アドレスとを関連付けたデバッグ情報と、デバッグするマイコンシステム内部の状態による選択条件から、任意に指定されたアドレスの前記データを表示のタイミングで前記マイコンシステム内部の状態により選択した、データの型に従ったデータ表示を行う機能を持ったデバッガ。
【請求項６】
マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおける前記データの表示方法であって、デバッグの対象となる前記マイコンの前記メモリ空間に配置される前記データに関するデータシンボル名とアドレス情報と型情報と対応する前記マイコンのメモリ空間に配置されるデータが使用される条件情報を持つデバッグ情報を利用して、デバッグを行うデータのアドレスを指定して前記デバッグ情報を基に指定された前記アドレス上のデータの条件情報を得る条件情報取得工程と、前記条件情報取得工程で得られた前記条件情報を基に表示タイミングを制御する工程を含む表示方法。
【請求項７】
排他的に使用されるデータが同じメモリ空間のアドレスに配置されているマイコンシステムにおけるコンパイラシステムであって、プログラム上に記述された選択条件とデータの型から、選択条件とデータシンボル名およびデータの配置アドレスを関連付けたデバッグ情報を出力するコンパイラシステム。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、プログラム開発装置等において、データの型を指定する機能を持つ言語で記述されたプログラムをデバッグするデバッガ、表示方法、およびデバッガに使用されるデバッグ情報を出力するコンパイラシステムに関するものである。
【０００２】
【従来の技術】
マイコンシステムのデバッグには図１にある評価システムを使用し、ホストＰＣ１０１上で実行されるデバッガによってマイコンで処理されるデータを表示させ確認を行う。応用機器１０６にはデバッグの対象となるプログラムを持つマイコン１０７があり、マイコンプログラムを開発用に実行させるインサーキット・エミュレータ１０５を介してマイコン１０７のプログラムをＰＣ１０１内のデバッガソフト１０３に取込み、デバッグを実行する。
【０００３】
従来は、データの型を指定する機能を持った言語で記述されたプログラムをデバッグする際においては、デバッグ情報１０４にてデータシンボル名を指定してデータの値を表示させる方法でデータの型に合わせて、ディスプレイ１０２にて内容を表示させていた。
【０００４】
一方、アドレスを指定してのデータ表示を実施した場合、データ表示は図２に示すようにプログラムで指定したデータの型と無関係に、デバッガに指定した型で表示されていた（例えば、非特許文献１参照。）図２は、データアドレス２０４を“８０００”と指定し、１ｂｙｔｅ形式表示および２ｂｙｔｅ形式表示を指定した場合であり、データアドレス“８０００”のデータ値２０５が１ｂｙｔｅ形式表示２０６と２ｂｙｔｅ形式表示２０７のように表示されている。２０１は１ｂｙｔｅ形式表示コマンド、２０２は２ｂｙｔｅ形式表示コマンド、２０３は表示データアドレスを示す。
【０００５】
【非特許文献１】
松下電器産業株式会社、”ＭＮ１０３０／ＭＮ１０３ＳシリーズＣソースコード・デバッガｆｏｒ  Ｗｉｎｄｏｗｓ（Ｒ）  ユーザーズマニュアル“、［ｏｎｌｉｎｅ］、２００２年６月発行、［平成１５年１月１６日検索］、インターネット＜ＵＲＬ：  ｈｔｔｐｓ：／／ｗｗｗ．ｓｅｍｉｃｏｎ．ｐａｎａｓｏｎｉｃ．ｃｏ．ｊｐ／ｍｉｃｏｍ／ｍａｎｕａｌ／ｇｅｎｅｒａｌ．ｈｔｍｌ＞
【０００６】
【発明が解決しようとする課題】
機器組み込み用マイコンシステムでは、マイコンで処理されるデータがマイコンのメモリ空間の絶対的な位置に配置される場合が多い。この場合、今までのデバッガでは、開発者は確認したいデータの正確なアドレスと型、もしくは、データシンボル名を正確にデバッガに入力する方法でのみ、プログラムに記述されたデータ型により表示させることが可能であり、大雑把なアドレスの指定での表示や、多数のデータ表示をデバッガへの一つの指示で出来ず、データの確認効率が低かった。
【０００７】
また、通常のマイコンシステムのデータ３０３〜３０５は図３（ａ）に示すようにメモリ３０１のアドレス３０２で指定されたメモリ空間上に重複されること無く配置される。しかしながら、機器組み込み用マイコンシステムではコスト削減のため、マイコンが処理するデータ３０３〜３０５が時間で排他的に使用される場合、図３（ｂ）に示すように同一のアドレス空間（８０００〜８００３）に異なった用途を持つデータ３０３、３０４を配置し、使用するメモリ容量を削減しており、同じアドレスに異なった型のデータが配置されるか、特定の排他状態ではデータが存在しないことになる。
【０００８】
この場合、今までのデバッガでは特定のデータが使用されない排他状態においても、デバッガに設定したデータをすべて表示しており、無意味なデータ表示が行われていた。また、アドレスを指定したデバッガでのデータ表示においては、デバッガに一意に設定したデータの型での表示から、表示する時点の排他状態を使用者が判断し、その排他状態でのプログラムに記述されている型に置き換えて参照する必要がありデバッグ効率が悪くなっていた。
【０００９】
したがって、この発明の目的は、デバッグ効率の向上を図ることができるデバッガ、表示方法およびコンパイラシステムを提供することである。
【００１０】
【課題を解決するための手段】
請求項１記載のデバッガは、データの型を指定しメモリ空間上に配置する言語でプログラムされたマイコンシステムのデバッガであって、メモリ空間上の任意に指定されたアドレスのデータをプログラムで記述されたデータの型に従い、データを表示する機能を持ったものである。
請求項１記載のデバッガによれば、デバッガのアドレス指定でのデータ表示に、表示されるデータのプログラムで記述された型で表示する機能を付加することにより、データシンボル名からでなく、アドレスを指定することで求めるデータの型に応じた表示を自動に行うことが可能になり、コストの低減が求められるマイコン組み込みシステムのプログラムデバッグ効率の向上を図ることができる。
【００１１】
請求項２記載の表示方法は、マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおけるデータの表示方法であって、デバッグの対象となるマイコンのメモリ空間に配置されるデータに関するデータシンボル名とアドレス情報と型情報を持つデバッグ情報を利用して、デバッグを行うデータのアドレスを指定してデバッグ情報を基に指定されたアドレス上のデータシンボル名と型情報を得る情報取得工程と、指定されたアドレスのデータをデータシンボル名と型情報と共に表示する表示工程とを含むものである。
【００１２】
請求項２記載の表示方法によれば、請求項１と同様な効果がある。
【００１３】
請求項３記載のデバッガは、マイコンシステム内部の状態により使用されないデータが存在するマイコンシステムのデバッガであって、コンパイラシステムから出力されるデータの使用条件とデータシンボル名およびデータの配置アドレスとを関連付けたデバッグ情報と、デバッグするマイコンシステム内部の状態による使用条件とから、任意に指定されたアドレスのデータ表示において、表示のタイミングでマイコンシステム内部の状態により使用されないデータの表示を抑制する機能を持ったものである。
【００１４】
請求項３記載のデバッガによれば、請求項１と同様な効果のほか、排他状態の条件とデータの型とを関連付けたデバッグ情報から、排他状態により有効なデータのみを表示することができる。
【００１５】
請求項４記載の表示方法は、マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおけるデータの表示方法であって、デバッグの対象となるマイコンのメモリ空間に配置されるデータに関するデータシンボル名とアドレス情報と型情報と対応する、マイコンのメモリ空間に配置されるデータが使用される条件情報を持つデバッグ情報を利用して、デバッグを行うデータのアドレスを指定してデバッグ情報を基に指定されたアドレス上のデータの条件情報を得る条件情報取得工程と、条件情報取得工程で得られた条件情報がマイコンのシステムで有効であるかを判断する判断工程と、判断工程の結果有効であればデータを表示して有効でなければ表示しない若しくは無効表示する表示判断工程とを含むものである。
【００１６】
請求項４記載の表示方法によれば、請求項３と同様な効果がある。
【００１７】
請求項５記載のデバッガは、排他的に使用される複数のデータがメモリ空間の同一アドレスに配置されているマイコンシステムのデバッガであって、コンパイラシステムから出力されるデータの選択条件とデータシンボル名およびデータの配置アドレスとを関連付けたデバッグ情報と、デバッグするマイコンシステム内部の状態による選択条件から、任意に指定されたアドレスのデータを表示のタイミングでマイコンシステム内部の状態により選択した、データの型に従ったデータ表示を行う機能を持ったものである。
【００１８】
請求項５記載のデバッガによれば、請求項１と同様な効果のほか、同一アドレスに配置されたデータの型を排他状態により選択しその型でデータ表示することができる。
【００１９】
請求項６記載の表示方法は、マイコンのメモリ空間にデータが配置されるプログラムのデバッグにおけるデータの表示方法であって、デバッグの対象となるマイコンのメモリ空間に配置されるデータに関するデータシンボル名とアドレス情報と型情報と対応するマイコンのメモリ空間に配置されるデータが使用される条件情報を持つデバッグ情報を利用して、デバッグを行うデータのアドレスを指定してデバッグ情報を基に指定されたアドレス上のデータの条件情報を得る条件情報取得工程と、条件情報取得工程で得られた条件情報を基に表示タイミングを制御する工程を含むものである。
【００２０】
請求項６記載の表示方法によれば、請求項５と同様な効果がある。
【００２１】
請求項７記載のコンパイラシステムは、排他的に使用されるデータが同じメモリ空間のアドレスに配置されているマイコンシステムにおけるコンパイラシステムであって、プログラム上に記述された選択条件とデータの型から、選択条件とデータシンボル名およびデータの配置アドレスを関連付けたデバッグ情報を出力するものである。
【００２２】
請求項７記載のコンパイラシステムによれば、プログラムに記述された、排他状態、排他状態を判断する条件、データが使用される排他状態とそのデータの型から、それらの情報をデバッガで使用される情報として出力することができる。
【００２３】
【発明の実施の形態】
以下に、本発明の実施の形態について説明する。
【００２４】
（実施の形態１）
図１の評価システムにおけるデバッグ情報１０４として、図４に示すようなデバッガのメモリにコンパイラシステムから出力されるデータシンボル名４０１とメモリ上のアドレス情報４０２、および対応するデータの型情報４０３を関連付けて保持しておく。アドレスを指定してのデータ表示時の手順を、データ表示フロー図である図５に示す。処理５０１で指定したアドレスをデバッグ情報１０４のアドレス情報４０２より検索し、そのアドレスに配置されたデータのシンボル名および、型情報を得る。処理５０２では処理５０１で得られた型情報によりメモリから取得したデータを処理５０１で取得したデータシンボル名と共に、型情報で整形して図６に示すように表示する。処理５０３では表示したデータのアドレスに、処理５０１で得られた型情報より表示したデータの長さを加算し、次に表示するアドレスを計算する。判断５０４では処理５０３で計算した次に表示すべきデータのアドレスが指定された範囲内かを判断し、指定された範囲を超えた場合表示処理は終了となる。範囲を超えずに次に表示すべきデータがある場合は、処理５０１に戻り新たなデータを表示する。これらの処理によりアドレスで指定したデータ表示時に図６に示すデータの型に基づいた表示が可能となる。６０１はデータ表示コマンド、６０２はデータシンボル名である。
【００２５】
（実施の形態２）
図１の評価システムにおいて、実施の形態１におけるデバッグ情報１０４に、対応するデータが使用される条件情報７０２を追加し、図７のデバッグ情報７０１としてデバッガのメモリに保持しておく。データ内容表示において、使用される条件に合わないため使用されないデータ表示を抑制する手順を、データ表示フロー図８に示す。処理８０１では表示するアドレスをデバッグ情報１０４のアドレス情報４０２より検索し、そのアドレスに配置されたデータの条件情報７０２を得る。処理８０２では条件情報７０２と、条件の判定に必要な現在のマイコンシステムの状態により、表示の有無を判断する。処理８０２で判断し結果に基づき、処理８０３および処理８０４を選択し、図９に示すように指定されたアドレスのデータ表示もしくはデータが使用されていないことの表示（表示しないかまたは無効表示）を実施する。処理８０５では表示したデータのアドレスに、表示したデータの長さを加算し、次に表示するアドレスを計算する。判断８０６では処理８０５で計算した次に表示すべきデータのアドレスが指定された範囲内かを判断し、指定された範囲を超えた場合表示処理は終了となる。範囲を超えずに次に表示すべきデータがある場合は、処理８０１に戻り新たなデータを表示する。これらの処理によりアドレスで指定したデータ表示時に図９に示す現在の状態での使用の有無に基づいた表示が可能となる。なお、指定されたアドレスのデータ表示をデータの型に基づいて表示する点は実施の形態１と同様である。
【００２６】
（実施の形態３）
実施の形態２で図７のデバッグ情報７０１をメモリに保持したデバッガにおいて、データ内容表示のタイミングで条件に一致する型でデータ表示を実施する手順を、データ表示フロー図である図１０に示す。処理Ａ０１では表示するアドレスをデバッグ情報７０１のアドレス情報４０２より検索し、そのアドレスに配置された複数のデータのシンボル名４０１、型情報４０３および条件情報７０２を得る。処理Ａ０２では条件情報７０２と、条件の判定に必要な現在のマイコンシステムの状態により、表示するタイミングでの表示の有無および、表示すべきデータのシンボル名を得る。処理Ａ０３では処理Ａ０２で得たシンボル名と、シンボル名に対応する処理Ａ０１で得られた型情報より、図１１に示すように指定されたアドレスのデータを表示するタイミングで選択される型でのデータ表示を実施する。処理Ａ０４では表示したデータのアドレスに、処理Ａ０１で得られた型情報より表示したデータの長さを加算し、次に表示するアドレスを計算する。判断Ａ０５では処理Ａ０４で計算した次に表示すべきデータのアドレスが指定された範囲内かを判断し、指定された範囲を超えた場合表示処理は終了となる。範囲を超えずに次に表示すべきデータがある場合は、処理Ａ０１に戻り新たなデータを表示する。
【００２７】
こうして、マイコンシステムでのデバッガを使用したプログラムデバッグにおいて、アドレスで指定したデータ表示を、プログラム作成者が意図した形式と、システム状態に最適な表示を実施しプログラムの開発効率の向上を図れる。
【００２８】
（実施の形態４）
図１２に排他条件で同一のメモリ空間にデータを配置するプログラムのデータ宣言例を示す。この宣言ではメモリ共有を示すメモリ共有用宣言子Ｂ０５、状態の判断に使用する条件判断用情報Ｂ０４と状態識別子Ｂ０１が含まれる。Ｂ０２はデータ型、Ｂ０３はデータシンボル名である。この宣言によりコンパイラシステムはデータをマイコンのメモリ空間に図３（ｂ）の配置で確保するとともに、コンパイラシステムは図７のデバッグ情報７０１を出力させ、そのデバッグ情報７０１にはデータシンボル名４０１とメモリ上のアドレス上４０２、および対応するデータの型情報４０３、データが使用される条件情報７０２が含まれる。
【００２９】
【発明の効果】
請求項１記載のデバッガによれば、デバッガのアドレス指定でのデータ表示に、表示されるデータのプログラムで記述された型で表示する機能を付加することにより、データシンボル名からでなく、アドレスを指定することで求めるデータの型に応じた表示を自動に行うことが可能になり、コストの低減が求められるマイコン組み込みシステムのプログラムデバッグ効率の向上を図ることができる。
【００３０】
請求項２記載の表示方法によれば、請求項１と同様な効果がある。
【００３１】
請求項３記載のデバッガによれば、請求項１と同様な効果のほか、排他状態の条件とデータの型とを関連付けたデバッグ情報から、排他状態により有効なデータのみを表示することができる。
【００３２】
請求項４記載の表示方法によれば、請求項３と同様な効果がある。
【００３３】
請求項５記載のデバッガによれば、請求項１と同様な効果のほか、同一アドレスに配置されたデータの型を排他状態により選択しその型でデータ表示することができる。
【００３４】
請求項６記載の表示方法によれば、請求項５と同様な効果がある。
【００３５】
請求項７記載のコンパイラシステムによれば、請求項１と同様な効果のほか、プログラムに記述された、排他状態、排他状態を判断する条件、データが使用される排他状態とそのデータの型から、それらの情報をデバッガで使用される情報として出力することができる。
【図面の簡単な説明】
【図１】マイコンシステムのデバッガのブロック図である。
【図２】従来のアドレスを指定してのデバッガでのデータ表示例の説明図である。
【図３】マイコンシステムのメモリへのデータ配置を説明する説明図である。
【図４】本発明の実施の形態１で使用されるデバッグ情報の説明図である。
【図５】本発明の実施の形態１でデータ表示する処理フローチャートである。
【図６】本発明の実施の形態１でのデータ表示例の説明図である。
【図７】本発明の実施の形態２および３で使用され、また実施の形態４で出力されるデバッグ情報の説明図である。
【図８】本発明の実施の形態２でデータ表示する処理フローチャートである。
【図９】本発明の実施の形態２でのデータ表示例の説明図である。
【図１０】本発明の実施の形態３でデータ表示する処理フローチャートである。
【図１１】本発明の実施の形態３でのデータ表示例の説明図である。
【図１２】本発明の実施の形態４で使用される、データの宣言のプログラム例の説明図である。
【符号の説明】
１０１  デバッガ動作用ＰＣ
１０３  デバッガソフト
１０４  ＰＣ上のメモリに配置されたデバッガ用デバッグ情報
２０４  データ表示コマンドで表示されるデータアドレス
２０５  データ表示コマンドで表示されるデータ値
３０１  マイコンシステム上のデータ配置するメモリ
３０３  状態Ａで使用されるマイコンメモリ上に配置されたデータ
３０４  状態Ｂで使用されるマイコンメモリ上に配置されたデータ
３０５  状態Ａ、Ｂ両方で使用されるマイコンメモリ上に配置されたデータ
４０１  デバッグ情報内のデータシンボル名情報
４０２  デバッグ情報内のデータアドレス情報
４０３  デバッグ情報内のデータアドレス情報
４０３  デバッグ情報内のデータ型情報
６０２  データ表示コマンドで表示されるデータシンボル名
７０２  デバッグ情報内の有効条件情報
【図１】
2004318210.tif 000003
【図２】
2004318210.tif 000004
【図３】
2004318210.tif 000005
【図４】
2004318210.tif 000006
【図５】
2004318210.tif 000007
【図６】
2004318210.tif 000008
【図７】
2004318210.tif 000009
【図８】
2004318210.tif 000010
【図９】
2004318210.tif 000011
【図１０】
2004318210.tif 000012
【図１１】
2004318210.tif 000013
【図１２】
2004318210.tif 000014