[go: up one dir, main page]

JP2006185365A - Semiconductor device and debugging method - Google Patents

Semiconductor device and debugging method Download PDF

Info

Publication number
JP2006185365A
JP2006185365A JP2004380888A JP2004380888A JP2006185365A JP 2006185365 A JP2006185365 A JP 2006185365A JP 2004380888 A JP2004380888 A JP 2004380888A JP 2004380888 A JP2004380888 A JP 2004380888A JP 2006185365 A JP2006185365 A JP 2006185365A
Authority
JP
Japan
Prior art keywords
interrupt
unit
program
priority level
interrupt request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2004380888A
Other languages
Japanese (ja)
Inventor
Yasuhisa Kisuki
康久 木透
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
Original Assignee
Renesas Technology Corp
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 filed Critical Renesas Technology Corp
Priority to JP2004380888A priority Critical patent/JP2006185365A/en
Publication of JP2006185365A publication Critical patent/JP2006185365A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To provide a semiconductor device which eliminates the need of special equipment for research such as an incircuit emulator and can easily research interrupt delay, and a debugging method. <P>SOLUTION: A CPU control part receives an interrupt request IRQ_2, changes a priority level to "10" in accordance with the priority level of the interrupt request IRQ_2 and executes a task 1. When an interrupt inhibition instruction is executed at time Tb, the CPU control part changes the priority level to "15" and inhibits all of the other interrupt requests. When an interrupt request IRQ_1 with a priority level "14" is inputted at time Tc, an IPC control part reads a program counter value from a program counter and stores the program counter value in an IPC register. Then, the IPC control part reads a program counter value of the task 2 stored in the IPC register by a register reading instruction included in a task 1. <P>COPYRIGHT: (C)2006,JPO&NCIPI

Description

この発明は半導体装置に関し、特に割込み遅延の原因を容易に調査できる手段を備えた半導体装置およびデバッグ方法に関する。   The present invention relates to a semiconductor device, and more particularly, to a semiconductor device provided with means for easily investigating the cause of an interrupt delay and a debugging method.

電子計算機の分野では、プログラムの実行とは無関係に生じる例外的な事象に対処するため、割込み要求による制御が行われる。   In the field of electronic computers, control by an interrupt request is performed in order to deal with an exceptional event that occurs regardless of program execution.

プログラムを実行する演算部は、割込み要求が入力されると、プログラムカウンタ値などを一時的に退避させて実行中のプログラムを中断し、割込みプログラムを優先的に実行する。   When an interrupt request is input, the arithmetic unit that executes the program temporarily saves the program counter value and the like, interrupts the program being executed, and executes the interrupt program with priority.

さらに、複数の例外的な事象に対処するため、それぞれ優先レベルが設定された複数の割込み要求が入力できるように構成される。   Further, in order to deal with a plurality of exceptional events, a plurality of interrupt requests each having a priority level set can be input.

たとえば、非特許文献1に開示されているように、同時に複数の割込み要求が入力された場合や先に入力された割込み要求に対応する割込みプログラムが終了しない間に次の割込み要求が入力された場合などには、優先レベルが高い方の割込みプログラムが優先的に実行される。   For example, as disclosed in Non-Patent Document 1, when a plurality of interrupt requests are input at the same time or the interrupt program corresponding to the previously input interrupt request is not terminated, the next interrupt request is input In some cases, the interrupt program with the higher priority level is executed preferentially.

ところで、複数のプログラムが共有資源であるメモリやファイルなどを取り合う状態、いわゆるクリティカルセクションにおいては、バグが生じやすい。そこで、他のプログラムの実行を阻止する排他処理が一般的に行われる。そのため、割込みプログラムにおいても、一時的に優先レベルを最大値に設定し、他のすべての割込みプログラムの実行を禁止する割込み禁止処理が常套手段となっている。   By the way, bugs are likely to occur in a so-called critical section where a plurality of programs share a shared resource such as a memory or a file. Therefore, exclusive processing for preventing the execution of other programs is generally performed. For this reason, an interrupt prohibition process that temporarily sets the priority level to the maximum value and prohibits the execution of all other interrupt programs is also a conventional means in the interrupt program.

その結果、先に入力された割込み要求より優先レベルが高い割込み要求が後に入力されたとしても、先に入力された割込み要求に応じて実行される割込みプログラム中で割込み禁止処理が行われると、後に入力された優先レベルが高い割込み要求に応じた割込みプログラムの開始が遅延することになる。このような現象は、「割込み遅延」と称される。したがって、例外的な事象が発生してから実行完了までの時間が制約されるような割込みプログラムの場合には、割込み遅延により処理に支障をきたす。   As a result, even if an interrupt request having a higher priority level than the previously input interrupt request is input later, if interrupt disable processing is performed in the interrupt program executed in response to the interrupt request input earlier, The start of an interrupt program in response to an interrupt request having a high priority level input later is delayed. Such a phenomenon is called “interrupt delay”. Therefore, in the case of an interrupt program in which the time from the occurrence of an exceptional event to the completion of execution is restricted, the processing is hindered due to the interrupt delay.

そのため、割込み遅延の原因となる割込み禁止処理を行っているプログラムを特定し、その内容を修正するデバッグを行う必要が生じる。   Therefore, it is necessary to identify a program that performs interrupt prohibition processing that causes an interrupt delay and to perform debugging to correct the contents.

上述のような割込み遅延の原因となっているプログラムを特定する方法としては、プログラムの全ソースコードレビューによる方法およびインサーキットエミュレーションによる方法がある。   As a method for identifying the program causing the interrupt delay as described above, there are a method by reviewing the entire source code of the program and a method by in-circuit emulation.

プログラムの全ソースコードレビューは、プログラム開発者がソースコードを見直し、割込み禁止処理を行っているプログラムを特定する方法である。   The entire source code review of a program is a method in which a program developer reviews a source code and identifies a program that is executing an interrupt prohibition process.

インサーキットエミュレーションは、演算部に代えて、演算部の動作を再現する装置(インサーキットエミュレータ)を用いて、プログラムを実行させることにより割込み禁止処理を行っているプログラムを特定する方法である。   In-circuit emulation is a method of specifying a program that is performing interrupt prohibition processing by executing a program using an apparatus (in-circuit emulator) that reproduces the operation of the arithmetic unit instead of the arithmetic unit.

特許文献1には、割込み要求の入力に対して割込み処理プログラムが実行されない場合にデバッグ可能なインサーキットエミュレータが開示されている。
特開2000−40015号公報 SH7011ハードウェアマニュアルHD6417011、平成11年2月 第1版、株式会社日立製作所 半導体事業本部、p64,p74〜78
Patent Document 1 discloses an in-circuit emulator that can be debugged when an interrupt processing program is not executed in response to an input of an interrupt request.
JP 2000-40015 A SH7011 Hardware Manual HD6417011, February 1999 1st Edition, Hitachi, Ltd. Semiconductor Division, p64, p74-78

しかしながら、近年では、プログラムのソースコードサイズが肥大化しており、プログラム開発者などがソースコードを見直すことが困難となっている。   However, in recent years, the source code size of programs has grown, making it difficult for program developers to review the source code.

また、インサーキットエミュレータは、各演算部に応じて製作する必要があり、汎用的な半導体装置を除いては、一般的ではなかった。また、機能上の制約も多かった。そのため、必ずしも十分なデバッグを行うことができなかった。   Further, the in-circuit emulator needs to be manufactured according to each arithmetic unit, and is not general except for a general-purpose semiconductor device. There were also many functional restrictions. For this reason, sufficient debugging cannot always be performed.

そこで、この発明は、かかる問題を解決するためになされたものであり、その目的は、インサーキットエミュレータなどの特殊な調査用機器を必要とせず、かつ、容易に割込み遅延を調査できる半導体装置およびデバッグ方法を提供することである。   Therefore, the present invention has been made to solve such a problem, and the object thereof is to provide a semiconductor device that does not require special investigation equipment such as an in-circuit emulator and can easily investigate an interrupt delay. It is to provide a debugging method.

この発明は、割込み要求を受けると、実行中のプログラムを中断して割込み要求に応じた割込みプログラムを実行し、かつ、割込み要求の優先レベルまたは割込みプログラムで設定される優先レベルを出力する演算部と、外部から優先レベルの設定された割込み要求を受けると、演算部から受けた優先レベルと割込み要求の優先レベルとを比較し、演算部からの優先レベルが割込み要求の優先レベルより低い場合には、割込み要求を演算部へ出力し、演算部からの優先レベルが割込み要求の優先レベルと同一またはより高い場合には、演算部からの優先レベルが低くなるまで割込み要求の出力を遅延させる割込み制御部と、割込み制御部が割込み要求を受けると、演算部におけるプログラムの実行状態を示す情報を格納する割込み遅延調査部とを備える半導体装置である。   When receiving an interrupt request, the present invention interrupts the program being executed, executes the interrupt program according to the interrupt request, and outputs the priority level of the interrupt request or the priority level set by the interrupt program When an interrupt request with a priority level set from the outside is received, the priority level received from the calculation unit is compared with the priority level of the interrupt request.If the priority level from the calculation unit is lower than the priority level of the interrupt request, Outputs an interrupt request to the arithmetic unit, and if the priority level from the arithmetic unit is the same or higher than the priority level of the interrupt request, the interrupt that delays the output of the interrupt request until the priority level from the arithmetic unit decreases When the control unit and the interrupt control unit receive an interrupt request, an interrupt delay investigating unit that stores information indicating the execution state of the program in the arithmetic unit It is a semiconductor device comprising a.

また、この発明は、割込み要求を受けると、実行中のプログラムを中断して割込み要求に応じた割込みプログラムを実行し、かつ、割込み要求の優先レベルまたは割込みプログラムで設定される優先レベルを出力する演算部と、外部から優先レベルの設定された割込み要求を受けると、演算部から受けた優先レベルと割込み要求の優先レベルとを比較し、演算部からの優先レベルが割込み要求の優先レベルより低い場合には、割込み要求を演算部へ出力し、演算部からの優先レベルが割込み要求の優先レベルと同一またはより高い場合には、演算部からの優先レベルが低くなるまで割込み要求の出力を遅延させる割込み制御部とからなる半導体装置において実行されるプログラムの割込み遅延を回避するためのデバッグ方法であって、割込み制御部が割込み要求を受けると、演算部が実行しているプログラムを特定するためのプログラムカウンタ値を格納するステップと、割込み要求に応じて実行される割込みプログラムにおいて格納したプログラムカウンタ値を読出すステップとを含む。   In addition, when an interrupt request is received, the present invention interrupts the program being executed, executes the interrupt program according to the interrupt request, and outputs the priority level of the interrupt request or the priority level set by the interrupt program When an interrupt request with a priority level set from outside is received from the arithmetic unit, the priority level received from the arithmetic unit is compared with the priority level of the interrupt request, and the priority level from the arithmetic unit is lower than the priority level of the interrupt request In this case, an interrupt request is output to the arithmetic unit, and if the priority level from the arithmetic unit is equal to or higher than the priority level of the interrupt request, the output of the interrupt request is delayed until the priority level from the arithmetic unit decreases. A debugging method for avoiding an interrupt delay of a program executed in a semiconductor device including an interrupt control unit When the control unit receives an interrupt request, a step of storing a program counter value for specifying a program executed by the arithmetic unit and a program counter value stored in the interrupt program executed in response to the interrupt request are read out. Steps.

この発明によれば、割込み遅延調査部は、割込み制御部が割込み要求を受けると、演算部におけるプログラムの実行状態を示す情報を格納するので、割込み要求に応じた割込みプログラムが実行される直前に実行されていたプログラムの情報を取得できる。よって、その格納されたプログラムの実行状態を示す情報に基づいて、割込み遅延の原因を容易に調査でき、さらにその調査した原因に基づいてデバッグを行うことができる。   According to the present invention, when the interrupt control unit receives an interrupt request, the interrupt delay investigating unit stores information indicating the execution state of the program in the arithmetic unit, so that immediately before the interrupt program corresponding to the interrupt request is executed. Information about the program that was being executed can be acquired. Therefore, the cause of the interrupt delay can be easily investigated based on the information indicating the execution state of the stored program, and debugging can be performed based on the investigated cause.

この発明の実施の形態について、図面を参照しながら詳細に説明する。なお、図中の同一または相当部分については、同一符号を付してその説明は繰返さない。   Embodiments of the present invention will be described in detail with reference to the drawings. Note that the same or corresponding parts in the drawings are denoted by the same reference numerals and description thereof will not be repeated.

[実施の形態1]
図1は、この発明の実施の形態1に従う半導体装置100の構成を示す概略ブロック図である。
[Embodiment 1]
FIG. 1 is a schematic block diagram showing a configuration of a semiconductor device 100 according to the first embodiment of the present invention.

図1を参照して、この発明の実施の形態1に従う半導体装置100は、割込み制御部2と、演算部(CPU部:Central Processing Unit;以下、CPU部と称す)4と、メモリ14と、内部バス52とを備える。   Referring to FIG. 1, semiconductor device 100 according to the first embodiment of the present invention includes an interrupt control unit 2, a calculation unit (CPU unit: Central Processing Unit; hereinafter referred to as CPU unit) 4, a memory 14, And an internal bus 52.

割込み制御部2、CPU部4およびメモリ14は、内部バス52を介して相互に接続される。   The interrupt control unit 2, the CPU unit 4, and the memory 14 are connected to each other via an internal bus 52.

割込み制御部2は、レジスタ20と、入力制御部18と、優先レベル設定レジスタ28と、優先順位判定部26と、比較器30とからなる。   The interrupt control unit 2 includes a register 20, an input control unit 18, a priority level setting register 28, a priority order determination unit 26, and a comparator 30.

レジスタ20は、割込み制御レジスタ(ICR:Interrupt Control Register)22と、割込みステータスレジスタ(ISR:Interrupt Status Register)24とからなる。   The register 20 includes an interrupt control register (ICR) 22 and an interrupt status register (ISR) 24.

割込み制御レジスタ22は、入力制御部18へ入力される割込み要求のそれぞれについて、割込みの許可または禁止の設定値を記憶する。   The interrupt control register 22 stores a setting value for enabling or disabling interrupt for each interrupt request input to the input control unit 18.

割込みステータスレジスタ24は、割込み要求のそれぞれの入力状態を記憶する。   The interrupt status register 24 stores the input status of each interrupt request.

入力制御部18は、割込み要求IRQ_1,IRQ_2,・・・,IRQ_nのうちいずれかが入力されると、入力された割込み要求に対応する設定値を割込み制御レジスタ22から読出す。そして、入力制御部18は、読出した設定値に基づいて、当該割込み要求が許可されているか否かを判断し、許可されていれば当該割込み要求を優先順位判定部26へ出力する。さらに、入力制御部18は、割込み要求のそれぞれの入力状態を割込みステータスレジスタ24へ格納する。   When any one of the interrupt requests IRQ_1, IRQ_2,..., IRQ_n is input, the input control unit 18 reads the setting value corresponding to the input interrupt request from the interrupt control register 22. Then, the input control unit 18 determines whether or not the interrupt request is permitted based on the read set value, and outputs the interrupt request to the priority order determination unit 26 if permitted. Further, the input control unit 18 stores each input state of the interrupt request in the interrupt status register 24.

優先レベル設定レジスタ28は、入力制御部18に入力されるそれぞれの割込み要求に設定される優先レベルを記憶する。   The priority level setting register 28 stores the priority level set for each interrupt request input to the input control unit 18.

優先順位判定部26は、入力制御部18から割込み要求を受けると、当該割込み要求に設定される優先レベルを優先レベル設定レジスタ28から読出す。また、優先順位判定部26は、同時に複数の割込み要求が入力されていれば、それぞれの割込み要求に設定される優先レベルを互いに比較し、優先レベルが高い割込み要求から比較器30へ順次出力する。   Upon receiving an interrupt request from the input control unit 18, the priority determination unit 26 reads the priority level set for the interrupt request from the priority level setting register 28. Further, if a plurality of interrupt requests are input simultaneously, the priority determination unit 26 compares the priority levels set in the respective interrupt requests with each other, and sequentially outputs the interrupt requests with the higher priority level to the comparator 30. .

比較器30は、優先順位判定部26から割込み要求を受けると、当該割込み要求の優先レベルと、CPU部4から受けた優先レベルとを比較する。そして、比較器30は、CPU部4から受けた優先レベルが割込み要求の優先レベルより低ければ、当該割込み要求をCPU部4へ出力する。また、比較器30は、CPU部4から受けた優先レベルが割込み要求の優先レベル以上であれば、CPU部4から受けた優先レベルが割込み要求の優先レベルより低くなるまで当該割込み要求の出力を遅延させる。   When the comparator 30 receives an interrupt request from the priority order determination unit 26, the comparator 30 compares the priority level of the interrupt request with the priority level received from the CPU unit 4. If the priority level received from the CPU unit 4 is lower than the priority level of the interrupt request, the comparator 30 outputs the interrupt request to the CPU unit 4. If the priority level received from the CPU unit 4 is equal to or higher than the priority level of the interrupt request, the comparator 30 outputs the interrupt request until the priority level received from the CPU unit 4 becomes lower than the priority level of the interrupt request. Delay.

CPU部4は、レジスタ32と、CPU制御部54と、IPC制御部40とからなる。   The CPU unit 4 includes a register 32, a CPU control unit 54, and an IPC control unit 40.

レジスタ32は、IPCレジスタ42と、IPC制御レジスタ44と、プログラムカウンタ(PC:Program Counter)46と、ステータスレジスタ(SR:Status Register)48と、スタックポインタ(SP:Stack Pointer)50とからなる。   The register 32 includes an IPC register 42, an IPC control register 44, a program counter (PC: Program Counter) 46, a status register (SR: Status Register) 48, and a stack pointer (SP: Stack Pointer) 50.

プログラムカウンタ46は、CPU部4において実行されるプログラムの命令アドレスを記憶する。   The program counter 46 stores an instruction address of a program executed in the CPU unit 4.

ステータスレジスタ48は、CPU部4の優先レベルを記憶する。   The status register 48 stores the priority level of the CPU unit 4.

スタックポインタ50は、メモリ14内のスタック領域を指定するためのアドレス値を記憶する。   The stack pointer 50 stores an address value for designating a stack area in the memory 14.

IPCレジスタ42は、IPC制御部40から出力されたプログラムカウンタ値を記憶する。   The IPC register 42 stores the program counter value output from the IPC control unit 40.

IPC制御レジスタ44は、IPC制御部40に割込み要求が入力された場合に、IPC制御部40の動作が有効であるか否かの設定値を記憶する。   The IPC control register 44 stores a set value indicating whether or not the operation of the IPC control unit 40 is valid when an interrupt request is input to the IPC control unit 40.

CPU制御部54は、実行されるプログラムに従い、プログラムカウンタ46の値をカウントアップする。そして、CPU制御部54は、割込み制御部2から割込み要求を受けると、スタックポインタ50に記憶されているアドレス値に基づいて、プログラムカウンタ46に記憶されている値およびステータスレジスタ48に記憶されている値をメモリ14内のスタック領域に退避させ、割込み要求に応じた割込みプログラムを実行させる。さらに、CPU制御部54は、ステータスレジスタ48の値を割込み要求の優先レベルに変更する。また、CPU制御部54は、実行されるプログラムの命令に応じて、ステータスレジスタ48の値を変更する。   The CPU control unit 54 counts up the value of the program counter 46 according to the program to be executed. When the CPU control unit 54 receives an interrupt request from the interrupt control unit 2, the CPU control unit 54 stores the value stored in the program counter 46 and the status register 48 based on the address value stored in the stack pointer 50. The stored value is saved in the stack area in the memory 14, and the interrupt program corresponding to the interrupt request is executed. Further, the CPU control unit 54 changes the value of the status register 48 to the priority level of the interrupt request. Further, the CPU control unit 54 changes the value of the status register 48 in accordance with an instruction of the program to be executed.

IPC制御部40は、優先順位判定部26から比較器30へ割込み要求が出力されると同時に当該割込み要求を受け、IPC制御レジスタ44から設定値を読出し、その設定値が有効であるか否かを判断する。そして、設定値が有効である場合にのみ、IPC制御部40は、プログラムカウンタ46に記憶されているプログラムカウンタ値を読出し、その値をIPCレジスタ42へ格納する。   The IPC control unit 40 outputs an interrupt request from the priority determination unit 26 to the comparator 30 and simultaneously receives the interrupt request, reads the setting value from the IPC control register 44, and determines whether or not the setting value is valid. Judging. Only when the set value is valid, the IPC control unit 40 reads the program counter value stored in the program counter 46 and stores the value in the IPC register 42.

実施の形態1においては、IPC制御部40、IPCレジスタ42およびIPC制御レジスタ44が、プログラムカウンタ値格納部を構成する。   In the first embodiment, the IPC control unit 40, the IPC register 42, and the IPC control register 44 constitute a program counter value storage unit.

図2は、この発明の実施の形態1に従う半導体装置100の状態図の一例である。   FIG. 2 is an example of a state diagram of semiconductor device 100 according to the first embodiment of the present invention.

図2を参照して、半導体装置100は、外部から割込み要求IRQ_1およびIRQ_2を受け、それぞれ割込みプログラムとして割込みハンドラ1および割込みハンドラ2を実行する。また、割込み要求の優先レベルは、1〜14の範囲で設定可能であり、割込み要求IRQ_1およびIRQ_2の優先レベルは、それぞれ「14」および「10」とする。すなわち、割込みハンドラ1は、割込みハンドラ2に比較してより優先度が高い。   Referring to FIG. 2, semiconductor device 100 receives interrupt requests IRQ_1 and IRQ_2 from the outside, and executes interrupt handler 1 and interrupt handler 2 as interrupt programs, respectively. The priority level of the interrupt request can be set in the range of 1 to 14, and the priority levels of the interrupt requests IRQ_1 and IRQ_2 are “14” and “10”, respectively. That is, the interrupt handler 1 has a higher priority than the interrupt handler 2.

図1および図2を参照して、時刻T0では、割込み要求IRQ_1およびIRQ_2のいずれも入力されておらず、CPU部4では、IDLEタスクが実行されている。また、CPU部4の優先レベルは「0」となっている。   Referring to FIGS. 1 and 2, at time T0, neither interrupt request IRQ_1 nor IRQ_2 is input, and CPU unit 4 is executing the IDLE task. The priority level of the CPU unit 4 is “0”.

次に、時刻Taにおいて、外部から割込み要求IRQ_2が入力されると、他の割込み要求が入力されていないので、割込み要求IRQ_2は、入力制御部18および優先順位判定部26を通過して比較器30へ出力される。比較器30は、CPU部4から受けた優先レベル「0」と、割込み要求IRQ_2の優先レベル「10」とを比較し、優先レベルが高い割込み要求IRQ_2をCPU制御部54へ出力する。すると、CPU制御部54は、割込み要求IRQ_2を受けて、割込み処理を行い、実行中のプログラムカウンタ46に記憶されている値およびステータスレジスタ48に記憶されている値をメモリ14のスタック領域へ退避させる(ステップS1)。同時に、CPU制御部54は、割込み要求IRQ_2の優先レベルに応じて、優先レベルを「10」に変更する。そして、CPU制御部54は、IRQ_2の割込みプログラムである割込みハンドラ2を実行する(ステップS2)。   Next, when an interrupt request IRQ_2 is input from the outside at time Ta, since no other interrupt request is input, the interrupt request IRQ_2 passes through the input control unit 18 and the priority determination unit 26 and is compared with the comparator. 30. The comparator 30 compares the priority level “0” received from the CPU unit 4 with the priority level “10” of the interrupt request IRQ_2, and outputs an interrupt request IRQ_2 having a high priority level to the CPU control unit 54. Then, the CPU control unit 54 receives the interrupt request IRQ_2, performs interrupt processing, and saves the value stored in the program counter 46 being executed and the value stored in the status register 48 to the stack area of the memory 14. (Step S1). At the same time, the CPU control unit 54 changes the priority level to “10” according to the priority level of the interrupt request IRQ_2. Then, the CPU control unit 54 executes the interrupt handler 2 that is an interrupt program of IRQ_2 (step S2).

時刻Tbにおいて、割込みハンドラ2の処理過程でクリティカルセクションが生じると、割込み禁止命令が実行される。すると、CPU制御部54は、優先レベルを割込み要求の優先レベルの最大値を超える「15」に変更し、他のすべての割込み要求を禁止する(ステップS3)。   When a critical section occurs in the process of the interrupt handler 2 at time Tb, an interrupt prohibition instruction is executed. Then, the CPU control unit 54 changes the priority level to “15” which exceeds the maximum value of the priority level of the interrupt request, and prohibits all other interrupt requests (step S3).

他のすべての割込み要求が禁止されている時刻Tcにおいて、外部から割込み要求IRQ_1が入力されると、優先レベル「14」に設定されている割込み要求IRQ_1は、入力制御部18および優先順位判定部26を通過して比較器30へ出力される。比較器30は、CPU部4から受けた優先レベル「15」と、割込み要求IRQ_1の優先レベル「14」とを比較し、優先レベルの低い割込み要求IRQ_1の出力を遅延させる。   When an interrupt request IRQ_1 is input from the outside at time Tc when all other interrupt requests are prohibited, the interrupt request IRQ_1 set at the priority level “14” is input to the input control unit 18 and the priority determination unit. 26 and output to the comparator 30. The comparator 30 compares the priority level “15” received from the CPU unit 4 with the priority level “14” of the interrupt request IRQ_1, and delays the output of the interrupt request IRQ_1 having a low priority level.

その後、時刻Tdにおいて、割込みハンドラ2のクリティカルセッションが終了し、割込み禁止解除命令が実行される。すると、CPU制御部54は、優先レベルを元の「10」に変更する。優先レベルの低下を受けて、比較器30は、割込み要求IRQ_1をCPU制御部54へ出力する。すると、CPU制御部54は、割込み要求IRQ_1に応じて、上述のステップS1と同様に、割込み処理を行う(ステップS5)。同時に、CPU制御部54は、割込み要求IRQ_1の優先レベルに応じて、優先レベルを「14」に変更する。そして、CPU制御部54は、IRQ_1の割込みプログラムである割込みハンドラ1を実行する(ステップS6)。   Thereafter, at time Td, the critical session of the interrupt handler 2 ends, and an interrupt prohibition release command is executed. Then, the CPU control unit 54 changes the priority level to the original “10”. In response to the decrease in the priority level, the comparator 30 outputs an interrupt request IRQ_1 to the CPU control unit 54. Then, in response to the interrupt request IRQ_1, the CPU control unit 54 performs an interrupt process in the same manner as in step S1 described above (step S5). At the same time, the CPU control unit 54 changes the priority level to “14” according to the priority level of the interrupt request IRQ_1. Then, the CPU control unit 54 executes the interrupt handler 1 that is an interrupt program of IRQ_1 (step S6).

上述のように、先に入力された割込み要求IRQ_2に応じて実行される割込みプログラムに含まれる割込み禁止命令により、後に入力されたより優先レベルが高い割込み要求IRQ_1に対応する割込みプログラムの実行が(Te−Tc)だけ遅延することになる。   As described above, the interrupt prohibition instruction included in the interrupt program executed in response to the interrupt request IRQ_2 input earlier causes execution of the interrupt program corresponding to the interrupt request IRQ_1 having a higher priority level input later (Te -Tc).

一方、IPC制御部40は、優先順位判定部26から出力される割込み要求を受けた時点、すなわち時刻Tcにおいて、CPU部4において実行されているプログラムのプログラムカウンタ値をプログラムカウンタ46から読出し、IPCレジスタ42へ格納する。   On the other hand, the IPC control unit 40 reads the program counter value of the program being executed in the CPU unit 4 from the program counter 46 at the time when the interrupt request output from the priority determination unit 26 is received, that is, at time Tc. Store in the register 42.

IPCレジスタ42は、レジスタ32に含まれるので、プログラム中のレジスタ読出し命令を用いて、IPCレジスタ42に格納されているデータを読出すことができる。   Since the IPC register 42 is included in the register 32, the data stored in the IPC register 42 can be read using a register read instruction in the program.

よって、割込み要求IRQ_1に応じて実行される割込みハンドラ1にレジスタ読出し命令を含ませることにより、IPCレジスタ42に格納されているプログラムカウンタ値を読出すことができる。このようにして、割込みハンドラ1の割込み遅延の原因である割込みハンドラ2のプログラムカウンタ値が得られる。   Therefore, the program counter value stored in the IPC register 42 can be read by including a register read instruction in the interrupt handler 1 executed in response to the interrupt request IRQ_1. In this way, the program counter value of the interrupt handler 2 that is the cause of the interrupt delay of the interrupt handler 1 is obtained.

したがって、プログラム開発者は、得られたプログラムカウンタ値から、割込み遅延の原因となっているプログラムを特定でき、デバッグを容易に行うことができる。   Therefore, the program developer can identify the program causing the interrupt delay from the obtained program counter value, and can easily perform debugging.

図3は、この発明の実施の形態1に従う半導体装置100を用いてデバッグを行う方法を示すフローチャートである。   FIG. 3 is a flowchart showing a method for performing debugging using semiconductor device 100 according to the first embodiment of the present invention.

図3を参照して、IPC制御部40は、優先順位判定部26から割込み要求を受けたか否かを判断する(ステップS100)。割込み要求を受けていない場合(ステップS100においてNOの場合)には、IPC制御部40は、割込み要求を受けるまで待機する(S100)。割込み要求を受けた場合(ステップS100においてYESの場合)には、IPC制御部40は、プログラムカウンタ46からプログラムカウンタ値を読出してIPCレジスタ42へ格納する(ステップS102)。   Referring to FIG. 3, IPC control unit 40 determines whether an interrupt request is received from priority determination unit 26 (step S100). If no interrupt request has been received (NO in step S100), IPC control unit 40 waits until an interrupt request is received (S100). If an interrupt request is received (YES in step S100), IPC control unit 40 reads the program counter value from program counter 46 and stores it in IPC register 42 (step S102).

そして、当該割込み要求に応じて実行される割込みプログラムにおいて、IPCレジスタ4からプログラムカウンタ値を読出す(ステップS104)。   Then, in the interrupt program executed in response to the interrupt request, the program counter value is read from the IPC register 4 (step S104).

プログラム開発者は、読出されたプログラムカウンタ値に基づいてプログラムを特定する(S106)。そして、プログラム開発者は、その特定したプログラムに対してデバッグする(S108)。   The program developer specifies a program based on the read program counter value (S106). Then, the program developer debugs the identified program (S108).

なお、実施の形態1においては、プログラムカウンタ値格納部を構成する、IPC制御部40、IPCレジスタ42およびIPC制御レジスタ44をCPU部4の内部に配置する場合について説明したが、CPU部4とデータの授受を行うバスを介してCPU部4の外部に配置してもよい。   In the first embodiment, the case where the IPC control unit 40, the IPC register 42, and the IPC control register 44 constituting the program counter value storage unit are arranged inside the CPU unit 4 has been described. You may arrange | position outside the CPU part 4 via the bus | bath which transmits / receives data.

実施の形態1によれば、IPC制御部は、外部から与えられた割込み要求が優先順位判定部から出力されると、当該割込み要求がCPU部に与えられるか否かにかかわらず、CPU部において実行されているプログラムのプログラムカウンタ値を格納する。そして、割込み要求に応じて実行される割込みプログラムにおいて格納された当該プログラムカウンタ値を読出すことができる。よって、割込みプログラムに割込み遅延が生じた場合には、プログラム開発者は、読出されたプログラムカウンタ値からその遅延原因となったプログラムを特定でき、デバッグを容易に行うことができる。   According to the first embodiment, when an interrupt request given from the outside is output from the priority determination unit, the IPC control unit determines whether the interrupt request is given to the CPU unit or not. Stores the program counter value of the program being executed. The program counter value stored in the interrupt program executed in response to the interrupt request can be read out. Therefore, when an interrupt delay occurs in the interrupt program, the program developer can identify the program causing the delay from the read program counter value, and can easily perform debugging.

また、実施の形態1によれば、IPC制御部は、IPC制御レジスタに記憶される設定値に基づいてプログラムカウンタ値を格納するか否かを決定するので、割込み遅延の原因となるプログラムを特定する必要がある場合にのみプログラムカウンタ値を格納させることができる。よって、通常時には、プログラムカウンタ値を格納しないように設定することで冗長な処理を回避できる。   Further, according to the first embodiment, the IPC control unit determines whether or not to store the program counter value based on the setting value stored in the IPC control register, and therefore identifies the program that causes the interrupt delay. The program counter value can be stored only when necessary. Therefore, redundant processing can be avoided by setting the program counter value not to be stored in a normal state.

[実施の形態2]
図4は、この発明の実施の形態2に従う半導体装置200の構成を示す概略ブロック図である。
[Embodiment 2]
FIG. 4 is a schematic block diagram showing a configuration of semiconductor device 200 according to the second embodiment of the present invention.

図4を参照して、この発明の実施の形態2に従う半導体装置200は、図1に示す実施の形態1に従う半導体装置100において、CPU部4をCPU部6に代えたものである。   Referring to FIG. 4, a semiconductor device 200 according to the second embodiment of the present invention is obtained by replacing CPU unit 4 with CPU unit 6 in semiconductor device 100 according to the first embodiment shown in FIG.

CPU部6は、レジスタ34と、CPU制御部56と、比較器62と、タイマー(TMR)制御部60とからなる。   The CPU unit 6 includes a register 34, a CPU control unit 56, a comparator 62, and a timer (TMR) control unit 60.

レジスタ34は、タイマー起動優先レベルレジスタ(I_LVL)64と、タイマーカウントレジスタ(TM_CNT)66と、プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50とからなる。   The register 34 includes a timer activation priority level register (I_LVL) 64, a timer count register (TM_CNT) 66, a program counter 46, a status register 48, and a stack pointer 50.

タイマー起動優先レベルレジスタ64は、タイマー制御部60が割込み要求を受けて時間計測を開始する条件となる優先レベルの設定値を記憶する。   The timer activation priority level register 64 stores a setting value of a priority level that is a condition for the timer control unit 60 to receive an interrupt request and start time measurement.

タイマーカウントレジスタ66は、タイマー制御部からリセット値(0)または時間の計測値を受けて、その値を記憶する。   The timer count register 66 receives the reset value (0) or the time measurement value from the timer control unit and stores the value.

プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50とについては、上述の実施の形態1と同様であるので説明は繰返さない。   Since program counter 46, status register 48, and stack pointer 50 are the same as those in the first embodiment, description thereof will not be repeated.

CPU制御部56は、上述の実施の形態1におけるCPU制御部54の機能に加え、タイマー制御部60から指令を受けて、ステータスレジスタ48の値を変更する。   In addition to the function of the CPU control unit 54 in the first embodiment, the CPU control unit 56 receives a command from the timer control unit 60 and changes the value of the status register 48.

比較器62は、優先順位判定部26から割込み要求が出力されると、当該割込み要求の優先レベルと、タイマー起動優先レベルレジスタ64から読出した優先レベルとを比較する。そして、比較器62は、割込み要求の優先レベルが、タイマー起動優先レジスタの優先レベルより高い場合にのみ、当該割込み要求をタイマー制御部60へ出力する。   When an interrupt request is output from the priority determination unit 26, the comparator 62 compares the priority level of the interrupt request with the priority level read from the timer activation priority level register 64. The comparator 62 outputs the interrupt request to the timer control unit 60 only when the priority level of the interrupt request is higher than the priority level of the timer activation priority register.

タイマー制御部60は、比較器62から割込み要求を受けると、タイマーカウントレジスタ66の値をリセットした後、時間の計測を開始する。そして、タイマー制御部60は、その計測した値をタイマーカウントレジスタ66へ格納する。さらに、タイマー制御部60は、計測した時間が予め定められた設定値を超えると、CPU部4の優先レベルを強制的に下げるための指令をCPU制御部56へ与える。なお、このようにCPU部4の優先レベルを強制的に下げる処理は、NMI(Non Maskable Interrupt)処理と称される。   Upon receiving an interrupt request from the comparator 62, the timer control unit 60 resets the value of the timer count register 66 and then starts measuring time. Then, the timer control unit 60 stores the measured value in the timer count register 66. Furthermore, when the measured time exceeds a predetermined set value, the timer control unit 60 gives a command for forcibly lowering the priority level of the CPU unit 4 to the CPU control unit 56. The process for forcibly lowering the priority level of the CPU unit 4 in this way is referred to as an NMI (Non Maskable Interrupt) process.

実施の形態2においては、タイマー制御部60、比較器62、タイマー起動優先レベルレジスタ64およびタイマーカウントレジスタ66が遅延時間計測部を構成する。   In the second embodiment, the timer control unit 60, the comparator 62, the timer activation priority level register 64, and the timer count register 66 constitute a delay time measurement unit.

図5は、この発明の実施の形態2に従う半導体装置200の状態図の一例である。   FIG. 5 is an example of a state diagram of semiconductor device 200 according to the second embodiment of the present invention.

図2に示す実施の形態1に従う半導体装置100と同様に、半導体装置200は、外部から割込み要求IRQ_1およびIRQ_2を受け、それぞれ割込みプログラムとして割込みハンドラ1および割込みハンドラ2を実行する。また、割込み要求に対する優先レベルは、1〜14の範囲で設定可能であり、割込み要求IRQ_1およびIRQ_2の優先レベルは、それぞれ「14」および「10」である。   Similar to semiconductor device 100 according to the first embodiment shown in FIG. 2, semiconductor device 200 receives interrupt requests IRQ_1 and IRQ_2 from the outside, and executes interrupt handler 1 and interrupt handler 2 as interrupt programs, respectively. The priority level for the interrupt request can be set in the range of 1 to 14, and the priority levels of the interrupt requests IRQ_1 and IRQ_2 are “14” and “10”, respectively.

図4および図5を参照して、時刻T0から時刻Tbまでは、図2と同様であるので、説明は繰返さない。   Referring to FIGS. 4 and 5, since time T0 to time Tb are the same as those in FIG. 2, description thereof will not be repeated.

時刻Tcにおいて、外部から割込み要求IRQ_1が入力されると、最高の優先レベル「14」に設定されている割込み要求IRQ_1は、入力制御部18および優先順位判定部26を通過して比較器30および62へ出力される。   When an interrupt request IRQ_1 is input from the outside at time Tc, the interrupt request IRQ_1 set to the highest priority level “14” passes through the input control unit 18 and the priority determination unit 26, and the comparator 30 and 62 is output.

比較器30は、CPU部4から受けた優先レベル「15」と、割込み要求IRQ_1の優先レベル「14」とを比較し、レベルの低い割込み要求IRQ_1の出力を遅延させる。   The comparator 30 compares the priority level “15” received from the CPU unit 4 with the priority level “14” of the interrupt request IRQ_1, and delays the output of the interrupt request IRQ_1 having a low level.

一方、比較器62は、優先順位判定部26から受けた割込み要求IRQ_1の優先レベル「14」と、タイマー起動優先レベルレジスタ64に記憶されている優先レベルとを比較する。たとえば、タイマー起動優先レベルレジスタの優先レベルを「13」とすると、比較器62は、優先レベルが高い割込み要求IRQ_1をタイマー制御部60へ出力する。すると、タイマー制御部60は、タイマーカウントレジスタ66をリセットした後、時間の計測を開始し、その計測した値をタイマーカウントレジスタ66へ格納する。   On the other hand, the comparator 62 compares the priority level “14” of the interrupt request IRQ_1 received from the priority determination unit 26 with the priority level stored in the timer activation priority level register 64. For example, when the priority level of the timer activation priority level register is “13”, the comparator 62 outputs an interrupt request IRQ_1 having a high priority level to the timer control unit 60. Then, after resetting the timer count register 66, the timer control unit 60 starts measuring time and stores the measured value in the timer count register 66.

タイマーカウントレジスタ66は、レジスタ32に含まれるので、プログラムで実行されるレジスタ読出し命令により格納されているデータを読出すことができる。   Since timer count register 66 is included in register 32, data stored by a register read instruction executed by the program can be read.

よって、割込み要求IRQ_1に応じて実行される割込みハンドラ1にレジスタ読出し命令を含ませることにより、IPCレジスタ42に格納されている時間計測値が読出され、割込みハンドラ1の割込み遅延時間が得られる。このようにして、プログラム開発者は、割込みハンドラ1の遅延状態を把握できる。   Therefore, by including a register read instruction in the interrupt handler 1 executed in response to the interrupt request IRQ_1, the time measurement value stored in the IPC register 42 is read, and the interrupt delay time of the interrupt handler 1 is obtained. In this way, the program developer can grasp the delay state of the interrupt handler 1.

したがって、プログラム開発者は、割込みプログラムの実行毎に、割込み遅延が生じているか否かを知ることができ、デバッグを容易に行うことができる。   Therefore, the program developer can know whether or not an interrupt delay occurs every time the interrupt program is executed, and can easily perform debugging.

さらに、割込み遅延の時間が予め定められた設定値を超えると、タイマー制御部60がNMI処理を実行し、CPU制御部56がCPU部4の優先レベルを下げるので、割込み禁止処理により遅延させられていた割込みプログラムが実行される。   Further, when the interrupt delay time exceeds a predetermined set value, the timer control unit 60 executes the NMI processing, and the CPU control unit 56 lowers the priority level of the CPU unit 4, so that it is delayed by the interrupt prohibition processing. Interrupted interrupt program is executed.

よって、タイマー制御部60におけるNMI処理を実行する条件となる設定値を割込み遅延の許容時間以下とすることで、割込み遅延による処理の不具合を回避できる。   Therefore, by setting the setting value, which is a condition for executing the NMI processing in the timer control unit 60, to be equal to or less than the allowable time for interrupt delay, it is possible to avoid processing defects due to interrupt delay.

なお、実施の形態2においては、遅延時間計測部を構成する、タイマー制御部60、比較器62、タイマー起動優先レベルレジスタ64およびタイマーカウントレジスタ66をCPU部6の内部に配置する場合について説明したが、CPU部6とデータの授受を行うバスを介してCPU部6の外部に配置してもよい。   In the second embodiment, the case where the timer control unit 60, the comparator 62, the timer activation priority level register 64, and the timer count register 66 constituting the delay time measurement unit are arranged inside the CPU unit 6 has been described. However, you may arrange | position outside the CPU part 6 via the bus | bath which exchanges data with the CPU part 6. FIG.

実施の形態2によれば、IPC制御部は、外部から与えられた割込み要求が優先順位判定部から出力されると、当該割込み要求がCPU部に与えられるか否かにかかわらず、時間の計測を開始する。そして、割込み要求に応じて実行される割込みプログラムにより計測値を読出すことができる。よって、プログラム開発者は、割込みプログラムの割込み遅延状態を把握でき、複数の割込みプログラムが実行される場合に、いずれの割込みプログラムに問題があるのかを特定できるため、デバッグを容易に行うことができる。   According to the second embodiment, when an interrupt request given from the outside is output from the priority determination unit, the IPC control unit measures time regardless of whether or not the interrupt request is given to the CPU unit. To start. Then, the measured value can be read by an interrupt program executed in response to the interrupt request. Therefore, the program developer can grasp the interrupt delay state of the interrupt program and can identify which interrupt program has a problem when a plurality of interrupt programs are executed, so that debugging can be easily performed. .

また、実施の形態2によれば、タイマー制御部は、タイマー起動優先レベルレジスタに記憶される優先レベルより高い優先レベルに設定された割込み要求が入力された場合に遅延時間を計測する。よって、特に処理完了までの時間制約が厳しく、高い優先レベルに設定された割込みプログラムに着目して、割込み遅延状態を監視できる。   Further, according to the second embodiment, the timer control unit measures the delay time when an interrupt request set to a priority level higher than the priority level stored in the timer activation priority level register is input. Therefore, the time delay until the completion of processing is particularly severe, and the interrupt delay state can be monitored by paying attention to the interrupt program set at a high priority level.

さらに、実施の形態2によれば、タイマー制御部は、割込み遅延時間が設定値を超えた場合には、NMI処理を行い割込みプログラムを強制的に実行させる。よって、割込みプログラムの割込み遅延時間を所定の値以下に抑制でき、割込み遅延による処理の不具合を回避できる。   Furthermore, according to the second embodiment, when the interrupt delay time exceeds the set value, the timer control unit performs NMI processing and forcibly executes the interrupt program. Therefore, the interrupt delay time of the interrupt program can be suppressed to a predetermined value or less, and processing problems due to the interrupt delay can be avoided.

[実施の形態3]
上述の実施の形態1においては、外部から与えられた割込み要求が優先順位判定部から出力されると、実行されているプログラムのプログラムカウンタ値を格納する場合について説明した。また、上述の実施の形態2においては、外部から与えられた割込み要求が優先順位判定部から出力されると、時間を計測する場合について説明した。
[Embodiment 3]
In the first embodiment described above, the case where the program counter value of the program being executed is stored when an interrupt request given from the outside is output from the priority determination unit has been described. Further, in the above-described second embodiment, the case where the time is measured when an interrupt request given from the outside is output from the priority determination unit has been described.

一方、実施の形態3においては、両方の機能を備える場合について説明する。   On the other hand, in Embodiment 3, the case where both functions are provided will be described.

図6は、この発明の実施の形態3に従う半導体装置300の構成を示す概略ブロック図である。   FIG. 6 is a schematic block diagram showing a configuration of semiconductor device 300 according to the third embodiment of the present invention.

図6を参照して、この発明の実施の形態3に従う半導体装置300は、図1に示す実施の形態1に従う半導体装置100において、CPU部4をCPU部8に代えたものである。   Referring to FIG. 6, semiconductor device 300 according to the third embodiment of the present invention is obtained by replacing CPU unit 4 with CPU unit 8 in semiconductor device 100 according to the first embodiment shown in FIG.

CPU部8は、レジスタ36と、CPU制御部54と、切換部72と、タイマー制御部60と、IPC制御部40とからなる。   The CPU unit 8 includes a register 36, a CPU control unit 54, a switching unit 72, a timer control unit 60, and an IPC control unit 40.

レジスタ36は、切換設定レジスタ(FSW)78と、共用レジスタ80と、プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50とからなる。   The register 36 includes a switching setting register (FSW) 78, a shared register 80, a program counter 46, a status register 48, and a stack pointer 50.

切換設定レジスタ78は、切換部72がタイマー制御部60およびIPC制御部40のいずれを有効にするかを切換えるための設定値を記憶する。   The switching setting register 78 stores a setting value for switching which of the timer control unit 60 and the IPC control unit 40 the switching unit 72 validates.

共用レジスタ80は、タイマー制御部60およびIPC制御部40から出力されるデータを記憶する。   The shared register 80 stores data output from the timer control unit 60 and the IPC control unit 40.

プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50と、CPU制御部54とについては、上述の実施の形態1と同様であるので説明は繰返さない。   Since program counter 46, status register 48, stack pointer 50, and CPU control unit 54 are the same as those in the first embodiment, description thereof will not be repeated.

切換部72は、優先順位判定部26から割込み要求を受けると、切換設定レジスタ78から設定値を読出し、その読出した設定値に応じて、タイマー制御部60またはIPC制御部40のいずれかに割込み要求を与える。   When the switching unit 72 receives an interrupt request from the priority determination unit 26, the switching unit 72 reads the setting value from the switching setting register 78, and interrupts either the timer control unit 60 or the IPC control unit 40 according to the read setting value. Give a request.

タイマー制御部60は、切換部72から割込み要求を受けると、共用レジスタ80をリセットした後、時間の計測を開始する。そして、タイマー制御部60は、その計測したデータを共用レジスタ80へ格納する。   When the timer control unit 60 receives an interrupt request from the switching unit 72, the timer control unit 60 resets the shared register 80 and then starts measuring time. Then, the timer control unit 60 stores the measured data in the shared register 80.

IPC制御部40は、切換部72から割込み要求を受けると、プログラムカウンタ46に記憶されているプログラムカウンタ値を読出し、共用レジスタ80へ格納する。   When receiving an interrupt request from the switching unit 72, the IPC control unit 40 reads the program counter value stored in the program counter 46 and stores it in the shared register 80.

実施の形態3においては、IPC制御部40および共用レジスタ80が、プログラムカウンタ格納部を構成し、タイマー制御部60および共用レジスタ80が、遅延時間計測部を構成する。   In the third embodiment, IPC control unit 40 and shared register 80 constitute a program counter storage unit, and timer control unit 60 and shared register 80 constitute a delay time measuring unit.

切換設定レジスタ78および共用レジスタ80はレジスタ36に含まれるので、プログラム中のレジスタ書込み命令を用いて格納されているデータを更新でき、かつ、レジスタ読出し命令を用いて格納されているデータを読出すことができる。   Since switching setting register 78 and shared register 80 are included in register 36, the stored data can be updated using a register write instruction in the program, and the stored data can be read using a register read instruction. be able to.

たとえば、割込みプログラム中でレジスタ書込み命令を実行させて、切換設定レジスタ78に格納されている設定値をタイマー制御部60が有効となるように変更する。さらに、レジスタ読出し命令を実行させて、共用レジスタ80に格納されている時間計測値を読出す。このようにして、まず割込みプログラムにおける割込み遅延状態を把握する。   For example, a register write instruction is executed in the interrupt program, and the setting value stored in the switching setting register 78 is changed so that the timer control unit 60 becomes valid. Further, a register read instruction is executed to read the time measurement value stored in the shared register 80. In this way, the interrupt delay state in the interrupt program is first grasped.

そして、割込みプログラムの割込み遅延が生じていれば、割込みプログラム中でレジスタ書込み命令を実行させて、切換設定レジスタ78に格納されている設定値をIPC制御部40が有効となるように変更する。さらに、レジスタ読出し命令を実行させて、共用レジスタ80に格納されているプログラムカウンタ値を読出す。このようにして、割込み遅延の原因であるプログラムのプログラムカウンタ値が得られる。   If an interrupt delay of the interrupt program has occurred, a register write instruction is executed in the interrupt program, and the setting value stored in the switching setting register 78 is changed so that the IPC control unit 40 becomes valid. Further, a register read instruction is executed to read the program counter value stored in the shared register 80. In this way, the program counter value of the program that causes the interrupt delay is obtained.

したがって、プログラム開発者は、割込み遅延が生じているか否かを判断することができ、さらに、割込み遅延の原因となっているプログラムを特定できるため、デバッグを容易に行うことができる。   Therefore, the program developer can determine whether or not an interrupt delay has occurred, and can further identify the program causing the interrupt delay, thereby facilitating debugging.

なお、実施の形態3においては、プログラムカウンタ格納部および遅延時間計測部を構成する、IPC制御部40、タイマー制御部60、切換設定レジスタ78および共用レジスタ80をCPU部8の内部に配置する場合について説明したが、CPU部8とデータの授受を行うバスを介してCPU部8の外部に配置してもよい。   In the third embodiment, when the IPC control unit 40, the timer control unit 60, the switching setting register 78, and the shared register 80 that constitute the program counter storage unit and the delay time measurement unit are arranged inside the CPU unit 8. However, it may be arranged outside the CPU unit 8 via a bus that exchanges data with the CPU unit 8.

実施の形態3によれば、切換設定レジスタの設定値に応じて、IPC制御部またはタイマー制御部のいずれかが有効となるので、IPC制御部およびタイマー制御部がデータを格納するための領域を共用できる。よって、CPU部のレジスタを有効に利用することができるため、レジスタ領域を抑制できる。   According to the third embodiment, since either the IPC control unit or the timer control unit is enabled according to the set value of the switching setting register, an area for storing data by the IPC control unit and the timer control unit is set. Can be shared. Therefore, the register of the CPU unit can be used effectively, and the register area can be suppressed.

[実施の形態4]
図7は、この発明の実施の形態4に従う半導体装置400の構成を示す概略ブロック図である。
[Embodiment 4]
FIG. 7 is a schematic block diagram showing the configuration of semiconductor device 400 according to the fourth embodiment of the present invention.

図7を参照して、この発明の実施の形態4による半導体装置400は、図1に示す実施の形態1に従う半導体装置100において、CPU部4をCPU部10に代え、インターフェイス部84を加えたものである。   Referring to FIG. 7, semiconductor device 400 according to the fourth embodiment of the present invention includes an interface unit 84 in place of CPU unit 4 in the semiconductor device 100 according to the first embodiment shown in FIG. Is.

CPU部10は、レジスタ38と、CPU制御部58と、トレース部82とからなる。   The CPU unit 10 includes a register 38, a CPU control unit 58, and a trace unit 82.

レジスタ38は、プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50とからなる。プログラムカウンタ46と、ステータスレジスタ48と、スタックポインタ50とについては、上述の実施の形態1と同様であるので説明は繰返さない。   The register 38 includes a program counter 46, a status register 48, and a stack pointer 50. Since program counter 46, status register 48, and stack pointer 50 are the same as those in the first embodiment, description thereof will not be repeated.

CPU制御部58は、上述の実施の形態1におけるCPU制御部54の機能に加え、実行アドレス、実行した命令コードおよびオペランドアクセス情報などからなるトレース情報をトレース部82へ出力する。   In addition to the function of the CPU control unit 54 in the first embodiment, the CPU control unit 58 outputs trace information including an execution address, an executed instruction code, operand access information, and the like to the trace unit 82.

トレース部82は、優先順位判定部26から割込み要求を受けると、CPU制御部58を介してCPU部10のトレース情報の収集を開始する。そして、トレース部82は、収集したトレース情報を自身へ格納する。さらに、トレース部82は、その収集したトレース情報をインターフェイス部84へ出力する。   When the trace unit 82 receives an interrupt request from the priority order determination unit 26, the trace unit 82 starts collecting the trace information of the CPU unit 10 via the CPU control unit 58. Then, the trace unit 82 stores the collected trace information in itself. Further, the trace unit 82 outputs the collected trace information to the interface unit 84.

インターフェイス部84は、トレース部82から受けたトレース情報を所定の形式のデータに変換し、外部の解析装置などへ出力する。   The interface unit 84 converts the trace information received from the trace unit 82 into data of a predetermined format and outputs the data to an external analysis device or the like.

プログラム中で実行される読出し命令を用いて、トレース部82に格納されているトレース情報を読出すことができる。よって、プログラム開発者は、割込み遅延発生時のより詳細な情報を取得できる。   Trace information stored in the trace unit 82 can be read using a read command executed in the program. Therefore, the program developer can acquire more detailed information when the interrupt delay occurs.

また、トレース部82は、格納したトレース情報をインターフェイス部84を介して外部の解析装置へ出力する。よって、プログラム開発者は、割込み遅延発生時のプログラム実行状態の解析をより容易に行うことができる。   In addition, the trace unit 82 outputs the stored trace information to an external analysis device via the interface unit 84. Therefore, the program developer can more easily analyze the program execution state when the interrupt delay occurs.

なお、実施の形態4においては、トレース部82をCPU部10の内部に配置する場合について説明したが、CPU部10とデータの授受を行うバスを介してCPU部10の外部に配置してもよい。   In the fourth embodiment, the case where the trace unit 82 is arranged inside the CPU unit 10 has been described. However, the trace unit 82 may be arranged outside the CPU unit 10 via a bus that exchanges data with the CPU unit 10. Good.

実施の形態4によれば、トレース部は、外部から与えられた割込み要求が優先順位判定部から出力されると、トレース情報の収集を開始する。そのため、必要なトレース情報だけを収集できるので、トレース部が冗長なトレース情報を収集することがなく、トレース部の記憶容量を抑制でき、かつ、効率的に解析作業を行える。   According to the fourth embodiment, the trace unit starts collecting trace information when an interrupt request given from the outside is output from the priority determination unit. Therefore, since only necessary trace information can be collected, the trace unit does not collect redundant trace information, the storage capacity of the trace unit can be suppressed, and analysis work can be performed efficiently.

[実施の形態5]
図8は、この発明の実施の形態5に従う半導体装置500の構成を示す概略ブロック図である。
[Embodiment 5]
FIG. 8 is a schematic block diagram showing the configuration of semiconductor device 500 according to the fifth embodiment of the present invention.

図8を参照して、この発明の実施の形態5による半導体装置500は、図7に示す実施の形態4に従う半導体装置400において、CPU部10をCPU部12に代えたものである。そして、CPU部12はCPU部10において、CPU制御部58をCPU制御部59に代え、トレース部82をバス関連情報格納部94に代えたものである。   Referring to FIG. 8, semiconductor device 500 according to the fifth embodiment of the present invention is obtained by replacing CPU unit 10 with CPU unit 12 in semiconductor device 400 according to the fourth embodiment shown in FIG. In the CPU unit 10, the CPU unit 12 is obtained by replacing the CPU control unit 58 with the CPU control unit 59 and replacing the trace unit 82 with the bus related information storage unit 94.

CPU制御部59は、上述の実施の形態1におけるCPU制御部54の機能に加え、バスアクセス情報をバス関連情報格納部94へ出力する。   The CPU control unit 59 outputs bus access information to the bus related information storage unit 94 in addition to the function of the CPU control unit 54 in the first embodiment.

バス関連情報格納部94は、バスアクセスカウンタ92と、パフォーマンスカウンタ90とからなる。そして、バス関連情報格納部94は、優先順位判定部26から割込み要求を受けると、バスアクセスカウンタ92およびパフォーマンスカウンタ90を起動させる。さらに、バス関連情報格納部94は、バスアクセスカウンタ92およびパフォーマンスカウンタ90に格納されているデータを読出してインターフェイス部84へ出力する。   The bus related information storage unit 94 includes a bus access counter 92 and a performance counter 90. When the bus-related information storage unit 94 receives an interrupt request from the priority order determination unit 26, the bus-related information storage unit 94 activates the bus access counter 92 and the performance counter 90. Further, the bus related information storage unit 94 reads out the data stored in the bus access counter 92 and the performance counter 90 and outputs the data to the interface unit 84.

バスアクセスカウンタ92は、CPU制御部59から受けたバスアクセス情報に基づいて、CPU部12が内部バス52に対して行ったバスアクセス回数、すなわち、リード/ライトアクセスを行った回数をカウントし、そのカウント回数を記憶する。   Based on the bus access information received from the CPU control unit 59, the bus access counter 92 counts the number of bus accesses performed by the CPU unit 12 to the internal bus 52, that is, the number of read / write accesses. The count number is stored.

パフォーマンスカウンタ90は、CPU制御部59から受けたバスアクセス情報に基づいて、CPU部12が内部バス52に対して行ったバスアクセスの実行サイクル数、すなわち、リード/ライトアクセスに要したサイクル数(クロック数)をカウントし、そのカウント回数を記憶する。   Based on the bus access information received from the CPU control unit 59, the performance counter 90 performs the number of execution cycles of the bus access performed by the CPU unit 12 with respect to the internal bus 52, that is, the number of cycles required for read / write access ( The number of clocks) is counted and the count number is stored.

また、バス関連情報格納部94は、プログラムカウンタ46に記憶されているプログラムカウンタ値を読出し、インターフェイス部84へ出力する。   Further, the bus related information storage unit 94 reads out the program counter value stored in the program counter 46 and outputs it to the interface unit 84.

実施の形態5においては、バス関連情報格納部94およびインターフェイス部84が情報出力部を構成する。   In the fifth embodiment, the bus related information storage unit 94 and the interface unit 84 constitute an information output unit.

また、バス関連情報格納部94は、インターフェイス部84を介して接続された記録装置にバスアクセス回数、バスアクセスの実行サイクル数およびプログラムカウンタ値を出力できる。プログラム開発者は、割込み遅延発生時のプログラム実行状態の解析をより容易に行うことができる。   In addition, the bus related information storage unit 94 can output the number of bus accesses, the number of bus access execution cycles, and the program counter value to a recording device connected via the interface unit 84. The program developer can more easily analyze the program execution state when an interrupt delay occurs.

なお、実施の形態5においては、バス関連情報格納部94をCPU部12部に配置する場合について説明したが、CPU部12とデータの授受を行うバスを介してCPU部12の外部に配置してもよい。   In the fifth embodiment, the case where the bus-related information storage unit 94 is arranged in the CPU unit 12 has been described. However, the bus-related information storage unit 94 is arranged outside the CPU unit 12 via a bus that exchanges data with the CPU unit 12. May be.

実施の形態5によれば、バス関連情報格納部は、外部から与えられた割込み要求が優先順位判定部から出力されると、バスアクセス回数およびバスアクセス実行サイクル数の収集を開始する。そのため、必要なタイミングにおけるバス関連情報を収集できるので、不用な情報を収集することがなく、効率的に解析作業を行える。さらに、プログラムカウンタ値も同時に出力されるので、より効率的に解析作業を行える。   According to the fifth embodiment, the bus related information storage unit starts collecting the number of bus accesses and the number of bus access execution cycles when an externally applied interrupt request is output from the priority order determination unit. Therefore, since the bus related information can be collected at a necessary timing, unnecessary information is not collected and analysis work can be performed efficiently. Further, since the program counter value is also output at the same time, the analysis work can be performed more efficiently.

今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は、上記した説明ではなく、特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。   The embodiment disclosed this time should be considered as illustrative in all points and not restrictive. The scope of the present invention is defined by the terms of the claims, rather than the description above, and is intended to include any modifications within the scope and meaning equivalent to the terms of the claims.

この発明の実施の形態1に従う半導体装置の構成を示す概略ブロック図である。1 is a schematic block diagram showing a configuration of a semiconductor device according to a first embodiment of the present invention. この発明の実施の形態1に従う半導体装置100の状態図の一例である。It is an example of a state diagram of semiconductor device 100 according to the first embodiment of the present invention. この発明の実施の形態1に従う半導体装置100を用いてデバッグを行う方法を示すフローチャートである。It is a flowchart which shows the method of debugging using the semiconductor device 100 according to Embodiment 1 of this invention. この発明の実施の形態2に従う半導体装置200の構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the semiconductor device 200 according to Embodiment 2 of this invention. この発明の実施の形態2に従う半導体装置200の状態図の一例である。It is an example of the state diagram of the semiconductor device 200 according to Embodiment 2 of this invention. この発明の実施の形態3に従う半導体装置300の構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the semiconductor device 300 according to Embodiment 3 of this invention. この発明の実施の形態4に従う半導体装置400の構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the semiconductor device 400 according to Embodiment 4 of this invention. この発明の実施の形態5に従う半導体装置500の構成を示す概略ブロック図である。It is a schematic block diagram which shows the structure of the semiconductor device 500 according to Embodiment 5 of this invention.

符号の説明Explanation of symbols

2 割込み制御部、4,6,8,10,12 演算部(CPU部)、14 メモリ、18 入力制御部、20,32,34,36,38 レジスタ、22 割込み制御レジスタ(ICR)、24 割込みステータスレジスタ(ISR)、26 優先順位判定部、28 優先レベル設定レジスタ、30,62 比較器、40 IPC制御部、42 IPCレジスタ、44 IPC制御レジスタ、46 プログラムカウンタ(PC)、48 ステータスレジスタ(SR)、50 スタックポインタ(SP)、52 内部バス、54,56,58,59 CPU制御部、60 タイマー(TMR)制御部、64 タイマー起動優先レベルレジスタ(I_LVL)、66 タイマーカウントレジスタ(TM_CNT)、72 切換部、78 切換設定レジスタ(FSW)、80 共用レジスタ、82 トレース部、84 インターフェイス部、90 パフォーマンスカウンタ、92 バスアクセスカウンタ、94 バス関連情報格納部、100,200,300,400,500 半導体装置、IRQ_1,IRQ_2,・・・,IRQ_n 割込み要求。   2 interrupt control unit, 4, 6, 8, 10, 12 arithmetic unit (CPU unit), 14 memory, 18 input control unit, 20, 32, 34, 36, 38 register, 22 interrupt control register (ICR), 24 interrupt Status register (ISR), 26 priority order determination unit, 28 priority level setting register, 30, 62 comparator, 40 IPC control unit, 42 IPC register, 44 IPC control register, 46 program counter (PC), 48 status register (SR) ), 50 stack pointer (SP), 52 internal bus, 54, 56, 58, 59 CPU control unit, 60 timer (TMR) control unit, 64 timer activation priority level register (I_LVL), 66 timer count register (TM_CNT), 72 switching unit, 78 switching setting register (FSW ), 80 shared register, 82 trace unit, 84 interface unit, 90 performance counter, 92 bus access counter, 94 bus related information storage unit, 100, 200, 300, 400, 500 semiconductor device, IRQ_1, IRQ_2,. IRQ_n Interrupt request.

Claims (12)

割込み要求を受けると、実行中のプログラムを中断して前記割込み要求に応じた割込みプログラムを実行し、かつ、前記割込み要求の優先レベルまたは前記割込みプログラムで設定される優先レベルを出力する演算部と、
外部から優先レベルの設定された割込み要求を受けると、前記演算部から受けた前記優先レベルと前記割込み要求の優先レベルとを比較し、前記演算部からの前記優先レベルが前記割込み要求の優先レベルより低い場合には、前記割込み要求を前記演算部へ出力し、前記演算部からの前記優先レベルが前記割込み要求の優先レベルと同一またはより高い場合には、前記演算部からの前記優先レベルが低くなるまで前記割込み要求の出力を遅延させる割込み制御部と、
前記割込み制御部が前記割込み要求を受けると、前記演算部におけるプログラムの実行状態を示す情報を格納する割込み遅延調査部とを備える、半導体装置。
When receiving an interrupt request, an arithmetic unit that interrupts the program being executed, executes the interrupt program according to the interrupt request, and outputs a priority level of the interrupt request or a priority level set by the interrupt program; ,
When an interrupt request with a priority level set from outside is received, the priority level received from the arithmetic unit is compared with the priority level of the interrupt request, and the priority level from the arithmetic unit is the priority level of the interrupt request. If it is lower, the interrupt request is output to the arithmetic unit, and if the priority level from the arithmetic unit is equal to or higher than the priority level of the interrupt request, the priority level from the arithmetic unit is An interrupt controller that delays the output of the interrupt request until low;
When the interrupt control unit receives the interrupt request, the semiconductor device includes an interrupt delay examining unit that stores information indicating an execution state of a program in the arithmetic unit.
前記割込み遅延調査部は、前記割込み制御部が前記割込み要求を受けた時点において、前記演算部が実行しているプログラムのプログラムカウンタ値を格納するプログラムカウンタ値格納部を含む、請求項1に記載の半導体装置。   2. The program according to claim 1, wherein the interrupt delay investigating unit includes a program counter value storage unit that stores a program counter value of a program being executed by the arithmetic unit when the interrupt control unit receives the interrupt request. Semiconductor device. 前記割込み遅延調査部は、前記割込み制御部が前記割込み要求を受けると、前記演算部において前記割込みプログラムが実行されるまでに要する時間を計測する遅延時間計測部をさらに含む、請求項1または2に記載の半導体装置。   3. The interrupt delay examining unit further includes a delay time measuring unit that measures a time required until the interrupt program is executed in the arithmetic unit when the interrupt control unit receives the interrupt request. A semiconductor device according to 1. 前記割込み遅延調査部は、
前記割込み制御部が前記割込み要求を受けた時点において、前記演算部が実行しているプログラムのプログラムカウンタ値を格納するプログラムカウンタ値格納部と、
前記割込み制御部が前記割込み要求を受けると、前記演算部において前記割込みプログラムが実行されるまでに要する時間を計測する遅延時間計測部と、
予め定められた設定値に応じて、前記プログラムカウンタ値格納部および前記遅延時間計測部のいずれか一方を有効とする切換部とをさらに含む、請求項1に記載の半導体装置。
The interrupt delay investigation unit
At the time when the interrupt control unit receives the interrupt request, a program counter value storage unit that stores a program counter value of a program executed by the arithmetic unit;
When the interrupt control unit receives the interrupt request, a delay time measuring unit that measures a time required until the interrupt program is executed in the arithmetic unit;
The semiconductor device according to claim 1, further comprising a switching unit that enables one of the program counter value storage unit and the delay time measurement unit according to a predetermined set value.
前記プログラムカウンタ値格納部は、予め定められた設定値に応じて、前記演算部が実行しているプログラムのプログラムカウンタ値を格納するか否かを決定する、請求項2または4に記載の半導体装置。   5. The semiconductor according to claim 2, wherein the program counter value storage unit determines whether or not to store a program counter value of a program executed by the arithmetic unit according to a predetermined set value. 6. apparatus. 前記遅延時間計測部は、前記割込み制御部が受けた前記割込み要求の優先レベルに応じて、前記時間を計測するか否かを決定する、請求項3または4に記載の半導体装置。   The semiconductor device according to claim 3, wherein the delay time measurement unit determines whether to measure the time according to a priority level of the interrupt request received by the interrupt control unit. 前記遅延時間計測部は、前記計測した時間が予め定められた設定値以上となれば、前記演算部において前記割込みプログラムを強制的に実行させる、請求項3,4または6のいずれか1項に記載の半導体装置。   7. The delay time measuring unit according to claim 3, wherein, when the measured time is equal to or greater than a predetermined set value, the arithmetic unit forcibly executes the interrupt program. 8. The semiconductor device described. 前記割込み遅延調査部は、前記割込み制御部が前記割込み要求を受けると、前記演算部におけるトレース情報を格納するトレース部をさらに含む、請求項1〜7のいずれか1項に記載の半導体装置。   The semiconductor device according to claim 1, wherein the interrupt delay examining unit further includes a trace unit that stores trace information in the arithmetic unit when the interrupt control unit receives the interrupt request. 前記割込み遅延調査部は、前記割込み制御部が前記割込み要求を受けると、前記演算部におけるプログラムの実行状態を示す情報を外部へ出力する情報出力部をさらに含む、請求項1〜8のいずれか1項に記載の半導体装置。   The interrupt delay checking unit further includes an information output unit that outputs information indicating an execution state of a program in the arithmetic unit to the outside when the interrupt control unit receives the interrupt request. 2. A semiconductor device according to item 1. 前記情報出力部は、前記演算部におけるプログラムの実行状態を示す情報として、前記演算部のバスアクセス情報を外部へ出力する、請求項9に記載の半導体装置。   The semiconductor device according to claim 9, wherein the information output unit outputs bus access information of the arithmetic unit to the outside as information indicating an execution state of a program in the arithmetic unit. 前記情報出力部は、前記演算部におけるプログラムの実行状態を示す情報として、前記演算部のプログラムカウンタ値をさらに外部へ出力する、請求項10に記載の半導体装置。   The semiconductor device according to claim 10, wherein the information output unit further outputs a program counter value of the calculation unit to the outside as information indicating an execution state of a program in the calculation unit. 割込み要求を受けると、実行中のプログラムを中断して前記割込み要求に応じた割込みプログラムを実行し、かつ、前記割込み要求の優先レベルまたは前記割込みプログラムで設定される優先レベルを出力する演算部と、
外部から優先レベルの設定された割込み要求を受けると、前記演算部から受けた前記優先レベルと前記割込み要求の優先レベルとを比較し、前記演算部からの前記優先レベルが前記割込み要求の優先レベルより低い場合には、前記割込み要求を前記演算部へ出力し、前記演算部からの前記優先レベルが前記割込み要求の優先レベルと同一またはより高い場合には、前記演算部からの前記優先レベルが低くなるまで前記割込み要求の出力を遅延させる割込み制御部とからなる半導体装置において実行されるプログラムの割込み遅延を回避するためのデバッグ方法であって、
前記割込み制御部が前記割込み要求を受けると、前記演算部が実行しているプログラムを特定するためのプログラムカウンタ値を格納するステップと、
前記割込み要求に応じて実行される割込みプログラムにおいて前記格納したプログラムカウンタ値を読出すステップとを含む、デバッグ方法。
When receiving an interrupt request, an arithmetic unit that interrupts the program being executed, executes the interrupt program according to the interrupt request, and outputs a priority level of the interrupt request or a priority level set by the interrupt program; ,
When an interrupt request with a priority level set from outside is received, the priority level received from the arithmetic unit is compared with the priority level of the interrupt request, and the priority level from the arithmetic unit is the priority level of the interrupt request. If it is lower, the interrupt request is output to the arithmetic unit, and if the priority level from the arithmetic unit is equal to or higher than the priority level of the interrupt request, the priority level from the arithmetic unit is A debugging method for avoiding an interrupt delay of a program executed in a semiconductor device including an interrupt control unit that delays the output of the interrupt request until low.
When the interrupt control unit receives the interrupt request, storing a program counter value for specifying a program executed by the arithmetic unit;
Reading the stored program counter value in an interrupt program executed in response to the interrupt request.
JP2004380888A 2004-12-28 2004-12-28 Semiconductor device and debugging method Withdrawn JP2006185365A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004380888A JP2006185365A (en) 2004-12-28 2004-12-28 Semiconductor device and debugging method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004380888A JP2006185365A (en) 2004-12-28 2004-12-28 Semiconductor device and debugging method

Publications (1)

Publication Number Publication Date
JP2006185365A true JP2006185365A (en) 2006-07-13

Family

ID=36738412

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004380888A Withdrawn JP2006185365A (en) 2004-12-28 2004-12-28 Semiconductor device and debugging method

Country Status (1)

Country Link
JP (1) JP2006185365A (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463048A (en) * 2008-08-29 2010-03-03 Symbian Software Ltd A diagnostic tool for displaying interrupt activity against a time line
WO2015128755A1 (en) * 2014-02-27 2015-09-03 International Business Machines Corporation Delaying floating interruption while in tx mode
CN107621974A (en) * 2016-07-13 2018-01-23 罗伯特·博世有限公司 Interrupt request distribution device and the operation method to this
JP2019159852A (en) * 2018-03-13 2019-09-19 富士電機株式会社 Information processing apparatus

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2463048A (en) * 2008-08-29 2010-03-03 Symbian Software Ltd A diagnostic tool for displaying interrupt activity against a time line
WO2015128755A1 (en) * 2014-02-27 2015-09-03 International Business Machines Corporation Delaying floating interruption while in tx mode
CN107621974A (en) * 2016-07-13 2018-01-23 罗伯特·博世有限公司 Interrupt request distribution device and the operation method to this
CN107621974B (en) * 2016-07-13 2023-11-28 罗伯特·博世有限公司 Interrupt request allocation device and execution method for this
JP2019159852A (en) * 2018-03-13 2019-09-19 富士電機株式会社 Information processing apparatus
JP7069870B2 (en) 2018-03-13 2022-05-18 富士電機株式会社 Information processing equipment

Similar Documents

Publication Publication Date Title
JP4094724B2 (en) Apparatus and method for identifying exceptions when debugging software
US20130159977A1 (en) Open kernel trace aggregation
CN103109276B (en) System detection method
CN103430158B (en) Use Execution Single Step to Diagnose Coding
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
US7831818B2 (en) Exception-based timer control
CN101606132B (en) Semiconductor integrated circuit, debug/trace circuit, and semiconductor integrated circuit operation observing method
JP5054558B2 (en) Multi-core LSI
JP6963552B2 (en) Replay of partially executed instruction blocks in processor-based systems that utilize the block atomic execution model
JP2006185365A (en) Semiconductor device and debugging method
US20110107072A1 (en) Method for self-diagnosing system management interrupt handler
US10747647B2 (en) Method, apparatus and system for diagnosing a processor executing a stream of instructions
JP2007257441A (en) Processor and processor control method
JP2011028308A (en) Semiconductor device and software development support device
CN101311909A (en) Method for diagnosing system abnormality
US7543185B2 (en) Debug system with event-based virtual processing agents
JP2003281076A (en) Unauthorized access detection circuit of dma controller, unauthorized access detecting method and program thereof
JP2000066922A (en) Method for preventing contention for storing all instruction trace data in secondary storage device
JP2007034864A (en) I / O device diagnostic method
JP2005267349A (en) Processing module and control method thereof
JPS6111855A (en) Function diagnosing method of data processor
JP5416257B2 (en) Multi-core LSI
CN120850924A (en) Method and device for implementing register coverage statistics based on DWT
JP2013105388A (en) Interrupt circuit and interrupt method
CN115687159A (en) Debugging method, debugging device and computer readable storage medium

Legal Events

Date Code Title Description
A300 Withdrawal of application because of no request for examination

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080304