(57)【要約】【課題】マイクロコンピュータにおける中間電圧の発生を検出する。【解決手段】マイクロコンピュータは、ＣＰＵコア部１３と、複数の外部入力端子１８と、検査部１１とを具備する。検査部１１は、複数の外部入力端子１８から選択外部入力端子を選択する。そして、選択外部入力端子の中間電位を検出して、中間電位の検出を示す中間電位検出信号をＣＰＵコア部１３へ通知する。【選択図】図２
2010134677.tif 000002
【特許請求の範囲】
【請求項１】
ＣＰＵコア部と、
複数の外部入力端子と、
前記複数の外部入力端子から選択外部入力端子を選択し、前記選択外部入力端子の中間電位を検出して、前記中間電位の検出に関する割り込み対処信号を前記ＣＰＵコア部へ通知する検査部と
を具備する
マイクロコンピュータ。
【請求項２】
請求項１に記載のマイクロコンピュータであって、
前記検査部は、前記中間電位が検出された場合、前記中間電位の検出を示す中間電位検出信号を外部へ出力する
マイクロコンピュータ。
【請求項３】
請求項１又は２に記載のマイクロコンピュータであって、
前記検査部は、前記中間電位が検出された場合、前記割り込み対処信号を前記ＣＰＵコア部に通知する割り込み制御部を備える
マイクロコンピュータ。
【請求項４】
請求項１乃至３のいずれか一項に記載のマイクロコンピュータであって、
前記検査部は、前記複数の外部入力端子から一つの前記選択外部入力端子を選択する信号選択制御部を備える
マイクロコンピュータ。
【請求項５】
請求項１乃至３のいずれか一項に記載のマイクロコンピュータであって、
前記検査部は、前記複数の外部入力端子から所定の時間間隔で順次に一つずつの前記選択外部入力端子を選択して行く信号選択制御回路を備える
マイクロコンピュータ。
【請求項６】
請求項５に記載のマイクロコンピュータであって、
前記検査部は、前記複数の外部入力端子の各々で前記中間電位が検出されたか否かを示す割り込みステータスレジスタを備える
マイクロコンピュータ。
【請求項７】
請求項４乃至６のいずれか一項に記載のマイクロコンピュータであって、
前記検査部は、前記複数の外部入力端子の各々について、前記中間電位を検出する検出部を備え、
前記検出部は、ハイレベル入力電圧とロウレベル入力電圧に応じて、抵抗値の比例で、前記中間電位を検出する電位範囲を調整する
マイクロコンピュータ。
【請求項８】
デバッグの対象であるマイクロコンピュータの動作を模擬するデバッグ対象回路と、
前記デバッグ対象回路が接続されるデバッガと、
前記デバッグ対象回路の複数の外部入力端子に接続され、前記複数の外部入力端子から選択外部入力端子を選択し、前記選択外部入力端子の中間電位を検出して、前記デバッガに前記中間電位を示す中間電位検出信号を外部へ出力する検査部と
を具備する
組み込みソフトウェア開発システム。
【請求項９】
請求項８に記載の組み込みソフトウェア開発システムであって、
前記検査部は、前記中間電位が検出された場合、前記中間電位の検出に関する割り込み対処信号を前記ＣＰＵコア部に通知する割り込み制御部を備える
組み込みソフトウェア開発システム。
【請求項１０】
請求項８又は９に記載の組み込みソフトウェア開発システムであって、
前記検査部は、前記複数の外部入力端子から一つの前記選択外部入力端子を選択する信号選択制御回路を備える
組み込みソフトウェア開発システム。
【請求項１１】
請求項１０に記載の組み込みソフトウェア開発システムであって、
前記信号選択制御回路は、前記選択外部入力端子を示す選択信号を前記デバッガに出力し、
前記検査部は、前記選択外部入力端子で前記中間電位を検出した場合、前記中間電位検出信号を前記デバッガに出力し、
前記デバッガは、前記選択信号及び前記中間電位検出信号に基づいて、前記複数の外部入力端子のうちのどれで前記中間電位を検出したかを示す情報を前記デバッガの画面に表示する
組み込みソフトウェア開発システム。
【請求項１２】
請求項８又は９に記載の組み込みソフトウェア開発システムであって、
前記検査部は、前記複数の外部入力端子から所定の時間間隔で順次に一つずつの前記選択外部入力端子を選択する信号選択制御回路を備える
組み込みソフトウェア開発システム。
【請求項１３】
請求項１２に記載の組み込みソフトウェア開発システムであって、
前記検査部は、
前記複数の外部入力端子の各々で前記中間電位が検出されたか否かを示す割り込みステータスレジスタを備え、
前記ステータスレジスタのデータを前記デバッガに出力し、
前記選択外部入力端子で中間電位を検出した場合、前記中間電位検出信号を前記デバッガに出力し、
前記デバッガは、前記データ及び前記中間電位検出信号に基づいて、前記複数の外部入力端子のうちのどれで前記中間電位を検出したかを示す情報を前記デバッガの画面に表示する
組み込みソフトウェア開発システム。
【請求項１４】
請求項８乃至１３のいずれか一項に記載の組み込みソフトウェア開発システムであって、
前記検査部は、前記複数の外部入力端子の各々について、前記中間電位を検出する判定部を備え、
前記判定部は、ハイレベル入力電圧とロウレベル入力電圧に応じて、抵抗値の比例で、前記中間電位を検出する電位範囲を調整する
組み込みソフトウェア開発システム。
【請求項１５】
請求項８乃至１４のいずれか一項に記載の組み込みソフトウェア開発システムであって、
前記選択外部入力端子の選択は、前記デバッガからの命令に基づいて実行される
組み込みソフトウェア開発システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、マイクロコンピュータ及び組み込みソフトウェア開発システムに関し、特に中間電位を検出可能なマイクロコンピュータ及び組み込みソフトウェア開発システムに関する。
【背景技術】
【０００２】
マイクロコンピュータでは、入力端子の電圧レベルが中間電位になった場合、回路内に流れる貫通電流が増大し、電子素子や回路全体が破壊されるなどの問題が起こりうる。したがって、このような問題に対処するために、入力端子の電圧レベルが中間電位になった状態を早期（例示：組み込みソフトウェアを開発する時）に発見することが可能な技術が望まれている。
【０００３】
また、近年、マイクロコンピュータに組み込まれる組み込みシステムは、複雑化、大規模化してきている。それに伴い、その組み込みシステムのデバッグ期間が長期化することが問題となってきている。したがって、そのデバッグ期間の中で、中間電位の入力のようなハードウェア問題をソフトウェアデバッグ時にも検出するなどして、デバッグ期間を短縮することが求められている。
【０００４】
更に、上記の組み込みシステムの複雑化、大規模化に伴い、デバイス自身による自己診断機能の要求など信頼性の要求も高まってきている。例えば、マイクロコンピュータがセット製品に搭載されて出荷された後であっても、当該マイクロコンピュータに問題が発見された場合、安全にシステムを停止するなどの処置ができることが求められている。
【０００５】
入力端子の電圧レベルの中間電位に関連する技術として特開２００４−１８６１８４号公報に半導体集積回路が開示されている。この半導体集積回路は、入力端子に印加される信号をＣＭＯＳインバータで受信する半導体集積回路である。この半導体集積回路は、検出回路と、監視回路と、クランプ回路とを備えている。検出回路は、入力信号の入力される入力端子（入力パッド）の電位が電源電位の中間電位レベルとなるのを検出する。監視回路は、検出回路が中間電位レベルを一定期間継続して検出するのを監視する。クランプ回路は、監視回路が一定期間の継続を確認したとき、入力端子の電位を電源電位レベルに持ち上げる、または、接地電位レベルに引き下げる。
【０００６】
【特許文献１】特開２００４−１８６１８４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
特開２００４−１８６１８４号公報の半導体集積回路は、中間電位を検知すると、自動的に入力端子（入力パッド）をプルアップする。すなわち、ハードウェアで自動的に中間電位を回避する。しかし、この半導体集積回路は、中間電位の発生を、ソフトウェア開発システム（開発者）やソフトウェアへ通知する手段を有していない。例えば、その中間電位が外付けの部品から入力端子に供給される場合、中間電位の発生の原因は外付け部品にある。しかし、この半導体集積回路は、ワーニングを出力しないため、ソフトウェア開発システムやソフトウェアにおいて、中間電位の発生を知ることができない。そのため、開発者は、本質的な対策を取ることができない。
【０００８】
これは、特開２００４−１８６１８４号公報の目的が中間電位の発生に対してマイクロコンピュータに生じるダメージをできるだけ低くするということであるため、中間電位が発生した場合、その中間電位を所定のハイレベル又はロウレベルに変えることが重視されたためと考えられる。したがって、開発者やソフトウェアへの通知手段を持たないため、問題の早期発見ができず、ソフトウェアで安全な処置をすることもできない。このような中間電位の発生は、デバッグの長期化につながる。その結果、組み込みシステムの開発時間が長期化してしまう。
【０００９】
また、この半導体集積回路は、上記のように中間電位の発生を通知できないため、マイクロコンピュータがセット製品に搭載されて出荷された後に、不良品や劣化や外乱などにより中間電位が入力される状態となった場合、最低限の処置（例示：マイクロコンピュータの使用者にランプ点灯などにより異常を通知するなどの処置）をすることができない。そのため、このチップセットを用いたシステムの信頼性に問題が生じることになる。
【課題を解決するための手段】
【００１０】
以下に、発明を実施するための最良の形態で使用される番号・符号を用いて、課題を解決するための手段を説明する。これらの番号・符号は、特許請求の範囲の記載と発明を実施するための最良の形態との対応関係を明らかにするために括弧付きで付加されたものである。ただし、それらの番号・符号を、特許請求の範囲に記載されている発明の技術的範囲の解釈に用いてはならない。
【００１１】
本発明のマイクロコンピュータは、ＣＰＵコア部（１３）と、複数の外部入力端子（１８）と、検査部（１１）とを具備する。検査部（１１）は、複数の外部入力端子（１８）から選択外部入力端子を選択する。そして、選択外部入力端子の中間電位を検出して、中間電位の検出に関する割り込み対処信号（ＶＴＡ）をＣＰＵコア部（１３）へ通知する。
【００１２】
本発明では、中間電位の検出をＣＰＵコア部（１３）へ通知することにより、ソフトウェア等で安全な処置をすることが可能となる。それにより、マイクロコンピュータがセット製品に搭載されて出荷された後に中間電位が発生した場合でも、最低限の処置をすることができ、システムの信頼性を向上することができる。加えて、選択された外部入力端子（１８）について中間電位の検出を行っているので、例えば、中間電位が発生しやすい外部入力端子に絞って監視を行うなど、効率的に中間電位の検出を行うことが可能となる。
【００１３】
また、本発明の組み込みソフトウェア開発システムは、デバッグ対象回路（１ａ）と、デバッガ（５）と、検査部（１１）とを具備する。デバッグ対象回路（１ａ）は、デバッグの対象であるマイクロコンピュータを模擬する。デバッガ（５）は、デバッグ対象回路（１ａ）が接続される。検査部（１１）は、デバッグ対象回路（１ａ）の複数の外部入力端子（５８）に接続され、複数の外部入力端子（５８）から選択外部入力端子を選択する。そして、選択外部入力端子の中間電位を検出して、デバッガ（５）に中間電位を示す中間電位検出信号（Ｄ）を外部へ出力する。
【００１４】
本発明では、中間電位の検出をデバッガ（５）へ通知することにより、問題の早期発見ができ、ソフトウェア等で安全な処置をすることが可能となる。それにより、開発者は、本質的な対策を取ることができる。そして、デバッグにかかる時間を短縮でき、開発時間の短縮が可能となる。
【発明の効果】
【００１５】
本発明により、マイクロコンピュータにおける中間電圧の発生を知ることが可能となる。開発時間の短縮やシステムの信頼性を向上することができる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明のマイクロコンピュータ及び組み込みソフトウェア開発システムの実施の形態に関して、添付図面を参照して説明する。
【００１７】
（第１の実施の形態）
まず、本発明のマイクロコンピュータ及び組み込みソフトウェア開発システムの第１の実施の形態の構成について説明する。図１は、本発明の第１の実施の形態に係るマイクロコンピュータ及びマイクロコンピュータを搭載する組み込みソフトウェア開発システムの構成を示すブロック図である。
【００１８】
本実施の形態に係るマイクロコンピュータ１は、外付けＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）２と共に、システムボード３に搭載されている。このマイクロコンピュータ１と外付けＩＣ２とを含むシステムボード３は、マイクロコンピュータシステムを構成する。
【００１９】
本実施の形態に係るソフトウェア開発システムは、デバッガとしてのデバッグ装置５とオンチップデバッグエミュレータ４とを備える。デバッグ装置５は、パーソナルコンピュータに例示され、表示装置を有する情報処理装置である。その情報処理装置は、デバッグ用ソフトウェアを搭載して、デバッガとして機能する。このソフトウェア開発システムは、上記マイクロコンピュータシステムを評価対象として、そのマイクロコンピュータシステムにおけるソフトウェアのデバッグやハードウェアの動作確認を実行する。また、デバッグ装置５は、マイクロコンピュータ１から出力される中間電位の発生を示す中間電位検出信号Ｄ（後述）を表示装置にワーニングとして表示する機能（ワーニング機能）を有する。
【００２０】
オンチップデバッグエミュレータ４は、マイクロコンピュータ１とデバッグ装置５との間のインターフェース的な機能を有する。すなわち、デバッグ装置５によるデバッグ中に、マイクロコンピュータ１とデバッグ装置５との間のデータや命令の授受を媒介する。オンチップデバッグエミュレータ４は、マイクロコンピュータ１から出力される中間電位検出信号Ｄに応答して点灯するＡＬＡＲＭ灯（例示：ＬＥＤ）２０を備えている。
【００２１】
マイクロコンピュータ１は、外部入力端子１８、入力バッファ１２、検査回路１１、デバッグ回路１０、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）１３、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）１４、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）１５、ＰＯＲＴ１６、内部バス１９を備える。
【００２２】
外部入力端子１８は、マイクロコンピュータ１の外縁に複数個（Ｐｘ０〜Ｐｘｘ）設けられている。外付けＩＣ２からの信号（データ）を受け付け、入力バッファ１２に入力する。外部入力端子１８は、その電位を検査回路１１に監視されている。マイクロコンピュータ１は、外部と信号の入出力を行う入出力端子（例示：専用入出力端子１７）を有していても良い。
【００２３】
ＣＰＵ１３は、マイクロコンピュータ１の動作を制御する。内部バス１９を介してマイクロコンピュータ１内の各構成（例示：ＲＯＭ１４、ＲＡＭ１５、ＰＯＲＴ１６、検査回路１１、デバッグ回路１０）と双方向通信可能に接続されている。ＲＯＭ１４は、ＣＰＵ１が用いるソフトウェアが格納されるメモリである。ＲＡＭ１５は、ＣＰＵ１がＲＯＭ１４に格納されたソフトウェアを実行するときに用いるメモリである。ＰＯＲＴ１６は、外付けＩＣ２から外部入力端子１８及び入力バッファ１２を介してマイクロコンピュータ１へ入力される信号（データ）を格納する（受け取る）メモリである。内部バス１９は、ＣＰＵ１３、ＲＯＭ１４、ＲＡＭ１５、ＰＯＲＴ１６、検査回路１１、デバッグ回路１０を含むマイクロコンピュータ１内の各構成間のデータの授受を仲介する。
【００２４】
デバッグ回路１０は、マイクロコンピュータ１（例示：ＲＯＭ１４）に書き込まれたソフトウェアをデバッグする機能を有する。デバッグ装置５は、オンチップデバッグエミュレータ４を介して、デバッグ回路１０の動作を制御することができ、デバッグ中のマイクロコンピュータ１内の各種データを取得することができる。
【００２５】
検査回路１１は、外部入力端子１８（複数）に接続され、外部入力端子１８（複数）から選択外部入力端子を選択して、その選択外部入力端子の電位を監視している。そして、検査回路１１は、その選択外部入力端子において中間電位を検出した場合、ワーニングを出力する機能を有する。ワーニングは、例えば、後述される割り込み対処信号ＶＴＡや中間電位検出信号Ｄである。そのワーニングは、デバッグ回路１０を介してオンチップデバッグエミュレータ４やデバッグ装置５へ出力される。
【００２６】
具体的には、例えば、検査回路１１は、中間電位の検出に関する割り込み対処信号ＶＴＡをＣＰＵ１３へ通知する。割り込み対処信号ＶＴＡは、例えば、ベクタ・テーブル・アドレス信号（後述）に例示される。それにより、ＣＰＵ１３は、マイクロコンピュータシステムに対して、中間電位の発生に対する所定の処理を実行することができる。その結果、マイクロコンピュータシステムの安定性や信頼性を高めることができる。
【００２７】
更に、検査回路１１は、割り込み対処信号ＶＴＡをＣＰＵ１３へ通知すると共に、中間電位の検出を示す検出信号（中間電位検出信号Ｄ）をオンチップデバッグエミュレータ４へ出力する。それにより、オンチップデバッグエミュレータ４の有するＡＬＡＲＭ灯２０の点灯で、デバッグ装置５を用いてマイクロコンピュータシステムの開発を実行中のソフトウェア開発者に、その中間電位の検出を通知することができる。あるいは、デバッグ装置５はオンチップデバッグエミュレータ４経由でワーニングを受信して表示画面に表示することで、そのソフトウェア開発者に、中間電位の検出を通知することができる。これらの結果、その開発者は、本質的な対策を取ることができ、デバッグの期間を短縮し、組み込みシステムの開発時間を短縮することができる。
【００２８】
次に、検査回路１１の詳細について説明する。図２は、本発明の第１の実施の形態に係る検査回路１１の構成の一例を示すブロック図である。検査回路１１は、トランスミッションゲート部２１、制御部２２、検出部２３、割り込み制御部２４を備える。この図の例では、外部入力端子１８が８個の場合が示されているが、本実施の形態はそれに限定されるものではない。
【００２９】
トランスミッションゲート部２１は、制御部２２からの選択信号に基づいて、外部入力端子１８（複数）から一つの選択外部入力端子を選択して、選択外部入力端子の電位（信号）を検出部２３の中間電位検出部３３（後述）へ出力する。すなわち、トランスミッションゲート部２１は、複数のトランスミッションゲート（アナログ・スイッチ）を有する。複数のトランスミッションゲートは、外部入力端子１８（複数）に対応して設けられ、接続されている。図の例では、８個のトランスミッションゲート（ＴＧ０〜ＴＧ７）が、８個の外部入力端子１８（Ｐ００〜Ｐ０７）に対応して設けられている。そして、外部入力端子Ｐ００〜Ｐ０７は、それぞれトランスミッションゲートＴＧ０〜ＴＧ７に接続されている。また、複数のトランスミッションゲートは、外部入力端子１８（複数）に対して入力バッファ１２と並列に接続されている。すなわち、トランスミッションゲートＴＧ０〜ＴＧ７は、外部入力端子Ｐ００〜Ｐ０７に対して入力バッファ１２と並列に接続されている。
【００３０】
複数のトランスミッションゲートの各々は、制御部２２からの選択信号Ｓを各ゲートに供給され、その選択信号Ｓに応答してＯＮになる。図の例では、トランスミッションゲートＴＧ０〜ＴＧ７は、それぞれ制御部２２からの選択信号Ｓ０〜Ｓ７を各ゲートに供給され、その選択信号Ｓ０〜Ｓ７に応答してＯＮになる。トランスミッションゲートＴＧ０〜ＴＧ７のＯＮにより、それぞれ外部入力端子Ｐ００〜Ｐ０７と検出部２３とが電気的に接続される。
【００３１】
制御部２２は、外部入力端子１８（複数）から一つの選択外部入力端子を選択する選択信号Ｓをトランスミッションゲート部２１へ出力する。すなわち、制御部２２は、ＣＰＵ１３により書き込み及び読み出し可能なメモリ３１を有する。メモリ３１は、外部入力端子１８（複数）に対応したトランスミッションゲート許可ビットを有するデータを格納している。この図の例では、８個の外部入力端子１８（Ｐ００〜Ｐ０７）に対応して、８ビットのトランスミッションゲート許可ビット（Ｃ０〜Ｃ７ビット）を有するデータ（０１００００００）が格納されている。トランスミッションゲート許可ビットのデータは、ＣＰＵ１３（ソフトウェア）により書き込まれ及び読み出される。
【００３２】
制御部２２は、格納されたデータのうち、「１」の格納されたトランスミッションゲート許可ビットに対応するトランスミッションゲートに選択信号Ｓを出力する。この選択信号Ｓにより、対応するトランスミッションゲートがＯＮになり、外部入力端子１８（複数）のうちから一つの選択外部入力端子が選択される。すなわち、この選択信号Ｓにより、外部入力端子１８（複数）のうちの選択外部入力端子の電位Ｃが検出部２３へ出力される。この図の例では、Ｃ１ビットに「１」が格納されているので、制御部２２は、トランスミッションゲートＴＧ１に選択信号Ｓ１を出力する。この場合、外部入力端子Ｐ０１が選択外部入力端子となる。そして、トランスミッションゲートＴＧ１のＯＮにより、外部入力端子Ｐ０１と検出部２３とが電気的に接続される。その結果、検出部２３は、外部入力端子Ｐ０１の電位の監視を開始する。
【００３３】
検出部２３は、いずれかのトランスミッションゲートＴＧから出力された外部入力端子１８（選択外部入力端子）の電位Ｃを監視し、中間電位の発生を検出する。そして、選択外部入力端子の電位Ｃが中間電位となった場合、中間電位の検出を示す中間電位検出信号Ｄを割り込み制御部２４及び外部（例示：デバッグ回路１０、オンチップデバッグエミュレータ４、デバッグ装置５）へ出力する。検出部２３は、中間電位検出部３３と、遅延回路３４と、ＡＮＤ回路３５とを含む。
【００３４】
中間電位検出部３３は、選択外部入力端子の電位Ｃを供給され、電位Ｃが所定の電圧範囲の中間電位になった場合、中間電位の検出を示す検出信号Ａを出力する。遅延回路３４は、中間電位検出部３３から出力された検出信号Ａを所定の遅延時間（例示：１ｍｓｅｃ．）だけ遅延させた遅延信号Ｂを生成してＡＮＤ回路３５に出力する。ＡＮＤ回路３５は、中間電位検出部３３からの検出信号Ａと遅延回路３４からの遅延信号ＢとのＡＮＤ演算結果を中間電位検出信号Ｄとして出力する。すなわち、検出信号Ａと遅延信号Ｂとがいずれもハイレベルの場合、中間電位検出信号Ｄが出力される。これにより、選択外部入力端子が遅延時間分だけ継続的に中間電位になった場合、ＡＮＤ回路３５は中間電位検出信号Ｄを出力することになる。その結果、ノイズや立ち上がりや立下りの緩い入力により、一時的に中間電位になるような、中間電位の誤検出を防止することが出来る。この中間電位検出信号Ｄは、割り込み制御部２４及び外部へ出力される。
【００３５】
割り込み制御部２４は、中間電位検出信号Ｄに応答して、割り込み対処信号ＶＴＡをＣＰＵ１３に通知する。割り込み制御部２４は、ステータスレジスタ３８とベクタ・テーブル・アドレス発生回路３７とを含む。
【００３６】
割り込みステータスレジスタ３８は、中間電位が検出され中間電位検出信号Ｄが出力された場合、中間電位検出信号Ｄに応答して、「１」を格納する（割り込みステータスフラグをセットする）。この「１」は、中間電位の検出を示している。割り込みステータスレジスタ３８に対して、ＣＰＵ１３は格納されたデータを読み出した後、そのデータをクリアする。ベクタ・テーブル・アドレス発生回路３７は、中間電位検出信号Ｄに応答して、割り込み対処信号ＶＴＡを生成し、ＣＰＵ１３に出力する。割り込み対処信号ＶＴＡは、例えば、中間電位が発生した場合の対処用の処理を実行するベクタ割り込み処理のアドレスを示すベクタ・テーブル・アドレス信号である。これにより、組み込みソフトウェアでもハードウェアの異常を確認できるので、適切な処置を行うことができる。
【００３７】
図３は、本発明の第１の実施の形態に係る中間電位検出部の一例を示す回路図である。中間電位検出部３３は、ＰＭＯＳトランジスタＴｒ１、Ｔｒ２、Ｔｒ３、オペアンプ（コンパレータ）ＯＰ１、ＯＰ２、抵抗Ｒ１、Ｒ２、Ｒ３、ＡＮＤ回路を含む。ＰＭＯＳトランジスタＴｒ１は、ソースを電源（例示：電源ＥＶＤＤ）に、ドレインを抵抗Ｒ１の一端に、ゲートをｅｎａｂｌｅ信号用の配線にそれぞれ接続されている。抵抗Ｒ１は、他端をノードＮ１及びオペアンプＯＰ１の非反転入力端子に接続されている。抵抗Ｒ２は、一端をノードＮ１に、他端をノードＮ２及びオペアンプＯＰ２の反転入力端子にそれぞれ接続されている。抵抗Ｒ３は、一端をノードＮ２に、他端を他の電源（例示：ＥＶＳＳ）に接続されている。ＰＭＯＳトランジスタＴｒ２は、ソースを電源に、ドレインをオペアンプＯＰ１の電源端子に、ゲートをｅｎａｂｌｅ信号用の配線にそれぞれ接続されている。オペアンプＯＰ１は、反転入力端子をトランスミッションゲート部２１の出力に、出力をＡＮＤ回路の一方の入力に接続されている。ＰＭＯＳトランジスタＴｒ３は、ソースを電源に、ドレインをオペアンプＯＰ２の電源端子に、ゲートをｅｎａｂｌｅ信号用の配線にそれぞれ接続されている。オペアンプＯＰ２は、非反転入力端子をトランスミッションゲート部２１の出力に、出力をＡＮＤ回路の他方の入力に接続されている。ＡＮＤ回路の出力が中間電位検出部３３の出力になる。
【００３８】
抵抗Ｒ１、Ｒ２、Ｒ３は直列に接続され、電源の電圧を分圧して、基準電位を生成している。図の例では、Ｒ１：Ｒ２：Ｒ３＝３Ｒ：４Ｒ：３Ｒである。したがって、高電圧側の電源の電圧をＥＶＤＤ、低電圧側の電源の電圧を０（接地）とすれば、基準電位は、ノードＮ１の電位ＶＩＨ（ハイレベル入力電圧）は０．７ＥＶＤＤとなり、ノードＮ２の電位ＶＩＬ（ロウレベル入力電圧）は０．３ＥＶＤＤとなる。この中間電位検出部３３は、それら基準電位とトランスミッションゲート部２１の出力（選択外部入力端子の電位Ｃ）とをオペアンプ（コンパレータ）ＯＰ１、ＯＰ２で比較する。そして、ＶＩＬ（０．３ＥＶＤＤ）＜Ｃ＜ＶＩＨ（０．７ＥＶＤＤ）の場合、オペアンプＯＰ１、ＯＰ２の出力がいずれもハイレベルとなり、ＡＮＤ回路からハイレベルの電圧（検出信号Ａ）が出力される。
【００３９】
この例では、中間電位の電圧範囲を０．３ＥＶＤＤ＜Ｃ＜０．７ＥＶＤＤとしている。この中間電位の電圧範囲は、抵抗Ｒ１、Ｒ２、Ｒ３の抵抗比を調整することにより、自由に設定することができる。そして、抵抗Ｒ１、Ｒ２、Ｒ３を可変抵抗にすれば、半導体チップ形成後においても制御信号等により電圧範囲を事後的に自由に変更することができる。
【００４０】
なお、本実施の形態において、中間電位を検出しない場合、ｅｎａｂｌｅ信号（例えば、制御部２２から供給）を０とし、電源ＥＶＤＤから電源ＥＶＳＳまでの電流をカットすることが好ましい。それにより、オペアンプ（コンパレータ）ＯＰ１、ＯＰ２の電流消費を低減することができる。
【００４１】
また、本実施の形態において、マイクロコンピュータ１の全体に１セットの検査回路１１しか搭載しないことが好ましい。コスト及び設置面積の低減のためである。ただし、検査回路１１を一つしか搭載しない場合、トランスミッションゲート許可ビットは同時に一つしか選択しないようにする。逆に、同時に選択されるトランスミッションゲート許可ビットを増加させる場合、それに対応させて検査回路１１を増加させればよい。それにより、同時に複数の外部入力端子を監視することができる。
【００４２】
本実施の形態では、オンチップデバッグエミュレータ４へ検出信号を渡すので、組み込みソフトウェア開発システムでのデバッグ時でも、オンチップデバッグエミュレータ４のＡＬＡＥＲＭ灯２０やデバッグ装置５の表示画面等により中間電位の問題を早期に発見することができる。それにより、開発者は、本質的な対策を取ることが可能となる。その結果、組み込みシステムの開発時間を短縮することができる。
【００４３】
次に、本発明の第１の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの動作について説明する。図４は、本発明の第１の実施の形態にかかるマイクロコンピュータ及び組み込みソフトウェア開発システムの動作を示すフロー図である。
【００４４】
開発者の入力によるデバッグ装置５からＣＰＵ１３への命令、又は、ＲＡＭ１５やＲＯＭ１４に予め格納されたソフトウェアの設定に基づいて、ＣＰＵ１３は、外部入力端子Ｐ００〜Ｐ０７のうちから一つの選択外部入力端子を選択し、その選択を示す信号を制御部２２へ出力する。例えば、外部入力端子Ｐ０１を選択外部入力端子として、外部入力端子Ｐ０１の選択を示す信号を制御部２２へ出力する。
【００４５】
制御部２２のメモリ３１のトランスミッションゲート許可ビットは、初期値として「０」が書き込まれている。制御部２２は、ＣＰＵ１３からの選択を示す信号に基づいて、メモリ３１内の選択外部入力端子に対応するトランスミッションゲートのトランスミッションゲート許可ビットに「１」を、他のトランスミッションゲート許可ビットに「０」をそれぞれ書き込む。例えば、メモリ３１の外部入力端子Ｐ０１に対応するトランスミッションゲートＴＧ１のトランスミッションゲート許可ビットＣ１に「１」を、他のトランスミッションゲート許可ビットＣ０、Ｃ２〜Ｃ７に「０」をそれぞれ書き込む。
【００４６】
制御部２２は、トランスミッションゲート許可ビットに「１」が書き込まれているトランスミッションゲートに選択信号Ｓを出力する。選択信号Ｓにより、トランスミッションゲート部２１の対象となるトランスミッションゲートがＯＮになる。その結果、検出部２３の中間電位検出部３３が、対象となる選択外部入力端子の電位の監視を開始する。例えば、トランスミッションゲート許可ビットＣ１に「１」が書き込まれている場合、制御部２２は、トランスミッションゲートＴＧ１へ選択信号Ｓ１を出力する。選択信号Ｓ１により、トランスミッションゲート部２１のトランスミッションゲートＴＧ１がＯＮになる。その結果、検出部２３の中間電位検出部３３が、選択外部入力端子Ｐ０１の電位の監視を開始する（ステップＳ０１）。
【００４７】
予め設定された時間（例示：１ｍｓｅｃ．）が経過した場合（ステップＳ０２：Ｙｅｓ）、開発者の入力によるデバッグ装置５からＣＰＵ１３への命令、又は、ＲＡＭ１５やＲＯＭ１４に予め格納されたソフトウェアの設定に基づいて、ＣＰＵ１３は、外部入力端子Ｐ００〜Ｐ０７のうちから他の一つの選択外部入力端子を選択し、その選択を示す信号を制御部２２へ出力する。例えば、外部入力端子Ｐ０７を選択外部入力端子として、外部入力端子Ｐ０７の選択を示す信号を制御部２２へ出力する。
【００４８】
制御部２２は、その選択を示す信号に基づいて、メモリ３１内の選択外部入力端子に対応するトランスミッションゲートのトランスミッションゲート許可ビットに「１」を、他のトランスミッションゲート許可ビットに「０」をそれぞれ書き込む。例えば、メモリ３１の外部入力端子Ｐ０７に対応するトランスミッションゲートＴＧ７のトランスミッションゲート許可ビットＣ７に「１」を、他のトランスミッションゲート許可ビットＣ０〜Ｃ６に「０」をそれぞれ書き込む。
【００４９】
制御部２２は、トランスミッションゲート許可ビットに「１」が書き込まれているトランスミッションゲートに選択信号Ｓを出力する。選択信号Ｓにより、トランスミッションゲート部２１の対象となるトランスミッションゲートがＯＮになる。その結果、検出部２３の中間電位検出部３３が、対象となる選択外部入力端子の電位の監視を開始する。例えば、トランスミッションゲート許可ビットＣ７に「１」が書き込まれている場合、制御部２２は、トランスミッションゲートＴＧ７へ選択信号Ｓ７を出力する。選択信号Ｓ７により、トランスミッションゲート部２１のトランスミッションゲートＴＧ７がＯＮになる。その結果、検出部２３の中間電位検出部３３が、選択外部入力端子Ｐ０７の電位の監視を開始する（ステップＳ０３）。
【００５０】
予め設定された時間（例示：１ｍｓｅｃ．）が経過した場合（ステップＳ０４：Ｙｅｓ）、ステップＳ０３及びステップＳ０４を他の外部入力端子に対して連続的に行っても良いし、他のユーザープログラム処理（ステップＳ０５）を間に挟んだ後、ステップＳ０３及びステップＳ０４を他の外部入力端子に対して連続的に行っても良い。
【００５１】
ここで、ステップＳ０２、Ｓ０４において、予め設定された時間（例示：１ｍｓｅｃ．）が経過する前に、中間電位を検出した場合の処理について説明する。図５は、本発明の第１の実施の形態に係る中間電位を検出した場合の処理を示すフロー図である。中間電位検出部３３は、中間電位を検出する（ステップＳ１１：Ｙｅｓ）と、検出信号Ａを出力する。ＡＮＤ回路３５は、検出信号Ａを、直接に、及び、遅延回路３４を介して遅延信号Ｂとして間接にそれぞれ受け取り、両者のＡＮＤ（積）演算結果を中間電位検出信号Ｄとして出力する。なお、遅延回路３４の遅延時間は、ステップＳ０２、Ｓ０４で待機する時間（例示：１ｍｓｅｃ．）と概ね同じである。検出部２３から中間電位検出信号Ｄが出力されることは、中間電位の発生が確定したことを意味する。
【００５２】
検出部２３から出力された中間電位検出信号Ｄにより、割り込み制御部２４の割り込みステータスレジスタ３８に「１」がセットされる。割り込み制御部２４のベクタ・テーブル・アドレス発生回路３７は、中間電位検出信号Ｄに応答して、割り込み対処信号ＶＴＡを生成し、ＣＰＵ１３に出力する。ＣＰＵ１３は、ベクタ割り込み処理のベクタテーブルが配置されるアドレスにジャンプして、中間電位が発生した場合の対処用の処理を実行する。これにより、組み込みソフトでもハードウェアの異常を確認でき、適切な処置を行うことができる。
【００５３】
一方、中間電位検出信号Ｄは、オンチップデバッグエミュレータ４及びデバッグ装置５へも出力される。それにより、オンチップデバッグエミュレータ４及びデバッグ装置５が中間電位検出信号Ｄを受け取る。オンチップデバッグエミュレータ４は、ＡＬＡＲＭ灯２０を点灯させて中間電位の発生を通知する（ステップＳ１２）。更に／又は、デバッグ装置５の表示装置において、中間電位の発生を表示しても良い。このようにすることで、ソフトウェアの開発時、開発者は、中間電位の発生を知ることができる。
【００５４】
以上のように、意図しない（外付けデバイスからの異常入力、マイクロコンピュータの入力経路が劣化したことなどによる断線など）中間電位入力を検出できる。その結果、割り込み制御部２４への中間電位検出信号Ｄ、オンチップデバッグエミュレータ４のＡＬＡＲＭ灯２０の点灯及びデバッグ装置５のワーニング機能により、組み込みソフトウェアの開発者及びソフトウェア自体でもハードウェアの問題（中間電位）をチェックすることが可能となる。それにより、ハードウェア開発者とソフトウェア開発者とが共同でデバッグできるので、開発期間を短縮できる。
【００５５】
また、本実施の形態のマイクロコンピュータ１は、自身に検出回路１１を有しているので、マイクロコンピュータシステムの通常動作中に、その検出回路１１を動作させることにより、マイクロコンピュータがセット製品に搭載されて出荷された後に中間電位が入力される状態となった場合、最低限の処置（例示：マイクロコンピュータの使用者にランプ点灯などにより異常を通知する）などの処置をすることが可能となる。それにより、このチップセットを用いたシステムの信頼性を向上させることができる。
【００５６】
（第２の実施の形態）
まず、本発明のマイクロコンピュータ及び組み込みソフトウェア開発システムの第２の実施の形態の構成について説明する。図１は、本発明の第２の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの構成を示すブロック図である。本ブロック図については、第１の実施の形態と同様であるのでその説明を省略する。
【００５７】
本実施の形態は、検査回路１１の構成の点で第１の実施の形態と異なる。その検査回路１１の詳細について説明する。図６は、本発明の第２の実施の形態に係る検査回路１１の各構成を示すブロック図である。検査回路１１は、トランスミッションゲート部２１、制御部２２ｐ、検出部２３、割り込み制御部２４ｐを備える。本検査回路１１は、制御部２２ｐ及び割り込み制御部２４ｐの構成及び動作が第１の実施の形態と異なる。
【００５８】
制御部２２ｐは、外部入力端子１８（複数）から所定の時間間隔で順次に一つずつの選択外部入力端子を選択して行く選択信号Ｓをトランスミッションゲート部２１へ出力する。制御部２２ｐは、ＣＰＵ１３の信号により動作するトランスミッションゲート制御回路３１ｐを有する。
【００５９】
第１の実施の形態では、中間電位を検出したい外部入力端子のみが、トランスミッションゲート許可ビットのデータに基づいて選択される。すなわち、トランスミッションゲートの制御において、ソフトウェア（ＣＰＵ１３）が、中間電位を検出したい外部入力端子に対応するトランスミッションゲート許可ビットを制御部２２のメモリ３１にセットする。したがって、検出部２３は、トランスミッションゲート許可ビットに対応する一つの外部入力端子の電位を監視する。
【００６０】
一方、本実施の形態では、最終的にすべての外部入力端子が、所定の時間（例示：１ｍｓｅｃ．）毎に自動的に順番に一つずつ選択される。すなわち、トランスミッションゲートの制御において、トランスミッションゲート制御回路３１ｐが、トランスミッションゲートを一つずつ所定の時間毎にＯＮさせる。したがって、検出部２３は、その所定の時間毎に順番に一つずつ外部入力端子の電位を監視することが出来る。
【００６１】
この図の例では、外部入力端子がＰ００〜Ｐ０７の８個であるので、まず、第１番目の所定の時間に、出力電圧Ｃ００で示される選択信号Ｓ０がトランスミッションゲートＴＧ０へ出力される。それにより、トランスミッションゲートＴＧ０がＯＮになる。その結果、検出部２３は、外部入力端子Ｐ００を選択入力端子として、その電位を監視する。次に、第２番目の所定の時間に、出力電圧Ｃ０１で示される選択信号Ｓ１がトランスミッションゲートＴＧ１へ出力される。それにより、トランスミッションゲートＴＧ１がＯＮになる。その結果、検出部２３は、外部入力端子Ｐ０１を選択入力端子として、その電位を監視する。以下同様である。そして、第８番目の所定の時間に、出力電圧Ｃ０７で示される選択信号Ｓ７がトランスミッションゲートＴＧ７へ出力される。それにより、トランスミッションゲートＴＧ７がＯＮになる。その結果、検出部２３は、外部入力端子Ｐ０７を選択入力端子として、その電位を監視する。このように、すべての外部入力端子に対して一通りの検査が終了した後、外部入力端子Ｐ００から再び電位の監視を連続的に続けて行う。
【００６２】
割り込み制御部２４ｐは、中間電位検出信号Ｄに基づいて、割り込み対処信号ＶＴＡをＣＰＵ１３に通知する。割り込み制御部２４ｐは、割り込みステータスレジスタ３８ｐとベクタ・テーブル・アドレス発生回路３７とＡＮＤ回路であるＡＮＤａ〜ＡＮＤｈを含む。
【００６３】
ＡＮＤ回路であるＡＮＤａ〜ＡＮＤｈは、それぞれ一方の入力端子に出力電圧Ｃ００〜Ｃ０７を供給され、他方の入力端子に検出部２３からの中間電位検出信号Ｄを供給され、そのＡＮＤ演算結果（中間電位検出信号Ｄ）を割り込みステータスレジスタ３８ｐの対応するビットに出力する。
【００６４】
すなわち、ＡＮＤａ回路は、一方の入力端子に出力電圧Ｃ００を供給され、他方の入力端子に検出部２３からの中間電位検出信号Ｄを供給され、そのＡＮＤ演算結果を割り込みステータスレジスタ３８ｐの第１番目のビットに出力する。ＡＮＤｂ回路は、一方の入力端子に出力電圧Ｃ０１を供給され、他方の入力端子に検出部２３からの中間電位検出信号Ｄを供給され、そのＡＮＤ演算結果を割り込みステータスレジスタ３８ｐの第２番目のビットに出力する。以下同様である。そして、ＡＮＤｈ回路は、一方の入力端子に出力電圧Ｃ０７を供給され、他方の入力端子に検出部２３からの中間電位検出信号Ｄを供給され、そのＡＮＤ演算結果を割り込みステータスレジスタ３８ｐの第８番目のビットに出力する。
【００６５】
割り込みステータスレジスタ３８ｐは、外部入力端子１８（複数）に対応した割り込みステータスビットを有するデータが格納されている。この図の例では、８個の外部入力端子１８（Ｐ００〜Ｐ０７）に対応して、８ビットの割り込みステータスビットを有するデータが格納されている。割り込みステータスビットのデータは、オンチップデバッグエミュレータ４やデバッグ装置５により読み出される。
【００６６】
中間電位が検出され中間電位検出信号Ｄが出力された場合、そのときの監視対象であった外部入力端子は出力電圧Ｃ００〜Ｃ０７のうちのいずれかのＯＮ信号に対応している。したがって、ＡＮＤａ回路〜ＡＮＤｈ回路において中間電位検出信号Ｄと出力電圧Ｃ００〜Ｃ０７とのＡＮＤ演算を行い、演算結果が「１」となるビットを見出すことにより、どの外部入力端子に中間電位が発生したかを把握することが出来る。割り込みステータスレジスタ３８ｐの「１」は、そのようにして求められた中間電位の発生（検出）及びその外部入力端子を示している。割り込みステータスレジスタ３８ｐは、ＣＰＵ１３又はオンチップデバッグエミュレータ４あるいはデバッグ装置５で読み出される。
【００６７】
ここで、所定の時間（例示：１ｍｓｅｃ．）毎に、ハイレベル信号（出力電圧Ｃ００〜Ｃ０７）も割り込み制御部２４ｐに入るので、割り込みステータスビットも所定の時間（例示：１ｍｓｅｃ．）にセットされる。ＣＰＵ１３（ソフトウェア）は割り込みステータスビットを確認するだけで、中間電位の発生（検出）及びその外部入力端子を把握することができる。
【００６８】
ベクタ・テーブル・アドレス発生回路３７は、中間電位検出信号Ｄに応答して、割り込み対処信号ＶＴＡを生成し、ＣＰＵ１３に出力する。割り込み対処信号ＶＴＡは、例えば、中間電位が発生した場合の対処用の処理を実行するベクタ割り込み処理のアドレスを示すベクタ・テーブル・アドレス信号である。これにより、組み込みソフトウェアでもハードウェアの異常を確認でき、適切な処置を行うことができる。
【００６９】
次に、本発明の第２の実施の形態にかかるマイクロコンピュータ及び組み込みソフトウェア開発システムの動作について説明する。図７は、本発明の第２の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの動作を示すフロー図である。
【００７０】
開発者の入力によるデバッグ装置５からＣＰＵ１３への命令、又は、ＲＡＭ１５やＲＯＭ１４に予め格納されたソフトウェアの設定に基づいて、ＣＰＵ１３は、ユーザープログラム処理を実行する（ステップＳ２１）。それと共に、並行して、開発者の入力によるデバッグ装置５からＣＰＵ１３への命令、又は、ＲＡＭ１５やＲＯＭ１４に予め格納されたソフトウェアの設定に基づいて、検査回路１１（の制御部２２ｐ）へ外部入力端子１８の監視を指示する。制御部２２は、外部入力端子１８（複数）から所定の時間間隔で順次に一つずつの選択外部入力端子を選択して行く選択信号Ｓをトランスミッションゲート部２１へ出力する。
【００７１】
まず、第１番目の所定の時間に、出力電圧Ｃ００で示される選択信号Ｓ０がトランスミッションゲートＴＧ０へ出力される。それにより、トランスミッションゲートＴＧ０がＯＮになる。その結果、検出部２３は、外部入力端子Ｐ００を選択入力端子として、その電位を監視する。検出部２３は、所定の時間内に中間電位が検出されば、中間電位検出信号Ｄを出力する。割り込み制御部２４ｐのＡＮＤａ回路は、一方の入力端子には出力電圧Ｃ００を供給され、他方の入力端子には検出部２３からの中間電位検出信号Ｄがあればそれが供給される。両者が供給された場合のみ、そのＡＮＤ演算結果であるハイレベル信号が割り込みステータスレジスタ３８ｐの第１番目のビットに出力される。
【００７２】
同様にして、順番に、第２〜８番目の所定の時間に、出力電圧Ｃ０１〜Ｃ０７で示される選択信号Ｓ１〜Ｓ７がトランスミッションゲートＴＧ１〜ＴＧ７へ出力される。それにより、トランスミッションゲートＴＧ１〜ＴＧ７が順番にＯＮになる。その結果、検出部２３は、外部入力端子Ｐ０１〜Ｐ０７を選択入力端子として、その電位を順番に監視する。検出部２３は、各所定の時間内に中間電位が検出されば、中間電位検出信号Ｄを出力する。割り込み制御部２４ｐのＡＮＤｂ回路〜ＡＮＤｈ回路の各々において、一方の入力端子に出力電圧Ｃ０１〜Ｃ０７を供給され、他方の入力端子に検出部２３からの中間電位検出信号Ｄがあればそれが供給される。両者が供給された場合のみ、そのＡＮＤ演算結果であるハイレベル信号が割り込みステータスレジスタ３８ｐの第２〜８番目のビットに出力される。
【００７３】
このように、外部入力端子に対して一通りの検査が終了した後、外部入力端子Ｐ００から再び電位の監視を連続的に続けて行う。
【００７４】
中間電位検出信号Ｄが出力された場合、専用入力端子１７及びコネクタ８を介してオンチップデバッグエミュレータ４へも中間電位検出信号Ｄが出力される。オンチップデバッグエミュレータ４（又はデバッグ装置５）は、中間電位検出信号Ｄに応答して、割り込みステータスレジスタ３８ｐの内容を読み出しに行く。すなわち、まず、割り込みステータスレジスタ３８ｐの第１番目（右から１番目）のレジスタを読み出す。このレジスタは、外部入力端子Ｐ００に対応する。それが「１」の場合、外部入力端子Ｐ００に中間電位が発生したことを意味する（ステップＳ３１−１：Ｙｅｓ）。その場合、オンチップデバッグエミュレータ４は自身の有する外部入力端子Ｐ００用のＡＬＡＲＭ灯（例示：ＬＥＤ）を点灯させる（ステップＳ３２）。そのとき、中間電位が検出されているので、ベクタ・テーブル・アドレス発生回路３７は、中間電位検出信号Ｄに応答して、割り込み対処信号ＶＴＡを生成し、ＣＰＵ１３に出力する。ＣＰＵ１３は、ベクタ割り込み処理のベクタテーブルが配置されるアドレスにジャンプして、中間電位が発生した場合の対処用の処理を実行する。これにより、組み込みソフトでもハードウェアの異常を確認でき、適切な処置を行うことができる。
【００７５】
第１番目のレジスタの値が「０」の場合（ステップＳ３１−１：Ｎｏ）、割り込みステータスレジスタ３８ｐの第２番目（右から２番目）のレジスタを読み出す（ステップＳ３１−２）。このレジスタは、外部入力端子Ｐ０１に対応する。それが「１」の場合、外部入力端子Ｐ０１に中間電位が発生したことを意味する（ステップＳ３１−２：Ｙｅｓ）。その場合、オンチップデバッグエミュレータ４は自身の有する外部入力端子Ｐ０１用のＡＬＡＲＭ灯（例示：ＬＥＤ）を点灯させる（ステップＳ３２）。そのときのベクタ・テーブル・アドレス発生回路３７及びＣＰＵ１３の処理は上述のとおりである。第２番目のレジスタの値が「０」の場合（ステップＳ３１−２：Ｎｏ）、割り込みステータスレジスタ３８ｐの第３番目（右から３番目）のレジスタを読み出す（ステップＳ３１−３）。以下同様である。そして、第８番目（右から８番目）のレジスタの値が「０」の場合（ステップＳ３１−８：Ｎｏ）、中間電位の発生を検知（中間電位検出信号Ｄが出力）したにもかかわらず、割り込みステータスレジスタ３８ｐに何も格納されていないので、故障と判断して、エラーを出力する（ステップＳ３３）。エラーに関しては、オンチップデバッグエミュレータ４は自身の有するエラー灯（例示：ＬＥＤ）を点灯させてもよいし、デバッグ装置５の画面に表示しても良い。
【００７６】
本実施の形態においても、第１の実施の形態と同様の効果を得ることが出来る。
加えて、本実施の形態では、外部入力端子の各々に対応したオンチップデバッグエミュレータ４のＡＬＡＲＭ灯２０の点灯により、どの外部入力端子に中間電位が発生したかを開発者に知らせることができる。更に、本実施の形態では、自動的に連続的に外部入力端子を監視するので、中間電位の発生を見落とす可能性を低減することができる。
【００７７】
（第３の実施の形態）
まず、本発明のマイクロコンピュータ及び組み込みソフトウェア開発システムの第３の実施の形態の構成について説明する。図８は、本発明の第３の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。ソフトウェア開発システムは、ＩＣＥ４０及びデバッグ装置５を具備する。
【００７８】
ＩＣＥ４０は、Ｉｎ−Ｃｉｒｃｕｉｔ  Ｅｍｕｌａｔｏｒである。ＩＣＥ４０は、デバッグの対象の半導体チップ（マイクロコンピュータ）の機能を模擬することを可能とする機能を有する。ＩＣＥ４０は、入出力端子４１、マイクロコンピュータ１ａ、検査回路１１ａ、デバッグ回路１０ａ、専用入出力端子１７ａを備える。ＩＣＥ４０は、その入出力端子４１とシステムボード３における半導体チップを搭載するソケット６とを専用のケーブルにより、双方向データ送受信可能に接続されている。その入出力端子４１は、マイクロコンピュータ１ａにおける外部入力端子１８と接続されている。また、ＩＣＥ４０は、デバッグ装置５と双方向データ送受信可能に接続されている。
【００７９】
本実施の形態では、マイクロコンピュータとして、デバッグの対象の半導体チップ（マイクロコンピュータ）そのものではなく、ＩＣＥ４０内に設けられたマイクロコンピュータ１ａを用いてデバッグを行う点で第１の実施の形態と異なる。このマイクロコンピュータ１ａは、デバッグの対象の半導体チップ（マイクロコンピュータ）を模擬することができる機能を有する回路である。このとき、検査回路１１ａは、ＩＣＥ４０内に設けられている。ただし、検査回路１１ａとしては、第１の実施の形態の検査回路１１及び第２の実施の形態の検査回路１１のいずれも用いることができる。
【００８０】
ここで、本実施の形態におけるマイクロコンピュータ１ａにおける、外部入力端子１８ａ、入力バッファ１２ａ、ＣＰＵ１３ａ、ＲＯＭ１４ａ、ＲＡＭ１５ａ、ＰＯＲＴ１６ａ、内部バス１９ａは、それぞれ図１におけるマイクロコンピュータ１における、外部入力端子１８、入力バッファ１２、ＣＰＵ１３、ＲＯＭ１４、ＲＡＭ１５、ＰＯＲＴ１６、内部バス１９に対応する。また、デバッグ回路１０ａ、専用入出力端子１７ａは、それぞれ図１のデバッグ回路１０、専用入出力端子１７に対応する。
【００８１】
本実施の形態の動作は、マイクロコンピュータとして、デバッグの対象の半導体チップではなく、ＩＣＥ４０内でデバッグの対象の半導体チップを模擬する機能を有する回路を用いる他は、第１及び第２の実施の形態と同様であるのでその説明を省略する。
【００８２】
この場合にも、第１の実施の形態及び第２の実施の形態と同様の効果を得ることが出来る。
【００８３】
なお、図８において、ＩＣＥ４０は、検査回路１１ａを含んでいないマイクロコンピュータ１ａをエミュレートしている。しかし、本発明はこの例に限定されるものではない。すなわち、図８において、ＩＣＥ４０は、第１及び第２の実施の形態のマイクロコンピュータ１と同様に、検査装置及びデバッグ回路を含んでいるマイクロコンピュータをエミュレートすることも可能である。その場合にも、第１〜第３の実施の形態と同様の効果を得ることが出来る。
【００８４】
本発明は上記各実施の形態に限定されず、本発明の技術思想の範囲内において、各実施の形態は適宜変形又は変更され得ることは明らかである。また、各実施の形態は、互いに技術的矛盾が発生しない限り、相互に利用可能である。
【図面の簡単な説明】
【００８５】
【図１】図１は、本発明の第１及び第２の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの構成を示すブロック図である。
【図２】図２は、本発明の第１及び第３の実施の形態に係る検査回路の各構成を示すブロック図である。
【図３】図３は、本発明の第１乃至第３の実施の形態に係る中間電位検出部の一例を示す回路図である。
【図４】図４は、本発明の第１及び第３の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの動作を示すフロー図である。
【図５】図５は、本発明の第１及び第３の実施の形態に係る中間電位を検出した場合の処理を示すフロー図である。
【図６】図６は、本発明の第２及び第３の実施の形態に係る検査回路の各構成を示すブロック図である。
【図７】図７は、本発明の第２及び第３の実施の形態に係るマイクロコンピュータ及び組み込みソフトウェア開発システムの動作を示すフロー図である。
【図８】図８は、本発明の第３の実施の形態に係るソフトウェア開発システムの構成を示すブロック図である。
【符号の説明】
【００８６】
１、１ａ    マイクロコンピュータ
２    外付けＩＣ
３    システムボード
４    オンチップデバッグエミュレータ
５    デバッグ装置
６    ソケット
８    コネクタ
１０、１０ａ    デバッグ回路
１１、１１ａ    検査回路
１２、１２ａ    入力バッファ
１３、１３ａ    ＣＰＵ
１４、１４ａ    ＲＰＭ
１５、１５ａ    ＲＡＭ
１６、１６ａ    ＰＯＲＴ
１７、１７ａ    専用入出力端子
１８、１８ａ    外部入力端子
１９、１９ａ    内部バス
２０、２０ａ    ＡＬＡＲＭ灯
２１、２１ａ    トランスミッションゲート部
２２、２２ｐ、２２ａ    制御部
２３、２３ａ    検出部
２４、２４ｐ、２４ａ    割り込み制御部
３１、３１ｐ    メモリ
３１ａ    トランスミッションゲート制御回路
３３    中間電位検出部
３４    遅延回路
３５    ＡＮＤ回路
３７    ベクタ・テーブル・アドレス発生回路
３８、３８ｐ    割り込みステータスレジスタ
４０    ＩＣＥ
ＴＧ０〜ＴＧ７    トランスミッションゲート
Ｔｒ１〜Ｔｒ３    ＰＭＯＳトランジスタ
ＯＰ１、ＯＰ２    コンパレータ（オペアンプ）
ＡＮＤ、ＡＮＤａ〜ＡＮＤｈ    ＡＮＤ回路
【図１】
2010134677.tif 000003
【図２】
2010134677.tif 000004
【図３】
2010134677.tif 000005
【図４】
2010134677.tif 000006
【図５】
2010134677.tif 000007
【図６】
2010134677.tif 000008
【図７】
2010134677.tif 000009
【図８】
2010134677.tif 000010