JP2007193570A - マイクロコンピュータ及び電子機器 - Google Patents
マイクロコンピュータ及び電子機器 Download PDFInfo
- Publication number
- JP2007193570A JP2007193570A JP2006011068A JP2006011068A JP2007193570A JP 2007193570 A JP2007193570 A JP 2007193570A JP 2006011068 A JP2006011068 A JP 2006011068A JP 2006011068 A JP2006011068 A JP 2006011068A JP 2007193570 A JP2007193570 A JP 2007193570A
- Authority
- JP
- Japan
- Prior art keywords
- break
- debug
- clock
- circuit
- microcomputer
- 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.)
- Withdrawn
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Abstract
【課題】オンチップデバッグ機能を有するマイクロコンピュータにおいて、消費電力の増大を防止すること。
【解決手段】オンチップデバッグ機能を有するマイクロコンピュータであって、CPUの状態がブレークモードであるか否かを示すブレークモード信号114を出力するCPU20と、第1のデバッグモジュール30と、第1のデバッグモジュールとは異なるクロックラインでクロックが供給される第2のデバッグモジュール40と、クロック供給制御回路50と、を含む。クロック供給制御回路50は、前記ブレークモード信号114がCPUがブレーク状態であることを示している場合には第2のデバッグモジュールへのクロックの供給を停止するよう制御する。
【選択図】図1
【解決手段】オンチップデバッグ機能を有するマイクロコンピュータであって、CPUの状態がブレークモードであるか否かを示すブレークモード信号114を出力するCPU20と、第1のデバッグモジュール30と、第1のデバッグモジュールとは異なるクロックラインでクロックが供給される第2のデバッグモジュール40と、クロック供給制御回路50と、を含む。クロック供給制御回路50は、前記ブレークモード信号114がCPUがブレーク状態であることを示している場合には第2のデバッグモジュールへのクロックの供給を停止するよう制御する。
【選択図】図1
Description
本発明は、マイクロコンピュータ及び電子機器に関する。
近年、ゲーム装置、カーナビゲーションシステム、プリンタ、携帯情報端末などの電子機器に組み込まれ、高度な情報処理を実現できるマイクロコンピュータに対する需要が高まっている。このような組み込み型のマイクロコンピュータは、通常、ターゲットシステムと呼ばれるユーザボードに実装される。そして、このターゲットシステムを動作させるソフトウェアの開発を支援するためにICE(In-Circuit Emulator)と呼ばれるソフトウェア開発支援ツールが広く使用されている。
さて、このようなICEとしては、従来はCPU置き換え型と呼ばれるICEが主流を占めていたが、最近では、ICEと同じ機能を実現するためのデバッグ用のピンと機能を量産チップ上に実装するタイプのICEが知られている。このようなオンデバッグ機能実装型ICEにおいては、通常ユーザーモード又はrun中とデバッグモードを有している。そしてユーザーモード又はrun中において、ユーザープログラムが実行され、デバッグモードにおいてはデバッグ用プログラムが実行される。
特開2004−287760号
このようなオンチップデバッグ機能を持つマイクロコンピュータでは、オンチップデバッグ機能モジュールはCPUと一体となっており、CPU同様常にクロックが入力されていた。
そのためオンチップデバッグ機能モジュールにおいても常に電流が流れ電力を消費していた。オンチップデバッグ機能は今後機能がより豊富になり、それに伴い消費電力も増大するという問題点があった。
本発明は以上のような問題点に鑑みてなされたものであり、オンチップデバッグ機能を有するマイクロコンピュータにおいて、消費電力の増大を防止することを目的とする。
(1)本発明は、
オンチップデバッグ機能を有するマイクロコンピュータであって、
CPUの状態がブレークモードであるか否かを示すブレークモード信号を出力するCPUと、
オンチップデバッグを行うためのデバッグ回路を含む第1のデバッグモジュールと、
第1のデバッグモジュールとは異なるクロックラインでクロックが供給され、オンチップデバッグを行うためのデバッグ回路を含む第2のデバッグモジュールと、
第1のデバッグモジュールに供給するクロックは非ブレーク時においてもクロックの供給を停止しないように制御し、第2のデバッグモジュールに供給するクロックは非ブレーク時にクロックの供給を停止するようにクロックの供給を制御するクロック供給制御回路と、を含み、
前記クロック供給制御回路は、
前記ブレークモード信号がCPUがブレーク状態であることを示している場合には第2のデバッグモジュールへのクロックの供給を停止するよう制御することを特徴とする。
オンチップデバッグ機能を有するマイクロコンピュータであって、
CPUの状態がブレークモードであるか否かを示すブレークモード信号を出力するCPUと、
オンチップデバッグを行うためのデバッグ回路を含む第1のデバッグモジュールと、
第1のデバッグモジュールとは異なるクロックラインでクロックが供給され、オンチップデバッグを行うためのデバッグ回路を含む第2のデバッグモジュールと、
第1のデバッグモジュールに供給するクロックは非ブレーク時においてもクロックの供給を停止しないように制御し、第2のデバッグモジュールに供給するクロックは非ブレーク時にクロックの供給を停止するようにクロックの供給を制御するクロック供給制御回路と、を含み、
前記クロック供給制御回路は、
前記ブレークモード信号がCPUがブレーク状態であることを示している場合には第2のデバッグモジュールへのクロックの供給を停止するよう制御することを特徴とする。
ブレークモードとはCPUの状態がブレーク中である場合であり、ユーザーモードやrun中以外の状態を意味し、ブレーク時の状態を例えばデバッグモードやテストモードという名称で呼ばれる場合にはかかる場合も含む。
非ブレーク時とはユーザーモードやrun中である場合である。
本発明によればデバッグモジュールを非ブレーク時にクロックを止めない第1のデバッグモジュールと、非ブレーク時にはクロックを止める第2のデバッグモジュールに分けて、第1のデバッグモジュールと第2のデバッグモジュールに異なるクロックラインでクロックの供給する。このため、オンチップデバッグ機能を有するマイクロコンピュータにおいて非ブレーク時にデバッグモジュール全体にクロックの供給を行う場合に比べ、消費電力の増大を防止し低パワー化することができる。
(2)本発明のマイクロコンピュータは、
前記第1のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路として強制ブレーク入力信号を受け取り強制ブレーク入力信号に基づき強制ブレークの発生を検出してブレーク発生信号を出力する強制ブレーク検出回路を含むことを特徴とする。
前記第1のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路として強制ブレーク入力信号を受け取り強制ブレーク入力信号に基づき強制ブレークの発生を検出してブレーク発生信号を出力する強制ブレーク検出回路を含むことを特徴とする。
強制ブレークの入力は非ブレーク時(ユーザーモード又はrun中時)に行われる。本発明によれば、強制ブレーク検出回路を第1のモジュールにおくので、非ブレーク時(ユーザーモード又はrun中時)にもクロックを供給することができ、非ブレーク時(ユーザーモード又はrun中時)に発生する強制ブレークを検出することができる。
(3)本発明のマイクロコンピュータは、
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてブレークポイント検出回路を含み、
前記ブレークポイント検出回路は、
ブレークポイント値を設定するためのブレークポイントレジスタと、
CPUから受け取ったプログラムカウンタ値とブレークポイントレジスタに格納されたブレークポイント値を比較して、一致した場合にはブレーク発生信号を組み合わせ回路のみを介して出力するブレーク信号出力回路とを含むことを特徴とする。
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてブレークポイント検出回路を含み、
前記ブレークポイント検出回路は、
ブレークポイント値を設定するためのブレークポイントレジスタと、
CPUから受け取ったプログラムカウンタ値とブレークポイントレジスタに格納されたブレークポイント値を比較して、一致した場合にはブレーク発生信号を組み合わせ回路のみを介して出力するブレーク信号出力回路とを含むことを特徴とする。
組み合わせ回路とは順序回路(フィリップフロップを含む回路)に対する概念であり、フィリップフロップを含まないでアンド回路やOR回路だけで構成される回路である。
ブレークポイントレジスタへのブレークポイントの設定は、ブレーク時(ブレークモード、デバッグモード、テストモード等)に行われる。ブレークポイントレジスタは同期入力のフィリップフロップを含んで構成されるので、値設定時にはクロックが供給されていることが必要である。
ブレークポイントレジスタの値とプログラムカウンタ値との比較及びブレーク検出信号の出力は、非ブレーク時(ユーザーモード又はrun中)で行われるが、本発明ではブレーク信号出力回路は、フィリップフロップのライトなしで動作するランダムロジック(アンド、ORで構成されているフィリップフロップを含まない回路、組み合わせ回路(フィリップフロップを含まない回路)、順序回路(フィリップフロップを含む回路)でない)で構成することにより、クロック停止時にも動作させることができる。
従ってブレークポイント検出回路を第2のデバッグモジュールに設けることで、より低パワーなマイクロコンピュータを実現することができる。
(4)本発明のマイクロコンピュータは、
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてステップ実行回路を含み、
前記ステップ実行回路は、
ステップ実行イネーブルビットレジスタをふくみ、
ステップ実行イネーブルビットレジスタの値の値がイネーブルである場合にブレーク発生信号を組み合わせ回路のみを介して出力することを特徴とする。
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてステップ実行回路を含み、
前記ステップ実行回路は、
ステップ実行イネーブルビットレジスタをふくみ、
ステップ実行イネーブルビットレジスタの値の値がイネーブルである場合にブレーク発生信号を組み合わせ回路のみを介して出力することを特徴とする。
組み合わせ回路とは順序回路(フィリップフロップを含む回路)に対する概念であり、フィリップフロップを含まないでアンド回路やOR回路だけで構成される回路である。
ステップ実行イネーブルビットレジスタの設定は、ブレーク時(デバッグモード、ブレークモード、テストモード等)に行われる。ステップ実行イネーブルビットレジスタは同期入力のフィリップフロップを含んで構成されるので、値設定時にはクロックが供給されていることが必要である。
ステップ実行イネーブルレジスタの値の値がイネーブルである場合にブレーク発生信号を出力する処理は、非ブレーク時(ユーザーモード又はrun中)で行われるが、本発明では出力回路をフィリップフロップを含まない組み合わせ回路のみで構成することにより、クロック停止時にも動作させることができる。
従ってステップ実行回路を第2のデバッグモジュールに設けることで、より低パワーなマイクロコンピュータを実現することができる。
(5)本発明のマイクロコンピュータは、
前記CPUは、
第1のブレークモードレジスタと、少なくとも1クロック遅れてその値をコピーした値を保持する第2のブレークモードレジスタを含み、第1のブレークモードレジスタの値と第2のブレークモードレジスタの値と第1のモジュール及び第2のモジュールの少なくとも一方から出力されたブレーク発生信号に基づき、生成される最終的なブレーク入力信号に基づきブレークモードへ移行することを特徴とする。
前記CPUは、
第1のブレークモードレジスタと、少なくとも1クロック遅れてその値をコピーした値を保持する第2のブレークモードレジスタを含み、第1のブレークモードレジスタの値と第2のブレークモードレジスタの値と第1のモジュール及び第2のモジュールの少なくとも一方から出力されたブレーク発生信号に基づき、生成される最終的なブレーク入力信号に基づきブレークモードへ移行することを特徴とする。
(6)本発明は、
上記のいずれかに記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
上記のいずれかに記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
1.マイクロコンピュータ
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
以下、本発明の好適な実施の形態について図面を用いて詳細に説明する。なお、以下に説明する実施の形態は、特許請求の範囲に記載された本発明の内容を不当に限定するものではない。また以下で説明される構成の全てが本発明の必須構成要件であるとは限らない。
図1は、本実施の形態のマイクロコンピュータの構成について説明するための機能ブロック図である。
本実施の形態のマイクロコンピュータ10は、オンチップデバッグ機能を有するマイクロコンピュータであって、CPU20の状態がブレークモードであるか否かを示すブレークモード信号を出力するCPU20と、第1のクロックライン150でクロックが供給され、オンチップデバッグを行うためのデバッグ回路を含む第1のデバッグモジュール30と、第1のデバッグモジュール30とは異なるクロックラインでクロックが供給され、オンチップデバッグを行うためのデバッグ回路を含む第2のデバッグモジュール40と、第1のデバッグモジュール30に供給するクロックはユーザーモード又はrun中においてもクロックの供給を停止しないように制御し、第2のデバッグモジュール40に供給するクロックについてはユーザーモード又はrun中においてはクロックの供給を停止するようにクロックの供給を制御するクロック供給制御回路50と、を含む。
マイクロコンピュータ10のオンチップデバッグモジュール30、40はデバッグモード時に外部のデバッグツール130とデバッグ情報の送受を行い、デバッグ用プログラムを実行して種々のデバッグ処理を行う。
また、マイクロコンピュータ10はデバッグ用端子としてSIO(IN)132、SIO(out)134、強制ブレーク136等の端子を有しており、強制ブレーク136はユーザーモード又はrun中時には強制ブレークの入力信号を受け付け、SIO(IN)132、SIO(out)134はデバッグモード時には調歩同期式のSIOで外部のデバッグツール130とデバッグ情報の送受信を行う。
デバッグツール130は、パーソナルコンピュータ等により実現されるホストシステム66に接続される。ホストシステム66が、ユーザの操作により、プログラムロード、ステップ実行などのデバッグコマンドを発行すると、このデバッグコマンドをプリミティブコマンドに変換(分解)し、SIO(IN)132、を介しマイクロコンピュータに送信する。そしてマイクロコンピュータは、実行結果をSIO(out)134を介し、デバッグツール130に返信することで、デバッグ処理を行う。
ここでCPU20は、種々の命令の実行処理を行うものであり、内部レジスタを含む。内部レジスタは、汎用レジスタであるR0〜R15や、特殊レジスタであるSP(スタックポインタレジスタ)、AHR(積和結果データの上位レジスタ)、ALR(積和結果データの下位レジスタ)などを含む。
なおCPU20は、ユーザーモードとデバッグモードを有しており、ブレークモード設定回路110を含む。ブレークモード設定回路110はブレークモード設定フィリップフロップ112を含み、第2のモジュールが検出した強制ブレーク(ブレーク発生信号62)や第2のモジュールが検出したブレークポイントやステップ実行の各ステップにおけるブレーク発生(ブレーク信号72、82)に基づきブレークモードを設定する。
発振クロック150に接続された第1のクロックラインは発振クロックをクロック供給制御回路50を介さずにCPU20及び第1のデバッグモジュール30に供給する。また発振クロック150に接続された第2のクロックラインは発振クロックをクロック供給制御回路50を介して第2のデバッグモジュール40に供給する。
ここでクロック供給制御回路50は、ブレークモード信号114に基づき、CPU20がブレークモード状態である場合には第2のデバッグモジュール40へのクロックの供給を停止するよう制御する。
クロック供給制御回路50は、例えばアンド回路52とラッチ用フィリップフロップ56を含んで構成することができる。ラッチ用フィリップフロップ56は、ブレークモード信号114をD入力とし、発振クロック150をクロック入力とするDフィリップフロップでもよい。アンド回路52はラッチ用フィリップフロップの出力と発振クロック110を入力とするアンド回路であり、その出力クロック160は第2のデバッグモジュールに供給される。
本実施の形態によれば、CPU20及び第1のデバッグモジュール30と、第2のデバッグモジュール40は、クロックラインが分かれており、CPU20及び第1のデバッグモジュール30には、ブレーク時(デバッグモード)及び非ブレーク時(ユーザーモード又はrun中)のいずれにおいてもクロックが供給され、第2のデバッグモジュールには、ブレーク時(デバッグモード)にはクロックを供給するが、非ブレーク時(ユーザーモード又はrun中)にはクロックの供給を停止する。
従って非ブレーク時(ユーザーモード又はrun中)に第1のデバッグモジュール30と第2のデバッグモジュールの両方にクロックを供給する場合に比べ消費電力を節約することができる。
第2のデバッグモジュール40は、例えばオンチップデバッグを行うためのSIO90を含むようにしてもよい。SIO90は、マイクロコンピュータ10の外部に設けられたデバッグツール130との間で送受信するデバッグ用のデータの制御を行うものである。
SIO90は、送受信バッファ、シフトレジスタ、送受信切替部、クロック制御部及び制御レジスタ等を含む。
ここで送受信バッファは、送信データ、受信データを一時的に蓄えるためのものであり、送信バッファ、受信バッファを有するようにしてもよい。またシフトレジスタは、送信バッファからの送信データをパラレルデータからシリアルデータに変換し送受信切替部に出力したり、送受信切替部からの受信データをシリアルデータからパラレルデータに変換し受信バッファに出力したりするものである。なおデータの送信と受信とを切り替えるための送受信切替部を設け、半2重のデータ送受信を行うようにしてもよい。
SIO90はオンチップデバッグを行う際に動作する回路であり、ブレーク時(デバッグモード)のみ動作するので、非ブレーク時(ユーザーモード又はrun中)にはクロックを供給しなくても良い。従ってSIO90を第2のデバッグモジュールに設けることで、より低パワーなマイクロコンピュータを実現することができる。
第2のデバッグモジュール40は、例えばオンチップデバッグを行うためのブレークポイント検出回路70を含むようにしてもよい。
ブレークポイント検出回路70は、ブレークポイント値が設定されたブレークポイントレジスタと、CPU20から受け取ったプログラムカウンタ値122とブレークポイントレジスタに格納されたブレークポイント値を比較して、一致した場合にはブレーク発生信号72をフィリップフロップの含まれていない組み合わせ回路のみを介して出力するブレーク信号出力回路を含む。
ブレークポイント検出回路70は、例えばブレークイネーブルビット及びブレークポイントアドレスレジスタと、比較回路で構成することができる。CPUからのプログラムカウンタ122を受け取り、ブレークイネーブルである場合にブレークポイントアドレスレジスタに設定された値と受け取ったプログラムカウンタ値とを比較回路で比較してブレーク発生を検出しブレーク発生信号72をCPUにむけ出力するようにしてもよい。
デバッグツール130からブレークポイント設定コマンドが発行されると、モニタ部がブレークポイント設定コマンドに対応したコマンドを実行することでブレークイネーブルビット及びブレークポイントアドレスレジスタのセットが行われる。
ブレークポイントの設定(ブレークイネーブルビット及びブレークポイントアドレスレジスタの設定)は、ブレーク時(デバッグモード)においてデバッグツール130からのコマンドによって行われる。ブレークイネーブルビット及びブレークポイントアドレスレジスタは同期入力のフィリップフロップを含んで構成されるので、値設定時にはクロックが供給されていることが必要である。
ここでブレークポイントレジスタの値とCPU20のプログラムカウンタ値との比較及びブレーク検出信号の出力は、非ブレーク時(ユーザーモード又はrun中)で行われる。しかし本実施所形態ではブレークポイントレジスタの値とCPU20のプログラムカウンタ値との比較及びブレーク検出信号の出力にかかる回路をフィリップフロップの含まれていない組み合わせ回路で構成することにより、クロック停止時にも動作させることができる。
従ってブレークポイント検出回路70を第2のデバッグモジュールに設けることで、より低パワーなマイクロコンピュータを実現することができる。
第2のデバッグモジュール40は、例えばオンチップデバッグを行うためのステップ実行回路80を含むようにしてもよい。
ステップ実行回路80は、ステップ実行イネーブルレジスタをふくみ、ステップ実行イネーブルレジスタの値がイネーブルである場合にブレーク発生信号をフィリップフロップを含まない組み合わせ回路のみ(クロックなし、フィリップフロップなし、順序回路を含まず)を介して出力する。
ステップ実行回路80は、例えばステップ実行イネーブルビットレジスタを含み、ステップ実行イネーブルビットレジスタがオン状態の時に1ステップ実行する毎にブレークしてデバッグモードに移行するための処理を行う回路である。
デバッグツール130からステップ実行コマンドが発行されると、ミニモニタ部がステップ実行イネーブルビットへイネーブルビットをセットし、GOコマンドを実行することで、ステップ実行コマンドが実現されるようになる。
ステップ実行イネーブルビットの設定(ステップ実行イネーブルビットレジスタの設定)は、ブレーク時(デバッグモード、ブレークモード、テストモード等)においてデバッグツール130からのコマンドによって行われる。ステップ実行イネーブルビットは同期入力のフィリップフロップを含んで構成されるので、値設定時にはクロックが供給されていることが必要である。
ここでステップ実行イネーブルレジスタの値の値がイネーブルである場合にブレーク発生信号を出力する処理は、フィリップフロップを含まない組み合わせ回路のみ(クロックなし、フィリップフロップなし、順序回路を含まず)で構成することにより、クロック停止時にも動作させることができる。
従ってステップ実行回路80を第2のデバッグモジュールに設けることで、より低パワーなマイクロコンピュータを実現することができる。
第2のデバッグモジュール40は、例えばオンチップデバッグを行うためのモニタ部100を含むようにしてもよい。モニタ部100は、デバッグモードにおいて、SIO90を介してデバッグツール130との間でデバッグコマンドやデータの送受信を行い、デバッグツールからの受信したデバッグコマンドを実行する。
モニタ部100は、モニタROMやモニタRAM等を含む。
ここで、モニタROMには、モニタプログラムが格納される。本実施形態では、このモニタプログラムは、GO、リード、ライトなどのシンプルでプリミティブなコマンドの処理のみを行うようになっている。このため、モニタROMのメモリ容量を例えば256バイト程度に抑えることができ、オンチップデバッグ機能を持たせながらマイクロコンピュータ20を小規模化できるようになる。
モニタRAMには、デバッグモードへの移行時に(ユーザプログラムのブレーク発生時に)、CPU20の内部レジスタの内容が退避される。これにより、デバッグモードの終了後にユーザプログラムの実行を適正に再スタートできるようになる。また内部レジスタの内容のリード等を、モニタプログラムが持つプリミティブなリードコマンド等で実現できるようになる。
モニタプログラムにより動作するCPU20がブレークポイント制御回路70のブレークイネーブルビット及びブレークポイントアドレスレジスタや、ステップ実行回路80のステップ実行イネーブルビットレジスタの各ビットにデータを書き込んだり、各ビットのデータをリードすることで、各種のデバッグ処理が実現される。
第1のデバッグモジュール30は、強制ブレーク検出回路60を含むように構成してもよい。強制ブレーク検出回路60は、外部のデバッグツール130から強制ブレーク入力信号136を受け取り、強制ブレーク入力信号136に基づき強制ブレークの発生を検出してブレーク発生信号62を出力する。
強制ブレークの入力は非ブレーク時(ユーザーモード又はrun中時)に行われるが、本実施の形態によれば、強制ブレーク検出回路60を第1のモジュールにおくことで、非ブレーク時(ユーザーモード又はrun中時)にもクロックを供給することができる。
図2は本実施の形態のクロック供給にかかるタイミングチャート図である。
発振クロック150は、CPU及び第1のデバッグモジュールに供給されるクロックであると共に、クロック供給制御回路の入力となるクロックである。
ブレークモード信号114はCPUのブレークモードレジスタに設定される値であり、非ブレーク時(ユーザーモード又はrun中)ではLレベルとなり、ブレーク時(デバッグモード、ブレークモード、テストモード等)にはHレベルとなる。
第2のクロックラインで供給されるクロック160は、クロック供給制御回路の出力となるクロックであり、210に示すようにブレーク時(ブレークモード信号がHレベルの時)にクロックが供給され、非ブレーク時(ユーザーモード又はrun中時)にはクロックが供給されない。
図3は、本実施の形態のマイクロコンピュータのブレーク発生の検出にかかる構成について説明するため図である。図1と同じ構成要素については同じ番号を付しており、説明を省略する。
第2のデバッグモジュール40のブレークポイント設定フィリップフロップ74と比較回路76は、ブレークポイント検出回路(図1の70参照)として機能する。ブレークポイント設定フィリップフロップ74は同期入力を持つフィリップフロップであり、クロック入力は第2のクロックラインに接続される。従って非デバッグ時(ユーザーモード又はrun中)にはクロックが供給されない。
ブレークポイントの値はブレーク時(デバッグモード、ブレークモード、テストモード等)にデバッグツールからのコマンドに基づき設定される。比較回路76の入力は、ブレークポイント設定フィリップフロップ74の出力と、CPUのプログラムカウンタ出力に接続される。
第2のデバッグモジュール40のステップ実行イネーブルビットフィリップフロップ84は、ステップ実行回路(図1の80参照)として機能する。ステップ実行イネーブルビットフィリップフロップ84は同期入力を持つフィリップフロップであり、クロック入力は第2のクロックラインに接続される。従って非ブレーク時(ユーザーモード又はrun中)にはクロックが供給されない。ステップ実行イネーブルビットの値はブレーク時(デバッグモード又はブレーク)にデバッグツールからのコマンドに基づき設定される。
比較回路76の出力72及びステップ実行イネーブルビットフィリップフロップ84の出力82は第1のOR回路170の入力に接続される。
第1のデバッグモジュール30の強制ブレーク要因フィリップフロップ64は、強制ブレーク検出回路(図1の60)として機能する。強制ブレーク要因フィリップフロップ84は同期入力を持つフィリップフロップであり、クロック入力は第1のクロックラインに接続される。従って非デバッグ時(ユーザーモード又はrun中)にはクロックが供給されない。
強制ブレーク要因フィリップフロップの値は非ブレーク時(ユーザーモード又はrun中)にデバッグツールから強制ブレークの入力により設定される。
第1のOR回路170の出力172及び強制ブレーク要因フィリップフロップ62の出力82は第2のOR回路180の入力に接続される。そして第2のOR回路180の出力がブレーク入力182としてCPUに入力され、ブレークモードフィリップフロップ112がブレーク状態にセットされる。
図4は、CPUのブレークモード設定回路の構成の一例を示す図である。
CPU20のブレークモード設定回路(図1の110)は、第1のブレークモード設定フィリップフロップ112、第2のブレークモード設定フィリップフロップ114、アンド回路118を含む。第1のブレークモード設定フィリップフロップ112、第2のブレークモード設定フィリップフロップ114は同期入力のフィリップフロップでクロック入力は第1のクロックライン150に接続される。
第1のブレークモード設定フィリップフロップの値が第2のブレークモード設定フィリップフロップ114にコピーされる(第1のブレークモード設定フィリップフロップの出力値が第2のブレークモード設定フィリップフロップ114のD入力に接続される。
また第1のブレークモード設定フィリップフロップの出力値113の反転値、第2のブレークモード設定フィリップフロップ114の出力値115の反転値、ブレーク入力182がアンド回路118の入力となり、アンド回路182の出力が最終的なブレーク入力119となり第1のブレークモード設定フィリップフロップ114D入力に接続される。
図5は、図4のブレークモード設定回路のタイミングチャート図である。
図4に示すように第1のブレークモード設定フィリップフロップの値が第2のブレークモード設定フィリップフロップ114を儲け、第1のブレークモード設定フィリップフロップの値を第2のブレークモード設定フィリップフロップ114にコピーして、これらの値に基づき最終的なブレーク入力119を求める構成とすることにより、220に示すようにブレークモードの終了時に1命令分の命令を実行が可能なユーザーモードが発生し、ステップ実行を可能にすることができる。
図6は、デバッグ機能をJTAGI/Fで実装する場合の構成について説明するための図である。図1及び図3と同じ構成要素については同じ番号を付しており、説明を省略する。
第1のデバッグモジュール30はJTAG TAPコントローラ320とデバッグコマンドデコーダを含む。
JTAG TAPコントローラ320は、JTAGに対応してTAP(Test Access Port)と呼ばれる5本の端子(TDI、TDO、TCK、TMS、TRS)からなるインターフェイスを持ち、テストデータの入出力や制御を行う回路である。
JTAGとは、ICチップの検査方式の一つであるバウンダリスキャンテスト(BST:Boundary Scan Test:境界走査試験)の標準方式であり、チップ内部にプローブテストと同様の挙動を行なう「バウンダリスキャンボード」(あるいは「JTAGボード」)と呼ばれる端子およびレジスタを構成し、外部からテストコードを入力、それに対するICの挙動を調査するテストが広く行われている。
第1のデバッグモジュール30はデバッグコマンドデコーダ310を含む。デバッグコマンドデコーダ310は、JTAG TAPコントローラ320が外部から受け取ったテストデータ(デバッグコマンド)をデコードする処理を行う。
本実施の形態ではJTAG TAPコントローラが外部から受け取った強制ブレークやステップイネーブルレジスタライトやブレークポイントレジスタライトのデバッグコマンドを受け取ると、デバッグコマンドデコーダ310がデコードして強制ブレーク信号62、ステップイネーブルレジスタライト信号12、ブレークポイントレジスタライト信号314を出力する。
第1のデバッグモジュール30のJTAG TAPコントローラ320や、デバッグコマンドデコーダはブレーク時(デバッグモード、ブレークモード、テストモード等)や非ブレーク時(ユーザーモード又はrun中)に関わらず、常にコマンド入力を受け付けるため、非ブレーク時(ユーザーモード又はrun中)にもクロックの供給が必要である。
本実施の形態では、JTAG TAPコントローラ320やデバッグコマンドデコーダは第1のデバッグモジュール30におくことで、非ブレーク時(ユーザーモード又はrun中)にもクロックを供給することができる。従って、デバッグ機能をJTAGI/Fで実装する場合もクロックラインを分離してマイクロコンピュータクロックの低パワー化を図ることができる。
第2のデバッグモジュール40のブレークポイント設定フィリップフロップ74と比較回路76は、ブレークポイント検出回路(図1の70参照)として機能する。ブレークポイント設定フィリップフロップ74は同期入力を持つフィリップフロップであり、クロック入力は第2のクロックラインに接続される。従って非デバッグ時(ユーザーモード又はrun中)にはクロックが供給されない。
ブレークポイントの値はブレーク時(デバッグモード、ブレークモード、テストモード等)にデバッグコマンドデコーダ310からのブレークポイントレジスタライト信号314によって設定される。比較回路76の入力は、ブレークポイント設定フィリップフロップ74の出力と、CPUのプログラムカウンタ出力に接続される。
第2のデバッグモジュール40のステップ実行イネーブルビットフィリップフロップ84は、ステップ実行回路(図1の80参照)として機能する。ステップ実行イネーブルビットフィリップフロップ84は同期入力を持つフィリップフロップであり、クロック入力は第2のクロックラインに接続される。従って非デバッグ時(ユーザーモード又はrun中)にはクロックが供給されない。ステップ実行イネーブルビットの値はブレーク時(デバッグモード又はブレーク)にデバッグコマンドデコーダ310からのステップイネーブルレジスタライト信号によって設定される。
比較回路76の出力72及びステップ実行イネーブルビットフィリップフロップ84の出力82は第1のOR回路170の入力に接続される。
図7は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
本マイクロコンピュータ700は、CPU510、キャッシュメモリ520、LCDコントローラ530、リセット回路540、プログラマブルタイマ550、リアルタイムクロック(RTC)560、DRAMコントローラ兼バスI/F570、割り込みコントローラ580、第1のデバッグモジュール590、バスコントローラ600、A/D変換器610、D/A変換器620、入力ポート630、出力ポート640、I/Oポート650、クロック発生装置560、プリスケーラ570及びそれらを接続する汎用バス680、専用バス730等、第1のデバッグモジュール740、各種ピン690等を含む。
第1のデバッグモジュール590、第2のデバッグモジュール740は、例えば図1〜図6で説明した構成を有する。
第1のデバッグモジュール590にはCPUと同様に常にクロックが供給され、第2のデバッグモジュール740にはブレーク時(デバッグモード、ブレークモード、テストモード等)のみにクロックが供給される。
2.電子機器
図8に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
図8に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器800は、マイクロコンピュータ(またはASIC)810、入力部820、メモリ830、電源生成部840、LCD850、音出力部860を含む。
ここで、入力部820は、種々のデータを入力するためのものである。マイクロコンピュータ810は、この入力部820により入力されたデータに基づいて種々の処理を行うことになる。メモリ830は、マイクロコンピュータ810などの作業領域となるものである。電源生成部840は、電子機器800で使用される各種電源を生成するためのものである。LCD850は、電子機器が表示する各種の画像(文字、アイコン、グラフィック等)を出力するためのものである。
音出力部860は、電子機器800が出力する各種の音(音声、ゲーム音等)を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
図9(A)に、電子機器の1つである携帯電話950の外観図の例を示す。この携帯電話950は、入力部として機能するダイヤルボタン952や、電話番号や名前やアイコンなどを表示するLCD954や、音出力部として機能し音声を出力するスピーカ956を備える。
図9(B)に、電子機器の1つである携帯型ゲーム装置960の外観図の例を示す。この携帯型ゲーム装置960は、入力部として機能する操作ボタン962、十字キー964や、ゲーム画像を表示するLCD966や、音出力部として機能しゲーム音を出力するスピーカ968を備える。
図9(C)に、電子機器の1つであるパーソナルコンピュータ970の外観図の例を示す。このパーソナルコンピュータ970は、入力部として機能するキーボード972や、文字、数字、グラフィックなどを表示するLCD974、音出力部976を備える。
本実施の形態のマイクロコンピュータを図9(A)〜図9(C)の電子機器に組みむことにより、低消費電力でコストパフォーマンスの高い電子機器を提供することができる。
なお、本実施形態を利用できる電子機器としては、図9(A)、(B)、(C)に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のLCDを使用する種々の電子機器を考えることができる。
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
1.マイクロコンピュータ、20 CPU、30 第1のデバッグモジュール、40 第1のデバッグモジュール、50 クロック供給制御回路、60 強制ブレーク検出回路、64 強制ブレーク要因フィリップフロップ、70 ブレークポイント検出回路、74 ブレークポイント設定フィリップフロップ、76 比較回路 80 ステップ実行回路、84 ステップ実行イネーブルビットフィリップフロップ、90 SIO、100 モニタ部、110 ブレークモード設定回路、112 ブレークモード設定レジスタ、114 ブレークモード信号、120 プログラムカウンタ、130 デバッグツール、136 強制ブレーク 150 第1のクロックライン、160 第2のクロックライン、510 CPU、530 LCDコントローラ、540 リセット回路、550 プログラマブルタイマ、560 リアルタイムクロック(RTC)、570 DRAMコントローラ兼バスI/F、580 割り込みコントローラ、590 第1のデバッグモジュール、600 バスコントローラ、610 A/D変換器、620 D/A変換器、630 入力ポート、640 出力ポート、650 I/Oポート、660 クロック発生装置(PLL)、670 プリスケーラ、680 汎用バス、690 各種ピン、700 マイクロコンピュータ、710 ROM、720 RAM、730 MMU、740 第1のデバッグモジュール、800 電子機器、850 LCD
Claims (6)
- オンチップデバッグ機能を有するマイクロコンピュータであって、
CPUの状態がブレークモードであるか否かを示すブレークモード信号を出力するCPUと、
オンチップデバッグを行うためのデバッグ回路を含む第1のデバッグモジュールと、
第1のデバッグモジュールとは異なるクロックラインでクロックが供給され、オンチップデバッグを行うためのデバッグ回路を含む第2のデバッグモジュールと、
第1のデバッグモジュールに供給するクロックは非ブレーク時においてもクロックの供給を停止しないように制御し、第2のデバッグモジュールに供給するクロックは非ブレーク時にクロックの供給を停止するようにクロックの供給を制御するクロック供給制御回路と、を含み、
前記クロック供給制御回路は、
前記ブレークモード信号がCPUがブレーク状態であることを示している場合には第2のデバッグモジュールへのクロックの供給を停止するよう制御することを特徴とするマイクロコンピュータ。 - 請求項1において、
前記第1のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路として強制ブレーク入力信号を受け取り強制ブレーク入力信号に基づき強制ブレークの発生を検出してブレーク発生信号を出力する強制ブレーク検出回路を含むことを特徴とするマイクロコンピュータ。 - 請求項1乃至2のいずれかにおいて、
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてブレークポイント検出回路を含み、
前記ブレークポイント検出回路は、
ブレークポイント値を設定するためのブレークポイントレジスタと、
CPUから受け取ったプログラムカウンタ値とブレークポイントレジスタに格納されたブレークポイント値を比較して、一致した場合にはブレーク発生信号を組み合わせ回路のみを介して出力するブレーク信号出力回路とを含むことを特徴とするマイクロコンピュータ。 - 請求項1乃至3のいずれかにおいて、
前記第2のデバッグモジュールは、
オンチップデバッグを行うためのデバッグ回路としてステップ実行回路を含み、
前記ステップ実行回路は、
ステップ実行イネーブルビットレジスタをふくみ、
ステップ実行イネーブルビットレジスタの値の値がイネーブルである場合にブレーク発生信号を組み合わせ回路のみを介して出力することを特徴とするマイクロコンピュータ。 - 請求項1乃至4のいずれかにおいて、
前記CPUは、
第1のブレークモードレジスタと、少なくとも1クロック遅れてその値をコピーした値を保持する第2のブレークモードレジスタを含み、第1のブレークモードレジスタの値と第2のブレークモードレジスタの値と第1のモジュール及び第2のモジュールの少なくとも一方から出力されたブレーク発生信号に基づき、生成される最終的なブレーク入力信号に基づきブレークモードへ移行することを特徴とするマイクロコンピュータ。 - 請求項1乃至5のいずれかに記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記情報処理装置により処理された結果を出力するため手段と、
を含むことを特徴とする電子機器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006011068A JP2007193570A (ja) | 2006-01-19 | 2006-01-19 | マイクロコンピュータ及び電子機器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006011068A JP2007193570A (ja) | 2006-01-19 | 2006-01-19 | マイクロコンピュータ及び電子機器 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007193570A true JP2007193570A (ja) | 2007-08-02 |
Family
ID=38449223
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006011068A Withdrawn JP2007193570A (ja) | 2006-01-19 | 2006-01-19 | マイクロコンピュータ及び電子機器 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2007193570A (ja) |
-
2006
- 2006-01-19 JP JP2006011068A patent/JP2007193570A/ja not_active Withdrawn
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4335999B2 (ja) | プロセッサ内蔵半導体集積回路装置 | |
CN107077409B (zh) | 用于在电子系统中进行多接口调试的方法和装置 | |
JP2002123562A (ja) | テスタ構築データの生成方法およびテスタの構築方法並びにテスト回路 | |
US7584381B2 (en) | Semiconductor integrated circuit device, debug system, microcomputer, and electronic apparatus | |
US20080010541A1 (en) | Integrated circuit device, debugging tool, debugging system, microcomputer, and electronic instrument | |
JP2006252006A (ja) | デバッグシステム、半導体集積回路装置、マイクロコンピュータ及び電子機器 | |
US20060190787A1 (en) | Target system, debugging system, integrated circuit device, microcomputer and electronic apparatus | |
JP2006064395A (ja) | クリティカルパステスト方法、集積回路装置、クリティカルパステスト方式及び集積回路装置の製造方法 | |
JP2007193570A (ja) | マイクロコンピュータ及び電子機器 | |
US9291672B2 (en) | Debug system, apparatus and method thereof for providing graphical pin interface | |
JP2007207075A (ja) | Cpu、集積回路装置、マイクロコンピュータ、電子機器、及びcpuの制御方法 | |
JP2007193572A (ja) | Cpu、集積回路装置、マイクロコンピュータ及び電子機器 | |
JP3741182B2 (ja) | マイクロコンピュータ、電子機器及びデバッグシステム | |
JP2006038678A (ja) | バーインテストシステム、バーインテスト方法 | |
US6650579B1 (en) | Semiconductor device having test and read modes and protection such that ROM data reading is prevented in the test mode | |
JP2010231818A (ja) | デバッグシステム | |
JP2009193604A (ja) | 半導体情報処理装置 | |
JP3071044B2 (ja) | マイクロコンピュータを備える半導体集積回路の試験方法 | |
JP2007200338A (ja) | 集積回路装置、デバッグシステム、マイクロコンピュータ及び電子機器 | |
JP2004280789A (ja) | 半導体集積回路装置およびマイクロコンピュータ開発支援装置 | |
JP2011155066A (ja) | 半導体処理装置、および半導体処理システム | |
JP2003271417A (ja) | 情報処理装置及び電子機器 | |
JP2007264822A (ja) | マイクロプロセッサシステム | |
JP2006107071A (ja) | ロジックアナライザ内蔵型電子部品 | |
JP2006052970A (ja) | Cpu内蔵lsiおよびcpu内蔵lsiの実機試験方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20080627 |
|
A300 | Withdrawal of application because of no request for examination |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20090407 |