JP2008090390A - マイコンデバッグシステムおよびマイクロコンピュータ - Google Patents

マイコンデバッグシステムおよびマイクロコンピュータ Download PDF

Info

Publication number
JP2008090390A
JP2008090390A JP2006267783A JP2006267783A JP2008090390A JP 2008090390 A JP2008090390 A JP 2008090390A JP 2006267783 A JP2006267783 A JP 2006267783A JP 2006267783 A JP2006267783 A JP 2006267783A JP 2008090390 A JP2008090390 A JP 2008090390A
Authority
JP
Japan
Prior art keywords
debug
program
microcomputer
debugging
signal
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
JP2006267783A
Other languages
English (en)
Inventor
Shinya Muramatsu
伸哉 村松
Toshifumi Hamaguchi
敏文 浜口
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.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2006267783A priority Critical patent/JP2008090390A/ja
Priority to CNA2007101517458A priority patent/CN101154178A/zh
Priority to US11/905,228 priority patent/US20080082802A1/en
Publication of JP2008090390A publication Critical patent/JP2008090390A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/362Software debugging
    • G06F11/3648Software debugging using additional hardware
    • G06F11/3652Software debugging using additional hardware in-circuit-emulation [ICE] arrangements

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

【課題】マイコンを用いた応用システムを制御するソフトウェア開発に使用するマイコンデバッグシステムおよびマイクロコンピュータに関し、デバッグ要求の発生により例えばDCモータを制御する緊急度の高いプログラムが中断され、DCモータが制御不能となりモータのコイルを焼き切るといったシステム異常を回避することができる。
【解決手段】デバッグモードを複数モード有し、一のデバッグモードではデバッグ中は割り込みプログラムの処理に移行せず、他のデバッグモードではデバッグ中に割り込みプログラムの処理に移行することを特徴とし、複数のデバッグモードを有するCPU11と、デバッグ処理への移行を制御するデバッグ判定回路12と、デバッグ中に割り込みプログラムの処理を受付ける期間を制御する優先許可フラグ13とを備える。
【選択図】図1

Description

本発明は、マイクロコンピュータ(以下マイコンと称する)を用いた応用システムを制御するソフトウェアの開発に使用するマイコンデバッグシステムおよびマイクロコンピュータに関するものである。
従来からマイコンを用いた応用システムを制御するソフトウェアの開発において、プログラムのデバッグが行われている。例えば、特許文献1にはDCモータの制御システムにおけるプログラムのデバッグについて開示されている。
図8にDCモータの制御システムのブロック図を示す。マイコン100のポート出力がモータ制御回路101の入力に接続され、モータ制御回路101の出力がDCモータ102の電源になっており、タイマ103を用いて一定間隔で割り込み要求を発生させ、その割り込み処理ルーチンでポートの出力を変化させている。
図9のタイミングチャートを用いてDCモータの制御システムにおけるユーザプログラム(以下プログラムと称する)のデバッグ動作について説明する。マイコン100はプログラムを処理する際の優先度であるユーザレベルを複数持ち、緊急度の低いプログラムはユーザレベル1で実行し、緊急度の高いプログラムはユーザレベル0で実行する。図8の例では、DCモータ102を制御する緊急度の高いプログラムをユーザレベル0の割り込み処理で実行している。図9において、ユーザレベル1で緊急度の低いプログラムが実行されている状態でデバッグ要求が発生すると(同図中110)、デバッグレベルはユーザレベル1より優先されるため無条件でデバッグレベルに移行してプログラムのデバッグが開始される。デバッグが実行されている状態で、デバッグレベルよりも優先されるユーザレベル0の緊急度の高い割り込みプログラムの要求が発生すると(同図中111)、デバッグを中断しユーザレベル0に移行して割り込みプログラムの実行を開始する。割り込みプログラムの処理が完了すると(同図中112)、デバッグレベルに戻りデバッグを再開し、デバッグが完了すると(同図中113)、ユーザレベル1に戻って緊急度の低いプログラムが実行される。
特開平10−69398号公報
従来のデバッグ動作においては、デバッグ中にユーザレベル0の緊急度の高いプログラムを実行させることは可能であるが、緊急度の高いプログラムが実行されている状態でデバッグ要求が発生した場合は無条件でデバッグレベルに移行してしまう。
このため、図8の例では、デバッグ要求の発生によりDCモータ102を制御する緊急度の高いプログラムが中断されることになり、DCモータ102が制御不能となりモータのコイルを焼き切るといったシステム異常を来たすという問題があった。
本発明の請求項1に記載のマイコンデバッグシステムは、デバッグモードを複数モード有し、一のデバッグモードではデバッグ中は割り込みプログラムの処理に移行せず、他のデバッグモードではデバッグ中に割り込みプログラムの処理に移行することを特徴とする。
本発明の請求項1に記載のマイコンデバッグシステムによると、例えばDCモータの制御システムに適用した場合、DCモータを接続していない状態では、一のデバッグモードによって緊急度の高いプログラムをデバッグしておき、DCモータを接続した状態では、他のデバッグモードによって緊急度の高いプログラムを除くシステム全体のデバッグを行うことができ、緊急度の高いDCモータの制御プログラムが中断されるのを防止できる。
本発明の請求項2に記載のマイコンデバッグシステムは、請求項1のマイコンデバッグシステムにおいて、前記複数のデバッグモードを有するCPUと、デバッグ処理への移行を制御するデバッグ判定回路と、デバッグ中に割り込みプログラムの処理を受付ける期間を制御する優先許可フラグとを備えたことを特徴とする。
本発明の請求項2に記載のマイコンデバッグシステムによると、他のデバッグモードによって緊急度の高いプログラムを除くシステム全体のデバッグを行う際、優先許可フラグによってデバッグプログラムを中断しても問題のない区間を設定することで割り込みプログラムの処理が可能となる。
本発明の請求項3に記載のマイコンデバッグシステムは、請求項2のマイコンデバッグシステムにおいて、デバッグ中に多重に割り込みプログラムの処理を受付け可能に、デバッグ中に優先される割り込みプログラムのレベルを制御するレベル設定レジスタをさらに備えたことを特徴とする。
本発明の請求項3に記載のマイコンデバッグシステムによると、デバッグ中に多重の割り込みプログラムの処理が可能となる。
本発明の請求項4に記載のマイクロコンピュータは、請求項2に記載の前記CPU、前記デバッグ判定回路、前記優先許可フラグに加え、デバッグ要求を出力するデバッグ要求制御回路をワンチップに搭載したことを特徴とする。
本発明の請求項5に記載のマイクロコンピュータは、請求項3に記載の前記CPU、前記デバッグ判定回路、前記優先許可フラグ、前記レベル設定レジスタに加え、デバッグ要求を出力するデバッグ要求制御回路をワンチップに搭載したことを特徴とする。
本発明の請求項4,5に記載のマイクロコンピュータによると、外付けのシステムを簡略化でき、必要な資源を最小限に抑えることで、小型化ならびに低コスト化を図ることができる。
本発明のマイコンデバッグシステムおよびマイクロコンピュータによると、デバッグ要求の発生により例えばDCモータを制御する緊急度の高いプログラムが中断され、DCモータが制御不能となりモータのコイルを焼き切るといったシステム異常を回避することができる。
(第1の実施形態)
本発明の第1の実施形態を図1ないし図3を用いて説明する。
図1はマイコンデバッグシステムのブロック図、図2,3はマイコンデバッグシステムにおけるデバッグ動作のタイミングチャートである。なお、本実施形態のマイコンデバッグシステムは、図8に示したマイコンを用いたDCモータの制御システムに適用される。
図1を用いてマイコンデバッグシステムの構成について説明する。
マイコンデバッグシステムは、大きく分けてDCモータを制御する制御部10と、DCモータの制御システムにおけるプログラムのデバッグを行うデバッグ部30とからなる。制御部10は、図中の全ての電子部品をワンチップのマイコンに収納して基板に搭載した構造、あるいは一部の電子部品をマイコンに収納し残りの電子部品を当該マイコンとともに基板に搭載した構造をしている。またデバッグ部30は、図中のホスト33を除く電子部品を基板に搭載した構造をしている。よって制御部10とデバッグ部30からなるマイコンデバッグシステムは、ホスト33を除けば基板にマイコンと電子部品を搭載した構造となる。
制御部10は、CPU11、デバッグ判定回路12、優先許可フラグ13、AND回路14、メモリ切換回路15、ユーザ用メモリ16にて構成されている。
デバッグ部30は、デバッグ要求制御回路31、エミュレーションメモリ32、ホスト33にて構成されている。
まず制御部10の各部について詳細に説明する。
CPU11は、PC(プログラムカウンタ)およびPSW(プログラムステータスワード)17と、割り込み発生時にPCおよびPSW17を退避させるスタック18とを備えている。また、デバッグ判定回路12にレベル信号を出力し、デバッグ判定回路12からDINT信号が入力される。レベル信号はプログラムを処理する際の優先度であるユーザレベルを示す信号であり、DINT信号はデバッグの実行を指示する信号である。本実施形態のCPU11は2つのユーザレベル0,1とデバッグレベルの計3つのレベルを有しており、その優先度は、優先度の高いプログラムを処理する際に使用するユーザレベル0、デバッグレベル、通常のプログラムを処理する際に使用するユーザレベル1の順となる。ユーザレベル1の状態でユーザレベル0の割り込み要求が発生すると、ユーザレベル1のPCおよびPSWをスタック18に退避し、CPU11をユーザレベル0に変更した上でユーザレベル0の割り込みプログラムを処理する。また、優先許可フラグ13にデバッグレベル信号を出力し、AND回路14からUINT信号が入力される。デバッグレベル信号はデバッグプログラムが実行されていることを知らせる信号であり、UINT信号は割り込みプログラムの実行を指示する信号である。さらに、メモリ16,32にそれぞれ記憶されたプログラムのうち、何れのプログラムにアクセスするかを指示するため、アクセスするプログラムのアドレスをメモリ切換回路15に出力する。
デバッグ判定回路12は、モード選択信号、デバッグ要求制御回路31からDIRQ信号、CPU11から上記レベル信号がそれぞれ入力され、CPU11に上記DINT信号を出力する。モード選択信号はDCモータが接続されていない場合はデバッグモード0、DCモータが接続されている場合はデバッグモード1を選択する。DIRQ信号はデバッグを要求する信号であって、デバッグモード0の場合はそのままCPU11にデバッグを実行させるDINT信号を出力し、デバッグモード1の場合はCPU11から受信したレベル信号に基づきユーザレベル1ならデバッグを実行させるDINT信号を出力し、ユーザレベル0ならDINT信号を出力しない。
優先許可フラグ13は、モード選択信号、CPU11から上記デバッグレベル信号が入力され、AND回路14に優先許可フラグ信号を出力する。優先許可フラグ信号は、デバッグモード1の場合に、デバッグプログラムの実行中に割り込みプログラムの実行を許可する信号であり、割り込みを許可する設定を行った区間に限り"H"を出力する。デバッグモード0の場合は、デバッグプログラムの実行中は”L"を出力する。ここで優先許可フラグ13の必要性について説明する。デバッグプログラムの実行中に割り込み要求が発生した時、CPU11の内部情報(レジスタの内容、周辺回路の設定状況)をホスト33で表示するための処理が行われているので、緊急度の高い割込みが発生しても、デバッグプログラムの処理を途中で中断すると、ホスト33で表示する内容がおかしくなる可能性が高くなる。このため、デバッグプログラムを中断しても問題のない区間を定義するために、優先許可フラグ13が必要となる。
AND回路14は、UIRQ信号と、優先許可フラグ13から上記優先許可フラグ信号がそれぞれ入力され、CPU11に上記UINT信号を出力する。UIRQ信号は緊急度の高いプログラムの割り込み処理を要求する信号であり、このUIRQ信号と優先許可フラグ信号とのアンドを取りUINT信号を出力するか否かが決定される。なお、デバッグプログラムが実行されていない場合は、UIRQ信号がそのままUINT信号として出力される。
メモリ切換回路15は、CPU11から上記アクセスするプログラムのアドレスが入力され、そのアドレスに対応するユーザ用メモリ16に記憶されたプログラムまたはエミュレーションメモリ32に記憶されたプログラムのいずれかが実行される。
ユーザ用メモリ16には、DCモータの制御システムにおける各種プログラムが記憶されており、その中にはDCモータの制御用の緊急度の高いプログラムも含まれている。
次にデバッグ部30の各部について詳細に説明する。
デバッグ要求制御回路31は、ホスト33との間でデバッグの要求や進行状況などの各種情報の入出力を行う。また、ホスト33からの要求やCPU動作による条件設定によりデバッグ判定回路12に上記DIRQ信号を出力する。
エミュレーションメモリ32には、デバッグプログラムが記憶されている。また、ユーザ用メモリ16の内容を全て記憶し、ユーザの使用する全てのプログラムをエミュレーションメモリから実行することも可能である。
ホスト33はパーソナルコンピュータからなり、デバッグ要求制御回路31との間で、上記デバッグの要求や進行状況などの各種情報の入出力を行い、ディスプレイ上にデバッグ進行状況などの情報が表示される。
次に図2,3を用いてマイコンデバッグシステムのデバッグ動作について説明する。図2はモード選択によりデバッグモード0が選択された場合であり、図3はモード選択によりデバッグモード1が選択された場合である。
まずデバッグモード0の場合について図2を用いて説明する。デバッグモード0とはマイコンデバッグシステムにDCモータが接続されていない状態であって、例えばDCモータの制御システムの製造段階であって未だDCモータが接続されていない状態でプログラムのデバッグを実施する場合に相当する。なお、デバッグモード0の場合には、デバッグレベルはユーザレベル0,1に優先される。
ユーザレベル1の緊急度の低いプログラムが実行されている状態にてユーザレベル0の緊急度の高いプログラムの割り込み要求が発生し、UIRQ信号が"H"となる。また、デバッグプログラムが実行されていないので、UIRQ信号がそのままUINT信号として出力され、ユーザレベル0の緊急度の高い割り込みプログラムが実行される(同図中50)。
デバッグの要求が発生してデバッグ判定回路12にDIRQ信号が入力される。デバッグモード0であるため、DIRQ信号に同期してCPU11にデバッグを実行させるDINT信号が出力され、最優先のデバッグレベルに移行してデバッグプログラムが実行される(同図中51)。
デバッグが完了するとユーザレベル0に戻り緊急度の高い割り込みプログラムが実行される(同図中52)。
割り込みプログラムの実行が完了すると、ユーザレベル1に戻って緊急度の低いプログラムが実行される(同図中53)。
ユーザレベル1の緊急度の低いプログラムが実行されている状態にてデバッグの要求が発生すると、デバッグ判定回路12にDIRQ信号が入力される。デバッグモード0であるため、DIRQ信号に同期してCPU11にデバッグを実行させるDINT信号が出力され、最優先のデバッグレベルに移行してデバッグプログラムが実行される(同図中54)。
デバッグの実行中にユーザレベル0の緊急度の高いプログラムの割り込み要求が発生すると、UIRQ信号が"H"となる。デバッグモード0のため、デバッグプログラム実行中は、優先許可フラグ13からの優先許可フラグは"L”となる。よってUNINT信号が出力されず、割り込みプログラムは実行されない(同図中55)。
デバッグが完了するとユーザレベル1に戻り緊急度の低いプログラムが実行される(同図中56)。
UIRQ信号に同期してUINT信号を出力されているので、ユーザレベル0の緊急度の高い割り込みプログラムが実行される(同図中57)。
割り込みプログラムの実行が完了すると、ユーザレベル1に戻って緊急度の低いプログラムが実行される(同図中58)。
次にデバッグモード1の場合について図3を用いて説明する。デバッグモード1とは製造段階であってDCモータが接続されている状態でプログラムのデバッグを実施する場合や、トラブル等により製品を回収して検査する場合などに相当する。
ユーザレベル1の緊急度の低いプログラムが実行されている状態にてユーザレベル0の緊急度の高いプログラムの割り込み要求が発生し、UIRQ信号が"H"となる。また、デバッグプログラムが実行されていないので、UIRQ信号がそのままUINT信号として出力され、ユーザレベル0の緊急度の高い割り込みプログラムが実行される(同図中60)。
デバッグの要求が発生してデバッグ判定回路12にDIRQ信号の入力される。デバッグモード1であるため、CPU11から受信したレベル信号を参照してユーザレベル0であるためDINT信号を出力せず、デバッグプログラムは実行されない(同図中61)。
割り込みプログラムの実行が完了すると、ユーザレベル1に戻って緊急度の低いプログラムが実行される(同図中62)。
デバッグ判定回路12にDIRQ信号の入力されているので、CPU11から受信したレベル信号を参照してユーザレベル1であるためデバッグを実行させるDINT信号が出力され、デバッグレベルに移行してデバッグプログラムが実行される(同図中63)。
デバッグが完了するとユーザレベル1に戻り緊急度の低いプログラムが実行される(同図中64)。
ユーザレベル1の緊急度の低いプログラムが実行されている状態にてデバッグの要求が発生すると、デバッグ判定回路12にDIRQ信号の入力される。デバッグモード1であるため、CPU11から受信したレベル信号を参照してユーザレベル1であるためデバッグを実行させるDINT信号が出力され、デバッグレベルに移行してデバッグプログラムが実行される(同図中65)。
デバッグの実行中にユーザレベル0の緊急度の高いプログラムの割り込み要求が発生すると、UIRQ信号が"H"となる。また、デバッグモード1で、緊急度の高い割り込みプログラムの実行を優先的に許可する設定がされていないので優先許可フラグ13からの優先許可フラグ信号は"L"となる。よって、UINT信号が出力されず、ユーザレベル0の緊急度の高い割り込みプログラムは実行されない(同図中66)。
緊急度の高い割り込みプログラムの実行を優先的に許可する設定がなされると、優先許可フラグ13からの優先許可フラグ信号は"H"となり、UIRQ信号の"H"に同期してUINT信号が出力され、デバッグプログラムが中断されてユーザレベル0の緊急度の高い割り込みプログラムが実行される(同図中67)。
割り込みプログラムの実行が完了すると、デバッグレベルに戻ってデバッグプログラムが実行される(同図中68)。
デバッグの実行中にユーザレベル0の緊急度の高いプログラムの割り込み要求が発生しても、デバッグモード1で緊急度の高い割り込みプログラムの実行を優先的に許可する設定がされていないので優先許可フラグ13からの優先許可フラグ信号は"L"となり、割り込みプログラムは実行されない(同図中69)。
デバッグが完了するとユーザレベル1に戻り緊急度の低いプログラムが実行される(同図中70)。
UIRQ信号が"H"であり、デバッグプログラムが実行されていないので、UIRQ信号がそのままUINT信号として出力され、ユーザレベル0の緊急度の高い割り込みプログラムが実行される(同図中71)。
このように構成されたマイコンデバッグシステムによると、DCモータを接続していない状態ではデバッグモード0によって緊急度の高いプログラムをデバッグしておき、DCモータを接続した状態ではデバッグモード1によって緊急度の高いプログラムを除くシステム全体のデバッグを行うことができ、緊急度の高いDCモータの制御プログラムが中断されるのを防止でき、DCモータが制御不能となりモータのコイルを焼き切るといったシステム異常を回避することができる。
また、デバッグモード1によって緊急度の高いプログラムを除くシステム全体のデバッグを行う際、優先許可フラグ13によってデバッグプログラムを中断して割り込みプログラムを処理する期間を限定することで、デバッグプログラムを簡易にでき、ホストで表示されるデバッグ情報を誤ることのないデバッグシステムを提供できる。
(第2の実施形態)
本発明の第2の実施形態を図4および図5を用いて説明する。
図4はマイコンデバッグシステムのブロック図、図5はマイコンデバッグシステムにおけるデバッグ動作のタイミングチャートである。なお、第1の実施形態と同一部分は同一符号を付してその説明を省略する。
本実施形態は、第1の実施形態と比べてレベル設定レジスタ19、2個のAND回路20,21を備え、優先許可フラグ13が優先許可レベルフラグ22に変更されたことを特徴としている。また、CPU11は3つのユーザレベル0,1,2とデバッグレベルの計4つのレベルを有している。
レベル設定レジスタ19は、3つのユーザレベル0,1,2とデバッグレベルの優先度について設定する。すなわち、デバッグレベルより優先されるユーザレベルを設定するものであって、本実施形態ではユーザレベル0,1がデバッグレベルより優先されることを意味するユーザレベル1が設定される。
AND回路20は、UIRQ0信号と、優先許可レベルフラグ22から入力される優先許可レベルフラグ信号とのアンドを取りUINT0信号を出力するか否かを決定する。またAND回路21は、UIRQ1信号と、優先許可レベルフラグ22から入力される優先許可レベルフラグ信号とのアンドを取りUINT1信号を出力するか否かを決定する。
優先許可レベルフラグ22は、モード選択信号、CPU11から上記デバッグレベル信号、上記レベル設定レジスタ19からデバッグレベルに優先するユーザレベル信号が入力され、AND回路20、21に優先許可レベルフラグ信号を出力する。
次に図5を用いてマイコンデバッグシステムのデバッグ動作について説明する。図5はモード選択によりデバッグモード1(DCモータが接続されている状態)が選択された場合である。なお、モード選択によりデバッグモード0が選択された場合については、デバッグが最優先されるものであって第1の実施形態の場合と特に変わりはないので説明を省略する。
ユーザレベル2の緊急度の低いプログラムが実行されている状態にてデバッグの要求が発生すると、デバッグ判定回路12にDIRQ信号が入力される。デバッグモード1であるため、CPU11から受信したレベル信号を参照してユーザレベル2であるためデバッグを実行させるDINT信号が出力され、デバッグレベルに移行してデバッグプログラムが実行される(同図中80)。
デバッグの実行中にユーザレベル1の緊急度の高いプログラムの割り込み要求が発生すると、UIRQ1信号が"H"となる。また、デバッグモード1でかつレベル設定レジスタの値は1であるが、緊急度の高い割り込みプログラムの実行を優先的に許可する設定がされていないので優先許可レベルフラグ22からの優先許可レベルフラグ信号は"L"となる。よって、UINT1信号が出力されず、ユーザレベル1の緊急度の高い割り込みプログラムは実行されない(同図中81)。
緊急度の高い割り込みプログラムの実行を優先的に許可する設定がなされると、優先許可レベルフラグ22からの優先許可フラグ信号は"H"となり、UIRQ1信号の"H"に同期してUINT1信号が出力され、デバッグプログラムが中断されてユーザレベル1の緊急度の高い割り込みプログラムが実行される(同図中82)。
ユーザレベル1の緊急度の高い割り込みプログラムの実行中により緊急度の高いユーザレベル0のプログラムの割り込み要求が発生すると、UIRQ0信号が"H"となり、また優先許可レベルフラグ22からの優先許可フラグ信号は"H"であるので、UIRQ0信号に同期してUINT0信号が出力され、ユーザレベル1のプログラムが中断されてユーザレベル0のより緊急度の高い割り込みプログラムが実行される(同図中83)。
ユーザレベル0の割り込みプログラムが完了するとユーザレベル1に戻り割り込みプログラムが実行される(同図中84)。
ユーザレベル1の割り込みプログラムの実行が完了すると、デバッグレベルに戻ってデバッグプログラムが実行される(同図中85)。
デバッグの実行中にユーザレベル1の緊急度の高いプログラムの割り込み要求が発生すると、UIRQ1信号が"H"となる。また、緊急度の高い割り込みプログラムの実行を優先的に許可する設定がされていないので優先許可レベルフラグ22からの優先許可レベルフラグ信号は"L"となる。よって、UINT1信号が出力されず、ユーザレベル1の緊急度の高い割り込みプログラムは実行されない(同図中86)。
デバッグが完了するとユーザレベル2に戻り緊急度の低いプログラムが実行される(同図中87)。
UIRQ1信号が"H"であり、デバッグプログラムが実行されていないので、UIRQ1信号がそのままUINT1信号として出力され、ユーザレベル1の緊急度の高い割り込みプログラムが実行される(同図中88)。
デバッグの要求が発生してデバッグ判定回路12にDIRQ信号の入力される。デバッグモード1であるため、CPU11から受信したレベル信号を参照してユーザレベル1であるためDINT信号を出力せず、デバッグプログラムは実行されない(同図中89)。
ユーザレベル1の割り込みプログラムの実行が完了すると、ユーザレベル2に戻って緊急度の低いプログラムが実行される(同図中90)。
デバッグ判定回路12にDIRQ信号が入力されているので、CPU11から受信したレベル信号を参照してユーザレベル2であるためデバッグを実行させるDINT信号が出力され、デバッグレベルに移行してデバッグプログラムが実行される(同図中91)。
このように構成されたマイコンデバッグシステムによると、DCモータを制御する緊急度の高いプログラムが複数種類ある場合においても、DCモータが制御不能となりモータコイルを焼き切るといったシステム異常を回避できる。
(第3の実施形態)
本発明の第3の実施形態を図6を用いて説明する。
図6はマイクロコンピュータのブロック図である。なお、第1の実施形態と同一部分は同一符号を付してその説明を省略する。
本実施形態は、第1の実施形態の制御部10と、ホスト33を除くデバッグ部30とをワンチップのマイコン40に収納したものである。このオンチップデバッガのデバッグ動作は第1の実施形態と同様である。
このように構成されたマイクロコンピュータによると第1の実施形態と同様の効果が得られる。さらに、ホスト33を除く全電子部品をワンチップのマイコン40に収納したので小型化、低コスト化が図れる。
(第4の実施形態)
本発明の第4の実施形態を図7を用いて説明する。
図7はマイクロコンピュータのブロック図である。なお、第2の実施形態と同一部分は同一符号を付してその説明を省略する。
本実施形態は、第2の実施形態の制御部10と、ホスト33を除くデバッグ部30とをワンチップのマイコン40に収納したものである。このオンチップデバッガのデバッグ動作は第2の実施形態と同様である。
このように構成されたマイクロコンピュータによると第2の実施形態と同様の効果が得られる。さらに、ホスト33を除く全電子部品をワンチップのマイコン40に収納したので小型化、低コスト化が図れる。
なお、本発明のマイコンデバッグシステムにおいて、CPU11にて設定可能なユーザレベルは、最低ユーザレベル0,1とデバッグレベルの計3つのレベルを有していればよく、それ以上いくらの数のレベルを有していてもよい。また、割込み発生時にPC及びPSW17を退避させるスタックを、CPU11に備えず、別の記憶手段に退避するシステムにも適用できる。また、本発明のマイコンデバッグシステムはDCモータの制御システム以外に適用してもよいことは言うまでもない。
本発明は、マイコンを用いてDCモータを制御するシステムに有用である。
本発明の第1の実施形態に係るマイコンデバッグシステムのブロック図 本発明の第1の実施形態に係るマイコンデバッグシステムのデバッグ動作のタイミングチャート 本発明の第1の実施形態に係るマイコンデバッグシステムのデバッグ動作のタイミングチャート 本発明の第2の実施形態に係るマイコンデバッグシステムのブロック図 本発明の第2の実施形態に係るマイコンデバッグシステムのデバッグ動作のタイミングチャート 本発明の第3の実施形態に係るマイクロコンピュータのブロック図 本発明の第4の実施形態に係るマイクロコンピュータのブロック図 マイコンを用いたDCモータの制御システムのブロック図 従来例に係るデバッグ動作のタイミングチャート
符号の説明
10 制御部
11 CPU
12 デバッグ判定回路
13 優先許可フラグ
14,20,21 AND回路
15 メモリ切換回路
16 ユーザ用メモリ
17 PC/PSW
18 スタック
19 レベル設定レジスタ
22 優先許可レベルフラグ
30 デバッグ部
31 デバッグ要求制御回路
32 エミュレーションメモリ
33 ホスト
40 マイコン
41 メモリ
42 モード選択回路

Claims (5)

  1. デバッグモードを複数モード有し、一のデバッグモードではデバッグ中は割り込みプログラムの処理に移行せず、他のデバッグモードではデバッグ中に割り込みプログラムの処理に移行する、ことを特徴とするマイコンデバッグシステム。
  2. 前記複数のデバッグモードを有するCPUと、デバッグ処理への移行を制御するデバッグ判定回路と、デバッグ中に割り込みプログラムの処理を受付ける期間を制御する優先許可フラグとを備えた、ことを特徴とする請求項1に記載のマイコンデバッグシステム。
  3. デバッグ中に多重に割り込みプログラムの処理を受付け可能に、デバッグ中に優先される割り込みプログラムのレベルを制御するレベル設定レジスタをさらに備えた、ことを特徴とする請求項2に記載のマイコンデバッグシステム。
  4. 請求項2に記載の前記CPU、前記デバッグ判定回路、前記優先許可フラグに加え、デバッグ要求を出力するデバッグ要求制御回路をワンチップに搭載した、ことを特徴とするマイクロコンピュータ。
  5. 請求項3に記載の前記CPU、前記デバッグ判定回路、前記優先許可フラグ、前記レベル設定レジスタに加え、デバッグ要求を出力するデバッグ要求制御回路をワンチップに搭載した、ことを特徴とするマイクロコンピュータ。
JP2006267783A 2006-09-29 2006-09-29 マイコンデバッグシステムおよびマイクロコンピュータ Withdrawn JP2008090390A (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006267783A JP2008090390A (ja) 2006-09-29 2006-09-29 マイコンデバッグシステムおよびマイクロコンピュータ
CNA2007101517458A CN101154178A (zh) 2006-09-29 2007-09-27 微机调试系统
US11/905,228 US20080082802A1 (en) 2006-09-29 2007-09-28 Microcomputer debugging system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006267783A JP2008090390A (ja) 2006-09-29 2006-09-29 マイコンデバッグシステムおよびマイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2008090390A true JP2008090390A (ja) 2008-04-17

Family

ID=39255851

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006267783A Withdrawn JP2008090390A (ja) 2006-09-29 2006-09-29 マイコンデバッグシステムおよびマイクロコンピュータ

Country Status (3)

Country Link
US (1) US20080082802A1 (ja)
JP (1) JP2008090390A (ja)
CN (1) CN101154178A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507720A (ja) * 2011-01-28 2014-03-27 エイアールエム リミテッド デバッグ例外生成の制御
CN103810103A (zh) * 2014-02-28 2014-05-21 北京启源新能科技有限公司 用于对电子设备进行调试的方法及系统
WO2018225402A1 (ja) * 2017-06-07 2018-12-13 日立オートモティブシステムズ株式会社 電力変換装置及びそのデバッグ方法

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2483907A (en) * 2010-09-24 2012-03-28 Advanced Risc Mach Ltd Privilege level switching for data processing circuitry when in a debug mode
GB2530050B (en) 2014-09-10 2021-07-21 Advanced Risc Mach Ltd Debugging in a data processing apparatus
CN106021041B (zh) * 2016-04-29 2020-01-03 中国科学技术大学 基于有限状态机的多周期非流水线cpu调试方法
CN106095631B (zh) * 2016-06-03 2020-01-03 中国科学技术大学 一种基于有限状态机实现的多周期非流水线cpu动态调试方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6567910B2 (en) * 1998-02-13 2003-05-20 Texas Instruments Incorporated Digital signal processing unit with emulation circuitry and debug interrupt enable register indicating serviceable time-critical interrupts during real-time emulation mode
EP0992916A1 (en) * 1998-10-06 2000-04-12 Texas Instruments Inc. Digital signal processor

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014507720A (ja) * 2011-01-28 2014-03-27 エイアールエム リミテッド デバッグ例外生成の制御
CN103810103A (zh) * 2014-02-28 2014-05-21 北京启源新能科技有限公司 用于对电子设备进行调试的方法及系统
WO2018225402A1 (ja) * 2017-06-07 2018-12-13 日立オートモティブシステムズ株式会社 電力変換装置及びそのデバッグ方法
JPWO2018225402A1 (ja) * 2017-06-07 2020-03-19 日立オートモティブシステムズ株式会社 電力変換装置及びそのデバッグ方法

Also Published As

Publication number Publication date
CN101154178A (zh) 2008-04-02
US20080082802A1 (en) 2008-04-03

Similar Documents

Publication Publication Date Title
JP5323828B2 (ja) 仮想計算機制御装置、仮想計算機制御プログラム及び仮想計算機制御回路
JP2008090390A (ja) マイコンデバッグシステムおよびマイクロコンピュータ
JP2007188147A (ja) デバッグ支援装置及びデバッグ処理方法をコンピュータに実行させるためのプログラム
US10379931B2 (en) Computer system
JP3707410B2 (ja) コンピュータ装置、拡張デバイスの管理方法、コンピュータプログラム
KR101793282B1 (ko) 마이크로 컴퓨터
JP2009175960A (ja) 仮想マルチプロセッサシステム
JP2008041059A (ja) マルチプロセッサ制御装置及び情報処理装置
JP2004078683A (ja) コンピュータシステムおよび共有メモリ制御方法
JP2009205277A (ja) 工作機械の制御装置
JP2007193572A (ja) Cpu、集積回路装置、マイクロコンピュータ及び電子機器
JP2008140124A (ja) データ処理装置
JPH11288406A (ja) 動作監視機能付きマルチプロセッサシステム
JP7378254B2 (ja) マルチプロセッサデバイス
US20040267998A1 (en) Method to support legacy and native mode interrupts with multiplexed execution of legacy and native interrupt service
JP2007316986A (ja) システムlsi
JP2011150636A (ja) マイクロプロセッサ及びその制御方法
JP2006185387A (ja) プログラム及びデータ処理装置
JP2010122813A (ja) 情報処理装置、集積回路装置、電子機器
JP6127883B2 (ja) 半導体装置および半導体装置の動作制御方法
JP3729250B2 (ja) 情報処理装置及び電子機器
WO2017104014A1 (ja) 計算機システム、タスク処理方法及びタスク処理プログラム
JPS61184644A (ja) 仮想計算機システム制御方式
JP2007026367A (ja) システムlsi用マルチタスクos
JP2003308102A (ja) ステートマシン制御方式およびステートマシン

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090820

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20101126