JP2006318172A - マイクロコンピュータ - Google Patents

マイクロコンピュータ Download PDF

Info

Publication number
JP2006318172A
JP2006318172A JP2005139574A JP2005139574A JP2006318172A JP 2006318172 A JP2006318172 A JP 2006318172A JP 2005139574 A JP2005139574 A JP 2005139574A JP 2005139574 A JP2005139574 A JP 2005139574A JP 2006318172 A JP2006318172 A JP 2006318172A
Authority
JP
Japan
Prior art keywords
trace information
specific area
stored
debug
chip
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.)
Pending
Application number
JP2005139574A
Other languages
English (en)
Inventor
Takashi Nasu
隆 那須
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 JP2005139574A priority Critical patent/JP2006318172A/ja
Publication of JP2006318172A publication Critical patent/JP2006318172A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

【課題】ユーザプログラムのデバッグを簡易かつ低コストで実行し得るマイクロコンピュータを得る。
【解決手段】マイクロコンピュータ1は、同一のICチップ内に形成された、CPU2、デバッグモジュール3、RAM4、ROM5、周辺I/O6、外部バス制御部7、アドレスバス8、及びデータバス9を備えている。RAM4の記憶領域のうちユーザプログラムが格納されていない任意の領域が特定領域40として指定され、ユーザプログラムのデバッグに必要なトレース情報は、DMA機能を有するデバッグモジュール3によって特定領域40に格納される。従って、エミュレータ専用のICチップやデバッグ用の専用記憶装置を用いる必要がないため、ユーザプログラムのデバッグを簡易かつ低コストで実行することができる。
【選択図】図1

Description

本発明は、マイクロコンピュータに関し、特に、オンチップデバッグ機能を備えたマイクロコンピュータに関する。
マイクロコンピュータのプログラムデバッグを行うためにプログラムの動作履歴をトレースする方法として、従来は、以下のような方法が用いられている。
第1の方法として、内部バスを取り出したエミュレータ専用のICチップを使用する方法がある。
第2の方法として、デバッグに必要な情報(以下「トレース情報」と称す)を生成するオンチップデバッグ機能をICチップ内に用意し、生成されたトレース情報を出力端子からICチップの外部に出力する方法がある。
第3の方法として、トレース情報を生成するオンチップデバッグ機能と、トレース情報を記憶するための専用記憶装置(メモリやFIFO等)とをICチップ内に用意し、生成されたトレース情報を専用記憶装置に蓄積する方法がある。
なお、オンチップデバッグ機能を備えたマイクロコンピュータに関する技術は、例えば下記特許文献1,2に開示されている。
特開2004−13289号公報 特開2004−206283号公報
しかしながら、従来の第1の方法によると、内部バスの動作周波数が高くなると、エミュレータ専用のICチップを用いたシステムの実現が困難になるという問題がある。
また、従来の第2の方法によると、オンチップデバッグ機能を用いることにより、内部バスの動作周波数についての制約はなくなる。ところが、トレース情報を出力するための出力端子の個数や動作周波数によって、出力可能なトレース情報のデータ量が決定されるため、デバッグ対象となるICチップの規模やコストによっては、トレース情報出力用の出力端子の個数や動作周波数を十分に確保することができないという問題がある。
さらに、従来の第3の方法によると、トレース情報を記憶するためだけの専用記憶装置をICチップ内に用意することは、チップ面積の増大やコストの上昇を招くという問題がある。
本発明はかかる問題を解決するために成されたものであり、エミュレータ専用のICチップやデバッグ用の専用記憶装置を用いることなく、プログラムのデバッグを容易かつ低コストで実行し得るマイクロコンピュータを得ることを目的とする。
本発明に係るマイクロコンピュータは、ICチップ内に形成されたCPUと、前記ICチップ内に形成され、前記CPUによって実行されるプログラムの格納領域及び前記プログラムの実行時に使用される領域であるメモリと、前記ICチップ内に形成され、前記CPUを介さずに前記メモリに直接アクセス可能なデバッグモジュールとを備え、前記メモリが有する記憶領域の一部を、前記プログラムのデバッグに必要なトレース情報が格納される特定領域として指定可能であり、前記トレース情報は、前記デバッグモジュールから前記メモリへの直接アクセスによって前記特定領域に格納されることを特徴とする。
本発明に係るマイクロコンピュータによれば、プログラムのデバッグを容易に行え、かつ低コストで実現できる。
以下、本発明の実施の形態について、図面を用いて詳細に説明する。なお、異なる図面において同一の符号を付した要素は、同一又は相当する要素を示すものとする。
図1は、本発明の実施の形態に係るマイクロコンピュータ1の機能構成を示すブロック図である。マイクロコンピュータ1は、同一のICチップ内に形成された、CPU2、デバッグモジュール3、RAM4、ROM5、周辺I/O6、外部バス制御部7、アドレスバス8、及びデータバス9を備えている。デバッグモジュール3は、JTAG制御部10、リソースアクセス制御部11、及びトレース制御部12を有している。リソースアクセス制御部11は、DMA(Direct Memory Access)機能を有しており、CPU2を介さずにRAM4に直接アクセスすることが可能である。
ROM5には、主にCPU2によって実行されるプログラムが格納される。RAM4は、主にCPU2が実行するプログラムの作業領域として使用される。CPU2は、RAM4又はROM5等のメモリに置かれたプログラムを実行する。また、後述するように、RAM4には、ユーザプログラムのデバッグに必要なトレース情報が格納される。つまり、RAM4が有する記憶領域の一部を、トレース情報が格納される領域(以下「特定領域」と称す)40として指定可能であり、トレース情報は、デバッグモジュールか3らRAM4への直接アクセスによって特定領域40に格納される。
ICチップ上には、IEEE1149.1で定められたJTAGインタフェース13と、トレース情報をICチップの外部に出力するための出力端子14とが形成されている。JTAGインタフェース13はJTAG制御部10に接続されており、出力端子14はトレース制御部12に接続されている。また、JTAGインタフェース13及び出力端子14は、通信経路16を介して、ICチップの外部のデバッグツール15に接続可能である。
図2は、デバッグモジュール3が有するトレース制御部12の機能構成を示すブロック図である。トレース制御部12は、CPU2から出力された信号及びバスアクセスの状態を取り込み、トレース情報を出力する。トレース制御部12は、トレース情報を出力するための出力制御部20を有している。
出力制御部20は、トレース情報を、ICチップの外部に出力するために出力端子14に向けて出力するか、あるいはRAM4の特定領域40に格納するためにリソースアクセス制御部11へ向けて出力するかを、ユーザの指定によって選択する選択回路21を有している。トレース情報を外部に出力するか特定領域40に格納するかを任意に選択可能としたことにより、ユーザの利便性を向上することができる。
図3は、分岐トレースに関して、出力制御部20から出力端子14を介してICチップの外部に出力されたトレース情報の形式を示す図である。分岐命令が発生した後にCPU2が連続して実行した命令のバイト数(SIZE)と、分岐先アドレス(TA)とが、複数のパケットに分割されて出力端子14から出力される。これにより、CPU2が実行した命令列に関する情報をトレースすることが可能となる。
同様に、図4は、データトレース(CPU2の命令によるオペランドアクセス情報のトレース)に関して、出力制御部20から出力端子14を介してICチップの外部に出力されたトレース情報の形式を示す図である。複数のパケットに分割されて出力端子14から出力されるトレース情報には、CPU2によって実行されたデータ(DATA)及びアドレス(ADDR)が含まれている。
図5は、デバッグモジュール3が有するJTAG制御部10及びリソースアクセス制御部11の機能構成を示すブロック図である。JTAG制御部10は、TAPコントローラ30とJTAGレジスタ31とを有しており、リソースアクセス制御部11は、デバッグ用DMA機能部32を有している。デバッグ用DMA機能部32は、レジスタ33〜36を有している。
JTAGレジスタ31には、デバッグ用DMA機能部32によってアクセスされるアドレス、デバッグ用DMA機能部32によって扱われるデータ、及びアクセスサイズや読み書きの種別等が設定される。図1に示した外部のデバッグツール15から送られてきた指示は、JTAGインタフェース13を介してTAPコントローラ30に入力され、TAPコントローラ30がJTAGレジスタ31を設定又は参照することによって、その指示が実行される。JTAGレジスタ31はデバッグ用DMA機能部32のレジスタ33に接続されており、デバッグツール15は、CPU2を介さずにRAM4に直接アクセスすることが可能である。
ここで、デバッグ用DMA機能部32は、CPU2がデバッグ対象であるユーザプログラムを実行中であっても、CPU2による実行を中断させることなく、メモリリソースの設定及び参照が可能である。これは、CPU2のプログラム実行を中断してデバッグツール15から要求されたメモリアクセスを行った後に、元のプログラムに復帰するという処理を行った場合に比べて、デバッグ用DMA機能部32によるアドレスバス8及びデータバス9の占有によって発生するオーバーヘッドが遙かに少ないためである。
デバッグ用DMA機能部32は、デバッグツール15からのDMAを処理するレジスタ33に加えて、レジスタ34〜36を有している。レジスタ34には特定領域40の先頭アドレスが設定され、レジスタ36には特定領域40のサイズが設定される。つまり、レジスタ34,36によって、特定領域40として指定される部分のRAM4の記憶領域のアドレスが設定される。レジスタ34,36はCPU2及びデバッグ用DMA機能部32によって設定及び変更が可能であり、ユーザは、RAM4の記憶領域のうちプログラムが使用していない領域を、特定領域40として指定することができる。
レジスタ35には、トレース制御部12の選択回路21(図2参照)によって特定領域40へのトレース情報の格納が選択されている場合において、トレース情報を格納するために現在アクセスされている部分の特定領域40のアドレスが設定される。レジスタ35は、CPU2及びデバッグ用DMA機能部32によって参照可能である。レジスタ35を参照することによって、特定領域40のうちのどの程度までトレース情報が格納されたかを把握することができる。
デバッグ用DMA機能部32は、トレース制御部12からリソースアクセス制御部11に送られてきたトレース情報を書き込みデータとして選択することが可能であり、これにより、トレース制御部12から送られてきたトレース情報がRAM4内の特定領域40へ格納される。
図6は、デバッグ用DMA機能部32によって特定領域40へトレース情報が格納される状況を模式的に示す図である。レジスタ35に設定されているアドレスは、デバッグ用DMA機能部32からアドレスバス8を介して、RAM4に送られる。また、トレース制御部12から出力されたトレース情報は、デバッグ用DMA機能部32及びデータバス9をこの順に介して、RAM4に送られる。そして、トレース制御部12から送られてきたトレース情報は、特定領域40のうち、デバッグ用DMA機能部32から送られてきたアドレスで示される領域41に格納される。
図7は、分岐トレース及びデータトレースに関して、トレース制御部12から出力されて特定領域40に格納されるトレース情報の形式を示す図である。図7には、識別情報等が8ビット、アドレス情報が24ビット、データ情報が32ビットの、合計64ビットで一つのトレース情報が構成された例が示されている。
図3,4と図7とを比較すると明らかなように、出力端子14を介してICチップの外部に出力されるトレース情報(図3,4)と、特定領域40に格納されるトレース情報(図7)とでは、情報の形式が互いに異なっている。具体的には、外部に出力されるトレース情報は複数のパケットに分割されているのに対し、特定領域40に格納されるトレース情報は複数のパケットに分割されていない。このように、外部に出力するか特定領域40に格納するかによってトレース情報の形式を異ならせることにより、その後にトレース情報を利用する際に、利用目的に応じてトレース情報の形式を変換し直すという手間を省略することができる。
図8〜10は、特定領域40の全領域にトレース情報が格納された場合の処理を示す模式図である。図8に示した例では、特定領域40の最終アドレスまでトレース情報が格納された場合、デバッグモジュール3から特定領域40へのトレース情報の格納動作が終了される。その後は、ユーザプログラムの実行は継続されるが、特定領域40へのトレース情報の格納は行われない。
図9に示した例では、特定領域40の最終アドレスまでトレース情報が格納された場合、ユーザプログラムの実行が終了するまで、すでに特定領域40に格納されている古いトレース情報が、特定領域40の先頭アドレスから順に、新たなトレース情報によって上書きされる。
図10に示した例では、特定領域40の最終アドレスまでトレース情報が格納された場合、デバッグ例外による割り込みが発生されてCPU2に通知されるとともに、ユーザプログラムの実行が停止される。その後は、ユーザプログラムの実行が停止されるため、特定領域40へのトレース情報の格納も行われない。なお、特定領域40の最終アドレスまでトレース情報が格納された場合ではなく、図10に示すように、特定領域40の空き容量が残り少なくなった場合に、同様の処理を行っても良い。
特定領域40の全領域にトレース情報が格納された場合に、図8〜10のいずれの処理を行うかをユーザによって任意に選択可能としたことにより、ユーザの利便性を向上することができる。
このように本実施の形態に係るマイクロコンピュータ1によれば、RAM4の記憶領域のうちユーザプログラムが格納されていない任意の領域が特定領域40として指定され、ユーザプログラムのデバッグに必要なトレース情報は、DMA機能を有するデバッグモジュール3によって特定領域40に格納される。従って、エミュレータ専用のICチップやデバッグ用の専用記憶装置を用いる必要がないため、ユーザプログラムのデバッグを簡易かつ低コストで実行することができる。
本発明の実施の形態に係るマイクロコンピュータの機能構成を示すブロック図である。 デバッグモジュールが有するトレース制御部の機能構成を示すブロック図である。 分岐トレースに関して、出力制御部から出力端子を介してICチップの外部に出力されたトレース情報の形式を示す図である。 データトレースに関して、出力制御部から出力端子を介してICチップの外部に出力されたトレース情報の形式を示す図である。 デバッグモジュールが有するJTAG制御部及びリソースアクセス制御部の機能構成を示すブロック図である。 デバッグ用DMA機能部によって特定領域へトレース情報が格納される状況を模式的に示す図である。 分岐トレース及びデータトレースに関して、トレース制御部から出力されて特定領域に格納されるトレース情報の形式を示す図である。 特定領域の全領域にトレース情報が格納された場合の処理を示す模式図である。 特定領域の全領域にトレース情報が格納された場合の処理を示す模式図である。 特定領域の全領域にトレース情報が格納された場合の処理を示す模式図である。
符号の説明
1 マイクロコンピュータ、2 CPU、3 デバッグモジュール、4 RAM、14 出力端子、21 選択回路、34〜36 レジスタ、40 特定領域。

Claims (5)

  1. ICチップ内に形成されたCPUと、
    前記ICチップ内に形成され、前記CPUがアクセス可能なメモリと、
    前記ICチップ内に形成され、前記CPUを介さずに前記メモリに直接アクセス可能なデバッグモジュールと
    を備え、
    前記メモリが有する記憶領域の一部を、プログラムのデバッグに必要なトレース情報が格納される特定領域として指定可能であり、
    前記トレース情報は、前記デバッグモジュールから前記メモリへの直接アクセスによって前記特定領域に格納される、マイクロコンピュータ。
  2. 前記デバッグモジュールは、
    前記特定領域として指定される部分の前記記憶領域のアドレスが設定される第1のレジスタと、
    前記トレース情報を格納するために現在アクセスされている部分の前記特定領域のアドレスが設定される第2のレジスタと
    を有する、請求項1に記載のマイクロコンピュータ。
  3. 前記トレース情報を前記ICチップの外部に出力するための出力端子をさらに備え、
    前記デバッグモジュールは、前記トレース情報を、前記出力端子を介して外部に出力するか、前記特定領域に格納するかを選択する選択手段を有する、請求項1又は2に記載のマイクロコンピュータ。
  4. 前記出力端子を介して外部に出力される前記トレース情報と、前記特定領域に格納される前記トレース情報とでは、情報の形式が互いに異なることを特徴とする、請求項3に記載のマイクロコンピュータ。
  5. 前記特定領域の全領域に前記トレース情報が格納された場合の処理として、
    (a)前記デバッグモジュールから前記特定領域への前記トレース情報の格納動作を終了させる処理、
    (b)前記プログラムの実行が終了するまで、すでに前記特定領域に格納されている前記トレース情報を、新たなトレース情報によって上書きする処理、
    (c)前記プログラムの実行を停止させ、デバッグ例外を発生させる処理、
    のいずれかを任意に選択可能である、請求項1〜4のいずれか一つに記載のマイクロコンピュータ。
JP2005139574A 2005-05-12 2005-05-12 マイクロコンピュータ Pending JP2006318172A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005139574A JP2006318172A (ja) 2005-05-12 2005-05-12 マイクロコンピュータ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005139574A JP2006318172A (ja) 2005-05-12 2005-05-12 マイクロコンピュータ

Publications (1)

Publication Number Publication Date
JP2006318172A true JP2006318172A (ja) 2006-11-24

Family

ID=37538806

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005139574A Pending JP2006318172A (ja) 2005-05-12 2005-05-12 マイクロコンピュータ

Country Status (1)

Country Link
JP (1) JP2006318172A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211813A (ja) * 2013-04-19 2014-11-13 三菱電機株式会社 トレース収集回路及びトレース収集方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62286340A (ja) * 1986-06-04 1987-12-12 Fujitsu Ltd 回線トレ−ス制御方式
JPS63128446A (ja) * 1986-11-19 1988-06-01 Fujitsu Ltd トレ−ス方式
JPH0385648A (ja) * 1989-08-30 1991-04-10 Oki Electric Ind Co Ltd プログラムの動作履歴情報記録方式
JPH10109643A (ja) * 1996-10-08 1998-04-28 Hitachi Zosen Corp 水陸両用車における換気装置
JPH10240569A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 計算機のトレース装置
JP2001109643A (ja) * 1999-10-06 2001-04-20 Matsushita Electric Ind Co Ltd デバッグ機能を内蔵したマイクロプロセッサ
WO2004095279A1 (en) * 2003-04-17 2004-11-04 Arm Limited Diagnostic circuit for an integrated circuit

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS62286340A (ja) * 1986-06-04 1987-12-12 Fujitsu Ltd 回線トレ−ス制御方式
JPS63128446A (ja) * 1986-11-19 1988-06-01 Fujitsu Ltd トレ−ス方式
JPH0385648A (ja) * 1989-08-30 1991-04-10 Oki Electric Ind Co Ltd プログラムの動作履歴情報記録方式
JPH10109643A (ja) * 1996-10-08 1998-04-28 Hitachi Zosen Corp 水陸両用車における換気装置
JPH10240569A (ja) * 1997-02-28 1998-09-11 Toshiba Corp 計算機のトレース装置
JP2001109643A (ja) * 1999-10-06 2001-04-20 Matsushita Electric Ind Co Ltd デバッグ機能を内蔵したマイクロプロセッサ
WO2004095279A1 (en) * 2003-04-17 2004-11-04 Arm Limited Diagnostic circuit for an integrated circuit

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014211813A (ja) * 2013-04-19 2014-11-13 三菱電機株式会社 トレース収集回路及びトレース収集方法

Similar Documents

Publication Publication Date Title
JP2000112783A (ja) プログラム検査方法、プログラム検査装置及びプログラム検査プログラムを記憶した記憶媒体
JP2006507586A (ja) 埋め込みシステムの解析装置及び方法
US8484517B2 (en) High compression program flow trace
JP2006092029A (ja) マイクロコンピュータ及びトレース制御方法
JP2006318172A (ja) マイクロコンピュータ
JP5116606B2 (ja) ソフトウェア解析システム
JP2020140380A (ja) 半導体装置及びデバッグシステム
JP2008140124A (ja) データ処理装置
JP4600134B2 (ja) マルチプロセッサシステム
JP5354463B2 (ja) プログラマブルコントローラ
JP5850732B2 (ja) 半導体装置及びその制御方法
JP4305389B2 (ja) 時間追跡可能メッセージを送信することによるマイクロプロセッサプログラムの監視
JP2004013289A (ja) マイクロコントローラのオンチップデバッグ方法
JPWO2010029682A1 (ja) 情報処理装置
JP2004038464A (ja) デバッグ機能内蔵マイクロコンピュータ
JP2006090727A (ja) オンチップ・ロジックアナライザ
JP4527419B2 (ja) プログラムトレース方法およびトレース処理システム
CN117724664A (zh) 数据写入方法、装置、设备及存储介质
KR100658485B1 (ko) 마이크로프로세서 개발시스템
JP2008262470A (ja) マイクロコンピュータ
JP2010231405A (ja) 半導体装置及びその診断システム
JP2005276065A (ja) エミュレータ
JPH05342378A (ja) エバリエーションチップ
JP2004280664A (ja) ビット演算装置
JP2004206425A (ja) トレース装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080408

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20080408

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20100126

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A712

Effective date: 20100524

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20100907

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101104

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20101207