JP2010225094A - 集積回路、デバッグ回路、デバッグコマンド制御方法 - Google Patents

集積回路、デバッグ回路、デバッグコマンド制御方法 Download PDF

Info

Publication number
JP2010225094A
JP2010225094A JP2009074359A JP2009074359A JP2010225094A JP 2010225094 A JP2010225094 A JP 2010225094A JP 2009074359 A JP2009074359 A JP 2009074359A JP 2009074359 A JP2009074359 A JP 2009074359A JP 2010225094 A JP2010225094 A JP 2010225094A
Authority
JP
Japan
Prior art keywords
instruction
bus
debug
response
circuit
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.)
Granted
Application number
JP2009074359A
Other languages
English (en)
Other versions
JP5400443B2 (ja
Inventor
Shuhei Sato
周平 佐藤
Takashi Sato
崇 佐藤
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.)
Fujitsu Semiconductor Ltd
Original Assignee
Fujitsu Semiconductor 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 Fujitsu Semiconductor Ltd filed Critical Fujitsu Semiconductor Ltd
Priority to JP2009074359A priority Critical patent/JP5400443B2/ja
Priority to US12/729,864 priority patent/US8745446B2/en
Publication of JP2010225094A publication Critical patent/JP2010225094A/ja
Application granted granted Critical
Publication of JP5400443B2 publication Critical patent/JP5400443B2/ja
Priority to US14/218,169 priority patent/US9514070B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/20Handling requests for interconnection or transfer for access to input/output bus
    • G06F13/28Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】、内蔵するデバッグ回路からメモリ等の内部リソースに直接にアクセスできる構成において、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御する集積回路を提供する。
【解決手段】集積回路は、バスと、ユーザプログラムを実行する処理ユニットと、処理ユニットからの命令転送要求に応答して処理ユニットにバスを介して命令レジスタ内の命令を転送する、バスに接続されたデバッグ回路とを含み、処理ユニットがユーザプログラムの実行を中断して命令転送要求をデバッグ回路に対して行なうと、デバッグ回路は、命令転送要求と命令転送動作との間の期間においてバスの使用権を前記処理ユニットから解放させる応答を行なう。
【選択図】図4

Description

本発明は、一般に集積回路に関し、詳しくはプログラムの正しさを検査するデバッグ回路及びデバッグ回路を備えた集積回路に関する。
MCU(Micro Controller Unit)などのCPU(Central Processing Unit)を搭載する半導体装置において、CPUにより実行するプログラムを開発する際に、デバッグシステムを用いる。デバッグシステムは、開発対象のプログラムを実行するCPU動作に関する情報を表示したり、開発対象プログラムに対して特定の操作を行う機能を提供したりすることで、デバッグ作業を支援する。
図1は、デバッグシステムの構成の一例を示す図である。デバッグシステム10は、MCU等の半導体装置11、外部デバッグ装置12、及びホストコンピュータ13を含む。半導体装置11はデバッグ対象の装置であり、CPU21、デバッグ回路22、RAM23、ROM24、周辺回路25、内部バス26を含む。CPU21は、RAM23やROM24に格納されたプログラムを実行する。CPU21は、プログラム実行時に適宜必要に応じてRAM23をアクセスし、RAM23をワークエリアとして用いる。CPU21はデバッグ回路22に接続されており、各種の実行履歴情報をデバッグ回路22に供給する。またデバッグ回路22は、ブレークポイントに基づいてCPU21の動作を制御し、ブレーク後のデバッグステートでデバッグプログラムをCPU21に実行させることにより、所望のデバッグ機能を実現する。
外部デバッグ装置12は、デバッグ回路22とデバッグ端子28を介して結合され、デバッグ回路22とホストコンピュータ13との間のインターフェースとして機能する。ホストコンピュータ13ではデバッガソフトウェア15が実行されている。ユーザは、ホストコンピュータ13でデバッガソフトウェア15を操作することにより、半導体装置11のCPU21が実行するプログラムのデバッグ作業を行なう。
近年では、工場出荷後にもデバッグ作業を行いたいという要求に応じて、量産品にもデバッグ回路が内蔵するものがある。またCPU21にプログラムを実行させながら、デバッガソフトウェア15により、プログラムのパラメータのチューニングを行ないたいという要求がある。そのようなチューニングをCPU21によるプログラム実行と並行して行なうためには、デバッガソフトウェア15により制御されるデバッグ回路22から、CPU21を介することなく半導体装置11の内部のRAM23に直接にアクセスできることが好ましい。またそのようにデバッグ回路22が半導体装置11内部のリソースに直接にアクセスできる構成では、バス権獲得要求がデバッグ回路22とCPU21とで衝突する可能性がある。従って、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御することが望まれる。
特開2001−273167号公報 特開平8−263428号公報 特開平9−305536号公報
以上を鑑みると、内蔵するデバッグ回路からメモリ等の内部リソースに直接にアクセスできる構成において、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御する集積回路が望まれる。
集積回路は、バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路とを含み、前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする。
ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路は、命令を格納する命令レジスタと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路とを含み、前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする。
バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法は、前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる各段階を含むことを特徴とする。
本願開示の少なくとも1つの実施例によれば、処理ユニットは、ブレーク後にデバッグコマンドを待っている状態において、バスを占有することなく命令の実行を停止することができる。従って、バスに接続されるデバッガ回路が、他のリソースをアクセスするためにバスを使用したい場合に、直ちにバス権を獲得することができる。
デバッグシステムの構成の一例を示す図である。 CPUのブレーク処理の流れを示すフローチャートである。 ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。 デバッグ回路を内部バスに結合したデバッグシステムの構成の一例を示す図である。 CPUのブレーク処理の流れを示すフローチャートである。 ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。 内部バスのバスシステム構成の一例を示す図である。 図7のようなバスシステムにおいて命令転送制御部が実行するスプリットトランザクションの一例を示す図である。 デバッグ回路を内部バスに結合したデバッグシステムの構成の変形例を示す図である。 擬似オンザフライ処理を含めたデバッグコマンド制御手順のフローチャートである。 コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークである場合の命令実行の流れについて説明する図である。 コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークでない場合の命令実行の流れについて説明する図である。 リセット解除時のデバッグコマンド制御の流れを示すフローチャートである。 リセット解除時にデバッグが有効である場合の命令実行の流れを説明する図である。 リセット解除時のデバッグコマンド制御の変形例の処理の流れを示すフローチャートである。 コマンドウェイト設定を無効としたときのリセット解除時の命令実行の流れの一例を説明する図である。
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。
デバッガソフトウェアにより制御されるデバッグ回路から半導体装置の内部のRAMに直接にアクセスするためには、デバッグ回路を内部バスに結合し、デバッグ回路にDMAC(Direct Memory Access Controller)等のバスマスタを搭載すればよい。外部のデバッガソフトウェアによりデバッグ回路のDMACを制御することで、RAM等の内部リソースに対するデータアクセス動作を、CPUを介することなく直接に実行できる。これにより、CPUによりプログラムを実行させながら、それと並行してRAMに格納される各種パラメータの修正等を行い、動作性能のチューニングを行なうことができる。
このようにデバッグ回路を内部バスに結合し、内部バスを介して半導体装置内部のリソースとデータやコマンドをやり取りする構成とした場合、バス権獲得要求がデバッグ回路とCPUとで衝突する可能性がある。従って、バスを効率的に使用可能なようにバス権獲得要求及び承認を制御することが望まれる。バス権獲得要求の衝突が起こる状況について、以下に説明する。
従来の図1に示すようなデバッグシステムを用いたプログラムデバッグは、例えば、次のようなフローで行われる。プログラムを実行中に予めブレーク要因として設定しておいた命令の実行を確定すると、CPU21はブレーク処理を行ない、プログラムの実行を中断する。このプログラムの実行を中断している状態をデバッグステートと呼ぶ。このデバッグステートにおいて、チップ外部のホストコンピュータ13上で実行されるデバッガソフトウェア15により、プログラムのデバッグに必要な情報をデバッグ回路22から取得する。その後、デバッガソフトウェア15による指示により、中断していたプログラムのCPU21による実行を再開させる。その後のプログラム動作についても同様にデバッグを行う。
ブレーク後のデバッグステートでは、チップ外部のホストコンピュータ13のデバッガソフトウェア15により、デバッグ作業の制御を行う。デバッグステートのCPU21は、デバッガソフトウェア15が指定するモニタプログラム中の所望のデバッグコマンドを、所望のタイミングで実行する必要がある。ここでモニタプログラムとは、デバッグステートにおいてCPU21が実行するデバッグ用プログラムを指し、所望のデバッグコマンドとは、モニタプログラム中の所定のアドレスから始まる命令列のことである。また所望のタイミングとはホストコンピュータ13のデバッガソフトウェア15により指示したタイミングのことである。
図2は、CPU21のブレーク処理の流れを示すフローチャートである。CPU21はブレークするとブレーク専用の特定アドレスへ分岐する(S1)。この特定アドレスには、デバッグ回路22内部の命令格納用のレジスタ(以下において命令レジスタと呼ぶ)が割り当てられている。この命令レジスタには、CPU21をウェイトさせる命令シーケンスや、所望のデバッグコマンド開始アドレスへの分岐命令や、デバッグステートからユーザプログラム実行に戻るブレークリターン命令等が読み出される。命令レジスタには、初期状態においてCPU21をウェイトさせる命令シーケンスが読み出され(S2及びS3でNO)、CPU21はウェイト状態となる(S4)。このウェイト状態においては、CPU21はNOP(No Operation)コマンドを実行して何も実体的な動作をすることなく、ループでS1の命令レジスタの先頭アドレスへ戻る。CPU21は、命令レジスタ内のNOPコマンドの実行とループを繰り返す。
デバッガソフトウェア15がデバッグコマンドの開始アドレスを指定してデバッグ回路22にデバッグコマンド開始指示を与えると、上記命令レジスタから読み出される命令がデバッグコマンド開始指示命令(デバッグコマンド開始アドレスへの分岐命令)に切り替わる(S2でYES)。CPU21は、デバッグコマンド開始アドレスに分岐し(S5)、デバッグコマンドを実行する(S6)。デバッグコマンドの終了処理として、CPU21はブレーク専用の特定アドレス(上記命令レジスタ)へ分岐する(S1)。またデバッガソフトウェア15がデバッグ回路22にブレークリターンの指示を与えると、上記命令レジスタから読み出される命令がブレークリターン命令(ユーザプログラム中のブレークポイントへの分岐命令)に切り替わる(S3でYES)。CPU21は、ブレークリターン命令を実行し(S7)、ブレーク処理を終了する。
図3は、ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。CPU21によるユーザプログラムの実行31が、ブレークポイント32に到達すると、命令レジスタへの分岐33が発生する。CPU21による命令レジスタ内のコマンドの実行34が行なわれ、ウェイト命令の場合には自己ループ35により、命令レジスタ内のコマンドの実行34を繰り返す。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐36が発生し、CPU21によるデバッグコマンドの実行37が行なわれる。デバッグコマンドの実行37が終了すると、命令レジスタへの分岐(リターン)38が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰39が発生し、ブレークポイント32以降のユーザプログラムの実行31が行なわれる。
図1に示すデバッグ回路22を内部バス26に結合し、内部バス26を介して半導体装置11内部のリソースとデータやコマンドをやり取りする構成とした場合、バスの使用に関して問題が発生する。即ち、上記のようにCPU21がデバッグ回路22内の命令レジスタ内のNOPコマンドの実行とループを繰り返すと、その間、CPU21が内部バス26を占有してしまうことになる。その結果、内部バス26においてCPU21より優先度が低いバスマスタは、バス権を獲得することが困難になる。例えば、デバッグ回路22にDMACを内蔵してデバッガソフトウェア15から制御できるようにしても、CPU21のコマンドウェイト状態では、DMACが内部バス26を使用できない。内部バス26を使用できるようにするためには、DMACのバス優先順位を強制的に上げるなどの対処が必要となってしまう。従って、デバッグステートでのCPUのコマンドウェイト状態を、バスを占有することなく実現する構成が望まれる。
図4は、デバッグ回路を内部バスに結合したデバッグシステムの構成の一例を示す図である。デバッグシステム40は、MCU等の半導体装置41、外部デバッグ装置42、及びホストコンピュータ43を含む。半導体装置41はデバッグ対象の装置であり、CPU51、デバッグ回路52、RAM53、ROM54、周辺回路55、内部バス56を含む。CPU51は、RAM53やROM54に格納されたプログラムを実行する。CPU51は、プログラム実行時に適宜必要に応じてRAM53をアクセスし、RAM53をワークエリアとして用いる。CPU51は、各種の実行履歴情報をデバッグ回路52に供給する。またデバッグ回路52は、ブレークポイントに基づいてCPU51の動作を制御し、ブレーク後のデバッグステートでデバッグプログラムをCPU51に実行させることにより、所望のデバッグ機能を実現する。
外部デバッグ装置42は、デバッグ回路52と結合され、デバッグ回路52とホストコンピュータ43との間のインターフェースとして機能する。ホストコンピュータ43ではデバッガソフトウェア45が実行されている。ユーザは、ホストコンピュータ43でデバッガソフトウェア45を操作することにより、半導体装置41のCPU51が実行するプログラムのデバッグ作業を行なう。
デバッグ回路52は、命令転送制御部61、命令設定制御部62、命令供給制御部63、通信手段64、及びDMAC65を含む。命令転送制御部61は、命令レジスタ68及びスプリットトランザクション制御部69を含む。命令転送制御部61、命令設定制御部62、及び命令供給制御部63がデバッグコマンド制御部66を構成する。
通信手段64は、外部デバッグ装置42を介してホストコンピュータ43と通信する。DMAC65は、デバッガソフトウェア45により通信手段64を介して制御され、この外部からの制御に応じて、内部バス56を介してRAM53等の内部リソースにリード/ライトアクセスする機能を有する。これにより、デバッガソフトウェア45によるデバッグ対象システムのリアルタイムでのモニタリング(リード処理によるレジスタ値やメモリ値の監視)及びチューニング(ライト処理によるレジスタ値やメモリ値の書き換え)が可能となる。
命令設定制御部62は、通信手段64を介したデバッガソフトウェア45からの指示に応じて、命令レジスタ68に命令を格納する。例えば、ブレークリターン命令やデバッグコマンド開始アドレスへの分岐命令等が、命令レジスタ68に格納される。命令転送制御部61は、CPU51からの命令転送要求に応じてCPU51に内部バス56を介して命令レジスタ68の命令を転送する。即ち、CPU51がユーザプログラムの実行を中断して命令転送要求をデバッグ回路52に行なうと、命令転送制御部61は命令レジスタ68の命令を内部バス56に送出する。CPU51は、命令転送制御部61により内部バス56に送出された命令を読み込んで実行することにより、デバッグステートにおいて種々のデバッグコマンドを実行することができる。
図4に示す半導体装置41においては、CPU51がユーザプログラム実行中にブレークポイントでブレークして命令転送要求をデバッグ回路52に対して発行すると、スプリットトランザクションを実行する。このスプリットトランザクションとは、データ転送処理を構成する一連の動作のうち、データ転送要求動作と実際のデータ転送動作が分離されたトランザクションのことである。ここで2つの動作が分離されているとは、2つの動作の間の期間において、DMAC65等の他のデバイスやCPU51が内部バス56を介して他のトランザクションを実行できることを意味する。即ち、命令転送制御部61は、命令転送要求と命令転送動作との間の期間において、内部バス56の使用権をCPU51から解放させるようなスプリット応答を行なう。このスプリットトランザクションの制御をつかさどるのがスプリットトランザクション制御部69である。命令供給制御部63は、スプリットトランザクション制御部69に命令供給のタイミングを指示する。
図5は、CPU51のブレーク処理の流れを示すフローチャートである。プログラム実行中に予め設定されたブレーク要因が発生すると、CPU51はブレーク処理を行なう。CPU51はブレークすると、ブレーク時点のプログラム実行情報(プログラムカウンタ値やステータスレジスタ値等)をブレーク専用退避レジスタに退避させ、ブレーク専用の特定アドレスに分岐する。即ち、ブレーク専用の特定アドレスに割り当てられた命令レジスタ68へ分岐する(S1)。初期状態においてはデバッガソフトウェア45からの開始指示はない(S2でNO)。従って、スプリットトランザクション制御部69が、内部バス56のバスシステム及びCPU51に応答準備中を通知し、内部バス56のスプリットトランザクションを要求する(S3)。これによりCPU51は、バス権を解放するとともに、デバッグ回路52からのコマンド待ちの状態となる(S4)。
デバッガソフトウェア45からの指示に応じて、命令設定制御部62が、命令レジスタ68に任意の命令を設定する。その後、デバッガソフトウェア45からの指示に応じて、命令供給制御部63が、デバッグコマンド開始指示をスプリットトランザクション制御部69に与える(S2でYES)。これに応じて、スプリットトランザクション制御部69が内部バス56に応答準備完了を通知し、命令レジスタ68の命令を内部バス56を介してCPU51に供給する(S5)。
供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合(S6でYES)、CPU51は、デバッグコマンド開始アドレスに分岐し(S7)、デバッグコマンドを実行する(S8)。デバッグコマンドの終了処理として、CPU51は命令レジスタ68へ分岐する(S1)。また供給された命令がブレークリターン命令である場合(S6でNO)、CPU51はブレークリターン命令を実行し(S9)、ブレーク処理を終了する。
図6は、ユーザプログラム実行及びデバッグステートでの命令実行について説明する図である。CPU51によるユーザプログラムの実行71が、ブレークポイント72に到達すると、命令レジスタへの分岐73が発生する。命令レジスタへの命令フェッチ要求に対して、デバッグ回路52の命令転送制御部61が応答準備中を通知するので、CPU51は命令フェッチをすることなく、バス権を解放してウェイト状態となる。その後デバッグ回路52の命令転送制御部61が応答準備完了を通知すると、CPU51は命令フェッチを行ない、CPU51による命令レジスタ内のコマンドの実行74が行なわれる。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐76が発生し、CPU51によるデバッグコマンドの実行77が行なわれる。デバッグコマンドの実行77が終了すると、命令レジスタへの分岐(リターン)78が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰79が発生し、ブレークポイント72以降のユーザプログラムの実行71が行なわれる。
図7は、内部バス56のバスシステム構成の一例を示す図である。図7に示すバスシステムは、バス調停部81、デコーダ82、及びセレクタ83乃至86を含む。CPU51やDMAC65等のバスマスタは、内部バス56を介してRAM23やROM24等のスレーブ機器へのデータアクセスを行なうために、まずバス権要求をバス調停部81に対して行なう。バス調停部81は、バス権要求が1つしかない場合、そのバス権要求をしたバスマスタに対してバス権承認信号をアサートする。また複数のバスマスタからバス権要求がある場合には、バス調停部81は、所定の優先度等に応じた調停処理によりバス権を与えるバスマスタを選択し、選択したバスマスタに対してバス権承認信号をアサートする。バス権を獲得したバスマスタは、バス調停部81により適宜制御されるセレクタ83及び84を介して、所望のスレーブ機器にアクセスする。スレーブ機器からは、アクセス先のアドレスをデコードするデコーダ82により適宜制御されるセレクタ85及び86を介して、バスレディ/応答信号が返されるとともにリードアクセスの場合にはリードデータが返される。また各スレーブは、バス調停部81に対して応答準備完了を通知する信号を供給する。
図8は、図7のようなバスシステムにおいて命令転送制御部61が実行するスプリットトランザクションの一例を示す図である。ブレーク要因が発生すると、CPU51は命令レジスタ68に分岐するために、t2においてバス権要求信号をHIGHにアサートする。これに応答して、t3において、バス調停部81がCPU51に対してバス権承認信号をHIGHにアサートする。バス権を獲得したCPU51は、t4において命令レジスタ68のアドレスA0をアドレスバスに送出し、命令レジスタ68に対する命令フェッチ(命令転送)を要求する。この命令転送要求に応答し、t5において、命令転送制御部61のスプリットトランザクション制御部69はバスレディ信号をLOW状態にするとともに、バス応答信号を応答準備中を示す値に設定する。ここでバスレディ信号のLOW状態は、命令転送要求に対する命令転送を先延ばしすることを通知するものであるとする。バス調停部81は、t6において、応答準備中の通知を受けてCPU51へのバス権承認を取り下げる(即ちバス権承認信号をLOWにする)。これにより内部バス56は他のバスマスタにより使用可能となる。
図8の例では、DMAC65が、t4においてバス権要求信号をHIGHにアサートしている。t6において、バス調停部81はCPU51へのバス権承認を取り下げるとともに、DMAC65に対してバス権承認信号をHIGHにアサートする。t7及びt8において、DMAC65はアドレスB0及びB1に対して内部バス56を介したデータアクセスを行なう。
スプリットトランザクション制御部69は、デバッグコマンド開始指示をデバッガソフトウェア45から受け取ると、t10において応答準備完了を通知する。この応答準備完了を通知する信号に応答して、バス調停部81は、t11においてCPU51に対して再度バス権を承認する。CPU51はバス権を獲得すると、t12において命令レジスタ68のアドレスA0をアドレスバスに送出し、命令レジスタ68に対する命令フェッチ(命令転送)を要求する。この命令転送要求に応答し、t13において、命令転送制御部61のスプリットトランザクション制御部69は命令レジスタ68に格納される命令を内部バス56を介してCPU51に送信する。
図9は、デバッグ回路を内部バスに結合したデバッグシステムの構成の変形例を示す図である。図9において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。図9のデバッグシステム40においては、半導体装置41にデバッグ専用メモリ94が追加で設けられている。またデバッグ回路52には、ブレーク制御部91及びコマンドウェイト設定部93が追加で設けられている。ブレーク制御部91は、ブレーク要因フラグ92を含む。
コマンドウェイト設定部93は、デバッガソフトウェア45からの指示に基づいて、命令転送制御部61を第1の動作モード(コマンドウェイト設定有効モード)と第2の動作モード(コマンドウェイト設定無効モード)との何れかに設定する。スプリットトランザクション処理を行なうのが第1の動作モードであり、スプリットトランザクション処理を行なわないのが第2の動作モードである。図9に示すデバッグシステム40では、デバッグ回路52の命令レジスタ68には初期状態においてデバッグ専用メモリ94中の所定のアドレスへの分岐命令が格納されている。命令転送制御部61は、第2の動作モードに設定されている場合には、ブレークしたCPU51からの命令転送要求に応答して直ちに命令レジスタ68に格納される前記所定のアドレスへの分岐命令をCPU51に転送する。これによりCPU51は、応答待ちすることなく、直ちにデバッグ専用メモリ94の命令を実行することができる。
CPU51は、デバッグ専用メモリ94の命令を実行することにより、まず最初にブレーク要因フラグ92の内容を確認してよい。CPU51がブレークする要因としては複数の種類の要因が有り得るが、ブレーク要因フラグ92は、CPU51の現在のブレーク要因が複数の種類の要因のうちの何れであるかを示す値を格納している。ブレーク要因フラグ92が所定の要因を示す場合、CPU51は、デバッグ専用メモリ94に格納される命令の実行を継続し、その所定の要因において実行が予定されている処理を行なうことができる。ブレーク要因フラグ92が所定の要因でない要因を示す場合、CPU51は、再度命令レジスタ68に分岐してよい。このようにデバッグ専用メモリ94の所定のアドレスから始まる命令の実行後にCPU51が再度命令レジスタ68に分岐する場合、命令転送制御部61は、第2の動作モードに設定されている場合であってもスプリットトランザクション処理を行なう。
以上の構成により、擬似オンザフライ処理(デバッガソフトウェア45からのデバッグコマンド開始指示を必要とせずに短期間のブレークで実行する特定の処理)が可能となる。以下に、図9のデバッグシステム40における擬似オンザフライ処理について、より詳細に説明する。
図10は、擬似オンザフライ処理を含めたデバッグコマンド制御手順のフローチャートである。プログラム実行中にブレーク要因が発生すると、CPU51はブレーク処理を行なう。即ち、ブレーク専用の特定アドレスに割り当てられた命令レジスタ68へ分岐する(S1)。命令レジスタ68には初期状態においてデバッグ専用メモリ94中の所定のアドレスへの分岐命令が格納されており、この所定のアドレスには擬似オンザフライ処理用デバッグコマンドが格納されている。コマンドウェイト設定が有効でない場合(S2でNO)、CPU51は命令レジスタ68の命令を直ちに読み出して、擬似オンザフライ処理用デバッグコマンド開始アドレスへ分岐する(S3)。CPU51は、擬似オンザフライ処理用デバッグコマンドの実行において、まず最初にブレーク要因を確認する(S4)。ブレーク要因が擬似オンザフライブレークである場合(S4でYES)、CPU51はそのまま擬似オンザフライ処理用のデバッグコマンドを実行する(S5)。CPU51は、コマンドの終了処理としてブレークリターン命令を実行し(S12)、ブレーク処理を終了する。これによって、擬似オンザフライ処理が実現される。
ブレーク要因が擬似オンザフライブレークではない場合(S4でNO)、CPU51は再度命令レジスタ68へ分岐する(S6)。なおここで命令レジスタ68への分岐ではなく、対応する任意のデバッグコマンドへ分岐してもよい。CPU51が再度命令レジスタ68へ分岐すると、2回目以降の命令レジスタ68への命令フェッチでは、動作モードに関わらずにコマンドウェイトが有効となる。即ち、初期状態でデバッガソフトウェア45からの開始指示はなく(S7でNO)、スプリットトランザクション制御部69が、内部バス56のバスシステム及びCPU51に応答準備中を通知し、内部バス56のスプリットトランザクションを要求する(S8)。これによりCPU51は、バス権を解放するとともに、デバッグ回路52からのコマンド待ちの状態となる。
その後デバッガソフトウェア45からの指示に応じて、命令設定制御部62が、命令レジスタ68に任意の命令を設定する。更に、デバッガソフトウェア45からの指示に応じて、命令供給制御部63が、デバッグコマンド開始指示をスプリットトランザクション制御部69に与える(S7でYES)。供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合(S9でYES)、CPU51は、デバッグコマンド開始アドレスに分岐し(S10)、デバッグコマンドを実行する(S11)。デバッグコマンドの終了処理として、CPU51は命令レジスタ68へ分岐する(S6)。また供給された命令がブレークリターン命令である場合(S9でNO)、CPU51はブレークリターン命令を実行し(S12)、ブレーク処理を終了する。
図11は、コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークである場合の命令実行の流れについて説明する図である。あるブレーク要因によりユーザプログラム実行が中断すると、CPU51により命令レジスタ68内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行101が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐102が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因が擬似オンザフライブレークであると判明すると、CPU51による疑似オンザフライ用デバックコマンドの実行103がそのまま続けられる。疑似オンザフライ用デバックコマンドの実行103の終了に伴い、ブレークリターンによる復帰が発生し、ブレーク以降のユーザプログラムの実行が行なわれる。
図12は、コマンドウェイト設定を無効としたときにブレーク要因が擬似オンザフライブレークでない場合の命令実行の流れについて説明する図である。あるブレーク要因によりユーザプログラム実行が中断すると、CPU51により命令レジスタ68内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行101が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐102が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因が擬似オンザフライブレークでないと判明すると、命令レジスタ68への分岐104が発生する。命令レジスタへの2回目以降の命令フェッチ要求に対して、デバッグ回路52の命令転送制御部61が応答準備中を通知するので、CPU51は命令フェッチをすることなく、バス権を解放してウェイト状態となる。
その後デバッグ回路52の命令転送制御部61が応答準備完了を通知すると、CPU51は命令フェッチを行ない、CPU51による命令レジスタ内のコマンドの実行101が行なわれる。命令レジスタ内のコマンドが所望のデバッグコマンド開始アドレスへの分岐命令である場合、このデバッグコマンド開始アドレスへの分岐105が発生し、CPU51によるデバッグコマンドの実行106が行なわれる。デバッグコマンドの実行106が終了すると、命令レジスタへの分岐107(リターン)が再度発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰108が発生し、ブレーク以降のユーザプログラムの実行が行なわれる。
ここまでに説明したデバッグコマンド制御方法は、リセット解除時のデバッグコマンド制御にも適用できる。以下に、リセット解除時のデバッグコマンド制御について説明する。
図13は、リセット解除時のデバッグコマンド制御の流れを示すフローチャートである。リセット解除時にデバッグコマンドの実行を行うには、デバッグ回路においてリセット解除時のデバッグを有効に設定し、リセット解除後、ユーザプログラムが開始する前にブレークすればよい。CPU51は、リセット解除時にデバッグが有効でない場合(S1でNO)、通常のユーザプログラムの実行を開始する。リセット解除時にデバッグが有効である場合(S1でYES)、CPU51は、デバッグ回路52の命令レジスタ68へ分岐する(S2)。初期状態でデバッガソフトウェア45からの開始指示はなく(S3でNO)、スプリットトランザクション制御部69が、内部バス56のバスシステム及びCPU51に応答準備中を通知し、内部バス56のスプリットトランザクションを要求する(S4)。これによりCPU51は、バス権を解放するとともに、デバッグ回路52からのコマンド待ちの状態となる。その後デバッガソフトウェア45からの指示に応じて、命令設定制御部62が、命令レジスタ68に任意の命令を設定する。更に、デバッガソフトウェア45からの指示に応じて、命令供給制御部63が、デバッグコマンド開始指示をスプリットトランザクション制御部69に与える(S3でYES)。供給された命令がデバッグコマンド開始アドレスへの分岐命令である場合(S5でYES)、CPU51は、デバッグコマンド開始アドレスに分岐し(S6)、デバッグコマンドを実行する(S7)。デバッグコマンドの終了処理として、CPU51は命令レジスタ68へ分岐する(S2)。また供給された命令がブレークリターン命令である場合(S5でNO)、CPU51はブレークリターン命令を実行し(S8)、通常のユーザプログラムの実行を開始する。
図14は、リセット解除時にデバッグが有効である場合の命令実行の流れを説明する図である。リセット解除されデバッグが有効である場合、命令レジスタへの分岐110が発生する。命令レジスタへの命令フェッチ要求に対して、デバッグ回路52の命令転送制御部61が応答準備中を通知するので、CPU51は命令フェッチをすることなく、バス権を解放してウェイト状態となる。その後デバッグ回路52の命令転送制御部61が応答準備完了を通知すると、CPU51は命令フェッチを行ない、CPU51による命令レジスタ内のコマンドの実行111が行なわれる。命令レジスタ内のコマンドがデバッグコマンド開始指示命令である場合には、デバッグコマンド開始アドレスへの分岐112が発生し、CPU51によるデバッグコマンドの実行113が行なわれる。デバッグコマンドの実行113が終了すると、命令レジスタへの分岐(リターン)114が発生する。命令レジスタ内のコマンドがブレークリターン命令である場合には、ブレークリターンによる復帰115が発生し、ユーザプログラムの実行116が行なわれる。
図15は、リセット解除時のデバッグコマンド制御の変形例の処理の流れを示すフローチャートである。この処理は図9に示すデバッグシステム40により実行される。CPU51は、リセット解除時にデバッグが有効でない場合(S1でNO)、通常のユーザプログラムの実行を開始する。リセット解除時にデバッグが有効である場合(S1でYES)、CPU51は、デバッグ回路52の命令レジスタ68へ分岐する(S2)。命令レジスタ68には初期状態においてデバッグ専用メモリ94中の所定のアドレスへの分岐命令が格納されており、この所定のアドレスには擬似オンザフライ処理用デバッグコマンドが格納されている。コマンドウェイト設定が有効でない場合(S3でNO)、CPU51は命令レジスタ68の命令を直ちに読み出して、擬似オンザフライ処理用デバッグコマンド開始アドレスへ分岐する(S4)。CPU51は、擬似オンザフライ処理用デバッグコマンドの実行において、まず最初にブレーク要因フラグが設定されているか否かを検出する(S5)。ブレーク要因フラグが設定されていない場合(S5でNO)、通常のブレークではなくリセット直後であることを示し、CPU51はリセット用デバッグコマンドに分岐し(S6)、リセット用デバッグコマンドを実行する(S7)。CPU51は、コマンドの終了処理としてブレークリターン命令を実行し(S16)、ユーザプログラムの実行を開始する。
ブレーク要因フラグが設定されている場合(S5でYES)、リセット直後ではなく通常のブレークであることを示し、CPU51はブレーク要因を確認する(S8)。ブレーク要因が擬似オンザフライブレークである場合(S8でYES)、CPU51はそのまま擬似オンザフライ処理用のデバッグコマンドを実行する(S9)。ブレーク要因が擬似オンザフライブレークではない場合(S8でNO)、CPU51は再度命令レジスタ68へ分岐する(S10)。以降の処理手順は、図10の処理手順と同様であるので説明を省略する。
図16は、コマンドウェイト設定を無効としたときのリセット解除時の命令実行の流れの一例を説明する図である。リセット解除されデバッグが有効である場合、命令レジスタへの分岐120が発生する。コマンドウェイト設定が無効であるので、CPU51により命令レジスタ68内の命令が直ちに読み出され、命令レジスタ内のコマンドの実行121が行なわれる。命令レジスタ内のコマンドは疑似オンザフライ開始アドレスへの分岐命令であるので、疑似オンザフライ開始アドレスへの分岐122が発生する。疑似オンザフライ用デバックコマンドの実行において、ブレーク要因フラグの設定の有無によりリセット発生の有無を判断する。リセット発生と判断すると、リセット用デバッグコマンドへの分岐123が発生し、CPU51によるリセット用デバッグコマンドの実行124が行なわれる。リセット用デバッグコマンドの実行124が終了すると、ブレークリターンによる復帰125が発生し、ユーザプログラムの実行が開始される。なおリセット直後でない場合には、疑似オンザフライ用デバックコマンドの実行中の判断において、ブレーク要因フラグに何れかのブレーク要因を検出する。この場合の処理は、図11及び図12で説明した手順の処理と同様となる。
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。
なお本願発明は、以下の内容を含むものである。
(付記1)
バスと、
ユーザプログラムを実行する処理ユニットと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路と、
を含み、前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする集積回路。
(付記2)
前記バスに接続され前記ユーザプログラムを格納するメモリを更に含み、前記デバッグ回路は外部からの制御に応じて前記バスを介して前記メモリにアクセスする機能を有することを特徴とする付記1記載の集積回路。
(付記3)
前記デバッグ回路による前記応答は応答準備中を示す応答であることを特徴とする付記1又は2に記載の集積回路。
(付記4)
前記デバッグ回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする付記1乃至3の何れか一項記載の集積回路。
(付記5)
前記処理ユニットは、前記命令転送準備が完了した旨を示す信号が前記デバッグ回路から送出されると、前記バスの使用権を獲得して前記バスを介して前記命令を前記デバッグ回路から読み出すことを特徴とする付記1乃至4の何れか一項記載の集積回路。
(付記6)
前記デバッグ回路は前記応答を行なう第1の動作モードと前記応答を行なわない第2の動作モードとの何れかに設定可能であり、前記デバッグ回路の前記命令レジスタには初期状態において所定のアドレスへの分岐命令が格納されており、前記第2の動作モードに設定されている場合には、前記命令転送要求に応答して直ちに前記所定のアドレスへの分岐命令を前記処理ユニットに転送することを特徴とする付記1乃至5の何れか一項記載の集積回路。
(付記7)
前記処理ユニットが前記所定のアドレスへの分岐命令及び前記所定のアドレスから始まる命令の実行を終了してから前記命令転送要求を前記デバッグ回路に発行した場合、前記デバッグ回路は、前記第2の動作モードに設定されている場合であっても前記応答を行なうことを特徴とする付記6記載の集積回路。
(付記8)
ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路であって、
命令を格納する命令レジスタと、
前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路と
を含み、前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とするデバッグ回路。
(付記9)
外部からの制御に応じて前記バスを介してメモリにアクセスする機能を有することを特徴とする付記8記載のデバッグ回路。
(付記10)
前記応答は応答準備中を示す応答であることを特徴とする付記8又は9に記載のデバッグ回路。
(付記11)
前記制御回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする付記8乃至11の何れか一項記載の集積回路。
(付記12)
バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法であって、
前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、
前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、
前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる
各段階を含むことを特徴とするデバッグコマンド制御方法。
(付記13)
前記デバッグ回路から命令転送準備が完了した旨を示す信号を送出し、
前記命令転送準備が完了した旨を示す信号が送出されると、前記処理ユニットにより前記バスの使用権を獲得して前記バスを介して命令を前記デバッグ回路から読み出す、
各段階を更に含むことを特徴とする付記12に記載のデバッグコマンド制御方法。
40 デバッグシステム
41 半導体装置
42 外部デバッグ装置
43 ホストコンピュータ
45 デバッガソフトウェア
51 CPU
52 デバッグ回路
53 RAM
54 ROM
55 周辺回路
56 内部バス

Claims (10)

  1. バスと、
    ユーザプログラムを実行する処理ユニットと、
    前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令レジスタ内の命令を転送する、前記バスに接続されたデバッグ回路と
    を含み、
    前記処理ユニットが前記ユーザプログラムの実行を中断して前記命令転送要求を前記デバッグ回路に対して行なうと、前記デバッグ回路は、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とする集積回路。
  2. 前記バスに接続され前記ユーザプログラムを格納するメモリを更に含み、前記デバッグ回路は外部からの制御に応じて前記バスを介して前記メモリにアクセスする機能を有することを特徴とする請求項1記載の集積回路。
  3. 前記デバッグ回路による前記応答は応答準備中を示す応答であることを特徴とする請求項1又は2に記載の集積回路。
  4. 前記デバッグ回路は、前記応答をした後に外部から前記命令レジスタに所望の命令が格納され、実行指示されると、命令転送準備が完了した旨を示す信号を送出することを特徴とする請求項1乃至3の何れか一項記載の集積回路。
  5. 前記処理ユニットは、前記命令転送準備が完了した旨を示す信号が前記デバッグ回路から送出されると、前記バスの使用権を獲得して前記バスを介して前記命令を前記デバッグ回路から読み出すことを特徴とする請求項1乃至4の何れか一項記載の集積回路。
  6. 前記デバッグ回路は前記応答を行なう第1の動作モードと前記応答を行なわない第2の動作モードとの何れかに設定可能であり、前記デバッグ回路の前記命令レジスタには初期状態において所定のアドレスへの分岐命令が格納されており、前記第2の動作モードに設定されている場合には、前記命令転送要求に応答して直ちに前記所定のアドレスへの分岐命令を前記処理ユニットに転送することを特徴とする請求項1乃至5の何れか一項記載の集積回路。
  7. 前記処理ユニットが前記所定のアドレスへの分岐命令及び前記所定のアドレスから始まる命令の実行を終了してから前記命令転送要求を前記デバッグ回路に発行した場合、前記デバッグ回路は、前記第2の動作モードに設定されている場合であっても前記応答を行なうことを特徴とする請求項6記載の集積回路。
  8. ユーザプログラムを実行する処理ユニットにバスを介して接続されるデバッグ回路であって、
    命令を格納する命令レジスタと、
    前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して前記命令を転送する制御回路と
    を含み、
    前記制御回路は、前記ユーザプログラムの実行を中断した前記処理ユニットから前記命令転送要求を受け取ると、前記命令転送要求と命令転送動作との間の期間において前記バスの使用権を前記処理ユニットから解放させる応答を行なうことを特徴とするデバッグ回路。
  9. 外部からの制御に応じて前記バスを介してメモリにアクセスする機能を有することを特徴とする請求項8記載のデバッグ回路。
  10. バスと、ユーザプログラムを実行する処理ユニットと、前記処理ユニットからの命令転送要求に応答して前記処理ユニットに前記バスを介して命令を転送する、前記バスに接続されたデバッグ回路とを含む集積回路におけるデバッグコマンド制御方法であって、
    前記ユーザプログラムの実行を中断して前記処理ユニットから前記デバッグ回路に前記命令転送要求を送信し、
    前記命令転送要求に応じて応答準備中を示す信号を前記デバッグ回路から送出し、
    前記応答準備中を示す信号に応答して前記バスの使用権を前記処理ユニットから解放させる
    各段階を含むことを特徴とするデバッグコマンド制御方法。
JP2009074359A 2009-03-25 2009-03-25 集積回路、デバッグ回路、デバッグコマンド制御方法 Active JP5400443B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009074359A JP5400443B2 (ja) 2009-03-25 2009-03-25 集積回路、デバッグ回路、デバッグコマンド制御方法
US12/729,864 US8745446B2 (en) 2009-03-25 2010-03-23 Integrated circuit, debugging circuit, and debugging command control method
US14/218,169 US9514070B2 (en) 2009-03-25 2014-03-18 Debug control circuit

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009074359A JP5400443B2 (ja) 2009-03-25 2009-03-25 集積回路、デバッグ回路、デバッグコマンド制御方法

Publications (2)

Publication Number Publication Date
JP2010225094A true JP2010225094A (ja) 2010-10-07
JP5400443B2 JP5400443B2 (ja) 2014-01-29

Family

ID=42785799

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009074359A Active JP5400443B2 (ja) 2009-03-25 2009-03-25 集積回路、デバッグ回路、デバッグコマンド制御方法

Country Status (2)

Country Link
US (2) US8745446B2 (ja)
JP (1) JP5400443B2 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043929A (ko) * 2017-10-19 2019-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
JP2020149214A (ja) * 2019-03-12 2020-09-17 ローム株式会社 半導体装置及びデバッグシステム
WO2020209016A1 (ja) * 2019-04-10 2020-10-15 ローム株式会社 半導体装置及びデバッグシステム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9495158B2 (en) * 2014-06-20 2016-11-15 Netronome Systems, Inc. Multi-processor system having tripwire data merging and collision detection
CN109426594A (zh) * 2017-08-25 2019-03-05 深圳市中兴微电子技术有限公司 一种芯片调试装置、方法及计算机可读存储介质
US10393805B2 (en) 2017-12-01 2019-08-27 International Business Machines Corporation JTAG support over a broadcast bus in a distributed memory buffer system
GB2571352B (en) * 2018-02-27 2020-10-21 Advanced Risc Mach Ltd An apparatus and method for accessing metadata when debugging a device
US11023342B2 (en) * 2018-11-30 2021-06-01 Western Digital Technologies, Inc. Cache diagnostic techniques
US11537505B2 (en) 2020-10-16 2022-12-27 Cadence Design Systems, Inc. Forced debug mode entry
CN115686164A (zh) * 2021-07-26 2023-02-03 瑞昱半导体股份有限公司 供电端装置、供电系统以及非暂态电脑可读取媒体

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191877A (ja) * 1993-12-27 1995-07-28 Toshiba Corp コンピュータデバッグ装置
JP2004086447A (ja) * 2002-08-26 2004-03-18 Renesas Technology Corp マイクロコンピュータ

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0636976B1 (en) * 1993-07-28 1998-12-30 Koninklijke Philips Electronics N.V. Microcontroller provided with hardware for supporting debugging as based on boundary scan standard-type extensions
JPH08263428A (ja) 1995-03-22 1996-10-11 Toshiba Corp スプリット転送方式を適用する情報処理装置及び同装置におけるバス調停方法
JPH09305536A (ja) 1996-05-16 1997-11-28 Nec Eng Ltd バス転送方法及びそのための情報処理装置
US6647545B1 (en) * 2000-02-14 2003-11-11 Intel Corporation Method and apparatus for branch trace message scheme
WO2001063416A1 (en) * 2000-02-24 2001-08-30 Bops Incorporated Methods and apparatus for scalable array processor interrupt detection and response
JP2001273167A (ja) 2000-03-27 2001-10-05 Oki Electric Ind Co Ltd ハードウエアブレーク回路
US6857035B1 (en) * 2001-09-13 2005-02-15 Altera Corporation Methods and apparatus for bus mastering and arbitration
US7574585B1 (en) * 2003-01-31 2009-08-11 Zilog, Inc. Implementing software breakpoints and debugger therefor
US20060294343A1 (en) * 2005-06-27 2006-12-28 Broadcom Corporation Realtime compression of microprocessor execution history
US7665002B1 (en) * 2005-12-14 2010-02-16 Advanced Micro Devices, Inc. Multi-core integrated circuit with shared debug port
JP2007249323A (ja) * 2006-03-14 2007-09-27 Matsushita Electric Ind Co Ltd マイクロコンピュータ
US7913118B2 (en) * 2008-10-15 2011-03-22 Andes Technology Corporation In-circuit debugging system and related method
US8275977B2 (en) * 2009-04-08 2012-09-25 Freescale Semiconductor, Inc. Debug signaling in a multiple processor data processing system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07191877A (ja) * 1993-12-27 1995-07-28 Toshiba Corp コンピュータデバッグ装置
JP2004086447A (ja) * 2002-08-26 2004-03-18 Renesas Technology Corp マイクロコンピュータ

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190043929A (ko) * 2017-10-19 2019-04-29 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
KR102396448B1 (ko) 2017-10-19 2022-05-11 삼성전자주식회사 불휘발성 메모리 장치 및 그것의 동작 방법
JP2020149214A (ja) * 2019-03-12 2020-09-17 ローム株式会社 半導体装置及びデバッグシステム
CN111694697A (zh) * 2019-03-12 2020-09-22 罗姆股份有限公司 半导体装置及调试系统
JP7202225B2 (ja) 2019-03-12 2023-01-11 ローム株式会社 半導体装置及びデバッグシステム
CN111694697B (zh) * 2019-03-12 2023-09-19 罗姆股份有限公司 半导体装置及调试系统
WO2020209016A1 (ja) * 2019-04-10 2020-10-15 ローム株式会社 半導体装置及びデバッグシステム
US11841782B2 (en) 2019-04-10 2023-12-12 Rohm Co., Ltd. Semiconductor device and debugging system

Also Published As

Publication number Publication date
US9514070B2 (en) 2016-12-06
JP5400443B2 (ja) 2014-01-29
US20140201403A1 (en) 2014-07-17
US20100251022A1 (en) 2010-09-30
US8745446B2 (en) 2014-06-03

Similar Documents

Publication Publication Date Title
JP5400443B2 (ja) 集積回路、デバッグ回路、デバッグコマンド制御方法
US6918058B2 (en) Semiconductor integrated circuit, system board and debugging system
JPH06250871A (ja) Cpuコア、該cpuコアを有するasic、及び該asicを備えたエミュレーションシステム
US8495344B2 (en) Simultaneous execution resumption of multiple processor cores after core state information dump to facilitate debugging via multi-core processor simulator using the state information
US7941650B2 (en) Microprocessor based on event-processing instruction set and event-processing method using the same
JP4874165B2 (ja) マルチプロセッサシステム及びマルチプロセッサシステムにおけるアクセス権設定方法
JP2007219816A (ja) マルチプロセッサシステム
JPH03109644A (ja) マイクロコンピュータ
US6968410B2 (en) Multi-threaded processing of system management interrupts
JP2001067235A (ja) 割込コントローラ及びマイクロコンピュータ
US9652299B2 (en) Controlling the state of a process between a running and a stopped state by comparing identification information sent prior to execution
JP5710424B2 (ja) 情報機器
JP2010003151A (ja) データ処理装置
JP2003122594A (ja) 半導体装置および評価装置
JP4818820B2 (ja) バスシステムおよびバススレーブならびにバス制御方法
JP2014157392A (ja) 半導体装置及びデータ処理システム
CN111143141B (zh) 一种状态机设置方法及系统
JP3187117B2 (ja) マルチプロセッサ内蔵1チップマイクロコンピュータ
JP2009223455A (ja) マルチプロセッサシステム
JP2001084161A (ja) データ処理装置
JP2005276104A (ja) マイクロコンピュータ
JP2002207714A (ja) マルチプロセッサ装置
JP2003196253A (ja) シングルチップマイクロコンピュータ
JP2011175503A (ja) 数値制御装置の初期化方法及び数値制御装置
TWI407312B (zh) 記憶體存取裝置及方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130312

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130510

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20130822

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: 20130926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131025

R150 Certificate of patent or registration of utility model

Ref document number: 5400443

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250