(57)【要約】【課題】  開発対象プログラムを実行中に、発生している割込みに関する情報を開発者がリアルタイムに知ることができる。【解決手段】  開発対象ＲＴＯＳのカーネルの割込み処理部分に、ホストに割込みに関する情報を送るコードを埋め込む。ホストは対象プログラムの実行中に開発対象システムから来る割込みに関する情報を監視しておき、情報が届いたらその情報の内容によって違った音を出す。【選択図】  図１
2006039924.tif 000002
【特許請求の範囲】
【請求項１】
デバッガが動作している開発ホストと接続されている通信手段を備え、割込み情報を開発ホストに送信することができるリアルタイムＯＳと、
開発ターゲットと接続されている通信手段と発音装置を備え、
ターゲットから受信した割込み情報に応じて違う音を発音装置に送信できるデバッガとを合わせた情報処理装置。
【請求項２】
監視ホストと接続されている通信手段を備え、割込み情報を監視ホストに送信することができるリアルタイムＯＳと、
およびそのリアルタイムＯＳが搭載されたコンピュータシステムと、
そのコンピュータシステムと接続されている通信手段を備え、そのコンピュータシステムから受信した割込み情報に応じて音を発音装置に送信できる監視ホストとを合わせた情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、リアルタイムＯＳが稼働している装置を開発するための装置に関する。
【背景技術】
【０００２】
リアルタイムＯＳが稼働している組込み装置を開発するためには、開発ターゲットの装置に別の計算機を接続し、その開発用ホストを使うクロス開発が一般的である。クロス開発は、開発用ホストで開発ターゲットのプログラムを作成し、デバッグを行う。開発ターゲットではリアルタイムＯＳが稼働しており、リアルタイムＯＳは多くのタスクを順次切替えて実行させつつ様々な割込み処理を行うが、デバッグにおいてはタスクが実行された順番やタスクが切替えられたタイミングを監視するほか、起きた割込みの種類や順番を監視することが有効である。従来は開発ターゲットのプログラムの実行中または実行完了後に、タスクの実行順序やタスク切替えのタイミングの情報や起きた割込みの種類を開発用ホストに送信し、実行完了後にグラフなどの図形で表示することが多かった。
【特許文献１】特開2002-229805号公報
【発明の開示】
【発明が解決しようとする課題】
【０００３】
このようなグラフなどで視覚的に表示する方法では、刻々と変化する割込み情報をリアルタイムに把握することが難しく、いつプログラムの実行が異常な状態になるのかを特定することが困難であるという問題があった。
【課題を解決するための手段】
【０００４】
本発明は、かかる問題点を解決して、割込み発生を音で伝達することを特徴とする。
【発明の効果】
【０００５】
すなわち、本発明によれば、ターゲットプログラムの実行中に実行中のタスク情報を利用者に音で知らせることができ、利用者は現在実行中のシステムの状況を即座にかつ感覚的に把握することができる。これは従来の視覚的な手段では得られなかったことである。
【０００６】
また、ターゲットシステムと監視ホストを組み合わせることで、システムの負荷が増えたときに利用者に知らせることができる。
【発明を実施するための最良の形態】
【０００７】
＜実施形態１＞
以下、図面を参照して本発明の詳細を説明する。図1は本発明の一実施例である、発生した割込みに応じて違う音を出す割込み監視システムを説明するものである。
【０００８】
図１において、10は開発対象のターゲットシステムであり、11のRTOSが搭載されている。このシステムには12のタスクが複数存在しており、RTOS11によって制御される。
【０００９】
20は開発用のホストマシンであり、21のデバッガと22の発音装置が搭載されている。ターゲット10とホスト20は通信手段30で接続されている。この通信手段30はシリアルケーブルでも、イーサネット（登録商標）でもその他の手段でも良い。
【００１０】
RTOS11のカーネルの割込み処理を行う部分には、これから処理される割込みの番号を通信手段30を通じてデバッガ21に送信するコードが埋め込まれている。
【００１１】
本システムの動作について図２のフローチャートを用いて説明する。図２のT1〜T4がターゲットシステム上のRTOS11の動作、H1〜H3がホスト上のデバッガ21の動作を表している。
【００１２】
H1においてこのシステムの利用者がデバッガ21を操作してターゲットシステム10を実行させると、RTOS11が起動し、RTOS11がタスク21を複数起動して、このタスクを切替えながら動作する。割込みが発生するとRTOSの割込み処理部が実行される(T1)が、このときにT2で割込み番号を通信手段30を通じてデバッガに送信し、T3において実際の割込み処理を行う。その後T4に遷移し、割込み処理部を終了する。
【００１３】
一方、ターゲットシステム10を実行させたデバッガ21は、H2において通信手段30を監視し、割込み番号の受信を待つ。デバッガ21が割込み番号情報を受信するとH3に遷移し、受信した情報の割込み番号によって異なる音を発音装置22に適した形式で発音装置に送信する。なお、ここで、利用者が指定した割込み番号の時だけ音を送信するようにしてもよい。その後デバッガ21はH2に遷移し、再び割込み番号情報の受信を待つ。
【００１４】
これにより、ターゲットプログラムの実行中に発生した割込みの種類や順序を開発者が知ることができる。
【００１５】
＜実施形態２＞
次に、第2の実施例として、発生した割込みの頻度に応じて鳴りわけるシステムについて説明する。本実施例のシステムの構成図を図３に示す。
【００１６】
図３において、10は開発対象のターゲットシステムであり、11のRTOSが搭載されている。このシステムには12のタスクが複数存在しており、RTOS11によって制御される。
【００１７】
20は開発用のホストマシンであり、21のデバッガと22の発音装置が搭載されている。21のデバッガには、ターゲット10から送られてきた割込み発生情報の回数を数える計測装置23が内蔵されている。ターゲット10とホスト20は通信手段30で接続されている。この通信手段30はシリアルケーブルでも、イーサネット（登録商標）でもその他の手段でも良い。
【００１８】
RTOS11のカーネルの割込み処理を行う部分には、これから処理される割込みの番号を通信手段30を通じてデバッガ21に送信するコードが埋め込まれている。
【００１９】
本システムの動作について図４のフローチャートを用いて説明する。図４のT1〜T4がターゲットシステム上のRTOS11の動作、H1〜H5がホスト上のデバッガ21の動作を表している。
【００２０】
H1においてこのシステムの利用者がデバッガ21を操作してターゲットシステム10を実行させると、RTOS11が起動し、RTOS11がタスク21を複数起動して、このタスクを切替えながら動作する。割込みが発生するとRTOSの割込み処理部が実行される(T1)が、このときにT2で割込み番号を通信手段30を通じてデバッガに送信し、T3において実際の割込み処理を行う。その後T4に遷移し、割込み処理部を終了する。
【００２１】
一方、ターゲットシステム10を実行させたデバッガ21は、H2において通信手段30を監視し、割込み番号の受信を待つ。デバッガ21が割込み番号情報を受信するとH4に遷移し、発生した割込みの回数を計測する。なお、ここで、全ての割込みの発生回数を計測しても良いし、開発者が指定した割込み番号と一致する割込みだけの発生回数を計測しても良い。次にH5で、前回H3を実行してから一定時間が経過したかを判定する。まだ一度もH3を実行したことがなければターゲットプログラムの実行が開始されてから一定時間が経過したかを判定する。ここで一定時間が経過していればH3に遷移し、そうでなければH2に戻る。
【００２２】
H3では、H4で計測した割込み発生回数に応じて異なった音を発音装置22に適した形式で発音装置に送信する。その後デバッガ21はH2に遷移し、再び割込み番号情報の受信を待つ。
【００２３】
これにより、ターゲットプログラムの実行中に発生した割込みの頻度を開発者が知ることができる。
【００２４】
＜実施形態３＞
次に、第3の実施例として、実施例1と実施例2の任意の時点で、開発者が開発ターゲットの異常を察知したらデバッガに指示を出してより詳しく解析できるシステムについて説明する。
【００２５】
図５は本実施例のシステムの構成図である。これは実施例1を発展させたものだが、実施例2をベースに割込み発生回数の計測装置を内蔵しても良い。
【００２６】
図１において、10は開発対象のターゲットシステムであり、11のRTOSが搭載されている。このシステムには12のタスクが複数存在しており、RTOS11によって制御される。
【００２７】
20は開発用のホストマシンであり、21のデバッガと22の発音装置が搭載されている。また、10から送られてきたデバッグ情報を格納できるバッファ25と、ユーザの指示を受け付けるボタン24が搭載されている。ターゲット10とホスト20は通信手段30で接続されている。この通信手段30はシリアルケーブルでも、イーサネット（登録商標）でもその他の手段でも良い。
【００２８】
RTOS11のカーネルの割込み処理を行う部分には、これから処理される割込みの番号を通信手段30を通じてデバッガ21に送信するコードが埋め込まれている。
【００２９】
本システムの動作について図２のフローチャートを用いて説明する。図２のT1〜T4がターゲットシステム上のRTOS11の動作、H1〜H3がホスト上のデバッガ21の動作を表している。
【００３０】
H1においてこのシステムの利用者がデバッガ21を操作してターゲットシステム10を実行させると、RTOS11が起動し、RTOS11がタスク21を複数起動して、このタスクを切替えながら動作する。割込みが発生するとRTOSの割込み処理部が実行される(T1)が、このときにT2で割込み番号を通信手段30を通じてデバッガに送信し、T3において実際の割込み処理を行う。その後T4に遷移し、割込み処理部を終了する。また、割込み発生以外のRTOSの処理(タスクスイッチやセマフォ、イベントフラグなどのカーネルオブジェクトの操作など)でもその情報を通信手段30を通じてデバッガに送信する。
【００３１】
一方、ターゲットシステム10を実行させたデバッガ21は、H2において通信手段30を監視し、割込み番号の受信を待つとともに、デバッグ情報の収集とボタン検知を行う。このとき、RTOS11から送られてきた割込み情報以外のデバッグ情報を収集し、バッファ25に格納する。割込み番号の情報を受信すると、他のデバッグ情報と同じようにバッファ25に格納し、H3に遷移する。
【００３２】
バッファ25には一定量以上のデバッグ情報を格納することができるが、バッファが溢れると古い情報から破棄していき、バッファ内には常に新しい情報が格納されているように制御する。
【００３３】
またH3において、開発者がボタンを押したことを検知すると、それ以上のデバッグ情報の収集を中止し、バッファ内の情報の変更も停止する。ボタンが押されると、デバッガはターゲットシステム10で実行されているプログラムの実行を中止しても良いし、実行を継続しても良い。
【００３４】
デバッガ21が割込み番号情報を受信するとH3に遷移し、受信した情報の割込み番号によって異なる音を発音装置22に適した形式で発音装置に送信する。なお、ここで、利用者が指定した割込み番号の時だけ音を送信するようにしてもよい。その後デバッガ21はH2に遷移し、再び割込み番号情報の受信を待ちつつ、デバッグ情報の収集とボタンの検知を行う。
【００３５】
これにより、開発者が音によってプログラムの実行状態を監視し、プログラムの状態が異常であると判断したり、その他好きなときにいつでもデバッグ情報の収集を中止し、そのときにバッファに残っているデバッグ情報を従来からある視覚的な手段で詳細に検討することができる。
【００３６】
音による情報であれば割込みの種類や発生パターンが異常な状態になれば感覚的に即座にわかりやすいため、異常が発生した直後にプログラムの実行を停めることができる。
【００３７】
＜実施形態４＞
次に、第4の実施例として、発生した割込みの頻度があらかじめ設定した頻度よりも多くなったときに音を鳴らせるシステムについて説明する。本実施例のシステムの構成図を図７に示す。
【００３８】
図５において、40は本システム全体を指している。10は監視ターゲットシステムであり、11のRTOSが搭載されている。このシステムには12のタスクが複数存在しており、RTOS11によって制御される。
【００３９】
20は割込み監視用ホストであり、21の監視プログラムと22の発音装置が搭載されている。21の監視プログラムには、ターゲット10から送られてきた割込み発生情報の回数を数える計測装置23が内蔵されている。ターゲット10と監視ホスト20は通信手段30で接続されている。この通信手段30はシリアルケーブルでも、イーサネット（登録商標）でもその他の手段でも良い。
【００４０】
RTOS11のカーネルの割込み処理を行う部分には、これから処理される割込みの番号を通信手段30を通じて監視プログラム21に送信するコードが埋め込まれている。
【００４１】
本システムの動作について図４のフローチャートを用いて説明する。図４のT1〜T4がターゲットシステム上のRTOS11の動作、H1〜H6がホスト上のデバッガ21の動作を表している。
【００４２】
このシステムの利用者が本システムの実行を開始すると、ターゲットシステムの開始と同時に監視プログラム21の実行も開始され、監視プログラムはH1からH2に遷移する。
【００４３】
ターゲットシステムではRTOS11が起動し、RTOS11がタスク21を複数起動して、このタスクを切替えながら動作する。割込みが発生するとRTOSの割込み処理部が実行される(T1)が、このときにT2で割込み番号を通信手段30を通じて監視プログラムに送信し、T3において実際の割込み処理を行う。その後T4に遷移し、割込み処理部を終了する。
【００４４】
一方、監視プログラム21は、H2において通信手段30を監視し、割込み番号の受信を待つ。監視プログラム21が割込み番号情報を受信するとH4に遷移し、発生した割込みの回数を計測する。なお、ここで、全ての割込みの発生回数を計測しても良いし、開発者が指定した割込み番号と一致する割込みだけの発生回数を計測しても良い。次にH5で、前回H3を実行してから一定時間が経過したかを判定する。まだ一度もH3を実行したことがなければターゲットプログラムの実行が開始されてから一定時間が経過したかを判定する。ここで一定時間が経過していればH3に遷移し、そうでなければH2に戻る。
【００４５】
H3では、一定時間内に発生した割込み回数があらかじめ設定されていた回数を越えたかどうかを判定し、越えていればH6に遷移し、そうでなければH2に遷移する。
【００４６】
H6では、発生させる音を発音装置22に適した形式で発音装置に送信する。その後デバッガ21はH2に遷移し、再び割込み番号情報の受信を待つ。
【００４７】
これにより、ターゲットプログラムの実行中に発生した割込みの頻度があらかじめ設定した値を越えたときに音を発生させ、利用者に知らせることができる。そのシステムが一定時間内に処理できる割込みの回数よりも少しだけ低い値をあらかじめ設定しておけば、システムへの負荷が限界を越える前に利用者に知らせることができ、利用者はより処理能力のあるシステムへの交換や追加を検討することができる。
【図面の簡単な説明】
【００４８】
【図１】本発明の実施例であるクロス開発システムの構成図
【図２】実施形態1のフローチャート
【図３】実施形態2のシステム構成図
【図４】実施形態2のフローチャート
【図５】実施形態3のシステム構成図
【図６】実施形態3のフローチャート
【図７】実施形態4のシステム構成図
【図８】実施形態4のフローチャート
【符号の説明】
【００４９】
１０  開発ターゲットシステム
１１  ターゲットで稼働しているリアルタイムＯＳ
１２  RTOS11によって制御されるタスク
２０  開発ホストシステム
２１  デバッガ
２２  発音装置
３０  通信手段
【図１】
2006039924.tif 000003
【図２】
2006039924.tif 000004
【図３】
2006039924.tif 000005
【図４】
2006039924.tif 000006
【図５】
2006039924.tif 000007
【図６】
2006039924.tif 000008
【図７】
2006039924.tif 000009
【図８】
2006039924.tif 000010