説明

マイクロコンピュータ及びそのマイクロコンピュータに接続されるデバッグ装置

【課題】 プログラムの実行と目的部分のみのデバッグが可能な環境を実現できるマイクロコンピュータ及びそのマイクロコンピュータに接続されるデバッグ装置を提供する。
【解決手段】 マイクロコンピュータ30に、インサーキットエミュレータ12を有するデバッグ装置10が接続されるとマイコンコントローラ31が機能しなくなり、マイコンコントローラ31のメモリあるいはレジスタの読み出しや書き込み機能の有効/無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部33を設ける。また、パスワードで暗号化された一連の動作を記録するデータを作る機能と、パスワード入力することで一連の動作を実行する機能とを備え、かつマイクロコンピュータ30のマイコンコントローラ31とセキュリティ制御部33の制御を、暗号化された一連の動作を実行して、目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インサーキットエミュレータを有するデバッグ装置が接続されるマイクロコンピュータ、及びそのマイクロコンピュータに接続されるデバッグ装置に関するものである。
【背景技術】
【0002】
通常、ソフトウェアデバッグ機能を備えたマイクロコンピュータ(以下、マイコンという)は、インサーキットエミュレータ(ICE)を接続することによって、マイコン内部のメモリやレジスタを読み出し又は書き込みすることができるようになる。同様にして、マイコンを通して外部に接続されたROM(Read Only Memory)又はフラッシュメモリあるいはRAM(Random Access Memory)を読み出し又は書き込みすることができる。このようにインサーキットエミュレータを使用するとプログラム開発者は、自分が開発する部分でなくてもプログラムの読み出しをすることで解析できてしまう。
【0003】
マイコンによっては、インサーキットエミュレータからの特殊な操作によって、メモリ内容が読み出し又は書き込みできるようになっているものがある。この特殊な操作は、デバッグするときは、インサーキットエミュレータの持っている通常の機能により実行することでできてしまう。
【0004】
また、マイコンによっては、量産製品にはデバッグ機能を削除したタイプを用意するものもある。しかし、これでは、量産製品のマイコンと、デバッグ用に使用するマイコンの仕様が違うことにより量産製品のマイコンのプログラムでは不具合が起こるが、デバッグ用に使用するマイコンのプログラムでは不具合が起こらないというおそれがある。
【0005】
ところで、インサーキットエミュレータに相当するデバッグ装置を接続し、所定のデータ又は信号を入力した場合に、内部のデータ又はプログラムを読み取ることができる半導体装置(マイコン相当)と、それを具備するインサーキットエミュレータに関する技術が開示されている(例えば、特許文献1参照。)。
【特許文献1】特開2004−86525号公報(第ページ6〜13、図1〜9)
【発明の開示】
【発明が解決しようとする課題】
【0006】
しかしながら、このような技術においては、ROMやRAM等のマイコン周辺の装置ごとにメモリを読み出せなくするプロテクト回路を有するものであり、プロテクト回路の占める割合が比較的大きくなる。また、複数又は大勢のプログラム開発者がプログラム開発する場合において、これらのプログラム開発者を管理する必要性に関して考慮されておらず、さらに、インサーキットエミュレータを制御するデバッグ手段であるデバッグソフトウェアの機能についても具体的な実現手段に関する開示がない。
【0007】
本発明は、上記事情に鑑みなされたもので、大人数のプロジェクトあるいは複数の会社によってプログラムが作成される場合でも、そのプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにしたマイコン、及びそのようなマイコンの仕組みをデバッグする人に開示することなく、目的とする部分のデバッグを可能とするインサーキットエミュレータを有するデバッグ装置を提供することを目的とする。
【課題を解決するための手段】
【0008】
上記目的を達成するために請求項1記載の発明にあっては、マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されると前記マイコンコントローラが機能しなくなり、前記マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効/無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことを特徴とするものである。セキュリティ制御部によりプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにし、目的とする部分のデバッグが可能になる。
【0009】
請求項2に記載の発明にあっては、マイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつ前記マイクロコンピュータのマイコンコントローラと前記セキュリティ制御部の制御を、暗号化された一連の動作を実行することで、前記インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることを特徴とするものである。デバッグ装置では、目的とする部分のデバッグが可能となる。
【発明の効果】
【0010】
マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されるとマイコンコントローラが機能しなくなり、マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効/無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことで、セキュリティ制御部によりプログラムの実行と目的部分のみのデバッグが可能な環境を実現でき、また、目的以外のプログラムの解析ができないようにし、目的とする部分のデバッグが可能になる。
【0011】
また、マイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつマイクロコンピュータのマイコンコントローラとセキュリティ制御部の制御を、暗号化された一連の動作を実行することで、インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることで、目的とする部分のデバッグが可能となる。
【発明を実施するための最良の形態】
【0012】
以下、本発明を図示の一実施形態により具体的に説明する。図1は本発明実施形態のマイコン及びインサーキットエミュレータを有するデバッグ装置を説明する図、図2は本発明実施形態のマイコンの詳細を説明する図、図3はデバッグ装置の構成を説明する図、図4はパーソナルコンピュータによるデバッグソフトの動作を説明するフローチャートである。
【0013】
図1に示すように、本実施形態のデバッグ装置10は、パーソナルコンピュータ11とインサーキットエミュレータ12とを有し、このインサーキットエミュレータ12が、ターゲットシステム20を構成するマイクロコンピュータ(マイコン)30にICE接続コネクタ21を介して接続されるようになっている。マイコン30は、インサーキットエミュレータ11から制御されるマイコンコントローラ31と、このマイコンコントローラ31に接続されるマイコンコア32と、セキュリティ制御部33と、メモリやレジスタからなるマイコン周辺回路34とを有する。このセキュリティ制御部33は、指定アドレス毎にプロテクト設定ができるアドレス設定レジスタを備え、このプロテクト設定によってマイコンコア32からマイコン周辺回路34へのメモリやレジスタの読み出しや書き込みを行うためのアドレスを検出して、アドレスプロテクト又はデータのプロテクトが可能になる機能を有する部分である。また、インサーキットエミュレータ12は、パーソナルコンピュータ11に接続され、パーソナルコンピュータ11上で動作するセキュリティ機能を備えたデバッグ手段となるデバッグソフトウェアによって制御されるようになっている。
【0014】
図2に示すように、マイコン30のセキュリティ制御部33は、セキュリティキー検出部37と、制御命令を認識するICEコマンド解析部38と、アドレス検出回路39と、プロテクト回路40と、プロテクトアドレス設定レジスタ41とを有する。マイコン周辺回路34は、例えば、ROM又はフラッシュメモリ42、RAM43、その他周辺回路44、マイコン外部接続コントローラ46を介して接続された周辺回路46を有する。
【0015】
マイコン30は、ICE接続コネクタ21に接続されたインサーキットエミュレータ12から、マイコン30を制御する状態になると、セキュリティ制御部33により、マイコン30の全てのアドレス空間のレジスタやメモリの読み出しと書き込みがプロテクトされる。なお、マイコン30には、デジタルシグナルプロセッサ(DSP)を含むものである。
【0016】
次に、セキュリティ制御部33のセキュリティキー検出部37をインサーキットエミュレータ12が制御し、セキュリティ制御部33を操作するためのセキュリティコードをセットする。
【0017】
セキュリティキーが正しくセットされると、インサーキットエミュレータ12からの制御命令を認識するICEコマンド解析部37が動作し、インサーキットエミュレータ12から送れられてくるメモリあるいはレジスタの読み出し命令や書き込み命令なのか、又は、マイコン30のプログラムを実行させる命令なのかを判断してプロテクト回路部40に対して、プロテクト解除信号を送る。プログラムを実行させる命令を受け取った場合は、プロテクトアドレス空間であってもプロテクトを解除して、プログラム実行を妨げないようにする。
【0018】
また、インサーキットエミュレータ12が、プロテクトアドレス設定レジスタ41を設定することにより、メモリあるいはレジスタの読み出し又は書き込みアドレス空間を設定する。それに従い、アドレス検出回路39は、マイコンコア32とマイコン周辺回路34との間のアドレス又はデータをプロテクトするための信号を生成し、その信号をプロテクト回路40へ送信する。
【0019】
プロテクト回路40は、セキュリティキー検出部37からのアクセス可能信号とICEコマンド解析部38からのプロテクト解除信号と、アドレス検出回路39からのプロテクト信号によって、マイコンコア32とマイコン周辺回路34との間のアドレスバス又はデータバスを接続又は切断する。
【0020】
図3に示すように、パーソナルコンピュータ11は、デバッグソフトからなるデバッグ手段13及びICEインターフェース回路14を有し、インサーキットエミュレータ12は、パーソナルコンピュータ11とのインターフェース回路16と、インターフェースプロトコル変換回路16とを有する。パーソナルコンピュータ11は、ICEインターフェース回路14によりインサーキットエミュレータ12のインターフェース回路16に接続され、インサーキットエミュレータ12は、ICE接続コネクタ21を介してマイコン30に接続されるようになっている。インサーキットエミュレータ12は、デバッグ手段13であるデバッグソフトからの指示を受け取り、ターゲットシステム20のマイコン30に合わせたプロトコルに変換し、ターゲットのマイコンコントローラ31とセキュリティ制御部33を制御する。
【0021】
図4に示すように、まず、デバッグ手段13であるデバッグソフトウェアを起動する(ST1)と、パーソナルコンピュータ11に接続したインサーキットエミュレータ12から本発明のマイコン30への制御信号が送信され、マイコン30のセキュリティ制御部33の働きによって、全てのアドレス空間のメモリあるいはレジスタの読み出しや書き込みのメモリ操作はできない状態とする。しかし、デバッグ手段13であるデバッグソフトウェアは、プログラムの実行は可能とするために、デバッグソフトウェアによるマイコン30を実行させるコマンドを行うとき、プロテクトを解除して、プログラム実行するように制御する。これによって、デバッグソフトウェアによるメモリの読み出しができなくても、すでにターゲットシステム20のROMあるいはフラッシュメモリ42に書き込まれているプログラムの実行が可能である(ST2)。また、デバッグソフトウェアによるプログラムの書き込みはプロテクトしない仕様にして、全体のプログラムの書き込みと実行を可能とするように制御しても良い。
【0022】
次に、デバッグソフトウェアとインサーキットエミュレータ12によりデバッグするための環境を構築する者は、マイコン30のセキュリティを解除するための一連の制御を知っており、その一連の制御スクリプト(デバッグソフトウェアで行う、マイコン30に設定しなければいけないセキュリティキーコードの書き込み操作や、プロテクトアドレス設定レジスタ41へのプロテクト又はプロテクト解除アドレス空間の設定操作の一連を記述したもの)をデバッグソフトウェアによって実行実験し、目的部分のみのアドレス空間のレジスタやメモリの読み出しや書き込みが可能になることを確認する。
【0023】
次に、確認ができたなら、その一連の動作を記述したスクリプトファイルをパスワード設定した暗号化したファイルへ変換する(ST3)。このファイルは、複数又は大勢で分担してプログラム開発とデバッグをする場合に、デバッグ可能アドレス空間(デバッグソフトによるメモリ又はレジスタを読み出し又は書き込み可能なアドレス空間)をそれぞれに合わせて設定し、複数の種類を作成する。ファイルは暗号化されていて、デバッグソフトウェアの何の操作をしたのかは解析困難であるので、パスワードをつけないでスクリプトファイルを作成することもできる。
【0024】
開発の管理者は、プログラム開発とデバッグをする人に、デバッグ目的のアドレス空間の読み出しや書き込みをプロテクト解除するための暗号化変換したファイルと、その暗号化されたファイルをデバッグソフトウェアで実行するためのパスワードを渡す。これにより、プログラムやデータの解析をされては困る部分の情報は開示しないで、開発環境を配布したことになる。プログラム開発とデバッグをする人は、配布されたスクリプトファイルをデバッグソフトウェアでパスワード入力して実行し、プログラム開発とデバッグを行う(ST4)。
【0025】
ここで、デバッグ手段13は、目的部分のメモリあるいはレジスタの読み出しだけでなく、デバッグ目的以外の部分のメモリの読み出しはできないが、書き込みだけをできるようにする機能を持たせることができる。このようにすることで全体のプログラムは書き込みできるが読み出しは、デバッグ目的の部分だけに限ることができる。
【0026】
また、デバッグ手段13は、プログラム作成ソフトウェアと連携して、プログラム作成時にプログラム作成ソフトウェアが自動的にデバッグ可能アドレス空間情報を提供するようになると、デバッグ手段を使う人を管理する人が便利になる。
【0027】
上記構成によれば、複数でのプログラム開発やデバッグを行う場合に、それぞれに必要なアドレス空間のみを操作可能とする開発環境を、開発管理者が作成管理できる。また、マイコン30の製造元においても、本発明のデバッグソフトウェアで使用する暗号化されたファイルを配布することにより、セキュリティ仕様の詳細仕様を開示する必要がない。よって、このような仕様のマイコン30とインサーキットエミュレータ12を有するデバッグ装置10により、マイコンコア開発元、マイコン製造元、アプリケーションプログラム開発管理会社、各プログラム開発管理者のそれぞれがセキュリティを確保したままで、プログラム開発を行うことが容易に実現することができる。
【0028】
上記のように構成した本発明のデバッグ装置10によって、マイコン30のセキュリティ制御部33の詳細を把握している一部の人によって作られた暗号化された一連の操作(スクリプト)を行うファイルを、インサーキットエミュレータ12を制御するデバッグ手段13であるデバッグソフトウェアで動作するパーソナルコンピュータ11によって実行することで、デバッグを行う人はパスワード入力を行い、目的部分のプログラムやデータやレジスタの読み出しや書き込みができ、目的のプログラムのみデバッグすることができるようになる。
【産業上の利用可能性】
【0029】
インサーキットエミュレータが接続されたときのマイコン、及びそのようなマイコンと接続するインサーキットエミュレータとそれをコントロールするデバッグソフトウェアに利用することができる。
【図面の簡単な説明】
【0030】
【図1】本発明実施形態のマイコン及びインサーキットエミュレータを有するデバッグ装置を説明する図である。
【図2】本発明実施形態のマイコンの詳細を説明する図である。
【図3】本発明実施形態のデバッグ装置の構成を説明する図である。
【図4】本発明実施形態のパーソナルコンピュータによるデバッグソフトの動作を説明するフローチャートである。
【符号の説明】
【0031】
10 デバッグ装置
11 パーソナルコンピュータ
12 インサーキットエミュレータ
13 デバッグ手段
14 ICEインターフェース回路
15 パーソナルコンピュータとのインターフェース回路
16 インターフェースプロトコル変換回路
20 ターゲットシステム
21 ICE接続コネクタ
30 マイクロコンピュータ
31 マイコンコントローラ
32 マイコンコア
33 セキュリティ制御部
34 マイコン周辺回路
37 セキュリティキー検出部
38 ICEコマンド解析部
39 アドレス検出回路
40 プロテクト回路
41 プロテクト設定レジスタ
42 ROMあるいはフラッシュメモリ
43 RAM
44 その他周辺回路
45 マイコン外部接続コントローラ
46 周辺回路

【特許請求の範囲】
【請求項1】
マイコンコントローラ、マイコンコア及びマイコン周辺回路を有するマイクロコンピュータに、接続コネクタを介してインサーキットエミュレータを有するデバッグ装置が接続されると前記マイコンコントローラが機能しなくなり、前記マイコンコントローラのメモリあるいはレジスタの読み出しや書き込み機能の有効/無効の設定が任意のアドレス空間で複数設定することを可能とするセキュリティ制御部を設けたことを特徴とするターゲットシステムのマイクロコンピュータ。
【請求項2】
請求項1記載のマイクロコンピュータに接続されるインサーキットエミュレータを有するデバッグ装置であって、パスワードで暗号化された一連の動作を記録するデータを作る機能と、それをパスワード入力することで一連の動作を実行する機能とを備え、かつ前記マイクロコンピュータのマイコンコントローラと前記セキュリティ制御部の制御を、暗号化された一連の動作を実行することで、前記インサーキットエミュレータを使う者が目的のアドレス空間のみデバッグあるいは解析を可能とする機能を備えたデバッグ手段で制御されることを特徴とするデバッグ装置。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate


【公開番号】特開2007−140620(P2007−140620A)
【公開日】平成19年6月7日(2007.6.7)
【国際特許分類】
【出願番号】特願2005−329578(P2005−329578)
【出願日】平成17年11月15日(2005.11.15)
【出願人】(390027890)株式会社ソフィアシステムズ (3)
【出願人】(000116024)ローム株式会社 (3,539)
【Fターム(参考)】