JP2009009596A - Microcomputer - Google Patents

Microcomputer Download PDF

Info

Publication number
JP2009009596A
JP2009009596A JP2008209858A JP2008209858A JP2009009596A JP 2009009596 A JP2009009596 A JP 2009009596A JP 2008209858 A JP2008209858 A JP 2008209858A JP 2008209858 A JP2008209858 A JP 2008209858A JP 2009009596 A JP2009009596 A JP 2009009596A
Authority
JP
Japan
Prior art keywords
microcomputer
execution
emulation
data transfer
data
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
JP2008209858A
Other languages
Japanese (ja)
Other versions
JP4968799B2 (en
Inventor
Naomiki Mitsuishi
直幹 三ッ石
Koji Yoneyama
浩司 米山
Hiroshi Miyashita
浩 宮下
Atsushi Hirose
敦 廣瀬
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.)
Renesas Technology Corp
Renesas Semiconductor Package and Test Solutions Co Ltd
Hitachi Solutions Technology Ltd
Original Assignee
Renesas Technology Corp
Hitachi ULSI Systems Co Ltd
Renesas Northern Japan Semiconductor Inc
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 Renesas Technology Corp, Hitachi ULSI Systems Co Ltd, Renesas Northern Japan Semiconductor Inc filed Critical Renesas Technology Corp
Priority to JP2008209858A priority Critical patent/JP4968799B2/en
Publication of JP2009009596A publication Critical patent/JP2009009596A/en
Application granted granted Critical
Publication of JP4968799B2 publication Critical patent/JP4968799B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To improve usability and efficiency of microcomputer in debugging. <P>SOLUTION: A microcomputer (5) comprises an emulation control means (EMC) capable of outputting a control signal for emulation control, a central processing unit (CPU) capable of controlling operation of the emulation control means, and a performance counter (PCNT). The central processing unit comprises a means for detecting subroutine branch instruction execution, exception handling execution, and their return instruction execution therefor, and changes with the control signal into an emulation program running state based on a result of detection by the detection means. Thus, user program execution time is allowed to be detected, and usability and efficiency of microcomputer in debugging are improved. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、データ処理装置などのオンチップデバッグ技術に関し、特に、エミュレーション機能を内蔵したマイクロコンピュータなどのシステムLSI、更に、その開発装置に利用して有効な技術に関するものである。   The present invention relates to an on-chip debugging technique such as a data processing apparatus, and more particularly to a system LSI such as a microcomputer having a built-in emulation function, and a technique that is effective when used in its development apparatus.

シングルチップマイクロコンピュータを用いた応用システムの開発を行うために、いわゆる、インサーキットエミュレータと呼ばれるマイクロコンピュータ開発装置が用いられる。マイクロコンピュータ開発装置は、パーソナルコンピュータなどのシステム開発装置と、開発中の応用システム(ユーザシステム)との間に、ケーブル等を介して接続され、その応用システムに装着されるべきシングルチップマイクロコンピュータ(ターゲットマイクロコンピュータ)の機能を代行しつつ、デバッガとしての機能を有し、ソフトウェア或は応用システムの開発を支援するものである。このマイクロコンピュータ開発装置には上記シングルチップマイクロコンピュータに対応したエバリュエーションチップと呼ばれる、評価用のエミュレーション用プロセッサが搭載されている。エミュレーション用プロセッサはシングルチップマイクロコンピュータを包含する機能に、マイクロコンピュータの内部状態を出力したり、マイクロコンピュータの動作を制御したりする専用の機能を追加することにより、マイクロコンピュータ開発装置の開発が容易にされる。マイクロコンピュータ開発装置については、例えば、昭和59年11月30日オーム社発行の『LSIハンドブック』第562頁及び第563頁などに記載され、また、エミュレーション用プロセッサについては、例えば特開昭63−106840号公報などに記載されている。   In order to develop an application system using a single chip microcomputer, a so-called microcomputer development apparatus called an in-circuit emulator is used. The microcomputer development device is a single-chip microcomputer that is connected to a system development device such as a personal computer and an application system (user system) under development via a cable or the like and is to be attached to the application system. It functions as a debugger while acting as a function of the target microcomputer), and supports the development of software or application systems. This microcomputer development apparatus is equipped with an evaluation emulation processor called an evaluation chip corresponding to the single chip microcomputer. Emulation processor facilitates development of microcomputer development equipment by adding dedicated functions to output the internal state of the microcomputer and control the operation of the microcomputer to functions that include a single-chip microcomputer. To be. The microcomputer development apparatus is described in, for example, “LSI Handbook”, pages 562 and 563 issued on November 30, 1984, and the emulation processor is described in, for example, No. 106840 and the like.

インサーキットエミュレータを用いる場合、かかるインサーキットエミュレータから延設されたケーブルの先端に設けられたコネクタをユーザシステムなどの応用システム上のマイクロコンピュータ用ソケットに接続することが多い。インサーキットエミュレータ内のエミュレーション用プロセッサは上記ケーブルやソケットを介して、応用システムに接続されるため、信号の遅延が大きくなり、信号線路に雑音が生じたり、アナログ信号の精度が低下したりする場合がある。   When an in-circuit emulator is used, a connector provided at the end of a cable extending from the in-circuit emulator is often connected to a microcomputer socket on an application system such as a user system. When the emulation processor in the in-circuit emulator is connected to the application system via the cable or socket described above, the signal delay increases, noise occurs in the signal line, or the accuracy of the analog signal decreases. There is.

インサーキットエミュレータにおいては、ユーザプログラムの実行を停止させることなく、デバッグ用の機能を利用することが望まれている。これは、マイクロコンピュータが、その入出力機能を利用して、応用システムの制御を行っており、ユーザプログラムの実行を停止させると応用システムの制御が不可能になり、動作の継続が不可能になってしまうためである。   In an in-circuit emulator, it is desired to use a debugging function without stopping execution of a user program. This is because the microcomputer uses the input / output function to control the application system. If the execution of the user program is stopped, the application system cannot be controlled and the operation cannot be continued. This is because it becomes.

上記エミュレーション用プロセッサに、エミュレーション用DMAコントローラを設け、CPUからバス権を獲得して、所要のデータ転送を行う技術が記載された文献の例としては、特開平8−328898号公報がある。この例では、インサーキットエミュレータ上にDMA転送用メモリを用意し、上記エミュレーション用DMAコントローラの制御を行っている。DMA転送用メモリは、2面用意され、アドレスを切り換えて、ホストCPUとのリード/ライトを行うようにしている。   Japanese Patent Laid-Open No. 8-328898 discloses an example of a technique in which a emulation DMA controller is provided in the emulation processor, a bus right is obtained from the CPU, and a required data transfer is described. In this example, a DMA transfer memory is prepared on an in-circuit emulator, and the emulation DMA controller is controlled. Two DMA transfer memories are prepared, and addresses are switched to perform read / write with the host CPU.

このようなDMAコントローラは、転送元アドレス、転送先アドレス、転送カウンタ、制御レジスタなどや、起動要因の選択や受付け論理を各チャネルに持つために、多数のチャネルのデータ転送を行おうとすれば、上記レジスタを多数組設けなければならない。また、専用のDMACを持つことは、DMACの論理に加えて、バス権の授受などの論理をマイクロコンピュータに必要とする。これらは、半導体集積回路装置全体の論理的・物理的規模を増大させてしまう。さらに、規模の増大は製造費用を増大させてしまう。上記例には、既存のDMACをエミュレーション用DMACとして共用することも記載されているが、ユーザの使用制限が生じてしまう。例えば、DMACを用いて、モータ制御や、各種インタフェースとの間のデータ転送などを行うような応用では、DMACのチャネル数は多数必要になり、エミュレーション用DMACに資源を割くことは望ましくない。   Such a DMA controller has a transfer source address, a transfer destination address, a transfer counter, a control register, and the like, and each channel has a start factor selection and acceptance logic. Many sets of the above registers must be provided. Also, having a dedicated DMAC requires the microcomputer to have logic such as transfer of bus rights in addition to the DMAC logic. These increase the logical and physical scale of the entire semiconductor integrated circuit device. Furthermore, the increase in scale increases manufacturing costs. In the above example, it is also described that an existing DMAC is shared as an emulation DMAC, but this limits the use of the user. For example, in an application in which DMAC is used to perform motor control, data transfer with various interfaces, etc., a large number of DMAC channels are required, and it is not desirable to allocate resources to the emulation DMAC.

上記レジスタに配置すべき情報を、記憶密度が高い汎用のRAM(ランダムアクセスメモリ)上に配置し、論理的、物理的規模の増大を防いだデータ転送装置、いわゆるデータトランスファコントローラ(DTC)を内蔵したものについて記載された文献の例としては、特開平1−125944号公報や、特開平7−129537公報などがある。   Built-in data transfer device, so-called data transfer controller (DTC), in which information to be placed in the above registers is placed on a general-purpose RAM (random access memory) with a high storage density, preventing an increase in logical and physical scale Examples of the literature described for the above are JP-A-1-125944 and JP-A-7-129537.

特開平7−129537公報には、さらに、データ転送装置が行うデータ転送のアドレス、データ、転送データ数または転送方法のうちの少なくとも1つ以上の情報を記憶手段に格納可能とし、この少なくとも1つ以上の情報には、データ転送装置の1回の動作で複数組の少なくとも1つ以上の情報によるデータ転送を指定可能な情報を含む例が記載されている。   Japanese Patent Laid-Open No. 7-129537 further discloses that at least one information of an address, data, the number of transfer data, or a transfer method of data transfer performed by the data transfer apparatus can be stored in the storage means. The above information describes an example including information that can specify data transfer by a plurality of sets of at least one piece of information in one operation of the data transfer apparatus.

特開昭63−10684号公報JP 63-10684 A 特開平8−328898号公報JP-A-8-328898 特開平1−125944号公報Japanese Patent Laid-Open No. 1-125944 特開平7−129537号公報Japanese Patent Laid-Open No. 7-129537

エミュレータの機能として、ユーザプログラムの実行時間の測定なども必要とされる。ユーザシステムの処理が、所要の時間内に納まるかを確認したり、処理速度の改善が必要な場合に、処理時間の内訳を調べたりするためである。ユーザプログラムは、C言語などを用いて開発される例が多いから、関数単位の処理時間を計測できることが望ましい。   As an emulator function, it is necessary to measure the execution time of the user program. This is to check whether the processing of the user system is within the required time or to examine the breakdown of the processing time when the processing speed needs to be improved. Since many user programs are developed using C language or the like, it is desirable to be able to measure the processing time in units of functions.

一方、エミュレータの形態として、オンチップデバッグ方式によって、デバッグを行う例が増えている。すなわち、マイクロコンピュータなどの実チップに、デバッグ用の機能およびインタフェースを設けるようにし、それをユーザシステムに実装し、上記デバッグ用のインタフェースを使用して、カードの形態でなるようなカードエミュレータに接続し、このカードエミュレータを、パーソナルコンピュータなどのホストコンピュータのカードスロットに挿入してデバッグが行われる。   On the other hand, there are increasing examples of debugging using an on-chip debugging method as a form of emulator. In other words, a debugging function and interface are provided on an actual chip such as a microcomputer, which is mounted on a user system, and connected to a card emulator in the form of a card using the debugging interface. The card emulator is inserted into a card slot of a host computer such as a personal computer for debugging.

かかるオンチップデバッグ方式をとれば、マイクロコンピュータはユーザシステムに実装されているから、不所望の遅延を生じたり、雑音を増加させたり、アナログなどの精度を低下させたりする要因がない。また、デバッグ用のインタフェースを切り離せば、そのままユーザシステムとして使用できる。半導体集積回路としても、エミュレーション用プロセッサと、量産用のマイクロコンピュータとを別個に開発する必要がないため、開発効率に優れ、特に、システムLSIなどの少量多品種に適している。また、応用システムを最終製品に組みこんだ後も、動作解析や調整に用いることもできる。そのようなオンチップデバッグ方式において、上記デバッグ用の機能は、デバッグ専用であって、実動作には不要である。従って、マイクロコンピュータの製造費用を低減するために、デバッグ用の論理的・物理的規模を最小限にすることが望ましい。また、エミュレータとのインタフェースはその信号線数なども限定されるから、十分なデバッグ用情報を入出力することは困難とされている。   If such an on-chip debugging method is employed, since the microcomputer is mounted on the user system, there is no cause for causing an undesired delay, increasing noise, or reducing the accuracy of analog or the like. If the debugging interface is disconnected, the user system can be used as it is. A semiconductor integrated circuit is also excellent in development efficiency because it is not necessary to separately develop an emulation processor and a mass production microcomputer, and is particularly suitable for a small variety of products such as a system LSI. In addition, even after the application system is built into the final product, it can be used for operation analysis and adjustment. In such an on-chip debugging system, the debugging function is dedicated to debugging and is not necessary for actual operation. Therefore, it is desirable to minimize the logical and physical scale for debugging in order to reduce the manufacturing cost of the microcomputer. Further, since the interface with the emulator is limited in the number of signal lines, it is difficult to input / output sufficient debugging information.

本発明の目的は、マイクロコンピュータのシステムを複雑化せずに、しかもインタフェース信号を増加させずに、デバッグ効率を向上させるための技術を提供することにある。   An object of the present invention is to provide a technique for improving debugging efficiency without complicating a microcomputer system and increasing an interface signal.

本発明の別の目的は、ユーザシステムの動作中に、マイクロコンピュータの所要のメモリの内容をモニタしたり、書き換えたりするための技術を提供することである。   Another object of the present invention is to provide a technique for monitoring or rewriting the contents of a required memory of a microcomputer during operation of a user system.

本発明の別の目的は、C言語などを使用したプログラムにおいて、関数毎の処理時間を容易に測定可能にするため技術を提供することである。   Another object of the present invention is to provide a technique for easily measuring the processing time for each function in a program using C language or the like.

本発明の上記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。   The above and other objects and novel features of the present invention will be apparent from the description of this specification and the accompanying drawings.

本願において開示される発明のうち代表的なものについて簡単に説明すれば下記のとおりである。   A representative one of the inventions disclosed in the present application will be briefly described as follows.

すなわち、デバッグ用インタフェースと、転送情報をRAMなどのメモリに配置し、この転送情報をリードしてデータ転送を行うデータ転送装置とを含み、上記デバッグ用インタフェースは、データレジスタと、インストラクションレジスタと、インストラクションレジスタの内容を解読する手段を持ち、インストラクションが所定の内容であるとき、上記データ転送装置へ転送要求を発生し、上記データ転送装置は、与えられた転送情報に従い、上記データレジスタと所要のメモリとの間のデータ転送を行うようにする。   That is, a debugging interface and a data transfer device that arranges transfer information in a memory such as a RAM and performs data transfer by reading the transfer information. The debug interface includes a data register, an instruction register, Means for decoding the contents of the instruction register, and when the instruction has a predetermined content, generates a transfer request to the data transfer device, and the data transfer device, according to the given transfer information, Perform data transfer to and from the memory.

データ転送装置は、ユーザ機能と兼用にし、この切り換えは、起動要求と同じに与えられるベクタで認識するようにする。   The data transfer apparatus is also used as a user function, and this switching is recognized by a vector given in the same way as the activation request.

バス制御手段は、デバッグ用/ユーザ用にかかわらず、データ転送装置と中央処理装置のバス権を調停する。また、データ転送装置と中央処理装置のバスアクセスの制御を行う。   The bus control means arbitrates the bus right between the data transfer device and the central processing unit, regardless of whether for debugging or for the user. It also controls bus access between the data transfer device and the central processing unit.

アドレスなど内部バスを監視してブレーク要求を発生したり、内部バスの状態をトレースしたりする手段を設ける場合は、不所望なブレーク要求や不所望なトレースを避けるため、上記デバッグ用データ転送時において内部バスの状態を無視するようにする。   When providing a means for generating a break request by monitoring the internal bus such as an address or tracing the state of the internal bus, avoid the undesired break request or the undesired trace. Ignore the state of the internal bus at.

また、サブルーチン分岐、サブルーチンリターン、例外処理分岐、例外処理リターンの命令実行時に所定のステータス信号を出力するように、ブレーク処理を行う。   In addition, break processing is performed so that a predetermined status signal is output when a subroutine branch, subroutine return, exception processing branch, and exception processing return instruction is executed.

さらに、上記信号ないしブレーク処理を示す信号により、カウント可能なパフォーマンスカウンタを内蔵することができる。   Furthermore, it is possible to incorporate a performance counter that can be counted by the signal or a signal indicating break processing.

上記した手段によれば、ユーザデバッグインタフェース回路にデータ転送装置の起動コマンドを追加することにより、少ない信号線数で、かつ、元々のマイクロコンピュータの機能への追加を最小限にし、デバッグ用の機能の増加を最小限にし、中央処理装置の動作を停止する時間を最小限にして、所望のアドレスの内容をリードしたり、ライトしたりすることができる。   According to the above means, by adding the start command of the data transfer device to the user debug interface circuit, the number of signal lines can be reduced and the addition to the original microcomputer function can be minimized, and the debugging function It is possible to read or write the contents of a desired address by minimizing the increase in the time and minimizing the time for stopping the operation of the central processing unit.

データ転送装置はユーザ機能と兼用であり、従って、バス権調停もユーザ機能と同一であり、転送要求などもユーザ機能と共通化でき、論理的規模の増加を抑止し、また、マイクロコンピュータのシステムを複雑化させることがない。データ転送装置は、転送情報をメモリ上に配置し、これをエミュレーションコントローラ内に配置可能にし、ユーザ資源への制約をなくすることもできる。   The data transfer apparatus is also used as a user function. Therefore, the bus arbitration is the same as the user function, the transfer request can be shared with the user function, the increase in logical scale is suppressed, and the microcomputer system is also used. Is not complicated. The data transfer apparatus can place transfer information on a memory, make it possible to place it in the emulation controller, and eliminate restrictions on user resources.

アドレスなど内部バスを監視してブレーク要求を発生したり、内部バスの状態をトレースしたりする手段を有する場合は、上記デバッグ用データ転送時には、内部バスの状態を無視するようにし、ユーザのプログラム実行によらない状態、例えばデバッグ用データ転送でブレークが発生したり、トレースに取得されたりする不都合を抑止できる。上記デバッグ用データ転送は、トレースに取得されるようにしても良い。尚、上記デバッグ用データ転送をトレースに取得するか否かを選択可能にしても良い。   If there is a means to monitor the internal bus such as an address to generate a break request or trace the internal bus state, ignore the internal bus state during the debugging data transfer, and the user program It is possible to suppress inconveniences that are not caused by execution, for example, a break occurs in debug data transfer or is acquired by a trace. The debug data transfer may be acquired by tracing. Note that it may be possible to select whether or not the debug data transfer is acquired in the trace.

パフォーマンスカウンタにより、エミュレーション用の信号を増加させることなく、関数毎の実行時間の測定を容易に実現できる。   The performance counter can easily measure the execution time of each function without increasing the emulation signal.

本願において開示される発明のうち代表的なものによって得られる効果を簡単に説明すれば下記の通りである。   The effects obtained by the representative ones of the inventions disclosed in the present application will be briefly described as follows.

すなわち、データ転送装置を起動して、所要のデータをリードし、デバッグ用インタフェースのデータレジスタにライトして、当該データをデバッグ用インタフェースから出力可能にすることにより、ユーザプログラムの実行を停止する時間を最小限にして、所要のメモリの内容をリードできる。また、データ転送の方向を逆にすることによって、所要のデータを書きかえることができる。それにより、マイクロコンピュータのデバッグにおける使い勝手や効率の向上を実現できる。   That is, the time for stopping the execution of the user program by starting the data transfer device, reading the required data, writing to the data register of the debug interface, and enabling the data to be output from the debug interface The required memory contents can be read with a minimum. In addition, by reversing the direction of data transfer, the required data can be rewritten. As a result, the usability and efficiency of microcomputer debugging can be improved.

図2には、本発明にかかるマイクロコンピュータを含むオンチップデバッガの構成例が示される。   FIG. 2 shows a configuration example of an on-chip debugger including a microcomputer according to the present invention.

オンチップデバッガは、カードエミュレータ2、インタフェースケーブル3、ホストコンピュータ4、ならびにデバッグ機能内蔵のマイクロコンピュータ5を含む。カードエミュレータ2は、例えばPCMCIAカード、あるいはPCIカードなどの形態を採る。ホストコンピュータは、PCMCIAスロット、あるいはPCIスロットなどのPCスロットを搭載したパーソナルコンピュータなどである。また、マイクロコンピュータ5には、デバッグ対象のユーザプログラムを格納するフラッシュメモリなどが設けられており、このデバッグ機能内蔵のマイクロコンピュータ5は、ユーザシステムであるプリント配線基板PCBなどに搭載されている。   The on-chip debugger includes a card emulator 2, an interface cable 3, a host computer 4, and a microcomputer 5 with a debugging function. The card emulator 2 takes the form of, for example, a PCMCIA card or a PCI card. The host computer is a personal computer equipped with a PC slot such as a PCMCIA slot or a PCI slot. The microcomputer 5 is provided with a flash memory for storing a user program to be debugged. The microcomputer 5 with a built-in debugging function is mounted on a printed circuit board PCB as a user system.

カードエミュレータは2、ホストコンピュータ4のPCカードスロットに挿入され、該カードエミュレータ2とプリント配線基板PCBとは、所要の通信手段を実現するインタフェースケーブル3を介して接続されている。そして、ホストコンピュータ4に入力されたコマンドなどに呼応して、ユーザプログラムをフラッシュメモリなどにダウンロードするとともに、これをデバッグする。   The card emulator 2 is inserted into the PC card slot of the host computer 4, and the card emulator 2 and the printed wiring board PCB are connected via an interface cable 3 that realizes a required communication means. Then, in response to a command input to the host computer 4, the user program is downloaded to a flash memory or the like and debugged.

ホストコンピュータ4を、携帯用パーソナルコンピュータなどとすることによって、実使用状態でのデバッグも可能である。例えば、応用システムがディジタルカメラの場合など、屋外でのデバッグや調整も可能になる。   By using the host computer 4 as a portable personal computer or the like, debugging in an actual use state is also possible. For example, when the application system is a digital camera, debugging and adjustment outdoors are possible.

図1には、上記マイクロコンピュータの構成例が示される。   FIG. 1 shows a configuration example of the microcomputer.

マイクロコンピュータ5は、特に制限されないが、シングルチップ型であり、全体の制御を司るCPU(中央処理装置)、割込コントローラINT、CPUの処理プログラムなどを格納するメモリであるROM(リードオンリーメモリ)、CPUの作業領域ならびにデータの一時記憶用及びスタック用のメモリとすることができるRAM(ランダムアクセスメモリ)、データ転送装置DTC、バスコントローラBSC、および入出力装置I/Oの機能ブロック乃至はモジュールから構成され、これらはユーザに開放された機能である。上記ROMにはフラッシュメモリを適用することができる。   The microcomputer 5 is not particularly limited, but is a single-chip type, and a ROM (Read Only Memory) that is a memory for storing a CPU (Central Processing Unit) that controls the whole, an interrupt controller INT, a processing program of the CPU, and the like. Functional blocks or modules of a CPU working area and a RAM (random access memory) that can be used as a temporary memory and stack memory for data, a data transfer device DTC, a bus controller BSC, and an input / output device I / O These are functions open to the user. A flash memory can be applied to the ROM.

入出力装置I/Oとしては、例えば、タイマ、シリアルコミュニケーションインタフェース(SCI)、A/D変換器、入出力ポート(IOP)、クロック発振器(CPG)などが含まれる。各入出力ポートは、外部割込みの入力、或いはタイマ、SCI、A/D変換器の入出力と兼用されている。すなわち、タイマ、SCI、A/D変換器は、それぞれ入出力信号を有し、入出力ポートと兼用にされた端子介して、外部と入出力される。同様に、アドレスバス、データバス、バス制御信号入出力と兼用にすることもできる。   Examples of the input / output device I / O include a timer, a serial communication interface (SCI), an A / D converter, an input / output port (IOP), a clock oscillator (CPG), and the like. Each input / output port is also used as an external interrupt input or as an input / output of a timer, SCI, or A / D converter. That is, the timer, the SCI, and the A / D converter each have an input / output signal, and are input / output to / from the outside through a terminal also used as an input / output port. Similarly, the address bus, data bus, and bus control signal input / output can also be used.

デバッグ機能として、エミュレーション用プログラムの一部が格納されるメモリERAMを備え、エミュレーションに関連するモジュールに対する制御信号を形成するエミュレーション制御回路EMC、アドレスなどの内部バスまたはCPUのプログラムカウンタなどを監視し、エミュレーションの際にユーザが指定したブレークポイントでCPUに対しプログラムの実行停止を要求したりするブレークコントローラEBC、エミュレーション中にバスBUS上の信号を採取するためのトレースバッファTBF、外部からの制御信号や転送クロックを受けたり該転送クロックに同期して、コマンドを入力したり、所要の内容を外部へ出力したりするユーザデバッグインタフェース回路UDI、処理時間の測定を行うパフォーマンスカウンタPCNTなどを含み、これらの機能ブロック乃至はモジュールは、アドレスバスおよびデータバスを含む内部バスBUSを介して互いに接続されている。   As a debugging function, a memory ERAM in which a part of the emulation program is stored is provided, an emulation control circuit EMC that forms a control signal for a module related to emulation, an internal bus such as an address, or a CPU program counter is monitored, A break controller EBC that requests the CPU to stop program execution at a breakpoint specified by the user during emulation, a trace buffer TBF for collecting signals on the bus BUS during emulation, an external control signal, A user debug interface circuit UDI that receives a transfer clock and synchronizes with the transfer clock and inputs a command and outputs required contents to the outside, and a performance counter P that measures a processing time And the like NT, block or these functional modules are connected to each other via an internal bus BUS including an address bus and a data bus.

これらは、公知の半導体製造技術により、1つの半導体基板上に形成されるが、マルチチップモジュールなどとして、複数の半導体集積回路を1つのパッケージに封入した構成をとってもよい。   These are formed on a single semiconductor substrate by a known semiconductor manufacturing technique. However, as a multichip module or the like, a configuration in which a plurality of semiconductor integrated circuits are enclosed in a single package may be employed.

CPUは、命令デコーダやブレーク要求受付機能、ブレーク命令実行機能、ブレークリターン命令実行機能などを含んでいる。また、後述の関数ブレークを指定する信号が活性状態のとき、サブルーチン分岐命令、サブルーチンリターン命令、例外処理、例外処理リターン命令実行後にブレーク例外処理を行うことが可能とされる。   The CPU includes an instruction decoder, a break request reception function, a break instruction execution function, a break return instruction execution function, and the like. Further, when a signal specifying a function break described later is in an active state, break exception processing can be performed after execution of a subroutine branch instruction, subroutine return instruction, exception processing, and exception processing return instruction.

ブレーク例外処理を実行すると、特に制限はされないものの、上記エミュレーション制御回路EMC上のメモリERAM上に分岐する。   When the break exception process is executed, although there is no particular limitation, the process branches to the memory ERAM on the emulation control circuit EMC.

上記エミュレーション制御回路EMCは、所要の制御レジスタなどを有し、所定のブレークモード時のCPUによる制御に従って、デバッグ機能内蔵マイクロコンピュータの制御を行う。上記関数ブレークを指定する信号FCBRKは、CPUに供給される。ユーザプログラムの実行を停止し、デバッグ用プログラムを実行している状態であるブレークモードを示すブレークモード信号BRKMは、ブレークコントローラEBC、パフォーマンスカウンタPCNT、及びトレースバッファTBFに供給される。   The emulation control circuit EMC has a required control register and the like, and controls the microcomputer with a built-in debug function according to control by the CPU in a predetermined break mode. A signal FCBRK designating the function break is supplied to the CPU. A break mode signal BRKM indicating a break mode in which execution of the user program is stopped and a debug program is being executed is supplied to the break controller EBC, the performance counter PCNT, and the trace buffer TBF.

上記デバッグ用インタフェースUDIは、所定のブレークモード時のCPUによる制御に従って、随時、外部のカードエミュレータとの間のデータ通信を行なう。特に制限されないが、このデータ通信はシリアル通信とされ、エミュレーションのための信号線数を少なくしている。   The debug interface UDI performs data communication with an external card emulator as needed under the control of the CPU in a predetermined break mode. Although not particularly limited, this data communication is serial communication, and the number of signal lines for emulation is reduced.

また、本例では、ブレークモード以外のときに関数毎の実行時間を計測することができる。例えばパフォーマンスカウンタPCNTは、48ビットのカウンタが2個設けられており、それぞれ独立に計数すべき状態発生を設定できるように構成されている。   In this example, the execution time for each function can be measured in a mode other than the break mode. For example, the performance counter PCNT is provided with two 48-bit counters, and is configured so that the occurrence of a state to be counted can be set independently.

バスコントローラBSCは、CPU及びデータ転送装置DTCのバス権要求信号に基づいて、所定のタイミングでバス権調停を行う。このバス権調停結果は、バス権アクノレッジ信号BSACKとして、CPU、データ転送装置DTCそのほかのモジュールに伝達される。バスコントローラBSCは、内蔵メモリ、内部I/Oレジスタ、外部アドレスなどに応じて、所要のバスアクセスの制御を行う。   The bus controller BSC performs bus right arbitration at a predetermined timing based on the bus right request signal from the CPU and the data transfer device DTC. This bus arbitration result is transmitted to the CPU, the data transfer device DTC and other modules as a bus acknowledge signal BSACK. The bus controller BSC controls the required bus access according to the built-in memory, internal I / O register, external address, and the like.

割込みコントローラINTは、上記タイマ、SCI、A/D変換器、外部入力の各割込み信号を入力して、割込み要求信号をCPUに、または、転送要求をデータ転送装置DTCに出力する。   The interrupt controller INT inputs the timer, SCI, A / D converter, and external input interrupt signals, and outputs an interrupt request signal to the CPU or a transfer request to the data transfer device DTC.

CPUに割込要求信号が与えられると、CPUは実行中の処理を中断して、割込み例外処理状態を経て、所定の処理ルーチンに分岐し、所望の処理を行い、割込要因をクリアしたりする。所定の処理ルーチンの最後には、通常復帰命令がおかれ、この命令を実行することによって上記中断した処理を再開する。   When an interrupt request signal is given to the CPU, the CPU interrupts the processing being executed, branches to the predetermined processing routine through the interrupt exception processing state, performs the desired processing, and clears the interrupt factor. To do. At the end of the predetermined processing routine, a normal return instruction is given, and the interrupted process is resumed by executing this instruction.

データ転送装置DTCに転送起動要求が与えられると、データ転送装置DTCはバス権要求信号を活性化し、バス権が獲得できると、所定のアドレスから転送情報をリードし、当該転送情報に基づいてデータ転送を行い、その後、転送情報を元のアドレスに書き戻す。   When a transfer activation request is given to the data transfer device DTC, the data transfer device DTC activates the bus right request signal. When the bus right can be acquired, the transfer information is read from a predetermined address and data is transferred based on the transfer information. Transfer is performed, and then the transfer information is written back to the original address.

かかるマイクロコンピュータ5にリセット信号RESが与えられると、CPUを始めとし、マイクロコンピュータ5はリセット状態になる。このリセットが解除されると、CPUはエミュレーション制御回路EMC上の所定のアドレスからリセット例外処理を行い、ユーザデバッグインタフェース回路UDI経由でコマンド入力を待つ。この間、そのほかのユーザ機能はリセット状態を継続する。入力されたコマンドに従い、所要の処理を行った後、ユーザプログラムに分岐(復帰)する。この後、ROMなどから命令をリードし、解読して、その解読内容に基づいて、データの処理、或いはRAM、タイマ、SCI、A/D変換器、入出力ポートなどとのデータ転送を行う。すなわち、CPUは、タイマ、SCI、A/D変換器、入出力ポートなどから入力されるデータ或いは機器の状態や指示(スイッチ、ボリュームなど)を参照しつつ、ROMなどに記憶されている命令に基づいて処理を行い、その結果に基づいて、入出力ポート、タイマなどを使用しつつ、外部に信号を出力し、機器の制御を行う。   When the reset signal RES is given to the microcomputer 5, the microcomputer 5 including the CPU is reset. When this reset is released, the CPU performs reset exception processing from a predetermined address on the emulation control circuit EMC and waits for a command input via the user debug interface circuit UDI. During this time, other user functions continue to be in the reset state. After performing the required processing according to the input command, it branches (returns) to the user program. Thereafter, an instruction is read from the ROM or the like, decoded, and based on the decoded contents, data processing or data transfer with the RAM, timer, SCI, A / D converter, input / output port, or the like is performed. That is, the CPU refers to data input from a timer, SCI, A / D converter, input / output port, etc., or an instruction stored in a ROM or the like while referring to device status or instructions (switch, volume, etc.) Based on the result, the signal is output to the outside and the device is controlled using the input / output port, the timer, and the like.

図3にはユーザデバッグインタフェース回路UDIの構成例が示される。   FIG. 3 shows a configuration example of the user debug interface circuit UDI.

ホストインタフェース(カードエミュレータとのインタフェース)として、制御信号入力(リセット、モード、クロック)、データ入力、データ出力を有する。制御信号に従って、データの入出力が行われる。後述のレジスタの選択は、制御信号入力(モード)によって行われる。   The host interface (interface with the card emulator) has control signal input (reset, mode, clock), data input, and data output. Data is input / output in accordance with the control signal. Selection of a register to be described later is performed by a control signal input (mode).

ユーザデバッグインタフェース回路UDIは、インストラクションレジスタSDIR、ステータスレジスタSDSR、データレジスタSDDRのレジスタを持つ。インストラクションには、リセット要求、リセット要求解除、ブレーク要求、ブレーク要求、DTC起動要求(2種類)などがあり、インストラクションレジスタの内容を解読して、所定の制御信号を発生する。   The user debug interface circuit UDI has an instruction register SDIR, a status register SDSR, and a data register SDDR. The instruction includes a reset request, reset request release, break request, break request, DTC activation request (two types), etc., and decodes the contents of the instruction register to generate a predetermined control signal.

ステータスレジスタSDSRは、SDTRFフラグを含む。SDTRFが論理値“0”にクリアされているときは、CPUなどのマイクロコンピュータ内部からデータレジスタSDDRにライト可能状態であり、SDTRFフラグが論理値“1”にセットされているときは、ホストインタフェースを介してデータレジスタSDDRへの転送可能状態である。   Status register SDSR includes an SDTRF flag. When SDTRF is cleared to logical value “0”, the data register SDDR is writable from the inside of a microcomputer such as a CPU, and when the SDTRF flag is set to logical value “1”, the host interface Is ready to be transferred to the data register SDDR.

また、内部バスに接続され、ブレークモードのとき、CPUからリード/ライト可能である。さらに、データ転送装置DTCのデバッグ用データ転送を示すステータスEDTCに従って、データ転送装置DTCによるデータレジスタSDDRのリード/ライトを可能にしている。   Further, it is connected to the internal bus and can be read / written from the CPU in the break mode. Further, the data transfer device DTC can read / write the data register SDDR according to the status EDTC indicating the data transfer device DTC for debugging data transfer.

図4には、データ転送装置DTCの構成例が示される。   FIG. 4 shows a configuration example of the data transfer device DTC.

上記ユーザデバッグインタフェース回路UDIのDTC起動要求、およびそのほかマイクロコンピュータの上記入出力装置(I/O)の割込み要求は、割込みコントローラに入力される。これらは、対応するDTCイネーブルレジスタ(DTER)によって、CPUへの割込み要求を行うか、DTCへの転送要求を行うかが指定され、それぞれ優先順位を判定し、選択された要因に対応するベクタとともに、割込み要求または転送要求が与えられる。   The DTC activation request of the user debug interface circuit UDI and the interrupt request of the input / output device (I / O) of the microcomputer are input to the interrupt controller. These are designated by the corresponding DTC enable register (DTER) as to whether an interrupt request to the CPU or a transfer request to the DTC is to be performed, respectively, the priority order is determined, and together with the vector corresponding to the selected factor An interrupt request or a transfer request is given.

データ転送装置DTCは、DTC転送要求DTCRQとベクタDTVECを取り込む。転送要求が発生すると、DTBRQによって、バスコントローラにバス権を要求し、BSACKによってバス権が受けつけられたことを確認して、所定のベクタから転送情報開始アドレスをリードし、かかる転送情報開始アドレスから転送情報(モード、転送元/先アドレス、カウンタ)をリードして、データ転送装置DTC内に格納し、この転送情報に従って、データ転送を行う。データ転送後、更新された転送情報は元のアドレスに書き戻される。   The data transfer device DTC takes in the DTC transfer request DTCRQ and the vector DTVEC. When a transfer request is generated, the bus right is requested from the bus controller by DTBRQ, the bus right is confirmed by BSACK, the transfer information start address is read from a predetermined vector, and the transfer information start address is Transfer information (mode, transfer source / destination address, counter) is read and stored in the data transfer device DTC, and data transfer is performed according to the transfer information. After the data transfer, the updated transfer information is written back to the original address.

図5には、マイクロコンピュータ5のメモリマップが示される。   FIG. 5 shows a memory map of the microcomputer 5.

ユーザ用のDTCのベクタアドレスは、ROM領域に割当てられるが、データ転送装置DTCのデバッグ用ベクタアドレスは、エミュレーション制御回路EMC内、例えばメモリERAMに配置される。   The vector address of the user DTC is assigned to the ROM area, but the debug vector address of the data transfer device DTC is arranged in the emulation control circuit EMC, for example, the memory ERAM.

転送情報は、ベクタによって示されるアドレスに配置される。通常、ユーザ用のDTC転送情報はRAMに配置される。デバッグ用のDTCの転送情報は、ERAMまたはRAMに配置される。ERAMに配置すれば、ユーザの資源を使用しないので、ユーザに制限を発生することがない。ERAMを使用しない場合、ERAMにエミュレーション用プログラムを、より多く配置することができ、エミュレーションプログラムの実行効率を向上できる。   The transfer information is arranged at an address indicated by the vector. Normally, DTC transfer information for users is placed in RAM. The DTC transfer information for debugging is arranged in ERAM or RAM. If it is arranged in the ERAM, the user's resources are not used, so that the user is not restricted. When the ERAM is not used, more emulation programs can be arranged in the ERAM, and the execution efficiency of the emulation program can be improved.

図6には、デバッグ用データ転送における所要の動作タイミングが示される。   FIG. 6 shows the required operation timing in the debug data transfer.

デバッグ用インタフェースUDIに所定のDTC起動要求コマンドが入力されると、デバッグ用インタフェースUDIが起動要求を発生する。これが割込みコントローラで受けつけられ、優先順位を判定し、所定のタイミングで、データ転送装置DTCに対して、転送要求と、デバッグ用データ転送を示すベクタが与えられる。   When a predetermined DTC activation request command is input to the debugging interface UDI, the debugging interface UDI generates an activation request. This is accepted by the interrupt controller, the priority order is determined, and at a predetermined timing, a transfer request and a vector indicating debug data transfer are given to the data transfer device DTC.

データ転送装置DTCは転送要求を受けつけると、バス権を要求し、それが受付けられると、ベクタで与えられたアドレスから転送情報をリードする。このとき、デバッグ用データ転送を示すベクタは上位ビット(ビット7〜2)がすべて1であることによって示され、この場合は、上記エミュレーション制御回路EMC内、例えばERAMのアドレス(パラメータなどであるasebaseが先頭アドレスとされる)とされる。この論理記述例を以下に示す。
always@(vec)
if(vec[7:2]==6’b111111)
dt_vec_out={asebase,vec[1:0],2’b00};
else
dt_vec_out={20’h00000,2’b00,vec,2’b00};
すなわち、ベクタに示されるアドレスから転送情報がリードされ、これに基づいてデータ転送が行われる。デバッグ用データ転送を示すステータス信号EDTCが活性化されると、ステータス信号EDTCと、UDIデータレジスタのリードまたはライトに従って、SDIFが論理値“1”にセットされる。その後、転送情報を元のアドレスに書き戻す。転送情報を書き戻すことにより、同じアドレスの内容を繰返しリードし、変化を監視するような、繰返し利用を可能にでき、また、複数のDTC転送を順次行うことができる。
When the data transfer device DTC receives a transfer request, it requests a bus right. When the data transfer device DTC receives the transfer request, the data transfer device DTC reads transfer information from an address given by a vector. At this time, the vector indicating the data transfer for debugging is indicated by the fact that the upper bits (bits 7 to 2) are all 1, and in this case, the address (parameter such as an acebase of the ERAM) in the emulation control circuit EMC is used. Is the first address). An example of this logical description is shown below.
always @ (vec)
if (vec [7: 2] == 6′b111111)
dt_vec_out = {asebase, vec [1: 0], 2′b00};
else
dt_vec_out = {20′h00000, 2′b00, vec, 2′b00};
That is, transfer information is read from an address indicated by a vector, and data transfer is performed based on the read information. When the status signal EDTC indicating the debug data transfer is activated, the SDIF is set to the logical value “1” in accordance with the status signal EDTC and the reading or writing of the UDI data register. Thereafter, the transfer information is written back to the original address. By rewriting the transfer information, it is possible to repeatedly use the contents of the same address, monitoring the change, and a plurality of DTC transfers can be sequentially performed.

データ転送装置DTCは、ベクタのリード、転送情報のリード、データ転送、転送情報のライトのサイクル(例えば、転送情報を3回リード/ライトする場合、9バスサイクル)の期間バス権を獲得する。CPUがバス権を失うことによって、ユーザプログラムの実行が一時停止されるが、この時間は、ブレーク例外処理や、エミュレーションプログラムが実行される時間に比較して短い。   The data transfer device DTC acquires the bus right for a vector read cycle, transfer information read cycle, data transfer cycle, and transfer information write cycle cycle (for example, 9 bus cycles when the transfer information is read / written three times). When the CPU loses the bus right, the execution of the user program is temporarily stopped, but this time is shorter than the time when the break exception processing and the emulation program are executed.

エミュレーションの機能としては以下の通りである。   The emulation functions are as follows.

すなわち、ホストインタフェースを介して、インストラクションレジスタ(SDIR)へインストラクションを入力しDTC転送要求を発生させ、所要のデータ転送を行った後、ユーザデバッグインタフェース回路UDIのデータレジスタ(SDDR)を経由して、メモリ(またはI/Oレジスタ)の内容を読み出すことができる。   That is, an instruction is input to the instruction register (SDIR) via the host interface, a DTC transfer request is generated, and the necessary data transfer is performed, and then via the data register (SDDR) of the user debug interface circuit UDI, The contents of the memory (or I / O register) can be read.

この手順は以下の通りである。   This procedure is as follows.

まず、エミュレーション用プログラム実行状態で、あからじめ割込みコントローラや、DTCの転送情報の設定を行う。   First, in the execution state of the emulation program, the interrupt controller and DTC transfer information are set in advance.

マイクロコンピュータ5のメモリの内容は、以下の手順でリードすることが出きる。   The contents of the memory of the microcomputer 5 can be read by the following procedure.

(1)所定のシーケンスで、デバッグ用インタフェースUDIのステートマシンが初期化され、SDTRFビットが論理値“1”にセットされる。   (1) In a predetermined sequence, the state machine of the debugging interface UDI is initialized, and the SDTRF bit is set to the logical value “1”.

(2)エミュレータからユーザデバッグインタフェース回路UDIへDTC転送要求コマンドを入力する。シフトレジスタからインストラクションレジスタへデータがコピーされる。   (2) A DTC transfer request command is input from the emulator to the user debug interface circuit UDI. Data is copied from the shift register to the instruction register.

(3)エミュレータはSDTRFビットが、論理値“1”であることを確認する。   (3) The emulator confirms that the SDTRF bit is a logical value “1”.

(4)特に制限はされないものの、SDTRFビットをクリアするために、ダミーデータの転送を行う。   (4) Although not particularly limited, dummy data is transferred in order to clear the SDTRF bit.

(5)割込みコントローラINTへのDTC転送要求が行われ、データ転送装置DTCへ転送要求と所定のベクタが与えられ、データ転送装置DTCが起動される。   (5) A DTC transfer request to the interrupt controller INT is made, a transfer request and a predetermined vector are given to the data transfer device DTC, and the data transfer device DTC is activated.

(6)データ転送装置DTCは、予め設定された転送情報に基づきメモリからユーザデバッグインタフェース回路UDIのデータレジスタSDDRへデータ転送を行う。デバッグ用データ転送時には、データ転送装置DTCはデバッグ用データ転送を示すステータス信号EDTCを活性化する。このステータス信号EDTCが活性状態のときは、ブレークコントローラやトレースバッファは、ユーザのプログラムの実行に基づかない、データ転送装置DTCのアドレスやデータを無視し、不所望のブレークやトレースの取得を行わないようにする。ユーザデバッグインタフェース回路UDIは、EDTC信号をモニタし、データレジスタライトなどの所定のタイミングでSDTRFビットを論理値“1”にセットする。   (6) The data transfer device DTC performs data transfer from the memory to the data register SDDR of the user debug interface circuit UDI based on preset transfer information. At the time of debugging data transfer, the data transfer device DTC activates a status signal EDTC indicating debugging data transfer. When the status signal EDTC is active, the break controller and the trace buffer ignore the address and data of the data transfer device DTC that are not based on the execution of the user program, and do not acquire an undesired break or trace. Like that. The user debug interface circuit UDI monitors the EDTC signal and sets the SDTRF bit to a logical value “1” at a predetermined timing such as data register write.

(7)次にエミュレータ2はSDTRFビットをモニタし、論理値“1”であることにより、データ転送装置DTCのリードが終了していることを確認し、データを取り込む。マイクロコンピュータ5のメモリの内容を書換える場合、上記に対して以下の点で相違する。   (7) Next, the emulator 2 monitors the SDTRF bit, confirms that the reading of the data transfer device DTC has been completed when the logical value is “1”, and takes in the data. When rewriting the contents of the memory of the microcomputer 5, the following points are different from the above.

(8)エミュレータ2はSDTRFビットが、論理値“1”であることを確認し、SDTRFビットが論理値“1”ならデータレジスタSDDRへデータ転送が可能な為エミュレータから、メモリに書き込みたいデータをデータレジスタSDDRへ転送する。   (8) The emulator 2 confirms that the SDTRF bit is a logical value “1”. If the SDTRF bit is a logical value “1”, data can be transferred to the data register SDDR. Transfer to the data register SDDR.

(9)エミュレータ2はSDTRFビットが論理値“1”を観測し、データ転送装置DTCのライト終了を確認する。   (9) The emulator 2 observes the logical value “1” in the SDTRF bit and confirms the end of writing of the data transfer device DTC.

図7には、デバッグ用データ転送方法が示される。   FIG. 7 shows a debugging data transfer method.

2つのDTC起動コマンドを使用して、上記手順を2回1組で実行し、任意の複数のアドレス(adr1〜4)の情報を取り出して、それをホストコンピュータ4上に表示することができる。   Using the two DTC activation commands, the above procedure is executed twice as a set, information of an arbitrary plurality of addresses (adr1 to 4) can be taken out and displayed on the host computer 4.

カードエミュレータ2は、まず、UDIデータレジスタに第2の転送情報を書き込む。例えば、アドレスadr1からUDIデータレジスタへの転送指示がなされる。   The card emulator 2 first writes the second transfer information in the UDI data register. For example, a transfer instruction from the address adr1 to the UDI data register is issued.

DTC起動要求コマンド1を入力して、第1のDTC転送を起動する。第1のDTC転送では、上記UDIデータレジスタ上の第2の転送情報が、第2のDTC転送情報領域に格納される。   The DTC activation request command 1 is input to activate the first DTC transfer. In the first DTC transfer, the second transfer information on the UDI data register is stored in the second DTC transfer information area.

次に、DTC起動要求コマンド2を入力して、第2のDTC転送を起動する。第2のDTC転送では、指定されたアドレス(adr1)が、UDIデータレジスタに格納される。   Next, the DTC activation request command 2 is input to activate the second DTC transfer. In the second DTC transfer, the designated address (adr1) is stored in the UDI data register.

そして、上記UDIデータレジスタをホストコンピュータ4へ読み出す。これを必要な回数(本例では4回)、指定するアドレスを変えて(adr1〜4)実行すればよい。エミュレータ2からの転送情報は、ホストコンピュータ4の表示装置(モニタ)に、所望のウィンドウなどの所望の配置で表示することができる。   Then, the UDI data register is read out to the host computer 4. This may be executed as many times as necessary (in this example, four times), changing the designated address (adr1 to 4). The transfer information from the emulator 2 can be displayed on a display device (monitor) of the host computer 4 in a desired arrangement such as a desired window.

2つのDTC転送要求コマンドを持つ代わりに、チェイン転送を用いることもできる。チェイン転送は、例えば特開平7−129537号公報などに記載されている通り、1回の起動要求に対し、連続したアドレスに配置された複数の転送情報に基づいて、データ転送が行われる。第1の転送情報によって、デバッグ用インタフェースUDIのデータレジスタに入力されたデータを、第2の転送情報のアドレスに格納する。その後第2の転送情報に基づき、データ転送を行う。   Instead of having two DTC transfer request commands, chain transfer can also be used. In the chain transfer, for example, as described in Japanese Patent Application Laid-Open No. 7-129537, data transfer is performed based on a plurality of pieces of transfer information arranged at consecutive addresses in response to a single activation request. Data input to the data register of the debug interface UDI is stored at the address of the second transfer information by the first transfer information. Thereafter, data transfer is performed based on the second transfer information.

尚、デバッグ用インタフェースUDIのデータレジスタのバイト数や、データ転送装置DTCの転送情報の配置に対応して、種々の変形が可能である。   Various modifications can be made corresponding to the number of bytes of the data register of the debug interface UDI and the arrangement of the transfer information of the data transfer device DTC.

図8にはCPUの関数ブレークに必要な制御論理のブロック構成が示され、図9には関数ブレークの動作タイミングが示される。   FIG. 8 shows a block configuration of control logic necessary for a function break of the CPU, and FIG. 9 shows an operation timing of the function break.

エミュレーション制御回路EMCの、関数ブレーク許可ビットを論理値“1”にセットすると、関数ブレーク許可信号FCBRKが活性化される。CPUは、サブルーチン分岐命令、サブルーチンリターン命令、ユーザ例外処理(割込みなどを含む)、ユーザ例外処理リターン命令の実行のデコード信号dec_fcbとの論理積で、ブレーク例外処理のオペレーションコードが、インストラクションレジスタに格納され、ブレーク例外処理が実行される。CPUが実行する命令コードをopcodeとして、この論理は以下のように記述できる。   When the function break permission bit of the emulation control circuit EMC is set to the logical value “1”, the function break permission signal FCBRK is activated. The CPU is a logical product of a subroutine branch instruction, a subroutine return instruction, a user exception process (including an interrupt), and a decode signal dec_fcb for executing the user exception process return instruction, and the operation code of the break exception process is stored in the instruction register. And break exception handling is executed. With the instruction code executed by the CPU as opcode, this logic can be described as follows.

always@(posedge clk)
if(rst) opcode<=‘reset
....
else if(load & FCBRK & dec_fcb & 〜brkm)
opcode<=‘break
....
すなわち、命令の実行終了時点で、次の命令のロードを示すload信号が活性状態とされ、このとき、関数ブレーク許可信号FCBRKが活性化され、上記命令実行後であり(dec_fcb)、ブレークモードでなければ(〜brkm)、ブレーク例外処理を示す命令コード‘breakが取込まれる。尚、brkmは、図2のBRKMと等価な信号である。
always @ (possible clk)
if (rst) opcode <= 'reset
. . . .
else if (load & FCBRK & dec_fcb & ~ brkm)
opcode <= 'break
. . . .
That is, at the end of execution of the instruction, the load signal indicating the load of the next instruction is activated, and at this time, the function break permission signal FCBRK is activated, and after the execution of the instruction (dec_fcb), If not (~ brkm), the instruction code 'break' indicating break exception handling is taken in. Note that brkm is a signal equivalent to BRKM in FIG.

命令コード‘breakを実行することにより、ブレーク例外処理が実現され、このとき、ブレークモード信号brkmが活性化される。これによってパフォーマンスカウンタPCNTは停止される。ブレークモード中のエミュレーション処理で、パフォーマンスカウンタの内容をリードし、前回のパフォーマンスカウンタの値と減算することによって、ユーザプログラムの実行時間を得ることができる。また、サブルーチンリターン命令実行後のエミュレーション処理で、上記実行時間を得ることによって、対応する関数の実行時間を計測することができる。関数が多重に呼び出されたり、割込みなどの例外処理が挿入されたりした場合は、その場合もブレークするから、その時間も計測して、差し引けばよい。   By executing the instruction code 'break, break exception processing is realized, and at this time, the break mode signal brkm is activated. As a result, the performance counter PCNT is stopped. The execution time of the user program can be obtained by reading the contents of the performance counter and subtracting it from the previous performance counter value during emulation processing in the break mode. In addition, the execution time of the corresponding function can be measured by obtaining the execution time in the emulation process after the execution of the subroutine return instruction. If a function is called multiple times or an exception process such as an interrupt is inserted, the break also occurs in that case, and the time can be measured and deducted.

図10に、上記CPUの開発環境の概略を示す。   FIG. 10 shows an outline of the CPU development environment.

使用者は、各種エディタなどを用いて、C言語乃至アセンブリ言語でプログラムを作成する。これは通常、複数のモジュールに分割して作成される。Cコンパイラ101は、使用者の作成したそれぞれのC言語ソースプログラムを入力し、アセンブリ言語ソースプログラム乃至オブジェクトモジュールを出力する。   The user creates a program in C language or assembly language using various editors. This is usually created by dividing it into a plurality of modules. The C compiler 101 inputs each C language source program created by the user and outputs an assembly language source program or an object module.

アセンブラ102は、アセンブリ言語ソースプログラムを入力し、オブジェクトモジュールを出力する。   The assembler 102 inputs an assembly language source program and outputs an object module.

リンケージエディタ103は、上記Cコンパイラやアセンブラの生成した、複数のオブジェクトモジュールを入力して、各モジュールの外部参照や相対アドレスなどの解決を行い、1つのプログラムに結合して、ロードモジュールを出力する。   The linkage editor 103 inputs a plurality of object modules generated by the C compiler and assembler, resolves external references and relative addresses of each module, combines them into one program, and outputs a load module. .

ロードモジュールは、シミュレータ/デバッガ104に入力して、パーソナルコンピュータなどのシステム開発装置上で、CPUの動作をシミュレーションし、実行結果を表示し、プログラムの解析や評価を行うことができる。また、エミュレータ105に入力して、上記ユーザデバッグインタフェース回路UDIを介して、ブレークモード状態で、上記マイクロコンピュータ5のフラッシュメモリでなるようなROMに書きこみ、実際の応用システム上などで動作させる、いわゆるインサーキットエミュレーションを行ない、マイクロコンピュータ5全体としての実動作の解析や評価を行うことができる。図2の形態をとることにより、随時フラッシュメモリでなるようなROMの書換えを行うことができ、デバッグないしエミュレーションに好適である。   The load module can be input to the simulator / debugger 104 to simulate the operation of the CPU on a system development device such as a personal computer, display the execution result, and analyze and evaluate the program. Further, it is input to the emulator 105 and written in the ROM such as the flash memory of the microcomputer 5 in the break mode state via the user debug interface circuit UDI to be operated on an actual application system. The so-called in-circuit emulation is performed, and the actual operation of the microcomputer 5 as a whole can be analyzed and evaluated. By taking the form shown in FIG. 2, it is possible to rewrite the ROM such as a flash memory at any time, which is suitable for debugging or emulation.

このとき、例えば、関数seqが以下のように使用される。
if(flag0)
seq();
else
seqrep &= 1;
このとき、次のようにコンパイルされる。
At this time, for example, the function seq is used as follows.
if (flag0)
seq ();
else
seqrep & = 1;
At this time, it is compiled as follows.

BTST #0,flag
BEQ L1
JSR @_seq
BRA L2
L1: BCLR #0,seqrep
L2:
関数seqは、サブルーチン分岐命令JSRになり、関数の処理はアドレス_seq以降に記述され、その最後には次のようにサブルーチンリターン命令RTSが配置される。
_seq: ...
RTS
関数ブレークを使用することにより、JSR実行からRTS実行までの関数segの処理時間を測定することができる。
BTST # 0, flag
BEQ L1
JSR @_seq
BRA L2
L1: BCLR # 0, seqrep
L2:
The function seq becomes the subroutine branch instruction JSR, the function processing is described after the address_seq, and at the end, the subroutine return instruction RTS is arranged as follows.
_Seq:. . .
RTS
By using the function break, it is possible to measure the processing time of the function seg from JSR execution to RTS execution.

上記の例によれば、以下の作用効果を得るものである。   According to said example, the following effects are obtained.

(1)デバッグ用インタフェースUDIのコマンドにより、データ転送装置DTCを起動して、所要のデータをリードし、デバッグ用インタフェースのデータレジスタにライトして、当該データをデバッグ用インタフェースから出力可能にすることにより、ユーザプログラムの実行を停止する時間を最小限にして、所要のメモリの内容をリードできる。また、データ転送の方向を逆にすることによって、所要のデータを書きかえることができる。これらにより、マイクロコンピュータ5のデバッグにおける使い勝手や効率の向上を実現できる。   (1) The data transfer device DTC is activated by a command of the debug interface UDI, reads required data, writes to the data register of the debug interface, and enables the data to be output from the debug interface. Thus, it is possible to read the contents of the required memory while minimizing the time for stopping execution of the user program. In addition, by reversing the direction of data transfer, the required data can be rewritten. As a result, the usability and efficiency in debugging of the microcomputer 5 can be improved.

(2)データ転送装置DTCにおけるアドレスレジスタなどの転送情報をRAMに配置するようにすることにより、ユーザのリソースを使用することを最小限にし、少なくともユーザのデータ転送の資源を制限することなく、上記(1)の作用効果を得ることができる。これはエミュレーション用のメモリERAMを使用することを可能にし、限られたメモリERAMを有効活用することができる。デバッグ初期の段階などで、モニタしたり、書換えたりするメモリの量が多ければ、ユーザRAMを使用し、メモリERAMを、エミュレーション用プログラムに使用できる。デバッグがほぼ完了した状態で、少数のメモリのモニタや調整を行う場合には、メモリERAMを使用して、ユーザ資源に制約を与えることがない。データ転送装置DTCにベクタを与えて、デバッグ用データ転送を識別することにより、使用する要因数の増加が容易にできる。   (2) By arranging transfer information such as an address register in the data transfer device DTC in the RAM, the use of user resources is minimized, and at least without limiting the data transfer resources of the user, The effect (1) can be obtained. This makes it possible to use the memory ERAM for emulation, and the limited memory ERAM can be used effectively. If there is a large amount of memory to be monitored or rewritten at the initial stage of debugging, the user RAM can be used and the memory ERAM can be used for the emulation program. When a small number of memories are monitored or adjusted in a state where debugging is almost completed, the memory ERAM is not used to restrict user resources. By giving a vector to the data transfer device DTC and identifying the data transfer for debugging, the number of factors to be used can be easily increased.

(3)複数のDTC起動要求コマンドないし、データ転送装置DTCのチェイン転送機能を用いて、転送情報を、デバッグ用インタフェースとデータ転送装置DTCを介して入力し、その後、所要のデータ転送を行うことによって、CPUがブレークすることなく、任意のアドレスのリード/ライトを行うことができる。転送情報の入力も、データ転送も同じ手段で行うことができ、資源の有効利用を図ることができる。また、随時、任意のアドレスを指定して、リードしたりライトしたりでき、これを繰返して、複数のアドレスをリードしたりライトしたりできるから、さらに使い勝手や効率の向上を実現できる。   (3) Using a plurality of DTC activation request commands or the chain transfer function of the data transfer device DTC, transfer information is input via the debug interface and the data transfer device DTC, and then the required data transfer is performed. Thus, it is possible to read / write any address without causing the CPU to break. The transfer information can be input and the data transfer can be performed by the same means, and the resources can be effectively used. In addition, any address can be designated and read or written at any time, and this can be repeated to read or write a plurality of addresses, thereby further improving usability and efficiency.

(4)データ転送装置DTCは、ユーザと共用することから、起動要求の優先順位の判定や、バス権調停なども共用でき、マイクロコンピュータシステムを複雑にすることがなく、マイクロコンピュータ自体の開発効率を向上できる。第2のデータ転送装置(DMACなど)を追加しても、ユーザ機能としての当該機能を実装すればよく、デバッグ用機能には直接の影響がなく、開発効率や資源の有効利用を損なうことがない。バスコントローラの制御を受け、任意のアドレスに、当該アドレスのバスインタフェースの種類に関係なく、アクセスすることが可能である。   (4) Since the data transfer device DTC is shared with the user, it is possible to share the priority determination of the activation request and the bus arbitration, and the development efficiency of the microcomputer itself without complicating the microcomputer system. Can be improved. Even if a second data transfer device (DMAC or the like) is added, it is only necessary to implement the function as a user function, and there is no direct influence on the debugging function, which may impair development efficiency and effective use of resources. Absent. Under the control of the bus controller, any address can be accessed regardless of the type of the bus interface at the address.

(5)デバッグ用インタフェースを用いることにより、少ない信号線数でのエミュレーションを可能にし、実装状態でのエミュレーションを可能にし、量産用のマイクロコンピュータとを別個に開発することを不要にできる。   (5) By using the debug interface, it is possible to emulate with a small number of signal lines, enable emulation in a mounted state, and eliminate the need to separately develop a mass production microcomputer.

(6)サブルーチン分岐、例外処理実行、これらのリターン命令実行後にブレークする関数ブレーク機能により、関数の実行時間の測定が容易にできる。ブレーク状態でカウントを停止するパフォーマンスカウンタPCNTを用いることにより、エミュレーション用のインタフェース信号を増加させることなく、容易に関数の実行時間を計測できる。   (6) The function execution time can be easily measured by the subroutine branch, the exception processing execution, and the function break function that breaks after execution of these return instructions. By using the performance counter PCNT that stops counting in the break state, it is possible to easily measure the execution time of the function without increasing the interface signal for emulation.

(7)CPUにデコード回路を追加することにより、ブレークポイントの設定などが不要である。CPUのデコード回路は、ほかの命令機能のデコードと、論理合成などによって共通化が実現できるから、論理規模の増加を最小限にすることができる。   (7) By adding a decoding circuit to the CPU, it is not necessary to set breakpoints. Since the decoding circuit of the CPU can be shared by decoding other instruction functions and logic synthesis, an increase in the logic scale can be minimized.

以上本発明者によってなされた発明を具体的に説明したが、本発明はそれに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。   Although the invention made by the present inventor has been specifically described above, the present invention is not limited thereto, and it goes without saying that various changes can be made without departing from the scope of the invention.

例えば、モジュールの機能や信号入出力は、任意に変更可能である。   For example, module functions and signal input / output can be arbitrarily changed.

UDIによるDTC起動要求に対して、DTCイネーブルレジスタを設ける必要はない。これを設ければ、ユーザデバッグインタフェース回路UDIによって、ユーザ割り込みを実行させることもできる。   It is not necessary to provide a DTC enable register for a DTC activation request by UDI. If this is provided, a user interrupt can be executed by the user debug interface circuit UDI.

デバッグ用インタフェースUDIを、エミュレーション用プロセッサに設けて、インサーキットエミュレータとしても、本発明の機能を利用することもできる。   The function of the present invention can also be used as an in-circuit emulator by providing a debugging interface UDI in an emulation processor.

関数ブレークも、エミュレーション用プロセッサないしインサーキットエミュレータでも利用可能である。   Function breaks can also be used in emulation processors or in-circuit emulators.

データ転送装置の詳細も種々変形が可能である。例えば、制御レジスタや、転送情報の配置・構成、データ転送のモードなどは任意にできる。データ転送のモードとしては、リピートモードやブロック転送モードなどを適用することができる。チェイン転送も第1の転送情報のカウンタの値が0になったときのみ、第2の転送を行うことができる。   The details of the data transfer device can be variously modified. For example, the control register, transfer information arrangement / configuration, data transfer mode, and the like can be arbitrarily set. As a data transfer mode, a repeat mode, a block transfer mode, or the like can be applied. In the chain transfer, the second transfer can be performed only when the counter value of the first transfer information becomes zero.

以上の説明では主として本発明者によってなされた発明をその背景となった利用分野であるカードエミュレータを含むオンチップデバッガに適用した場合について説明したが、それに限定されるものではなく、その他のデバッガに適用することができる。   In the above description, the case where the invention made mainly by the present inventor is applied to an on-chip debugger including a card emulator which is a field of use that is the background of the invention has been described. Can be applied.

本発明は少なくとも、エミュレーション乃至デバッグ用の機能とインタフェースを有することを条件に適用することができる。   The present invention can be applied on the condition that it has at least an emulation or debugging function and interface.

本発明にかかるマイクロコンピュータの構成例ブロック図である。It is a block diagram of a configuration example of a microcomputer according to the present invention. 上記マイクロコンピュータを含むオンチップデバッガの構成例説明図である。It is explanatory drawing of the structural example of the on-chip debugger containing the said microcomputer. 上記マイクロコンピュータに含まれるデバッグ用インタフェースの構成例ブロック図である。It is a block diagram of a configuration example of a debugging interface included in the microcomputer. 上記マイクロコンピュータに含まれるデータ転送装置の構成例ブロック図である。It is a block diagram of a configuration example of a data transfer device included in the microcomputer. 上記マイクロコンピュータにおけるメモリマップの説明図である。It is explanatory drawing of the memory map in the said microcomputer. 上記オンチップデバッガにおけるデバッグ用データ転送のタイミング図である。It is a timing diagram of the data transfer for debugging in the said on-chip debugger. 上記オンチップデバッガにおけるデバッグ用データ転送方法の説明図である。It is explanatory drawing of the data transfer method for debugging in the said on-chip debugger. 上記オンチップデバッガにおけるCPUの関数ブレークに必要な制御論理の構成例ブロック図である。It is a block diagram of a configuration example of control logic necessary for a function break of a CPU in the on-chip debugger. 上記オンチップデバッガにおける関数ブレークの動作タイミング図である。It is an operation timing diagram of a function break in the on-chip debugger. 上記マイクロコンピュータに含まれるCPUの開発環境の概略説明図である。It is a schematic explanatory drawing of the development environment of CPU contained in the said microcomputer.

符号の説明Explanation of symbols

2 カードエミュレータ
3 インタフェースケーブル
4 ホストコンピュータ
5 マイクロコンピュータ
CPU 中央処理装置
DTC データ転送装置
BSC バスコントローラ
ROM フラッシュメモリ
RAM ランダムアクセスメモリ
I/O 入出力装置
UDI ユーザデバッグインタフェース回路
TBF トレースバッファ
PCNT パフォーマンスカウンタ
EBC ブレークコントローラ
INT 割込コントローラ
EMC エミュレーション制御回路
2 Card emulator 3 Interface cable 4 Host computer 5 Microcomputer CPU Central processing unit DTC Data transfer device BSC Bus controller ROM Flash memory RAM Random access memory I / O I / O device UDI User debug interface circuit TBF Trace buffer PCNT Performance counter EBC Break controller INT interrupt controller EMC emulation control circuit

Claims (5)

エミュレーション制御のための制御信号を出力可能なエミュレーション制御手段と、上記エミュレーション制御手段の動作を制御可能な中央処理装置と、を含み、
上記中央処理装置は、サブルーチン分岐命令実行、例外処理実行、及びそれらの復帰命令の実行を検出する手段を含み、上記制御信号により、上記検出手段の検出結果に基づいてエミュレーションプログラム実行状態へ遷移することを特徴とするマイクロコンピュータ。
An emulation control means capable of outputting a control signal for emulation control, and a central processing unit capable of controlling the operation of the emulation control means,
The central processing unit includes means for detecting execution of a subroutine branch instruction, execution of exception processing, and execution of their return instructions, and transitions to an emulation program execution state based on the detection result of the detection means by the control signal. A microcomputer characterized by that.
上記サブルーチン分岐命令実行、上記例外処理実行、及びそれらの上記復帰命令の実行は関数ブレークを使用することにより、ユーザプログラム実行時間を検出することが可能であることを特徴とする、請求項2記載のマイクロコンピュータ。   3. The execution time of the subroutine branch instruction, the exception handling execution, and the execution of the return instruction can detect a user program execution time by using a function break. Microcomputer. ユーザプログラム実行に応じてカウント動作するカウンタと、上記エミュレーションプログラム実行状態では上記カウンタのカウント動作を停止させる手段と、を含む請求項1記載のマイクロコンピュータ。   2. The microcomputer according to claim 1, further comprising: a counter that counts in response to execution of a user program; and means for stopping the counting operation of the counter in the emulation program execution state. 上記カウンタのカウント値に基づいて、ユーザプログラム実行時間を検出することが可能であることを特徴とする、請求項3記載のマイクロコンピュータ。   4. The microcomputer according to claim 3, wherein a user program execution time can be detected based on a count value of the counter. エミュレーション制御のための所定の制御信号を出力可能なエミュレーション制御手段と、上記エミュレーション制御手段の動作を制御可能な中央処理装置と、を含み、
上記中央処理装置は、サブルーチン分岐命令実行、例外処理実行、及びそれらの復帰命令の実行を行うことができることを特徴とするマイクロコンピュータ。
An emulation control means capable of outputting a predetermined control signal for emulation control, and a central processing unit capable of controlling the operation of the emulation control means,
A microcomputer characterized in that the central processing unit can execute subroutine branch instruction execution, exception processing execution, and return instruction thereof.
JP2008209858A 2008-08-18 2008-08-18 Microcomputer Expired - Fee Related JP4968799B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2008209858A JP4968799B2 (en) 2008-08-18 2008-08-18 Microcomputer

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2008209858A JP4968799B2 (en) 2008-08-18 2008-08-18 Microcomputer

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2002245131A Division JP2004086447A (en) 2002-08-26 2002-08-26 Microcomputer

Publications (2)

Publication Number Publication Date
JP2009009596A true JP2009009596A (en) 2009-01-15
JP4968799B2 JP4968799B2 (en) 2012-07-04

Family

ID=40324538

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008209858A Expired - Fee Related JP4968799B2 (en) 2008-08-18 2008-08-18 Microcomputer

Country Status (1)

Country Link
JP (1) JP4968799B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063366A (en) * 2009-11-18 2011-05-18 中兴通讯股份有限公司 Method and system for debugging process

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276341A (en) * 1990-03-27 1991-12-06 Mitsubishi Electric Corp Microprocessor system
JP2000076093A (en) * 1998-08-27 2000-03-14 Toshiba Microelectronics Corp Emulator for microcomputer
JP2001092686A (en) * 1999-09-22 2001-04-06 Hitachi Ltd Semiconductor device
JP2001350648A (en) * 2000-06-08 2001-12-21 Hitachi Ltd Microcomputer

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03276341A (en) * 1990-03-27 1991-12-06 Mitsubishi Electric Corp Microprocessor system
JP2000076093A (en) * 1998-08-27 2000-03-14 Toshiba Microelectronics Corp Emulator for microcomputer
JP2001092686A (en) * 1999-09-22 2001-04-06 Hitachi Ltd Semiconductor device
JP2001350648A (en) * 2000-06-08 2001-12-21 Hitachi Ltd Microcomputer

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102063366A (en) * 2009-11-18 2011-05-18 中兴通讯股份有限公司 Method and system for debugging process

Also Published As

Publication number Publication date
JP4968799B2 (en) 2012-07-04

Similar Documents

Publication Publication Date Title
KR100439781B1 (en) A data processor, an operation method thereof, a method of executing the debugging operation, and a method of correcting a disadvantage value among the data processor
KR100350568B1 (en) Data processing system and method for performing debug functions
US9874608B2 (en) Scheduling of scenario models for execution within different computer threads and scheduling of memory regions for use with the scenario models
US6145123A (en) Trace on/off with breakpoint register
EP0762276B1 (en) Data processor with built-in emulation circuit
EP0762277B1 (en) Data processor with built-in emulation circuit
EP0391173B1 (en) Debug peripheral for microcomputers, microprocessors and core processor integrated circuits and system using the same
US8527812B2 (en) Information processing device
US7010722B2 (en) Embedded symmetric multiprocessor system debug
US20090106604A1 (en) Procedure and device for emulating a programmable unit
US20060059286A1 (en) Multi-core debugger
WO2006093554A2 (en) Method and appparatus for qualifying debug operation using source information
EP1782204A2 (en) Emulation and debug interfaces for testing an integrated circuit with an asynchronous microcontroller
US7428661B2 (en) Test and debug processor and method
JP2004086447A (en) Microcomputer
JP4968799B2 (en) Microcomputer
WO2022235265A1 (en) Debug channel for communication between a processor and an external debug host
US20020188813A1 (en) On-chip hardware breakpoint generator with comprehensive memory operation detection
JP2016091277A (en) Trace system and IC chip
JP2001350648A (en) Microcomputer
JPS62197831A (en) Data processor
KR20070035570A (en) Emulation and debug interfaces for integrated circuit testing
KR100189977B1 (en) Emulator system having trace function and trace method
KR100273280B1 (en) Debugging logic control circuit
JP2004348635A (en) Method for developing program

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100527

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111110

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120106

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

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

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

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees