JP4409349B2 - デバッグ回路およびデバッグ制御方法 - Google Patents

デバッグ回路およびデバッグ制御方法 Download PDF

Info

Publication number
JP4409349B2
JP4409349B2 JP2004131063A JP2004131063A JP4409349B2 JP 4409349 B2 JP4409349 B2 JP 4409349B2 JP 2004131063 A JP2004131063 A JP 2004131063A JP 2004131063 A JP2004131063 A JP 2004131063A JP 4409349 B2 JP4409349 B2 JP 4409349B2
Authority
JP
Japan
Prior art keywords
cpu
instruction code
memory
debug
debugging
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.)
Expired - Lifetime
Application number
JP2004131063A
Other languages
English (en)
Other versions
JP2005316559A (ja
Inventor
裕三 石原
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.)
Lapis Semiconductor Co Ltd
Original Assignee
Oki Semiconductor 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 Oki Semiconductor Co Ltd filed Critical Oki Semiconductor Co Ltd
Priority to JP2004131063A priority Critical patent/JP4409349B2/ja
Priority to US11/109,771 priority patent/US7590891B2/en
Publication of JP2005316559A publication Critical patent/JP2005316559A/ja
Application granted granted Critical
Publication of JP4409349B2 publication Critical patent/JP4409349B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)
  • Executing Machine-Instructions (AREA)

Description

CPU(中央処理装置)によって実行されるプログラムをJTAG(Joint Test Action Group)インターフェースによってデバッグすることが可能な中央処理システムに関し、特に上記中央処理システム内に上記デバッグの準備のために設けられるデバッグ回路および上記中央処理システムでの上記デバッグの準備を制御するデバッグ制御方法に関する。
中央処理システムは、電子機器に設けられ、CPUによってプログラムを実行して、上記電子機器内の画像出力装置等の周辺装置を制御する(例えば、特許文献1参照)。
図6は従来の中央処理システムのブロック図である。図6の中央処理システムは、CPU1と、I/O回路(入出力回路)2と、メモリ制御回路3と、ROM4と、RAM5と、バス6と、メモリバス7と、リセット信号HRESETの入力端子と、JTAGインターフェースのTAP(テスト・アクセス・ポート)100とを備えており、I/O回路2に接続される記憶装置や画像出力装置等の1つまたは複数の周辺装置を制御する。
CPU1は、リセット信号HRESETがアサートされるとリセットされ、そのリセット信号HRESETがネゲートされるとリセットが解除されて動作を開始する。CPU1は、リセット解除直後には、ROM4(読み出し専用のメモリ)に記憶されているプログラムの命令コードを読み出して実行し、その後は、引き続きROM4のプログラムの命令コードを実行するか、またはI/O回路2に接続された記憶装置からRAM5(読み書き可能なメモリ)に転送したプログラムの命令コードを実行する。
一般に、中央処理システムのCPUは、プログラム(上記ROM4に記憶されているプログラムまたは/および上記記憶装置に記憶されているプログラム)の開発時にそのプログラムのデバッグ(そのプログラムの実行動作のデバッグ)を容易にするために、プログラムのシングルステップ機能、プログラムのブレーク機能、CPUレジスタの参照/変更機能、メモリ内容の参照/変更機能等のデバッグ機能を備えている。このようなデバッグ機能を制御するために、近年では、図6のCPU1のように、信号線本数が少なくて済むJTAGインタフェースが用いられる場合が多い。
上記デバッグ機能を実現するために、JTAGインタフェースを備えた図5のCPU1は、通常モードとデバッグモードの2つのモードで動作する。通常モードは、CPU1が普通にプログラムを実行するモードであり、デバッグモードは、JTAGインタフェースから送られるコマンドに従ってCPU1を動作させ、デバッグ機能を実現するモードである。通常モードとデバッグモードの遷移は、JTAGインタフェースから送られるコマンドによって制御される。
図2はJTAGインタフェースの構成図である。図2において、CPU1をデバッグモードにする場合には、JTAGインタフェースによってシリアル方式のデータ転送プロトコルで上記コマンドをCPU1内のレジスタ106に転送する。レジスタ106が上記コマンドに書き換えられると、CPU1はデバッグ応答信号DBGACKをアサートして動作を一時停止し、デバッグモードになる。なお、図6の従来の中央処理システムでは、デバッグ応答信号DBGACKは、特に使用されていない。
特開2000−276358号公報
しかしながら、JTAGインタフェースを用いてデバッグ機能を制御する上記従来の中央処理システムでは、JTAGインタフェースがシリアル方式のデータ転送プロトコルであるため、JTAGコマンドの転送を開始してから、そのコマンドがCPU1内のレジスタに転送されて書き込まれ、デバッグの準備が完了するまでに時間がかかり、デバッグ機能の制御に時間遅れが発生する。このため、システムのリセット解除とともにデバッグモードにする場合には、リセット解除後にJTAGインタフェースからの制御によりCPU1はデバッグモードに切り換えられるが、リセット解除からデバッグの準備完了までに時間がかかるので、リセット解除からデバッグの準備が完了してプログラムの実行が一時停止するまでの間に、ROM4のプログラムが少し実行されてしまう。このようにリセット解除してからデバッグモードになるまでにプログラムが少し実行されると、リセット解除直後の動作デバッグが正確にできないという問題があった。
また、リセット解除してからデバッグモードになるまでにプログラムが少し実行されると、その中央処理システムによって制御される周辺装置が一部動作することがあるという問題があった。
さらに、デバック時には、ROM4をSRAM等の読み書き可能なメモリにして、デバックモードの最初に、JTAGインタフェースによってCPU1のレジスタにプログラムを転送し、そのプログラムをさらに上記SRAM等に転送して書き込み、そのSRAM等に書き込んだプログラムをCPU1で読み込んでデバックをする場合がある。このような場合には、リセット解除直後の上記SRAM等の内容は不確定値であるため、リセット解除からデバッグモードになるまでに上記不確定な内容を少し実行することによって、CPU1が暴走し、周辺装置が予期できない動作をすることがあるという問題があった。
本発明は、このような従来の問題を解決するためになされたものであり、リセット解除からデバッグの準備が完了するまでの間、CPUをリセット解除直後の状態に保持してプログラムの実行を停止できるデバッグ回路を提供することを目的とする。
本発明のデバッグ回路は、
CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システム内に、設けられるデバッグ回路であって、
前記CPUのリセット解除後に、前記CPUにおけるデバッグ準備が完了するまでの期間を判定するデバッグ準備期間判定手段と、
前記期間において、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスを監視する監視手段と、
前記監視手段において、前記命令コードアクセスが検知されたときに、前記命令コードアクセスに対応する命令コードの替わりに、前記CPUをセルフループさせる他の命令コードを前記CPUに転送する命令コードセレクト手段と
を備えた
ことを特徴とするものである。
本発明のデバッグ回路によれば、リセット解除からデバッグの準備が完了するまでの間、CPUをリセット解除直後の状態に保持してプログラムの実行を停止できるので、中央処理システムのリセット解除直後のデバッグを確実にでき、デバッグの準備が完了するまでに、周辺装置が動作したり、中央処理装置が暴走することを防止できるという効果がある。
実施の形態1
図1は本発明の実施の形態1の中央処理システムの構成図であり、図6と同様のものには同じ符号を付してある。この実施の形態1の中央処理システムは、CPU1と、I/O回路(入出力回路)2と、メモリ制御回路3と、ROM4と、RAM5と、バス6と、メモリバス7と、リセット信号HRESETの入力端子8と、モード信号MODEの入力端子9と、モード判定回路10と、デコーダ11と、セレクタ12と、JTAGインターフェースのTAP(テスト・アクセス・ポート)100とを備えており、I/O回路2に接続される記憶装置や画像出力装置等の1つまたは複数の周辺装置を制御して、これらの周辺装置にデータアクセスし、命令を出す。
図1の実施の形態1の中央処理システムにおいて、モード信号MODEの入力端子9と、モード判定回路10と、デコーダ11と、セレクタ12とは、JTAGインターフェースによってなされるデバッグの準備をするためのデバッグ回路を構成している。
この実施の形態1の中央処理システムは、従来の中央処理システム(図6参照)において、モード判定回路10,デコーダ11,セレクタ12,モード信号MODEの入力端子を設けたものである。
[モード信号MODE,リセット信号HRESET]
モード信号MODEは、実施の形態1の中央処理システムをデバッグモードに設定するときにはアサートされており、通常の動作モード(通常モード)に設定するときにはネゲートされている信号である。また、リセット信号HRESETがアサートされると、実施の形態1の中央処理システム(CPU1)のリセットがなされ、リセット信号HRESETがネゲートされると、上記リセットが解除されて、CPU1が動作を開始する。
[CPU1]
CPU1は、バス6ならびにメモリ制御回路3およびメモリバス7を経由してROM4およびRAM5にデータアクセスし、バス6およびI/O回路2を経由して被制御装置(CPU1によって制御される装置)に命令を出したり、データアクセスする。このCPU1は、JTAGインターフェースを備えており、リセット解除後に、CUP1内の制御のためのレジスタ(以下、制御レジスタ)にJTAGインターフェースからのデバッグのためのデータ(以下、デバッグデータ)がシリアル転送され、上記制御レジスタが上記デバックデータに書き換えられると、デバック応答信号DBGACKをアサートし、動作を停止する。
[JTAGインターフェイス]
図2はCPU1に設けられているJTAGインターフェイスの構成図である。JTAGインターフェースのTAP100は、TDI(テスト・データ・イン)ポート101と、TDO(テスト・データ・アウト)ポート102と、TCK(テスト・クロック)ポート103と、TMS(テスト・モード・セレクト)ポート104との4つのポートによって構成されている。CPU1内には、TAPインターフェイス105が設けられている。CPU1内の制御レジスタ106等が、このJTAGインターフェイスのバウンダリスキャンレジスタになっている。
TDIポート101は、上記バウンダリスキャンレジスタのシリアル入力およびテストアクセスポートインターフェイス105に接続されており、TDOポート102,TCKポート103,TMSポート104は、テストアクセスポートインターフェイス105に接続されており、上記バウンダリスキャンレジスタのシリアル出力は、テストアクセスポートインターフェイス105に接続されている。TDIポート101からは、上記デバッグデータ等が上記バウンダリスキャンレジスタにシリアル入力されるとともに、テスト命令コード等がテストアクセスポートインターフェイス105にシリアル入力される。TCKポート103からは、テストクロックが入力され、TMSポート104はテストモードをシーケンスする信号が入力される。TDOポート102には、上記バウンダリスキャンレジスタのシリアル出力データ等がテストアクセスポートインターフェイス105を介してシリアル出力される。
制御レジスタ106等のバウンダリスキャンレジスタのそれぞれのセルは、シリアル入力およびシリアル出力の他に、個別のラッチ回路として動作するためのデータ入力およびデータ出力を備えており、上記バウンダリスキャンレジスタは、テストアクセスポートインターフェイス105からの制御信号に従って、デバッグデータ等をシリアル転送するシフトレジスタとして動作するとともに、CPU1内のパラレルなデータのレジスタとしても動作する。
[バス6]
バス6は、CPU1から出力されたアドレスデータをI/O回路2またはメモリ制御回路3に転送するためのアドレスバスHADDRと、RAM5に書き込むデータ等のCPU1から出力されたデータをI/O回路2またはメモリ制御回路3に転送するためのライトデータバスHWDATAと、ROM4から読み出された命令コード等のI/O回路2またはメモリ制御回路3から出力されたデータをCPU1に転送するためのリードデータバスHRDATAと、これらのバスを制御するための複数の制御信号がCPU1からそれぞれ出力される複数の制御信号線Contとによって構成されており、CPU1とI/O回路2およびメモリ制御回路3とを接続している。ただし、この実施の形態1では、リードデータバスHRDATAの途中にセレクタ12が挿入されるため、セレクタ12の入力側(I/O回路2およびメモリ制御回路3側)のリードデータバスHRDATAをHRDATA1とし、セレクタ12の出力側(CPU1側)のリードデータバスHRDATAをHRDATA2とする。
[メモリバス7]
メモリバス7は、メモリ制御回路3から出力されたメモリアドレスデータをROM4またはRAM5に転送するためのメモリアドレスバスXAと、ROM4から読み出された命令コード等のROM4またはRAM5の読み出しデータをメモリ制御回路3に転送するとともにメモリ制御回路3から出力された書き込みデータをRAM5に転送するためのメモリデータバスXDと、ROM4およびRAM5の読み出し動作をイネーブルするためのリードイネーブル信号線OEと、RAM5の書き込み動作をイネーブルするためのライトイネーブル信号線WEと、ROM4を選択するためのメモリセレクト信号がメモリ制御回路3から出力されるメモリセレクト信号線CS0と、RAM5を選択するためのメモリセレクト信号がメモリ制御回路3から出力されるメモリセレクト信号線CS1とによって構成されている。
このメモリバス7は、メモリアドレスバスXA,メモリデータバスXD,リードイネーブル信号線OE,メモリセレクト信号線CS0によって、メモリ制御回路3とROM4とを接続し、メモリアドレスバスXA,メモリデータバスXD,リードイネーブル信号線OE,ライトイネーブル信号線WE,メモリセレクト信号線CS1によって、メモリ制御回路3とRAM5とを接続している。なお、デバッグにおいて、ROM4をSRAM等の書き込み可能なメモリとした場合には、ライトイネーブル信号線WEは、上記SRAM等の読み出し動作をイネーブルするための信号線として上記SRAM等にも接続される。
[I/O回路2]
I/O回路2は、バス6と上記周辺装置のインターフェースとして機能し、CPU1からアドレスバスHADDRに出力されるアドレスデータ等に従って被制御装置にアクセスし、ライトデータバスHWDATAからのデータを被制御装置に出力し、被制御装置からのデータをリードデータバスHRDATA1に出力する。
[メモリ制御回路3]
メモリ制御回路3は、バス6とメモリバス7のインターフェースとして機能し、CPU1からアドレスバスHADDRに出力されるアドレスデータ等に従ってROM4またはRAM5にアクセスし、ライトデータバスHWDATAからの書き込みデータをメモリデータバスXDに出力し、ROM4またはRAM5からメモリデータバスXDに読み出されたデータをリードデータバスHRDATA1に出力する。
[ROM4]
ROM4は、システムのリセット解除後にCPU1によって実行されるプログラムの命令コード等を記憶している読み出し専用のメモリである。ただし、プログラム開発時等のデバッグ時は、このROM4に代えて、プログラムの変更/修正が容易にできるSRAM等の読み書き可能なメモリを使用する場合が多い。
[RAM5]
RAM5は、CPU1のワークデータやI/O回路2に接続された記憶装置から転送されたプログラム等を記憶する読み書き可能なメモリである。
[モード判定回路10]
モード判定回路10は、モード信号MODEと、リセット信号HRESETと、CPU1からのデバッグ応答信号DBGACKとを入力とし、デバックモード準備信号DBGMODEを出力する回路であって、モード信号MODEがデバックモードにアサートされており、デバック応答信号DBGACK信号がネゲートされているときに、リセット信号HRESETがネゲート(リセット解除)されると、デバックモード準備信号DBGMODEをアサートする。また、モード判定回路10は、モード信号MODEがデバックモードにアサートされており、リセット信号HRESETがネゲートされているときに、CPU1のデバッグの準備が完了し、デバック応答信号DBGACK信号がアサートされると、デバックモード準備信号DBGMODEをネゲートする。
[デコーダ11]
デコーダ11は、アドレスバスHADDRのアドレスデータと、制御線Contの信号と、モード判定回路10からのデバッグモード準備信号DBMODEとを入力とし、デバッグセレクト信号DBGSELを出力するデコーダである。このデコーダ11は、アドレスバスHADDRのアドレスデータおよび制御線Contの信号によって、CPU1から命令コードアクセスがあるか否かを監視しており、デバッグモード準備信号DBGMODEがアサートされているときに、CPU1から命令コードアクセスがあると、デバックセレクト信号DBGSELをアサートし、上記命令コードアクセスが終了したら、デバックセレクト信号DBGSELをネゲートする。なお、デコーダ11は、デバッグモード準備信号DBGMODEがネゲートされているときには、上記命令コードアクセスがあっても、デバックセレクト信号DBGSELをアサートしない。
[セレクタ12]
セレクタ12は、分岐命令コードの値を記憶しており、デコーダ11からのデバッグセレクト信号DBGSELがアサートされているときには、上記分岐命令コードの値をリードデータバスHRDATA2に出力し、デバッグセレクト信号DBGSELがネゲートされているときには、リードデータバスHRDATA2をリードデータバスHRDATA1に接続する。上記分岐命令コードは、CPU1にリセット解除直後の動作を再度にさせることによって、CPU1をセルフループ動作させる命令コードである。
[実施の形態1の動作]
このように構成された実施の形態1の動作を以下に説明する。モード信号MODEがデバッグモードにアサートされているときには、リセット信号HRESETがネゲート(リセット解除)されると、CPU1からのデバッグ応答信号DBGACKはリセット解除の直後はネゲートされているので、モード判定回路10は、デバッグモード準備信号DBGMODEをアサートする。
CPU1は、リセット解除されると、動作を開始し、最初に命令コードアクセスをしようとする。しかしながら、デバッグモード準備信号DBGMODEがアサートされているので、デコーダ11は、CPU1から上記の命令コードアクセスがあると、デバッグセレクト信号DBGSELをアサートし、このデバッグセレクト信号DBGSELのアサートによって、セレクタ12は、分岐命令コードの値をリードデータバスHRDATA1に出力する。
従って、CPU1から上記命令コードアクセスがあったときに、CPU1には上記分岐命令コードが転送され、CPU1はこの分岐命令コードを実行することになる。このセレクタ12からの分岐命令コードは、CPU1にリセット解除直後の動作を再度させて、CPU1をセルフループ動作させる命令コードなので、この分岐命令コードをCPU1が実行することによって、CPU1は、リセット解除直後のセルフループ動作をすることとなり、ROM4に書き込まれた命令コ−ドを実行することはない。
やがて、CPU1内の制御レジスタがJTAGインターフェースからシリアル転送されたデバッグデータに書き換えらえれ、デバッグの準備が完了し、デバッグ応答信号DBGACKがアサートされ、CPU1が動作停止すると、モード判定回路10は、デバッグモード準備信号DBGMODEをネゲートする。
このデバッグモード準備信号DBGMODEのネゲートによって、デコーダ11は、CPU1から命令コードアクセスがあっても、デバッグセレクト信号DBGSELをアサートしなくなるので、セレクタ12は、リードデータバスHRDATA2をリードデータバスHRDATA1に接続したままにする。
従って、CPU1から命令コードアクセスがあれば、その命令コードがROM4から読み出されてCPU1に転送されるようになり、デバックが可能となる。
このように、リセット解除されてからデバッグの準備が完了するまでの間は、CPU1にはセレクタ12から分岐命令コードが転送され、CPU1は、この分岐命令コードを実行することによって、リセット解除直後のセルフループ動作をして、不要な命令コードの実行をしない。
また、プログラム開発時等のデバッグにおいて、ROM4をSRAM等の読み書き可能なメモリとしている場合には、デバッグの準備が完了したら、まず最初に、JTAGインターフェースによってプログラムをCPU1内の制御レジスタに転送し、そこからバス6を介して上記SRAM等に転送して書き込んでからデバッグをするが、リセット解除されてからデバッグの準備が完了するまでの間に、CPU1が上記SRAM等のプログラムが書き込まれる前の不確定なデータを命令コードとして実行することはない。
なお、モード信号MODEが通常モードにネゲートされているときには、リセット信号HRESETがネゲート(リセット解除)されても、モード判定回路10は、デバッグモード準備信号DBGMODEをアサートしないので、デコーダ11は、CPU1から命令コードアクセスがあっても、デバッグセレクト信号DBGSELをアサートしない。このため、セレクタ12は、リードデータバスHRDATA1をリードデータバスHRDATA1に接続したままである。従って、CPU1は、リセット解除直後から、ROM4をアクセスすることができる。
以上のように実施の形態1によれば、CPU1のリセット解除後に、モード判定回路10によってデバックの準備のための期間を判定し、上記デバッグの準備のための期間において、デコーダ11によってCPU1からの命令コードアクセスを監視し、上記命令コードアクセスがあったときに、それに応じてCPU1に転送されるリードデータバスHRDATA上の命令コードを、セレクタ12によってCPU1をセルフループさせる分岐命令コードに置き換えることにより、CPU1をリセット解除直後の状態に保持してROM4内の命令コードの実行を停止できるので、リセット解除直後の動作デバッグが正確にできる。また、リセット解除からデバッグの準備が完了するまでの間にROM4内の命令コードを実行しないので、システムによって制御される周辺装置が一部動作することを防止できる。さらに、ROM4をSRAM等の読み書き可能なメモリにした場合でも、CPU1が暴走により予測できない動作を起こすことがない。
実施の形態2
図3は本発明の実施の形態2の中央処理システムの構成図であり、図1と同様のものには同じ符号を付してある。この実施の形態2の中央処理システムは、CPU1と、I/O回路2と、メモリ制御回路3と、ROM4と、RAM5と、バス6と、メモリバス7と、リセット信号HRESETの入力端子8と、モード信号MODEの入力端子9と、モード判定回路10と、デコーダ11と、ORゲート13と、JTAGインターフェースのTAP100とを備えている。
図3の実施の形態2の中央処理システムにおいて、モード信号MODEの入力端子9と、モード判定回路10と、デコーダ11と、ORゲート13とは、JTAGインターフェースによってなされるデバッグの準備をするためのデバッグ回路を構成している。
この実施の形態2の中央処理システム(デバッグ回路)は、上記実施の形態1の中央処理システム(デバッグ回路)において、セレクタ12に代えてORゲート13を設けたものである。
[データ転送制御信号HTRANS]
データ転送制御信号HTRANSは、CPU1からのデータ転送の要求を制御するための制御信号である。CPU1は、データ転送を要求しないときには、データ転送制御信号HTRANSをアイドルにしており、命令コードアクセス等でデータの転送を要求するときに、データ転送制御信号HTRANSをアクティブにする。I/O回路2およびメモリ制御回路3は、データ転送制御信号HTRANSがアクティブのときにのみ、CPU1からのデータ転送の要求に応じる。
[ORゲート13]
ORゲート13は、複数の制御信号線Contの内のデータ転送制御信号HTRANSの信号線の途中に挿入されている。CPU1から出力されるデータ転送制御信号HTRANSをデータ転送制御信号HTRANS1とし、I/O回路2およびメモリ制御回路3に転送されるデータ転送制御信号HTRANSをデータ転送制御信号HTRANS2とすると、ORゲート13は、デコーダ11からのデバッグセレクトDBGSEL信号と、CPU1からのデータ転送制御信号HTRANS1を入力とし、データ転送制御信号HTRANS2をI/O回路2およびメモリ制御回路3側に出力する。
このORゲート13は、データ転送制御信号HTRANS1がアイドルであるか、またはデバッグセレクトDBGSEL信号がアサートされているときには、データ転送制御信号HTRANS2をアイドルとし、データ転送制御信号HTRANS1がアクティブであり、かつデバッグセレクトDBGSEL信号がネゲートされているときには、データ転送制御信号HTRANS2をアクティブにする。
[実施の形態2の動作]
このように構成された実施の形態2では、モード信号MODEがデバッグモードにアサートされているときにリセット解除がなされ、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされているリセット解除からデバッグの準備完了までの間において、CPU1から命令コードアクセスがあると、デコーダ11によってデバッグセレクト信号DBGSELがアサートされる。
CPU1は、リセット解除直後にはデータ転送制御信号HTRANS1をアイドルとし、上記命令コードアクセスのときにデータ転送制御信号HTRANS1をアクティブにするが、データ転送制御信号HTRANS1がアクティブになったときにはデバッグセレクト信号DBGSELがアサートされているので、ORゲート13は、データ転送制御信号HTRANS2をアクティブにせず、アイドルのままとする。
従って、メモリ制御回路3は、上記命令コードアクセスに応答せず、CPU1には命令コードが転送されないので、CPU1は、CPU1は命令コードの転送待機のままとなり、ROM4に書き込まれた命令コ−ドを実行することはない。
やがて、デバッグの準備が完了し、モード判定回路10によってデバッグモード準備信号DBGMODEがネゲートされると、CPU1から命令コードアクセスがあっても、デコーダ11によってデバッグセレクト信号DBGSELがアサートされなくなるので、CPU1が上記命令コードアクセスのときにデータ転送制御信号HTRANS1をアクティブにすると、ORゲート13は、データ転送制御信号HTRANS2をアクティブにする。
従って、CPU1から命令コードアクセスがあれば、その命令コードがROM4から読み出されてCPU1に転送されるようになり、デバックが可能となる。
このように、リセット解除されてからデバッグの準備が完了するまでの間は、CPU1には命令コードが転送されず、CPU1は、リセット解除直後の命令コードの転送待機のまま保持され、不要な命令コードの実行をしない。
また、プログラム開発時等のデバッグにおいて、ROM4をSRAM等の読み書き可能なメモリとしている場合にも、リセット解除されてからデバッグの準備が完了するまでの間に、CPU1が上記SRAM等のプログラムが書き込まれる前の不確定なデータを命令コードとして実行することはない。
なお、モード信号MODEが通常モードにネゲートされているときにリセット解除がなされたときには、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされず、CPU1から命令コードアクセスがあっても、デコーダ11によってデバッグセレクト信号DBGSELがアサートされないので、CPU1が上記命令コードアクセスのときにデータ転送制御信号HTRANS1をアクティブにすると、ORゲート13は、データ転送制御信号HTRANS2をアクティブにする。従って、CPU1は、リセット解除直後から、ROM4をアクセスすることができる。
以上のように実施の形態2によれば、CPU1のリセット解除後に、モード判定回路10によってデバックの準備のための期間を判定し、上記デバッグの準備のための期間において、デコーダ11によってCPU1からの命令コードアクセスを監視し、上記命令コードアクセスがあったときに、それに応じてCPU1からデータ転送を要求する制御信号として出力されるアクティブ信号のデータ転送制御信号HTRANS1を、データ転送を無効にする制御信号としてのアイドル信号のデータ転送制御信号HTRANS2に置き換えることにより、上記実施の形態1と同様の効果が得られる。その上、CPU1からアクセスされた命令コードがバス6上およびメモリバス7上に出力されないので、リセット直後の動作デバッグをさらに正確にできる。
実施の形態3
図4は本発明の実施の形態3の中央処理システムの構成図であり、図1と同様のものには同じ符号を付してある。この実施の形態3の中央処理システムは、CPU1と、I/O回路2と、メモリ制御回路3と、ROM4と、RAM5と、バス6と、メモリバス7と、リセット信号HRESETの入力端子8と、モード信号MODEの入力端子9と、モード判定回路10と、セレクタ14と、ブートROM15と、JTAGインターフェースのTAP100とを備えている。
図4の実施の形態3の中央処理システムにおいて、モード信号MODEの入力端子9と、モード判定回路10と、セレクタ14と、ブートROM15とは、JTAGインターフェースによってなされるデバッグの準備をするためのデバッグ回路を構成している。
この実施の形態3の中央処理システム(デバッグ回路)は、上記実施の形態1の中央処理システム(デバッグ回路)において、デコーダ11およびセレクタ12に代えて、セレクタ14およびブートROM15を設けたものである。
[セレクタ14]
セレクタ14は、メモリバス7のメモリセレクト信号線CS0の途中に挿入されている。この実施の形態3では、メモリセレクト信号線CS0の途中にセレクタ14を挿入することによって、メモリセレクト信号線CS0でROM4またはブートROM15を選択できるようにしている。メモリ制御回路3とセレクタ14の間のメモリセレクト信号線CS0をメモリセレクト信号線CS00とし、セレクタ14とROM4の間のメモリセレクト信号線CS0をメモリセレクト信号線CS01とし、セレクタ14とブートROM15の間のメモリセレクト信号線CS0をメモリセレクト信号線CS02とする。
このセレクタ14は、モード判定回路10からのデバッグモード準備信号DBGMODEがアサートされているときには、メモリセレクト信号線CS00をメモリセレクト信号線CS02に接続し、デバッグモード準備信号DBGMODEがネゲートされているときには、メモリセレクト信号線CS00をメモリセレクト信号線CS01に接続する。従って、デバッグモード準備信号DBGMODEがアサートされているときには、メモリセレクト信号線CS0(CS00,CS02)によってROM4に代えてブートROM15が選択され、デバッグモード準備信号DBGMODEがネゲートされているときには、メモリセレクト信号線CS0(CS00,CS01)によってROM4が選択される。
[ブートROM15]
ブートROM15は、ROM4と同様に、メモリバス7のメモリアドレスバスXA,メモリデータバスXD,リードイネーブル信号線OE,メモリセレクト信号線CS0(CS02,CS00)によって、メモリ制御回路3に接続されている。このブートROM15は、システムのリセット解除後にCPU1によって実行されるプログラムの命令コードであって、CPU1をセルフループにするプログラム等、そのプログラムの実行によってシステムに影響を与えず、CPU1をリセット解除直後の状態に保持するための適切なプログラムの命令コードを記憶している読み出し専用のメモリである。このブートROM15は、デバッグの準備の期間のみ選択されるので、上記のようなROM4とは異なるプログラムを記憶しておくことが可能である。
[実施の形態3の動作]
このように構成された実施の形態3では、モード信号MODEがデバッグモードにアサートされているときにリセット解除がなされ、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされているリセット解除からデバッグの準備完了までの間において、セレクタ14は、メモリセレクト信号線CS00をメモリセレクト信号線CS02に接続する。
従って、CPU1からRAM4の命令コードのアクセスがあると、メモリセレクト信号線CS0(CS00,CS02)によってRAM4に代えてブートROM15が選択され、ブートROM15から読み出された命令コードが、メモリデータバスXD,メモリ制御回路3,リードデータバスHRDATAを介してCPU1に転送され、CPU1はこのブートROM15から読み出された命令コードを実行することになる。このブートROM15から読み出された命令コードは、例えばCPU1にリセット解除直後の動作を再度させて、CPU1をセルフループ動作させる命令コードなので、CPU1は、リセット解除直後のセルフループ動作をすることとなり、ROM4に書き込まれた命令コ−ドを実行することはない。
やがて、デバッグの準備が完了し、モード判定回路10によってデバッグモード準備信号DBGMODEがネゲートされると、セレクタ14は、メモリセレクト信号線CS00をメモリセレクト信号線CS01に接続する。
従って、CPU1から命令コードアクセスがあれば、メモリセレクト信号線CS0(CS00,CS01)によってRAM4が選択され、ROM4から読み出された命令コードが、メモリデータバスXD,メモリ制御回路3,リードデータバスHRDATAを介してCPU1に転送されるようになり、デバックが可能となる。
このように、リセット解除されてからデバッグの準備が完了するまでの間は、ブートROM15から読み出された命令コードが転送され、CPU1は、このブートROM15からの命令コードを実行することによって、例えばリセット解除直後のセルフループ動作をして、不要な命令コードの実行をしない。
また、プログラム開発時等のデバッグにおいて、ROM4をSRAM等の読み書き可能なメモリとしている場合にも、リセット解除されてからデバッグの準備が完了するまでの間に、CPU1が上記SRAM等のプログラムが書き込まれる前の不確定なデータを命令コードとして実行することはない。
なお、モード信号MODEが通常モードにネゲートされているときにリセット解除がなされたときには、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされず、セレクタ14によってメモリセレクト信号線CS00はメモリセレクト信号線CS01に接続されるので、CPU1は、リセット解除直後から、ROM4をアクセスすることができる。
以上のように実施の形態3によれば、リセット解除直後にCPU1がアクセスするROM4の命令コードとは異なる命令コードであってCPU1をセルフループさせる命令コード等を記憶したブートROM15を設け、CPU1のリセット解除後に、モード判定回路10によってデバックの準備のための期間を判定し、上記デバッグの準備のための期間では、セレクタ14によってブートROM15を選択し、CPU1からの命令コードアクセスに応じて、ROM4に代えてブートROM15からCPU1をセルフループさせる命令コード等を読み出すことにより、上記実施の形態1と同様の効果が得られる。さらに、メモリバス7のメモリセレクト信号CS0をセレクタ14によって分岐することにより実現でき、バス6に新たな回路を設けないので、バス6の性能(負荷特性等)に影響を与えることがない。なお、メモリバス7に新たにブートROM15を設けているが、メモリバス7にはバス6ほどの高い性能は要求されないので、ブートROM15を設けることの影響は、無視できる。
実施の形態4
図5は本発明の実施の形態4の中央処理システムの構成図であり、図1と同様のものには同じ符号を付してある。この実施の形態4の中央処理システムは、CPU1と、I/O回路2と、メモリ制御回路17と、ROM4と、RAM5と、バス6と、メモリバス7と、リセット信号HRESETの入力端子8と、モード信号MODEの入力端子9と、モード判定回路10と、ブートROM16と、JTAGインターフェースのTAP100とを備えている。
図5の実施の形態4の中央処理システムにおいて、モード信号MODEの入力端子9と、モード判定回路10と、ブートROM16とは、JTAGインターフェースによってなされるデバッグの準備をするためのデバッグ回路を構成している。
この実施の形態4の中央処理システム(デバッグ回路)は、上記実施の形態1の中央処理システム(デバッグ回路)において、デコーダ11およびセレクタ12に代えてブートROM16を設け、メモリ制御回路3をメモリ制御回路17としたものである。
[ブートROM16]
ブートROM16は、上記実施の形態3のブートROM15(図4参照)と同様に、システムのリセット解除後にCPU1によって実行されるプログラムの命令コードであって、CPU1をセルフループにするプログラム等、そのプログラムの実行によってシステムに影響を与えず、CPU1をリセット解除直後の状態に保持するための適切なプログラムの命令コードを記憶している読み出し専用のメモリである。このブートROM16は、デバッグの準備の期間のみ選択されるので、上記のようなROM4とは異なるプログラムを記憶しておくことが可能である。
また、ブートROM16は、I/O回路2やメモリ制御回路17と同様に、バス6に直接接続することが可能である。このブートROM16は、モード判定回路10からのデバッグモード準備信号DBGMODEがアサートされているときにのみ動作し、デバッグモード準備信号DBGMODEがネゲートされているときには動作を停止する。さらに、ブートROM16は、その動作中にCPU1からメモリ制御回路17のアクセスがあったら、メモリ制御回路17に代えてそのアクセスに応答する機能を備えている。
[メモリ制御回路17]
メモリ制御回路17は、上記実施の形態1のメモリ制御回路3(図1参照)において、モード判定回路10からのデバッグモード準備信号DBGMODEがネゲートされているときにのみ動作し、デバッグモード準備信号DBGMODEがアサートされているときには動作を停止する機能を付加したものである。従って、ブートROM16とメモリ制御回路17が同時にバス6に接続されることはなく、必ずいずれか1つがバス6に接続される。
[実施の形態4の動作]
このように構成された実施の形態4では、モード信号MODEがデバッグモードにアサートされているときにリセット解除がなされ、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされているリセット解除からデバッグの準備完了までの間において、ブートROM16は動作し、メモリ制御回路17は動作を停止し、メモリ制御回路17のアクセスがあったときには、メモリ制御回路17に代えてブートROM16がそのアクセスに応答する。
従って、CPU1からRAM4の命令コードのアクセスがあると、メモリ制御回路17に代えてブートROM16がそのアクセスに応答し、ブートROM16から読み出された命令コードがリードデータバスHRDATAを介してCPU1に転送され、CPU1はこのブートROM16から読み出された命令コードを実行することになる。このブートROM16から読み出された命令コードは、例えばCPU1にリセット解除直後の動作を再度させて、CPU1をセルフループ動作させる命令コードなので、CPU1は、リセット解除直後のセルフループ動作をすることとなり、ROM4に書き込まれた命令コ−ドを実行することはない。
やがて、デバッグの準備が完了し、モード判定回路10によってデバッグモード準備信号DBGMODEがネゲートされると、ブートROM16は動作を停止し、メモリ制御回路17は動作を開始する。
従って、CPU1から命令コードアクセスがあれば、ROM4から読み出された命令コードが、メモリデータバスXD,メモリ制御回路17,リードデータバスHRDATAを介してCPU1に転送されるようになり、デバックが可能となる。
このように、リセット解除されてからデバッグの準備が完了するまでの間は、ブートROM16から読み出された命令コードが転送され、CPU1は、このブートROM16からの命令コードを実行することによって、例えばリセット解除直後のセルフループ動作をして、不要な命令コードの実行をしない。
また、プログラム開発時等のデバッグにおいて、ROM4をSRAM等の読み書き可能なメモリとしている場合にも、リセット解除されてからデバッグの準備が完了するまでの間に、CPU1が上記SRAM等のプログラムが書き込まれる前の不確定なデータを命令コードとして実行することはない。
なお、モード信号MODEが通常モードにネゲートされているときにリセット解除がなされたときには、モード判定回路10によってデバッグモード準備信号DBGMODEがアサートされず、ブートROM16は動作を停止し、メモリ制御回路17は動作するので、CPU1は、リセット解除直後から、ROM4をアクセスすることができる。
以上のように実施の形態4によれば、リセット解除直後にCPU1がアクセスするROM4の命令コードとは異なる命令コードであってCPU1をセルフループさせる命令コード等を記憶したブートROM16を設け、CPU1のリセット解除後に、モード判定回路10によってデバックの準備のための期間を判定し、上記デバッグの準備のための期間では、ブートROM16およびメモリ制御回路17の内、ブートROM16のみを動作させ、CPU1からの命令コードアクセスに応じて、ROM4に代えてブートROM16からCPU1をセルフループさせる命令コード等を読み出すことにより、上記実施の形態1と同様の効果が得られる。さらにブートROM16とメモリ制御回路17と切り換え、必ずいずれか1つがバス6に接続されるように構成しているので、バス6およびメモリバス7の性能(負荷特性等)に影響を与えることがない。
本発明の実施の形態1の中央処理システムの構成図である。 JTAGインターフェースの構成図である。 本発明の実施の形態2の中央処理システムの構成図である。 本発明の実施の形態3の中央処理システムの構成図である。 本発明の実施の形態4の中央処理システムの構成図である。 従来の中央処理システムのの構成図である。
符号の説明
1 CPU
2 I/O回路
3 メモリ制御回路
4 ROM
5 RAM
6 バス
7 メモリバス
10 モード判定回路
11 デコーダ
12 セレクタ
13 ORゲート
14 セレクタ
15,16 ブートROM
100 JTAGインターフェースのTAP
101 TDIポート
102 TDOポート
103 TCKポート
104 TMSポート
105 TAPインターフェース
106 制御レジスタ

Claims (8)

  1. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システム内に、けられるデバッグ回路であって、
    前記CPUのリセット解除後に、前記CPUにおけるデバッグ準備が完了するまでの期間を判定するデバッグ準備期間判定手段と、
    前記期間において、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスを監視する監視手段と、
    前記監視手段において、前記命令コードアクセスが検知されたときに、前記命令コードアクセスに対応する命令コードの替わりに、前記CPUをセルフループさせる他の命令コードを前記CPUに転送する命令コードセレクト手段と
    を備えた
    ことを特徴とするデバッグ回路。
  2. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システム内に、けられるデバッグ回路であって、
    前記CPUのリセット解除後に、前記CPUにおけるデバッグ準備が完了するまでの期間を判定するデバッグ準備期間判定手段と、
    前記期間において、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスを監視する監視手段と、
    前記監視手段において、前記命令コードアクセスが検知されたときに、前記CPUから前記メモリに対して出力される命令コードの一つであるデータ転送を要求する制御信号を、データ転送を無効にする制御信号に置き換える制御信号置換手段と
    を備えた
    ことを特徴とするデバッグ回路。
  3. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システム内に、けられるデバッグ回路であって、
    前記CPUのリセット解除後に、前記CPUにおけるデバッグ準備が完了するまでの期間を判定するデバッグ準備期間判定手段と、
    前記CPUをセルフループさせる命令コードを記憶する第1のメモリと、
    前記CPUの前記命令コードアクセスに対応する命令コードを記憶する第2のメモリと、
    前記期間では、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスに応じて命令コードを読み出すメモリを前記第1のメモリとし、前記期間でなければ、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスに応じて命令コードを読み出すメモリを前記第2のメモリとするメモリ選択手段と
    を備えた
    ことを特徴とするデバッグ回路。
  4. 前記CPUに接続する第1のバスと、
    前記第1および前記第2のメモリに接続する第2のバスと、
    前記第1のバスと前記第2のバスのインターフェースとして機能するメモリ制御手段と をさらに備え
    前記メモリ選択手段は、前記第2のバスに設けられている
    ことを特徴とする請求項3記載のデバッグ回路。
  5. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システム内に、設けられるデバッグ回路であって、
    前記CPUのリセット解除後に、前記CPUにおけるデバッグ準備が完了するまでの期間を判定するデバッグ準備期間判定手段と、
    前記CPUをセルフループさせる命令コードを記憶する第1のメモリと、
    前記CPUおよび前記第1のメモリに接続する第1のバスと、
    前記CPUの前記命令コードアクセスに対応する命令コードを記憶する第2のメモリと、
    前記第2のメモリに接続する第2のバスと、
    前記第1のバスと前記第2のバスのインターフェースとして機能するメモリ制御手段と を備え、
    前記期間では、前記第1のメモリは、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスに応じて命令コードを前記CPUに転送し、前記メモリ制御手段は動作を停止し、
    前記期間でなければ、前記第1のメモリは、動作を停止し、前記メモリ制御手段は、前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスに応じて命令コードを前記第2のメモリから読み出す
    ことを特徴とするデバッグ回路。
  6. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システムにおいての前記デバッグの準備を制御するデバッグ制御方法において、
    前記CPUのリセット解除を判定するステップと、
    前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスを監視するステップと、
    前記リセット解除がなされ、前記命令コードアクセスがあったときに、前記命令コードアクセスに対応する命令コードの替りに、前記CPUをセルフループさせる他の命令コードを前記CPUに転送するステップと
    前記CPUにおいてのデバッグの準備完了を判定するステップと、
    前記CPUにおいてのデバッグの準備が完了したら、前記命令コードアクセスの監視および前記他の命令コードの転送を停止するステップと
    を含む
    ことを特徴とするデバッグ制御方法。
  7. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システムにおいての前記デバッグの準備を制御するデバッグ制御方法において、
    前記CPUのリセット解除を判定するステップと、
    前記CPUから前記中央処理システム内に設けられているメモリへの命令コードアクセスを監視するステップと、
    前記リセット解除がなされ、前記命令コードアクセスがあったときに、前記CPUから前記メモリに対して出力される命令コードの一つであるデータ転送を要求する制御信号を、データ転送を無効にする制御信号に置き換えるステップと、
    前記CPUにおいてのデバッグの準備完了を判定するステップと、
    前記CPUにおいてのデバッグの準備が完了したら、前記命令コードアクセスの監視および前記制御信号の置き換えを停止するステップと
    を含む
    ことを特徴とするデバッグ制御方法。
  8. CPUによって実行されるプログラムをJTAGインターフェースによってデバッグすることが可能な中央処理システムにおいての前記デバッグの準備を制御するデバッグ制御方法において、
    前記CPUのリセット解除を判定するステップと、
    前記リセット解除がなされたら、前記CPUからの命令コードアクセスに対して、前記CPUをセルフループさせる命令コードを記憶する第1の内部メモリから前記CPUをセルフループさせる命令コードを読み出すステップと、
    前記CPUにおいてのデバッグの準備完了を判定するステップと、
    前記CPUにおいてのデバッグの準備が完了したら、前記命令コードアクセスに応じて前記第1の内部メモリとは異なり、前記命令コードアクセスに対応する命令コードを記憶している第2の内部メモリから前記命令コードアクセスに対応する命令コードを読み出すステップと
    を含む
    ことを特徴とするデバッグ制御方法。
JP2004131063A 2004-04-27 2004-04-27 デバッグ回路およびデバッグ制御方法 Expired - Lifetime JP4409349B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004131063A JP4409349B2 (ja) 2004-04-27 2004-04-27 デバッグ回路およびデバッグ制御方法
US11/109,771 US7590891B2 (en) 2004-04-27 2005-04-20 Debugging circuit and a method of controlling the debugging circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004131063A JP4409349B2 (ja) 2004-04-27 2004-04-27 デバッグ回路およびデバッグ制御方法

Publications (2)

Publication Number Publication Date
JP2005316559A JP2005316559A (ja) 2005-11-10
JP4409349B2 true JP4409349B2 (ja) 2010-02-03

Family

ID=35426812

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004131063A Expired - Lifetime JP4409349B2 (ja) 2004-04-27 2004-04-27 デバッグ回路およびデバッグ制御方法

Country Status (2)

Country Link
US (1) US7590891B2 (ja)
JP (1) JP4409349B2 (ja)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006313421A (ja) * 2005-05-06 2006-11-16 Nec Electronics Corp マイクロコンピュータ及びそのデバッグ方法
JP2008123106A (ja) * 2006-11-09 2008-05-29 Nec Electronics Corp マイクロコンピュータ及びマイクロコンピュータのデバッグ方法
US8370806B2 (en) 2006-11-15 2013-02-05 Qualcomm Incorporated Non-intrusive, thread-selective, debugging method and system for a multi-thread digital signal processor
US8533530B2 (en) 2006-11-15 2013-09-10 Qualcomm Incorporated Method and system for trusted/untrusted digital signal processor debugging operations
US8380966B2 (en) 2006-11-15 2013-02-19 Qualcomm Incorporated Method and system for instruction stuffing operations during non-intrusive digital signal processor debugging
US8341604B2 (en) 2006-11-15 2012-12-25 Qualcomm Incorporated Embedded trace macrocell for enhanced digital signal processor debugging operations
US7657791B2 (en) * 2006-11-15 2010-02-02 Qualcomm Incorporated Method and system for a digital signal processor debugging during power transitions
US8484516B2 (en) 2007-04-11 2013-07-09 Qualcomm Incorporated Inter-thread trace alignment method and system for a multi-threaded processor
US7870430B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for sharing debug resources
US7870434B2 (en) * 2008-02-29 2011-01-11 Freescale Semiconductor, Inc. Method and apparatus for masking debug resources
US8762779B2 (en) 2010-01-22 2014-06-24 Via Technologies, Inc. Multi-core processor with external instruction execution rate heartbeat
US8639919B2 (en) * 2011-01-18 2014-01-28 Via Technologies, Inc. Tracer configuration and enablement by reset microcode
US9053233B2 (en) 2011-08-15 2015-06-09 Freescale Semiconductor, Inc. Method and device for controlling debug event resources
WO2013142948A1 (en) 2012-03-30 2013-10-03 Irdeto Canada Corporation Method and system for preventing and detecting security threats
CN104572378A (zh) * 2015-01-28 2015-04-29 合肥联宝信息技术有限公司 一种嵌入式控制器编码除错和诊断的方法及装置
US11256605B2 (en) 2017-10-19 2022-02-22 Samsung Electronics Co., Ltd. Nonvolatile memory device
KR102396448B1 (ko) 2017-10-19 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
JP7202225B2 (ja) * 2019-03-12 2023-01-11 ローム株式会社 半導体装置及びデバッグシステム

Family Cites Families (59)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6120145A (ja) * 1984-07-07 1986-01-28 Iwatsu Electric Co Ltd マイクロプロセツサ動作解析装置
US6349392B1 (en) * 1987-06-02 2002-02-19 Texas Instruments Incorporated Devices, systems and methods for mode driven stops
US5228139A (en) * 1988-04-19 1993-07-13 Hitachi Ltd. Semiconductor integrated circuit device with test mode for testing CPU using external signal
US5210864A (en) * 1989-06-01 1993-05-11 Mitsubishi Denki Kabushiki Kaisha Pipelined microprocessor with instruction execution control unit which receives instructions from separate path in test mode for testing instruction execution pipeline
JPH06105432B2 (ja) * 1989-06-01 1994-12-21 三菱電機株式会社 マイクロプロセッサ
JP2761688B2 (ja) * 1992-02-07 1998-06-04 三菱電機株式会社 データ処理装置
GB2266605B (en) * 1992-04-27 1995-10-11 Intel Corp Microprocessor having a run/stop pin for accessing an idle mode
US5331571A (en) * 1992-07-22 1994-07-19 Nec Electronics, Inc. Testing and emulation of integrated circuits
US5617576A (en) * 1993-12-29 1997-04-01 Intel Corporation Method of slowing down code execution in a microprocessor including an internal cache memory
US5530804A (en) * 1994-05-16 1996-06-25 Motorola, Inc. Superscalar processor with plural pipelined execution units each unit selectively having both normal and debug modes
DE69616917T2 (de) * 1995-08-30 2002-06-06 Motorola Inc Datenprozessor mit eingebauter Emulationsschaltung
US5838897A (en) * 1996-02-27 1998-11-17 Cyrix Corporation Debugging a processor using data output during idle bus cycles
US5838692A (en) * 1996-11-14 1998-11-17 Hewlett-Packard Company System and method for extracting realtime debug signals from an integrated circuit
JPH10171676A (ja) * 1996-12-10 1998-06-26 Toshiba Corp マイクロプロセッサのテスト容易化回路
GB9626401D0 (en) * 1996-12-19 1997-02-05 Sgs Thomson Microelectronics Diagnostic procedures in an integrated circuit device
US6065106A (en) * 1996-12-20 2000-05-16 Texas Instruments Incorporated Resuming normal execution by restoring without refetching instructions in multi-word instruction register interrupted by debug instructions loading and processing
US5862148A (en) * 1997-02-11 1999-01-19 Advanced Micro Devices, Inc. Microcontroller with improved debug capability for internal memory
US6154856A (en) * 1997-04-08 2000-11-28 Advanced Micro Devices, Inc. Debug interface including state machines for timing synchronization and communication
JP3151808B2 (ja) * 1997-07-16 2001-04-03 日本電気株式会社 集積回路装置、回路検査装置および方法
US5991910A (en) * 1997-10-29 1999-11-23 Microchip Technology Incorporated Microcontroller having special mode enable detection circuitry and a method of operation therefore
US6385742B1 (en) * 1998-03-06 2002-05-07 Lsi Logic Corporation Microprocessor debugging mechanism employing scan interface
JP3684832B2 (ja) * 1998-03-31 2005-08-17 セイコーエプソン株式会社 マイクロコンピュータ、電子機器及びデバッグシステム
US6145123A (en) * 1998-07-01 2000-11-07 Advanced Micro Devices, Inc. Trace on/off with breakpoint register
US6311292B1 (en) * 1998-07-30 2001-10-30 Sandcraft, Inc. Circuit, architecture and method for analyzing the operation of a digital processing system
DE19835610A1 (de) * 1998-08-06 2000-02-10 Siemens Ag Programmgesteuerte Einheit und Verfahren zum Debuggen derselben
KR100625753B1 (ko) * 1999-02-16 2006-09-20 후지쯔 가부시끼가이샤 테스트 모드 입력 회로를 구비한 반도체 장치
US6564339B1 (en) * 1999-02-19 2003-05-13 Texas Instruments Incorporated Emulation suspension mode handling multiple stops and starts
JP3778246B2 (ja) 1999-03-23 2006-05-24 セイコーエプソン株式会社 割り込みコントローラ、asic、及び電子機器
US6343358B1 (en) * 1999-05-19 2002-01-29 Arm Limited Executing multiple debug instructions
US7260745B1 (en) * 1999-10-01 2007-08-21 Stmicroelectronics Ltd. Detection of information on an interconnect
US6691266B1 (en) * 1999-10-15 2004-02-10 Triscend Corporation Bus mastering debugging system for integrated circuits
US6367032B1 (en) * 1999-10-21 2002-04-02 Sony Corporation Of Japan Method and system for debugging a microprocessor core
JP4190114B2 (ja) * 1999-11-10 2008-12-03 株式会社ルネサステクノロジ マイクロコンピュータ
US6591378B1 (en) * 2000-02-22 2003-07-08 Motorola, Inc. Debug controller in a data processor and method therefor
JP2001243797A (ja) * 2000-02-29 2001-09-07 Fujitsu Ltd 半導体装置及びその試験方法
US6424926B1 (en) * 2000-03-31 2002-07-23 Intel Corporation Bus signature analyzer and behavioral functional test method
US6728906B1 (en) * 2000-08-24 2004-04-27 Triscend Corporation Trace buffer for a configurable system-on-chip
US6985980B1 (en) * 2000-11-03 2006-01-10 Xilinx, Inc. Diagnostic scheme for programmable logic in a system on a chip
JP3796111B2 (ja) * 2000-11-10 2006-07-12 株式会社ルネサステクノロジ データプロセッサ
JP2002202900A (ja) * 2000-12-28 2002-07-19 Seiko Epson Corp デバッグ装置
JP3913470B2 (ja) * 2000-12-28 2007-05-09 株式会社東芝 システムlsi
SG154320A1 (en) * 2001-02-16 2009-08-28 Sony Corp Data processing method and its apparatus
US6823224B2 (en) * 2001-02-21 2004-11-23 Freescale Semiconductor, Inc. Data processing system having an on-chip background debug system and method therefor
JP4321976B2 (ja) * 2001-05-31 2009-08-26 富士通マイクロエレクトロニクス株式会社 デバッグ支援機能付きマイコン
US7231551B1 (en) * 2001-06-29 2007-06-12 Mips Technologies, Inc. Distributed tap controller
US6782336B2 (en) * 2001-09-17 2004-08-24 Hewlett-Packard Development Company, L.P. Test outputs using an idle bus
US6725306B2 (en) * 2002-02-27 2004-04-20 Lsi Logic Corporation DEBUG mode for a data bus
JP2003263337A (ja) * 2002-03-08 2003-09-19 Seiko Epson Corp デバック機能内蔵型マイクロコンピュータ
US7149927B2 (en) * 2002-04-19 2006-12-12 Hewlett-Packard Development Company, L.P. Use of SMBus to provide JTAG support
US7107489B2 (en) * 2002-07-25 2006-09-12 Freescale Semiconductor, Inc. Method and apparatus for debugging a data processing system
US7096385B1 (en) * 2002-09-16 2006-08-22 Advanced Micro Devices, Inc. Method and system for testing a microprocessor
DE10244922B4 (de) * 2002-09-25 2009-08-13 Infineon Technologies Ag Programmgesteuerte Einheit und Verfahren zum Debuggen von einer programmgesteuerten Einheit ausgeführten Programmen
US7360117B1 (en) * 2002-10-24 2008-04-15 Verisilicon Holdings (Cayman Islands) Co. Ltd. In-circuit emulation debugger and method of operation thereof
US7310749B2 (en) * 2002-12-17 2007-12-18 Texas Instruments Incorporated Apparatus and method for trace stream identification of a processor debug halt signal
US7055006B1 (en) * 2003-04-30 2006-05-30 Advanced Micro Devices, Inc. System and method for blocking cache use during debugging
US7149926B2 (en) * 2003-05-22 2006-12-12 Infineon Technologies Ag Configurable real-time trace port for embedded processors
US7509533B1 (en) * 2003-06-30 2009-03-24 Sun Microsystems, Inc. Methods and apparatus for testing functionality of processing devices by isolation and testing
US7219265B2 (en) * 2003-12-29 2007-05-15 Agere Systems Inc. System and method for debugging system-on-chips
US7360129B2 (en) * 2003-12-30 2008-04-15 Broadcom Corporation Simultaneous switch test mode

Also Published As

Publication number Publication date
US20050268168A1 (en) 2005-12-01
US7590891B2 (en) 2009-09-15
JP2005316559A (ja) 2005-11-10

Similar Documents

Publication Publication Date Title
JP4409349B2 (ja) デバッグ回路およびデバッグ制御方法
US6301657B1 (en) System and method for booting a computer
US8145797B2 (en) Simultaneous multi-threaded (SMT) processor supporting thread-execution-state-sensitive supervisory commands
US7506205B2 (en) Debugging system and method for use with software breakpoint
JPH011039A (ja) インサーキット・エミュレータ
KR20080104388A (ko) 멀티-포트 메모리 디바이스의 포트간 통신
JPH02287635A (ja) マイクロコンピュータ,マイクロプロセッサおよびコア・プロセッサ集積回路用デバッグ周辺装置
US10073797B2 (en) Data processor device supporting selectable exceptions and method thereof
EP0840223B1 (en) Microcomputer capable of accessing an external memory
JPS6112297B2 (ja)
JP2010003151A (ja) データ処理装置
JP2006221606A (ja) データプロセッサ
US6697931B1 (en) System and method for communicating information to and from a single chip computer system through an external communication port with translation circuitry
EP0840221B1 (en) Microcomputer with packet bus
US7689864B2 (en) Processor comprising an integrated debugging interface controlled by the processing unit of the processor
US8417924B2 (en) Data processing device and method of halting exception processing
JP2004094451A (ja) オンチップjtagインタフェース回路およびシステムlsi
EP0840222B1 (en) Microcomputer with debugging system
EP0840224B1 (en) Microcomputer with booting system
US7765383B2 (en) Data processing unit and data processing apparatus using data processing unit
US6658514B1 (en) Interrupt and control packets for a microcomputer
JP3088285B2 (ja) インサーキットエミュレータ
JP2654105B2 (ja) マイクロプロセッサ
TW432277B (en) Pre-boot debugging device and method of computer system
JPH05224999A (ja) 暴走処理装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060811

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20081126

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20081218

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20090129

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20090129

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090811

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090918

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20091110

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20091111

R150 Certificate of patent or registration of utility model

Ref document number: 4409349

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131120

Year of fee payment: 4

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350