JP2003263335A - デバッグモニター - Google Patents

デバッグモニター

Info

Publication number
JP2003263335A
JP2003263335A JP2002065931A JP2002065931A JP2003263335A JP 2003263335 A JP2003263335 A JP 2003263335A JP 2002065931 A JP2002065931 A JP 2002065931A JP 2002065931 A JP2002065931 A JP 2002065931A JP 2003263335 A JP2003263335 A JP 2003263335A
Authority
JP
Japan
Prior art keywords
monitor
cpu
operating system
exception
risc
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2002065931A
Other languages
English (en)
Inventor
Ryosuke Takeuchi
良輔 竹内
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2002065931A priority Critical patent/JP2003263335A/ja
Publication of JP2003263335A publication Critical patent/JP2003263335A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

(57)【要約】 【課題】 ファームウエア部の例外処理中でもデバッグ
を可能にしたデバッグモニターを得る。 【解決手段】 例外処理のデスパッチ機能をソフト的に
行うRISC−CPUとして構成されたCPU1と、オ
ペレーティングシステムやモニターのプログラムを入れ
るROM2と、データ領域に使用されるリードアンドラ
イトメモリ3と、オペレーティングシステムのタスク切
り替えや時間管理に使用し定期的にタイマー割り込みを
発生させるタイマーモジュール5と、外部のターミナル
8との間でデータのやり取りを行うのに使用するシリア
ルモジュール6と、モニターコマンドやデータダンプ用
に使用する、一般的にはログデータの表示等に使用する
モニターとを有して構成される。上記の構成によれば、
RISC−CPU用のモニターに対して、RTOSまた
はOSと同期してモニター機能を使用することが可能と
なる。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、デバッグモニター
に関し、特に、制御装置としてRTOS(リアルタイム
・オペレーティング・システム)または、OS(オペレ
ーティング・システム)を用いた組込み機器の開発環境
に適用されるデバッグモニターに関する。
【0002】
【従来の技術】従来、デバッグモニターは、一般に、フ
ァームウエア部の開発において、プログラムの誤りであ
るバグを発見して修正作業を行う際に支援するために用
いられる。
【0003】従来、RTOS(リアルタイム・オペレー
ティング・システム)または、OS(オペレーティング
・システム)のファームウエア部の開発を行う場合、I
CE(インサーキット・エミュレータ)を用いて、組込
み機器ボードをCPUのラインから監視・トレースしな
がら開発を行う手法が適用される。
【0004】図6は、RTOS実行時の例外プログラム
と、モニター実行時の例外プログラムであり、従来のモ
ニターとオペレーティングシステムでの例外処理の実行
形態を示している。このような形態の開発環境では、電
源投入時にモニターが起動する。このモニターは、ファ
ンクションポインターテーブル上に自分用の例外処理プ
ログラムを配置して、例外のハンドリングを行う。
【0005】本発明と技術分野の類似する先願発明例1
として、特開2000−284980号公報のメッセー
ジ伝送スケジューリング方法に関する発明がある。本先
願発明例1では、システムが必ずしもリアルタイム機能
を備えない標準型の出来合いのコンポーネントで構成さ
れている場合でも、ユーザがアクチビティのリアルタイ
ムスケジューリングを指定できるようなマルチタスクシ
ステムおよびマルチタスクシステムにおけるメッセージ
伝送スケジューリング方法を提供できる、としている。
【0006】先願発明例2の特開平6−89200号公
報の「デバッグシステム及び方法」では、大規模で複雑
な生め込み型アプリケーションを開発する上で役に立
つ、デバッグシステムを提供することを目的としてい
る。
【0007】先願発明例3の特開平9−504896号
公報の「オブジェクト指向グラフィック・システム」
は、完全に拡張可能なシステムであり、サポート・オブ
ジェクトの各々に組み込まれた多機能処理機能を備えた
技術に関するものである。
【0008】
【発明が解決しようとする課題】しかしながら、上記従
来の技術では、モニターからオペレーティングシステム
に実行権をわたすと、オペレーティングシステムは、初
期化時にファンクションポインターテーブルをオペレー
ティングシステム用のものに書き換えてしまう。このた
め、モニターを分岐することができず、モニター用のト
レースやダンプ機能を使うことができない。
【0009】このような状況において、CPUのクロッ
クアップやハードウエアの集積化が進み、これらが組込
み用機器のコントローラに対応してくるにつれて、IC
Eでの実動作環境ではエミュレーションができなくなっ
たり、ICE自体が高価なものになってしまう。
【0010】加えて、RTOSやOS(オペレーティン
グシステム)上のデバッグ環境の充実によって、ICE
を用いなくても、オペレーティングシステム上のデバッ
グは可能となってきた。その反面、オペレーティングよ
りも、よりハードウエアに近い部分の実機開発は、オペ
レーティングシステムのデバッカが使用できず、また、
ICEも使用できない状況になり、開発はより困難にな
ってしまう問題点を伴う。
【0011】本発明は、ファームウエア部の例外処理中
でもデバッグを可能にしたデバッグモニターを提供する
ことを目的とする。
【0012】
【課題を解決するための手段】かかる目的を達成するた
め、本発明のデバッグモニターは、例外処理のデスパッ
チ機能をソフト的に行うRISC−CPUとして構成さ
れたCPUと、オペレーティングシステムやモニターの
プログラムを入れるリードオンリーメモリであるROM
と、データ領域に使用されるリードアンドライトメモリ
と、各デバイスのデータが流れるデータバスと、オペレ
ーティングシステムのタスク切り替えや時間管理に使用
し、定期的にタイマー割り込みを発生させるタイマーモ
ジュールとを有して構成され、前記RISC−CPU上
でRTOSまたはOS部と同期して例外処理部のデバッ
グを可能としている。
【0013】従来RICS−CPUでは、例外処理のハ
ンドリングをプログラム記述しなければならなく、オペ
レーティングシステムと同期を取る手法がCISC−C
PUとは異なるが、上記の構成によれば、RISC−C
PU用のモニターに対して、RTOSまたはOSと同期
してモニター機能を使用することが可能である。
【0014】また、CISC−CPU上で前記RTOS
またはOS部と同期して、前記例外処理部のデバッグを
可能とする。
【0015】従来のCISC−CPUでは、例外処理の
ハンドリングは、ハードウエアが行い、ソフトウエアは
介在せず、オペレーティングシステムと同期を取る手法
がRISC−CPUとは異なる。しかし上記によれば、
CISC−CPU用のモニターに対して、RTOSまた
はOSと同期してモニター機能を使用することが可能で
ある。
【0016】上記RTOSまたはOS部と同期して前記
例外処理部のデバッグが可能なモニターを含む、前記R
ISC−CPUを用いた組込み機器として構成するとよ
い。
【0017】上記によれば、モニターを組込み機器に組
込むことにより、例外処理部でもモニター機能を使用す
ることが可能である。
【0018】
【発明の実施の形態】次に、添付図面を参照して本発明
によるデバッグモニターの実施の形態を詳細に説明す
る。図1から図5を参照すると、本発明のデバッグモニ
ターの一実施形態が示されている。
【0019】図1は、実施形態のデバッグモニターの構
成例を示すブロック図である。図1のデバッグモニター
は、CPU1、ROM2、リードアンドライトメモリ
3、データバス4、タイマーモジュール5、シリアルモ
ジュール6、ドライバー7、を有して構成される。本構
成のデバッグモニターのドライバ−7とターミナル8と
が接続される。
【0020】図1は、本発明の達成に必要な最低限度の
ブロック図である。CPU1は、この説明では例外処理
のデスパッチ機能をソフト的に行う必要があるRISC
−CPUを想定している。ROM2は、オペレーティン
グシステムやモニターのプログラムを入れるリードオン
リーメモリである。リードアンドライトメモリ3は、デ
ータ領域に使用する。ボードのデータバス4には、各デ
バイスのデータが流れる。タイマーモジュール5は、オ
ペレーティングシステムのタスク切り替えや時間管理に
使用し、定期的にタイマー割り込みを発生させる。モニ
ターでは使用しない。
【0021】シリアルモジュール6は、外部のターミナ
ル8との間でデータのやり取りを行うのに使用する。モ
ニターは、モニターコマンドやデータダンプ用に使用す
るオペレーティングシステムでは必須ではないが、一般
的にはログデータの表示等に使用する。外部のターミナ
ル8は、RS232C等の信号を使用するため、内部の
シリアルモジュールとは電圧が異なる。そこでドライバ
ー7を使用して、電圧の調整を行う。
【0022】上に示す本実施形態のデバッグモニター
は、古くからベーシックな部分の開発、およびデバッグ
に用いられできたモニターに、オペレーティングシステ
ムと同期を取りながら動作する改造が加えられている。
このことにより、ファームウエア部の例外処理中でもデ
バッグを可能とし、組込み機器製品の開発工数を削減可
能としている。
【0023】なお、上記の例外処理とは、CPUが発行
する例外処理のことであり、オペレーティングシステム
からは非コンテクストスイッチング部とよばれ、オペレ
ーティングシステムが管理するタスク部分とは実行形態
が大きく異なる。このため、オペレーティングシステム
の開発ツールでは、トレースができないプログラムであ
る。
【0024】また、本実施形態でのモニターとは、オペ
レーティングシステムが無い環境で、シリアルデバイス
を用いたコンソールを通して、メモリのダンプやセッ
ト、プログラムのトレースを行うプログラム群を装備す
る。これは、オペレーティングシステムが起動すると、
実行環境が異なるために使用できなくなるからである。
【0025】図2は、例外処理の分類例を示す。また、
図3は、RTOS実行時の例外処理の実行形態例を示し
ている。例外処理には、CPU1の動作に連動して発生
するエクセプションと、CPU1の外部のモジュールが
CPU1に対して情報伝達を行うために発生させる割り
込みとがある。
【0026】上記のエクセプションには、アドレスエラ
ー、バスエラー、コプロセッサエラー、NMI例外、シ
ステムコール、ブレークポイント等、種々のものがあ
る。しかし、本モニターでは、トレース用にブレークポ
イントエクセプションを使用しているが、その他のエク
セプションには対応していない。オペレーティングシス
テムでは、種々のサービスを行う為に、その他のエクセ
プションのハンドリングを行っている。
【0027】割り込みに関しては、図1のブロック図で
は、タイマー5とシリアルモジュール6のみしかサポー
トを行っていないため、この2つの割り込みしか発生し
ないと想定する。
【0028】タイマー5は、オペレーティングシステム
では時分割処理を行うために必須のモジュールである。
しかし、モニターでは、タイマー機能を必要としない。
シリアルモジュールは、モニターにおいてはオペレータ
とコマンドレベルで通信を行うための必須のデバイスで
あるが、オペレーティングシステムでは必須ではない。
しかし、ログの表示等、開発時は良く使うデバイスであ
る。ここでは、これらの例外処理プログラムへのハンド
リングは、RAM3上の固定のアドレスにファンクショ
ンポインターテーブルの形で配置されていて、モニター
プログラムからもオペレーティングシステムからも参照
が可能な形態であることを想定している。
【0029】図4は、RISC−CPUを対象とした場
合の、例外処理のデスパッチプログラム例を示すフロー
チャートである。デスパッチプログラムとは、CPUか
ら例外の発生があった場合、その要因を調べ、ファンク
ションポインターテーブルから対応した例外プログラム
を探してそれを実行するプログラムである。オペレーテ
ィングシステムにも、モニターにも例外処理を取り扱う
ため必須のプログラムである。
【0030】例外のエントリ後のステップS1の“現状
のレジスタ等の情報をセーブ”において、例外発生前の
レジスタ、ステータスの状態をスタック上にセーブを行
う。これは、例外処理終了時にこれらの状態を元に戻し
て終了しないと、例外発生前のプログラムが正常に動作
できないからである。なお、元にもどす作業は、ステッ
プS5のセーブした現状のレジスタ等の再設定にて行
う。
【0031】ステップS2の“例外の発生原因を調べ
る”で例外の発生原因を調べて、ステップS3にて発生
原因に対応した例外処理プログラムをファンクションポ
インターテーブルから取り出して、それを実行させる。
【0032】ステップS4、S6は、モニターの例外処
理のデスパッチプログラムにはなく、直接ステップS5
の状態の復元を行って処理を終了する。オペレーティン
グシステムでは、各例外処理プログラムの中で、タスク
のスイッチングの要求が発生した場合は、例外処理の終
了時に現状のタスクを停止させ、要求のタスクを再起動
する処理が必要となる。これは、ステップS4のスイッ
チング要求の確認と、要求があった場合、ステップS6
のスイッチングによって実行される。
【0033】図3は、本発明のモニターの例外処理の実
行形態を示している。モニターからオペレーティングシ
ステムに実行権を渡しても、ファンクションポインター
テーブル上のモニター用のブレークエクセプションプロ
グラムやモニター用のシリアル割り込みプログラムへの
ベクターは書き換えない。
【0034】オペレーティングシステムが実行状態にな
り、ターミナル上にCtrl-A等のアボート要求のコマンド
を発行すると、CPU上でシリアル割り込みが発生す
る。これは、オペレーティングシステム用の例外処理の
デスパッチプログラムを通して、モニター用のシリアル
割り込みプログラムを実行する。
【0035】このシリアル割り込みプログラムは、モニ
ター用のアボートコードを判別して、モニターのアボー
ト処理に分岐する。モニターのアボート処理は、シリア
ル以外の割り込みを禁止し、ターミナル上にコマンドプ
ロンプトを表示して、モニターコマンド待ち状態となり
モニターの各機能を実行することが可能となる。
【0036】トレースを行う場合でも、オペレーティン
グシステム用の各例外処理プログラム上にブレークポイ
ントを配置しても、モニターの通常の処理では、オペレ
ーティングシステム用の各例外処理を通過することがな
いので、問題無くトレースが可能である。但し、デスパ
ッチプログラム上にブレークポイントを配置するとシリ
アルの割り込み等でここを通過するので、ハングアップ
状態となる。
【0037】図5は、CISC−CPUの場合の例外処
理デスパチャーのフローチャートである。例外発生に伴
い、ハードウエアがファンクションポインターテーブル
を直接参照して、各例外処理プログラムに分岐する。こ
の場合、レジスタ等のセーブ、リストアー処理は各例外
処理プログラムの中で行われる。
【0038】モニターでは、リストアーを行った後、例
外処理を終了するが、オペレーティングシステムでは、
共通のコンテキストスイッチングプログラムに飛び込
み、必要ならばタスクのスイッチングを行う。
【0039】CISC−CPUの場合でも、ブレークエ
クセプション例外処理とシリアル例外処理をモニター用
のものにリンクするようにすれば、RISC−CPUの
場合と同等に、オペレーティングシステム上でのモニタ
ー処理が可能となる。
【0040】
【発明の効果】以上の説明より明らかなように、本発明
のデバッグモニターは、例外処理のデスパッチ機能をソ
フト的に行うRISC−CPUとして構成され、オペレ
ーティングシステムやモニターのプログラムをリードオ
ンリーメモリに入れ、リードアンドライトメモリをデー
タ領域に使用し、データバスには各デバイスのデータが
流れ、オペレーティングシステムのタスク切り替えや時
間管理に使用し、定期的にタイマー割り込みを発生さ
せ、RISC−CPU上でRTOSまたはOS部と同期
して例外処理部のデバッグを可能としている。
【図面の簡単な説明】
【図1】本発明のデバッグモニターの実施形態の構成例
を示すブロック図である。
【図2】例外処理の分類例を示す図である。
【図3】RTOS実行時の例外処理の実行形態例を示し
ている。
【図4】RISC−CPUを対象とした場合の例外処理
のデスパッチプログラム例を示すフローチャートであ
る。
【図5】CISC−CPUの場合の例外処理デスパチャ
ーのフローチャートである。
【図6】RTOS実行時の例外プログラムと、モニター
実行時の例外プログラムであり、従来のモニターとオペ
レーティングシステムでの例外処理の実行形態を示して
いる。
【符号の説明】
1 CPU 2 ROM 3 リードアンドライトメモリ 4 データバス 5 タイマーモジュール 6 シリアルモジュール 7 ドライバー 8 ターミナル

Claims (3)

    【特許請求の範囲】
  1. 【請求項1】 例外処理のデスパッチ機能をソフト的に
    行うRISC−CPUとして構成されたCPUと、 オペレーティングシステムやモニターのプログラムを入
    れるリードオンリーメモリであるROMと、 データ領域に使用されるリードアンドライトメモリと、 各デバイスのデータが流れるデータバスと、 オペレーティングシステムのタスク切り替えや時間管理
    に使用し、定期的にタイマー割り込みを発生させるタイ
    マーモジュールとを有して構成され、 前記RISC−CPU上でRTOSまたはOS部と同期
    して例外処理部のデバッグを可能としたことを特徴とす
    るデバッグモニター。
  2. 【請求項2】 前記CISC−CPU上で前記RTOS
    またはOS部と同期して、前記例外処理部のデバッグを
    可能としたことを特徴とする請求項1記載のデバッグモ
    ニター。
  3. 【請求項3】 前記RTOSまたはOS部と同期して前
    記例外処理部のデバッグが可能なモニターを含む、前記
    RISC−CPUを用いた組込み機器として構成された
    ことを特徴とする請求項1または2記載のデバッグモニ
    ター。
JP2002065931A 2002-03-11 2002-03-11 デバッグモニター Pending JP2003263335A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002065931A JP2003263335A (ja) 2002-03-11 2002-03-11 デバッグモニター

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002065931A JP2003263335A (ja) 2002-03-11 2002-03-11 デバッグモニター

Publications (1)

Publication Number Publication Date
JP2003263335A true JP2003263335A (ja) 2003-09-19

Family

ID=29197997

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002065931A Pending JP2003263335A (ja) 2002-03-11 2002-03-11 デバッグモニター

Country Status (1)

Country Link
JP (1) JP2003263335A (ja)

Similar Documents

Publication Publication Date Title
JP2003263335A (ja) デバッグモニター
JPH0477833A (ja) デバッグ環境を備えた集積回路
JP3503504B2 (ja) デバッグ処理システムと計算機およびデバッグ処理方法
JP2659366B2 (ja) デバッグ方法及びその装置
KR100270655B1 (ko) 실시간 다중 작업 운용 시스템에서 메모리 디버그 방법
JPS63271542A (ja) Romデバツガ
JP2002366378A (ja) プログラムのデバッグ装置及びデバッグ方法、並びに記憶媒体
JP2005235047A (ja) 電源瞬断デバッグ装置およびその方法を実現するためのプログラムを記録した記録媒体
JP3449812B2 (ja) 制御用電子装置
JP3111355B2 (ja) 計算機システム
JPS62290942A (ja) デバツガ起動方式
JP3120841B2 (ja) インサーキットエミュレータ
JP3410023B2 (ja) インサーキットエミュレータ
JPH02135545A (ja) デバッガの実行制御処理方式
JPH0395638A (ja) デバッグ装置
JPH08314753A (ja) プログラムデバック装置及びデバッグ方法
JPS638946A (ja) プログラムデバツグサポ−ト方式
JPH0628218A (ja) マイクロコンピュータのプログラム開発支援装置
JPH03209534A (ja) プログラム開発支援装置
EP1475713A1 (en) Program-controlled unit with a first CPU and a second CPU used as bypass hardware
JPH08161195A (ja) アドレストレース格納装置及びアドレストレース生成方法
JP2003044317A (ja) Romモニタ
JPH06214828A (ja) 対話型デバッグ制御装置
JPH05151021A (ja) 常駐領域組み込み型デバツガによるデバツグ方式
JPH02244232A (ja) 情報処理装置