(57)【要約】【課題】  プログラムの実行と目的部分のみのデバッグが可能な環境を実現できるマイクロコンピュータ及びそのマイクロコンピュータに接続されるデバッグ装置を提供する。【解決手段】  マイクロコンピュータ３０に、インサーキットエミュレータ１２を有するデバッグ装置１０が接続されるとマイコンコントローラ３１が機能しなくなり、マイコンコントローラ３１のメモリあるいはレジスタの読み出しや書き込み機能の有効／無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部３３を設ける。また、パスワードで暗号化された一連の動作を記録するデータを作る機能と、パスワード入力することで一連の動作を実行する機能とを備え、かつマイクロコンピュータ３０のマイコンコントローラ３１とセキュリティ制御部３３の制御を、暗号化された一連の動作を実行して、目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備える。【選択図】      図１
2007140620.tif 000002
【特許請求の範囲】
【請求項１】
マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されると前記マイコンコントローラが機能しなくなり、前記マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効／無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことを特徴とするターゲットシステムのマイクロコンピュータ。
【請求項２】
請求項１記載のマイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつ前記マイクロコンピュータのマイコンコントローラと前記セキュリティ制御部の制御を、暗号化された一連の動作を実行することで、前記インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることを特徴とするデバッグ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、インサーキットエミュレータを有するデバッグ装置が接続されるマイクロコンピュータ、及びそのマイクロコンピュータに接続されるデバッグ装置に関するものである。
【背景技術】
【０００２】
通常、ソフトウェアデバッグ機能を備えたマイクロコンピュータ（以下、マイコンという）は、インサーキットエミュレータ（ＩＣＥ）を接続することによって、マイコン内部のメモリやレジスタを読み出し又は書き込みすることができるようになる。同様にして、マイコンを通して外部に接続されたＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）又はフラッシュメモリあるいはＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）を読み出し又は書き込みすることができる。このようにインサーキットエミュレータを使用するとプログラム開発者は、自分が開発する部分でなくてもプログラムの読み出しをすることで解析できてしまう。
【０００３】
マイコンによっては、インサーキットエミュレータからの特殊な操作によって、メモリ内容が読み出し又は書き込みできるようになっているものがある。この特殊な操作は、デバッグするときは、インサーキットエミュレータの持っている通常の機能により実行することでできてしまう。
【０００４】
また、マイコンによっては、量産製品にはデバッグ機能を削除したタイプを用意するものもある。しかし、これでは、量産製品のマイコンと、デバッグ用に使用するマイコンの仕様が違うことにより量産製品のマイコンのプログラムでは不具合が起こるが、デバッグ用に使用するマイコンのプログラムでは不具合が起こらないというおそれがある。
【０００５】
ところで、インサーキットエミュレータに相当するデバッグ装置を接続し、所定のデータ又は信号を入力した場合に、内部のデータ又はプログラムを読み取ることができる半導体装置（マイコン相当）と、それを具備するインサーキットエミュレータに関する技術が開示されている（例えば、特許文献１参照。）。
【特許文献１】特開２００４−８６５２５号公報（第ページ６〜１３、図１〜９）
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、このような技術においては、ＲＯＭやＲＡＭ等のマイコン周辺の装置ごとにメモリを読み出せなくするプロテクト回路を有するものであり、プロテクト回路の占める割合が比較的大きくなる。また、複数又は大勢のプログラム開発者がプログラム開発する場合において、これらのプログラム開発者を管理する必要性に関して考慮されておらず、さらに、インサーキットエミュレータを制御するデバッグ手段であるデバッグソフトウェアの機能についても具体的な実現手段に関する開示がない。
【０００７】
本発明は、上記事情に鑑みなされたもので、大人数のプロジェクトあるいは複数の会社によってプログラムが作成される場合でも、そのプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにしたマイコン、及びそのようなマイコンの仕組みをデバッグする人に開示することなく、目的とする部分のデバッグを可能とするインサーキットエミュレータを有するデバッグ装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記目的を達成するために請求項１記載の発明にあっては、マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されると前記マイコンコントローラが機能しなくなり、前記マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効／無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことを特徴とするものである。セキュリティ制御部によりプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにし、目的とする部分のデバッグが可能になる。
【０００９】
請求項２に記載の発明にあっては、マイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつ前記マイクロコンピュータのマイコンコントローラと前記セキュリティ制御部の制御を、暗号化された一連の動作を実行することで、前記インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることを特徴とするものである。デバッグ装置では、目的とする部分のデバッグが可能となる。
【発明の効果】
【００１０】
マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されるとマイコンコントローラが機能しなくなり、マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効／無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことで、セキュリティ制御部によりプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにし、目的とする部分のデバッグが可能になる。
【００１１】
また、マイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつマイクロコンピュータのマイコンコントローラとセキュリティ制御部の制御を、暗号化された一連の動作を実行することで、インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることで、目的とする部分のデバッグが可能となる。
【発明を実施するための最良の形態】
【００１２】
以下、本発明を図示の一実施形態により具体的に説明する。図１は本発明実施形態のマイコン及びインサーキットエミュレータを有するデバッグ装置を説明する図、図２は本発明実施形態のマイコンの詳細を説明する図、図３はデバッグ装置の構成を説明する図、図４はパーソナルコンピュータによるデバッグソフトの動作を説明するフローチャートである。
【００１３】
図１に示すように、本実施形態のデバッグ装置１０は、パーソナルコンピュータ１１とインサーキットエミュレータ１２とを有し、このインサーキットエミュレータ１２が、ターゲットシステム２０を構成するマイクロコンピュータ（マイコン）３０にＩＣＥ接続コネクタ２１を介して接続されるようになっている。マイコン３０は、インサーキットエミュレータ１１から制御されるマイコンコントローラ３１と、このマイコンコントローラ３１に接続されるマイコンコア３２と、セキュリティ制御部３３と、メモリやレジスタからなるマイコン周辺回路３４とを有する。このセキュリティ制御部３３は、指定アドレス毎にプロテクト設定ができるアドレス設定レジスタを備え、このプロテクト設定によってマイコンコア３２からマイコン周辺回路３４へのメモリやレジスタの読み出しや書き込みを行うためのアドレスを検出して、アドレスプロテクト又はデータのプロテクトが可能になる機能を有する部分である。また、インサーキットエミュレータ１２は、パーソナルコンピュータ１１に接続され、パーソナルコンピュータ１１上で動作するセキュリティ機能を備えたデバッグ手段となるデバッグソフトウェアによって制御されるようになっている。
【００１４】
図２に示すように、マイコン３０のセキュリティ制御部３３は、セキュリティキー検出部３７と、制御命令を認識するＩＣＥコマンド解析部３８と、アドレス検出回路３９と、プロテクト回路４０と、プロテクトアドレス設定レジスタ４１とを有する。マイコン周辺回路３４は、例えば、ＲＯＭ又はフラッシュメモリ４２、ＲＡＭ４３、その他周辺回路４４、マイコン外部接続コントローラ４６を介して接続された周辺回路４６を有する。
【００１５】
マイコン３０は、ＩＣＥ接続コネクタ２１に接続されたインサーキットエミュレータ１２から、マイコン３０を制御する状態になると、セキュリティ制御部３３により、マイコン３０の全てのアドレス空間のレジスタやメモリの読み出しと書き込みがプロテクトされる。なお、マイコン３０には、デジタルシグナルプロセッサ（ＤＳＰ）を含むものである。
【００１６】
次に、セキュリティ制御部３３のセキュリティキー検出部３７をインサーキットエミュレータ１２が制御し、セキュリティ制御部３３を操作するためのセキュリティコードをセットする。
【００１７】
セキュリティキーが正しくセットされると、インサーキットエミュレータ１２からの制御命令を認識するＩＣＥコマンド解析部３７が動作し、インサーキットエミュレータ１２から送れられてくるメモリあるいはレジスタの読み出し命令や書き込み命令なのか、又は、マイコン３０のプログラムを実行させる命令なのかを判断してプロテクト回路部４０に対して、プロテクト解除信号を送る。プログラムを実行させる命令を受け取った場合は、プロテクトアドレス空間であってもプロテクトを解除して、プログラム実行を妨げないようにする。
【００１８】
また、インサーキットエミュレータ１２が、プロテクトアドレス設定レジスタ４１を設定することにより、メモリあるいはレジスタの読み出し又は書き込みアドレス空間を設定する。それに従い、アドレス検出回路３９は、マイコンコア３２とマイコン周辺回路３４との間のアドレス又はデータをプロテクトするための信号を生成し、その信号をプロテクト回路４０へ送信する。
【００１９】
プロテクト回路４０は、セキュリティキー検出部３７からのアクセス可能信号とＩＣＥコマンド解析部３８からのプロテクト解除信号と、アドレス検出回路３９からのプロテクト信号によって、マイコンコア３２とマイコン周辺回路３４との間のアドレスバス又はデータバスを接続又は切断する。
【００２０】
図３に示すように、パーソナルコンピュータ１１は、デバッグソフトからなるデバッグ手段１３及びＩＣＥインターフェース回路１４を有し、インサーキットエミュレータ１２は、パーソナルコンピュータ１１とのインターフェース回路１６と、インターフェースプロトコル変換回路１６とを有する。パーソナルコンピュータ１１は、ＩＣＥインターフェース回路１４によりインサーキットエミュレータ１２のインターフェース回路１６に接続され、インサーキットエミュレータ１２は、ＩＣＥ接続コネクタ２１を介してマイコン３０に接続されるようになっている。インサーキットエミュレータ１２は、デバッグ手段１３であるデバッグソフトからの指示を受け取り、ターゲットシステム２０のマイコン３０に合わせたプロトコルに変換し、ターゲットのマイコンコントローラ３１とセキュリティ制御部３３を制御する。
【００２１】
図４に示すように、まず、デバッグ手段１３であるデバッグソフトウェアを起動する（ＳＴ１）と、パーソナルコンピュータ１１に接続したインサーキットエミュレータ１２から本発明のマイコン３０への制御信号が送信され、マイコン３０のセキュリティ制御部３３の働きによって、全てのアドレス空間のメモリあるいはレジスタの読み出しや書き込みのメモリ操作はできない状態とする。しかし、デバッグ手段１３であるデバッグソフトウェアは、プログラムの実行は可能とするために、デバッグソフトウェアによるマイコン３０を実行させるコマンドを行うとき、プロテクトを解除して、プログラム実行するように制御する。これによって、デバッグソフトウェアによるメモリの読み出しができなくても、すでにターゲットシステム２０のＲＯＭあるいはフラッシュメモリ４２に書き込まれているプログラムの実行が可能である（ＳＴ２）。また、デバッグソフトウェアによるプログラムの書き込みはプロテクトしない仕様にして、全体のプログラムの書き込みと実行を可能とするように制御しても良い。
【００２２】
次に、デバッグソフトウェアとインサーキットエミュレータ１２によりデバッグするための環境を構築する者は、マイコン３０のセキュリティを解除するための一連の制御を知っており、その一連の制御スクリプト（デバッグソフトウェアで行う、マイコン３０に設定しなければいけないセキュリティキーコードの書き込み操作や、プロテクトアドレス設定レジスタ４１へのプロテクト又はプロテクト解除アドレス空間の設定操作の一連を記述したもの）をデバッグソフトウェアによって実行実験し、目的部分のみのアドレス空間のレジスタやメモリの読み出しや書き込みが可能になることを確認する。
【００２３】
次に、確認ができたなら、その一連の動作を記述したスクリプトファイルをパスワード設定した暗号化したファイルへ変換する（ＳＴ３）。このファイルは、複数又は大勢で分担してプログラム開発とデバッグをする場合に、デバッグ可能アドレス空間（デバッグソフトによるメモリ又はレジスタを読み出し又は書き込み可能なアドレス空間）をそれぞれに合わせて設定し、複数の種類を作成する。ファイルは暗号化されていて、デバッグソフトウェアの何の操作をしたのかは解析困難であるので、パスワードをつけないでスクリプトファイルを作成することもできる。
【００２４】
開発の管理者は、プログラム開発とデバッグをする人に、デバッグ目的のアドレス空間の読み出しや書き込みをプロテクト解除するための暗号化変換したファイルと、その暗号化されたファイルをデバッグソフトウェアで実行するためのパスワードを渡す。これにより、プログラムやデータの解析をされては困る部分の情報は開示しないで、開発環境を配布したことになる。プログラム開発とデバッグをする人は、配布されたスクリプトファイルをデバッグソフトウェアでパスワード入力して実行し、プログラム開発とデバッグを行う（ＳＴ４）。
【００２５】
ここで、デバッグ手段１３は、目的部分のメモリあるいはレジスタの読み出しだけでなく、デバッグ目的以外の部分のメモリの読み出しはできないが、書き込みだけをできるようにする機能を持たせることができる。このようにすることで全体のプログラムは書き込みできるが読み出しは、デバッグ目的の部分だけに限ることができる。
【００２６】
また、デバッグ手段１３は、プログラム作成ソフトウェアと連携して、プログラム作成時にプログラム作成ソフトウェアが自動的にデバッグ可能アドレス空間情報を提供するようになると、デバッグ手段を使う人を管理する人が便利になる。
【００２７】
上記構成によれば、複数でのプログラム開発やデバッグを行う場合に、それぞれに必要なアドレス空間のみを操作可能とする開発環境を、開発管理者が作成管理できる。また、マイコン３０の製造元においても、本発明のデバッグソフトウェアで使用する暗号化されたファイルを配布することにより、セキュリティ仕様の詳細仕様を開示する必要がない。よって、このような仕様のマイコン３０とインサーキットエミュレータ１２を有するデバッグ装置１０により、マイコンコア開発元、マイコン製造元、アプリケーションプログラム開発管理会社、各プログラム開発管理者のそれぞれがセキュリティを確保したままで、プログラム開発を行うことが容易に実現することができる。
【００２８】
上記のように構成した本発明のデバッグ装置１０によって、マイコン３０のセキュリティ制御部３３の詳細を把握している一部の人によって作られた暗号化された一連の操作（スクリプト）を行うファイルを、インサーキットエミュレータ１２を制御するデバッグ手段１３であるデバッグソフトウェアで動作するパーソナルコンピュータ１１によって実行することで、デバッグを行う人はパスワード入力を行い、目的部分のプログラムやデータやレジスタの読み出しや書き込みができ、目的のプログラムのみデバッグすることができるようになる。
【産業上の利用可能性】
【００２９】
インサーキットエミュレータが接続されたときのマイコン、及びそのようなマイコンと接続するインサーキットエミュレータとそれをコントロールするデバッグソフトウェアに利用することができる。
【図面の簡単な説明】
【００３０】
【図１】本発明実施形態のマイコン及びインサーキットエミュレータを有するデバッグ装置を説明する図である。
【図２】本発明実施形態のマイコンの詳細を説明する図である。
【図３】本発明実施形態のデバッグ装置の構成を説明する図である。
【図４】本発明実施形態のパーソナルコンピュータによるデバッグソフトの動作を説明するフローチャートである。
【符号の説明】
【００３１】
１０  デバッグ装置
１１  パーソナルコンピュータ
１２  インサーキットエミュレータ
１３  デバッグ手段
１４  ＩＣＥインターフェース回路
１５  パーソナルコンピュータとのインターフェース回路
１６  インターフェースプロトコル変換回路
２０  ターゲットシステム
２１  ＩＣＥ接続コネクタ
３０  マイクロコンピュータ
３１  マイコンコントローラ
３２  マイコンコア
３３  セキュリティ制御部
３４  マイコン周辺回路
３７  セキュリティキー検出部
３８  ＩＣＥコマンド解析部
３９  アドレス検出回路
４０  プロテクト回路
４１  プロテクト設定レジスタ
４２  ＲＯＭあるいはフラッシュメモリ
４３  ＲＡＭ
４４  その他周辺回路
４５  マイコン外部接続コントローラ
４６  周辺回路
【図１】
2007140620.tif 000003
【図２】
2007140620.tif 000004
【図３】
2007140620.tif 000005
【図４】
2007140620.tif 000006