説明

マイクロコンピュータ

【課題】ユーザーが容易に変更できないように管理されている保護領域へのアクセスを、修理店等において簡易に行うことが可能なマイクロコンピュータを提供すること。
【解決手段】外部とのデータ通信を行う通信手段を備え、エントリーレベルに応じて、前記通信手段を用いた外部から所定の保護領域へのアクセスが制限されているマイクロコンピュータであって、外部から所定のデバッグモード開始信号を入力可能な入力受付手段と、前記入力受付手段に所定のデバッグモード開始信号が入力されたときに、前記所定の保護領域へのアクセス制限を緩和するように制御するデバッグモード制御手段と、を備えるマイクロコンピュータ。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、エントリーレベルに応じて外部から所定の保護領域へのアクセスが制限されているマイクロコンピュータに関する。
【背景技術】
【0002】
従来、特に車載制御装置等として用いられるマイクロコンピュータにおいては、ユーザーによって変更すべきでない情報を保持した保護領域について、容易に変更できないように管理されている。この保護領域では、マイクロコンピュータの種々のコンフィグ情報等が格納されている。こうした保護領域について、変更・追加・削除等を行う際には、ソフトウエアによってエントリーレベルを設定するためのフラグを書き換えていた。
【0003】
また、特許文献1には、ホストコンピュータ、このホストコンピュータに接続されたエミュレータ本体、エミュレータ本体に接続されたエミュレーションポッドおよびエミュレーションポッドをターゲットボードへ接続するターゲットボード接続用プローブを有したマイクロコンピュータのソフトウエア開発のための開発支援装置について記載されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開平10−105429号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
しかしながら、ソフトウエアによってエントリーレベルを設定するためのフラグを書き換える場合、ソフトウエア変更、コンパイル、対象マイコンへのソースの再ダウンロード等の処理が必要となり、保護領域にアクセス可能となるまでの処理が煩雑なものとなっていた。また、特に車載制御装置のうち、エンジン制御系等の複雑な制御を行う制御装置として用いられるマイクロコンピュータの場合、上記ソフトウエア変更に要する所要時間が無視できないものである。
【0006】
また、保護領域へのアクセス自体が制限されているため、保護領域に格納されたデータを外部に読み出す際には、メモリ等に一旦データを格納し、その後、外部に読み出すといった処理が必要である。
【0007】
また、上記特許文献1に記載の装置は、ターゲットボードが処理対象となっており、組み込みが行われた後のマイクロコンピュータについて、保護領域へのアクセスを可能とする技術に関するものではない。
【0008】
本発明はこのような課題を解決するためのものであり、ユーザーが容易に変更できないように管理されている保護領域へのアクセスを、修理店等において簡易に行うことが可能なマイクロコンピュータを提供することを、主たる目的とする。
【課題を解決するための手段】
【0009】
上記目的を達成するための本発明の一態様は、
外部とのデータ通信を行う通信手段を備え、
エントリーレベルに応じて、前記通信手段を用いた外部から所定の保護領域へのアクセスが制限されているマイクロコンピュータであって、
外部から所定のデバッグモード開始信号を入力可能な入力受付手段と、
前記入力受付手段に所定のデバッグモード開始信号が入力されたときに、前記所定の保護領域へのアクセス制限を緩和するように制御するデバッグモード制御手段と、
を備えるマイクロコンピュータである。
【0010】
この本発明の一態様によれば、外部から所定のデバッグモード開始信号を入力可能な入力受付手段と、入力受付手段に所定のデバッグモード開始信号が入力されたときに、所定の保護領域へのアクセス制限を緩和するように制御するデバッグモード制御手段と、を備えるため、ユーザーが容易に変更できないように管理されている保護領域へのアクセスを、簡易に行うことができる。
【0011】
本発明の一態様において、
前記通信手段を介して前記所定の保護領域の内容を書き換える際に、バッファとして機能するバッファ手段を備えるものとしてもよい。
【0012】
また、本発明の一態様において、
前記通信手段は、例えば、周辺機器とのデータ通信を行うための周辺バスを含む。
【0013】
この場合、
前記通信手段は、前記周辺バスに接続されるシリアル通信手段を更に含むものとしてもよい。
【0014】
また、本発明の一態様は、
車両に搭載され、車載機器制御のための処理を行うものとすると、好適である。
【発明の効果】
【0015】
本発明によれば、ユーザーが容易に変更できないように管理されている保護領域へのアクセスを、修理店等において簡易に行うことが可能なマイクロコンピュータを提供することができる。
【図面の簡単な説明】
【0016】
【図1】本発明の第1実施例に係るマイクロコンピュータ1のシステム構成例である。
【図2】第1実施例のマイクロコンピュータ1における、デバッグモードにエントリーする際、及びデバッグモードから退避する際の各種信号の時間的変化を示すタイミングチャートである。
【図3】デバッグモードにエントリーされた後において、外部からワークレジスタ70にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【図4】デバッグモードにエントリーされた後において、ワークレジスタ70から保護領域40にデータがコピーされる際の各種信号の時間的変化を示すタイミングチャートである。
【図5】デバッグモードにエントリーされた後において、保護領域40からワークレジスタ70にデータがコピーされる際の各種信号の時間的変化を示すタイミングチャートである。
【図6】デバッグモードにエントリーされた後において、ワークレジスタ70に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【図7】本発明の第2実施例に係るマイクロコンピュータ2のシステム構成例である。
【図8】第2実施例のマイクロコンピュータ2における、デバッグモードにエントリーする際の各種信号の時間的変化を示すタイミングチャートである。
【図9】デバッグモードにエントリーされた後において、外部からワークレジスタ70にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【図10】デバッグモードにエントリーされた後において、ワークレジスタ70に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【図11】本発明の第3実施例に係るマイクロコンピュータ3のシステム構成例である。
【図12】第3実施例のマイクロコンピュータ3がデバッグモードにエントリーされた後において、外部から保護領域40にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【図13】デバッグモードにエントリーされた後において、保護領域40に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【図14】DBGピン50をエントリー及びコマンド取り込みとして用い、内部と非同期に動作させる場合の、各種信号の時間的変化を示すタイミングチャートである。
【発明を実施するための形態】
【0017】
以下、本発明を実施するための形態について、添付図面を参照しながら実施例を挙げて説明する。
【実施例】
【0018】
<第1実施例>
以下、図面を参照し、本発明の第1実施例に係るマイクロコンピュータ1について説明する。マイクロコンピュータ1は、例えば車両に搭載され、種々の車載機器制御を行う車載制御装置等、ユーザーによって変更すべきでない情報を保持した保護領域について、容易に変更できないように管理されている制御装置に、好適に適用される。後述の第2及び第3実施例についても同様である。
【0019】
車載制御装置の例としては、例えばエンジン制御装置、ブレーキ制御装置、パワーステアリング等を制御するステアリング制御装置、ドアロック等を制御するボデー制御装置、VSC(Vehicle Stability Control)やVDIM(Vehicle Dynamics Integrated Management)等の車両安定化制御装置、ACC(Adaptive Cruise Control)等の運転支援装置、ナビゲーション制御装置等が挙げられる。
【0020】
[基本構成]
図1は、本発明の第1実施例に係るマイクロコンピュータ1のシステム構成例である。マイクロコンピュータ1は、主要な構成として、命令キュー10と、命令デコーダ11と、レジスタファイル12と、演算器13と、LSU(Load Store Unit)14と、パイプラインコントローラ15と、を備える。また、マイクロコンピュータ1は、図示しないプログラムカウンタ等を備えている。
【0021】
プログラムカウンタには、図示しないROM(Read Only Memory)、EEPROM(Electrically Erasable and Programmable Read Only Memory)等のプログラムメモリ上のアドレスが記憶されている。プログラムカウンタがクロックに同期してアドレスをプログラムメモリに出力すると、命令バス16を介して命令キュー10に命令が送信される。プログラムカウンタは、クロック毎にアドレス値を変更し、順次命令の読み出しを行う。
【0022】
命令キュー10は、プログラムメモリから一単位の命令が入力されるレジスタであり、入力された命令が入力順に格納される。命令キュー10に格納された命令は命令デコーダ11で解読され、レジスタファイル12に記憶される。
【0023】
レジスタファイル12は、汎用レジスタであり、命令デコーダによって解読された命令のうち演算の種別、ソースオペランド(演算対象のデータのアドレス)等が記憶される。また、レジスタファイル12には、必要に応じて演算器13による演算結果等が格納される。演算器13による演算結果は、レジスタファイル12の他、プログラムの指定によって、LSU14やデータバス17を介してメモリ20に格納される。
【0024】
パイプラインコントローラ15は、上記パイプライン制御の各ステージ(命令フェッチ、命令デコード、命令実行、オペランドフェッチ、ライトバック等)をクロックに基づき制御する。
【0025】
データバス17には、例えばRAM(Random Access Memory)であるメモリ20の他、DMAC(Direct memory Access Controller)21、BB(Bus Bridge)22が接続されている。
【0026】
BB22には、周辺バス30が接続されている。周辺バス30は、例えば32本の通信線からなり、コマンド、アドレス、Rデータ(リードデータ)、Wデータ(ライトデータ)等が送受信される。周辺バス30にはA/D変換回路31等が接続されている。本実施例のマイクロコンピュータ1は、周辺バス30を介して外部との通信を行うことが可能となっている。A/D変換回路31は、例えば本実施例のマイクロコンピュータ1が車載制御装置に適用された場合、アナログ値として入力される各種センサの出力をデジタル値に変換し、デジタル演算処理を可能にする。
【0027】
また、マイクロコンピュータ1は、エントリーレベルによってアクセス制限がなされる保護領域40として、特権モードレジスタ41と、CPU機能レジスタ42と、ユーザーレジスタ43と、を備える。保護領域40には、マイクロコンピュータ1のコンフィグ設定等が格納されている。このコンフィグ設定等の情報は、マイクロコンピュータ1の始動時に図示しないROM等からダウンロードされる。
【0028】
上記保護領域40へのアクセスのために、特権モードレジスタ41は最も高いエントリーレベルを必要とし、CPU機能レジスタ42は次に高いエントリーレベルを必要とし、ユーザーレジスタ43は最も低いエントリーレベルで足りる。
【0029】
こうしたアクセス制限は、図示しないOS等によって制御されており、具体的には、パイプラインコントローラ15が、禁止されている保護領域40のアドレスを指定しないように制御されている。
【0030】
以上のような構成を有するマイクロコンピュータ1は、例えば、車両に搭載され、種々の車載機器制御を行う制御装置に好適に適用される。この場合、車両システムが始動した後、通常の動作を開始した時点で、エントリーレベルがユーザーレベルに設定されるように、OS(Operating System)等によってパイプラインコントローラ15を介して制御がなされている。従って、特権モードレジスタ41やCPU機能レジスタ42にアクセスするには、このOS等の変更を要し、煩雑な手順が必要となる。
【0031】
[保護領域にアクセスするためのハードウエア構成]
これに対し、マイクロコンピュータ1は、外部から保護領域40へのアクセスを可能とするための構成として、DBG(Debug)ピン50と、マッピング制御部60と、ワークレジスタ70と、アービター80と、セレクタ90と、を備える。
【0032】
DBGピン50には、ユーザーによって外部からデバッグモードに移行させるための信号が入力される。ここで、デバッグモードとは、前述のようなエントリーレベルに拘わらず、一時的にユーザーが所望の保護領域40へのアクセスが可能となるモードであり、マイクロコンピュータ1及びこれが搭載された制御システム等の開発段階等において好適に用いられる。
【0033】
マッピング制御部60は、DBGピン50に例えばHI信号が入力されると、所定の信号(以下、DBG_ACT信号と称する)をBB22に出力して外部からのデータ入力を許可させる。そして、コマンド、ID、アドレス等のデータを、周辺バス30を介して取得し、外部からのワークレジスタ70の読み書き、及び保護領域40とワークレジスタ70の間のデータ授受制御を行う。
【0034】
マッピング制御部60は、上記データ授受制御のために、ワークレジスタ70のアドレスを示すWID、保護領域40のアドレスを示すRegID、保護領域40のどのエントリーレベルのデータであるかを示すLevelID等のIDを指定する。また、マッピング制御部60は、制御信号EN_B2A、EN_A2Bを出力してアービター80やセレクタ90を動作させる。
【0035】
ワークレジスタ70は、外部から保護領域40の内容を変更する際、及び変更した保護領域40の内容を外部に保存する際にバッファとして機能する。
【0036】
アービター80は、DRB(Data Resister Bus)82を介して保護領域40と接続され、DSB(Data Selector Bus)84を介してワークレジスタ70と接続されている。そして、アービター80は、保護領域40とワークレジスタ70の間のデータ授受を仲介する。
【0037】
セレクタ90は、マッピング制御部60からの制御信号が入力されている期間のみ、マッピング制御部60から入力されるRegID、LevelIDによる保護領域40へのアクセスを許容する。
【0038】
[各種動作例]
図2は、第1実施例のマイクロコンピュータ1における、デバッグモードにエントリーする際、及びデバッグモードから退避する際の各種信号の時間的変化を示すタイミングチャートである。
【0039】
まず、DBGピン50に例えばHI信号が入力されると、マッピング制御部60は、BB22に出力するDBG_ACT信号をHI状態とする(時刻t1)。BB22は、HI状態のDBG_ACT信号が入力されると、周辺バス30を介した、外部からのマッピング制御部60及びワークレジスタ70へのアクセスを許容する。
【0040】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、EntryコマンドやExitコマンドを、周辺バス30を介して外部から取得する(時刻t2、t3)。マイクロコンピュータ1は、Entryコマンドが周辺バス30に入力されてからExitコマンドが周辺バス30に入力されるまでの間、デバッグモードにエントリーされた状態となる。
【0041】
そして、DBGピン50に例えばLO信号が入力される(或いは入力信号が停止する)と、マッピング制御部60は、BB22に出力するDBG_ACT信号をLO状態とする(時刻t4)。これによって、BB22はコマンド待機状態から回避する。すなわち、周辺バス30を介した外部からのマッピング制御部60及びワークレジスタ70へのアクセスを禁止する。
【0042】
図3は、デバッグモードにエントリーされた後において、外部からワークレジスタ70にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【0043】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Writeコマンドを、周辺バス30を介して外部から取得する(時刻t5)。
【0044】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、周辺バス30を介して外部から取得する(時刻t6)。Addデータを取得したマッピング制御部60は、ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力する(時刻t7)
この状態で周辺バス30に書き込みデータ(Data)が入力されると、当該書き込みデータが、ワークレジスタ70のWIDで指定されたアドレスに書き込まれる(時刻t8)。
【0045】
図4は、デバッグモードにエントリーされた後において、ワークレジスタ70から保護領域40にデータがコピーされる際の各種信号の時間的変化を示すタイミングチャートである。
【0046】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、R_READコマンドを、周辺バス30を介して外部から取得する(時刻t9)。
【0047】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、周辺バス30を介して外部から取得する(時刻t10)。Addデータを取得したマッピング制御部60は、時刻t11に前後して、(1)ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力し、(2)制御信号EN_B2Aを保護領域40、ワークレジスタ70、及びアービター80に出力し、(3)例えば特権レベルを指定するLevelIDと保護領域40のアドレスを示すRegIDを保護領域40に出力する。
【0048】
これによって、アービター80は、ワークレジスタ70におけるWIDによって指定されたアドレスのデータを、保護領域40におけるLevelIDとRegIDによって指定されたアドレスにコピーするように動作する。この結果、DRB82やDSB84を介してワークレジスタ70から保護領域40に所望のデータがコピーされる。
【0049】
図3及び図4に示した処理によって、外部から保護領域40への書き込みが完了する。この結果、外部からマイクロコンピュータ1のコンフィグ情報が変更された状態で、種々のシミュレーションを行うことが可能となる。シミュレーションにおいて所望の結果が得られると、図5に示す処理によって保護領域40からワークレジスタ70にデータがコピーされ、次いで図6に示す処理によってワークレジスタ70の内容がバックアップデータとして外部に出力される。なお、このような図3〜図6の処理順はあくまで一例であり、本発明における保護領域40へのアクセス方法は、他の種々の態様で利用されうる。
【0050】
図5は、デバッグモードにエントリーされた後において、保護領域40からワークレジスタ70にデータがコピーされる際の各種信号の時間的変化を示すタイミングチャートである。
【0051】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、R_WRITEコマンドを、周辺バス30を介して外部から取得する(時刻t12)。
【0052】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、周辺バス30を介して外部から取得する(時刻t13)。Addデータを取得したマッピング制御部60は、時刻t14に前後して、(1)ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力し、(2)制御信号EN_A2Bを保護領域40、ワークレジスタ70、及びアービター80に出力し、(3)例えば特権レベルを指定するLevelIDと保護領域40のアドレスを示すRegIDを保護領域40に出力する。
【0053】
これによって、アービター80は、保護領域40におけるLevelIDとRegIDによって指定されたアドレスのデータを、ワークレジスタ70におけるWIDによって指定されたアドレスにコピーするように動作する。この結果、DRB82やDSB84を介して保護領域40からワークレジスタ70に所望のデータがコピーされる。
【0054】
図6は、デバッグモードにエントリーされた後において、ワークレジスタ70に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【0055】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、READコマンドを、周辺バス30を介して外部から取得する(時刻t15)。
【0056】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、周辺バス30を介して外部から取得する(時刻t16)。Addデータを取得したマッピング制御部60は、ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力する(時刻t17)
この結果、ワークレジスタ70のWIDで指定されたアドレスのデータが周辺バス30に出力される(時刻t18)。
【0057】
以上説明した本実施例のマイクロコンピュータ1によれば、外部から保護領域40へのアクセスを可能とするための構成としてDBGピン50やマッピング制御部60を備え、マッピング制御部60がDBGピン50に入力された信号に応じて外部からのデータ入力を許可させると共に、エントリーレベルに拘わらずマッピング制御部60から入力されるRegID、LevelIDによる保護領域40へのアクセスを許容するため、ユーザーが容易に変更できないように管理されている保護領域40へのアクセスを、修理店等において簡易に行うことができる。
【0058】
また、バッファ領域としてワークレジスタを備えることにより、不意に保護領域40の内容を毀損するような不都合を回避することができる。
【0059】
なお、本実施例のマイクロコンピュータ1は、通常動作時において、DBGピン50をグランド端子にクランプすることによって、デバッグモードへのエントリー機能を休止させることも可能である。これによって、各種制御装置として機能する場合に端子数の増加を回避することができる。
【0060】
<第2実施例>
以下、図面を参照し、本発明の第2実施例に係るマイクロコンピュータ2について説明する。
【0061】
[基本構成]
図7は、本発明の第2実施例に係るマイクロコンピュータ2のシステム構成例である。マイクロコンピュータ2は、主要な構成として、命令キュー10と、命令デコーダ11と、レジスタファイル12と、演算器13と、LSU(Load Store Unit)14と、パイプラインコントローラ15と、を備える。また、マイクロコンピュータ2は、図示しないプログラムカウンタ等を備えている。これらの構成要素の機能等については、第1実施例と同様であるため、説明を省略する。
【0062】
また、第2実施例に係るマイクロコンピュータ2では、第1実施例と同様、データバス17に、メモリ20、DMAC21、BB22が接続されている。BB22には、周辺バス30が接続されている。
【0063】
第2実施例に係る周辺バス30には、A/D変換回路31及びシリアル制御部32が接続されている。そして、本実施例のマイクロコンピュータ2は、シリアル制御部32を介して外部との通信を行うことが可能となっている。
【0064】
シリアル制御部32は、外部端子として機能するポートAに入力されたデータを内部周辺クロックP_CLKに同期して取り込み、シリアル/パラレル変換を行ってから周辺バス30に出力する。マッピング制御部60は、周辺バス30に出力されたデータを解読し、後述のような種々の制御を行う。
【0065】
また、マイクロコンピュータ2は、第1実施例と同様、エントリーレベルによってアクセス制限がなされる保護領域40として、特権モードレジスタ41と、CPU機能レジスタ42と、ユーザーレジスタ43と、を備える。保護領域40には、マイクロコンピュータ1のコンフィグ設定等が格納されている。このコンフィグ設定等の情報は、マイクロコンピュータ1の始動時に図示しないROM等からダウンロードされる。
【0066】
上記保護領域40へのアクセスのために、特権モードレジスタ41は最も高いエントリーレベルを必要とし、CPU機能レジスタ42は次に高いエントリーレベルを必要とし、ユーザーレジスタ43は最も低いエントリーレベルで足りる。
【0067】
以上のような構成を有するマイクロコンピュータ2は、例えば、車両に搭載され、種々の車載機器制御を行う制御装置に好適に適用される。この場合、車両システムが始動した後、通常の動作を開始した時点で、エントリーレベルがユーザーレベルに設定されるように、OS等によってパイプラインコントローラ15を介して制御がなされている。従って、特権モードレジスタ41やCPU機能レジスタ42にアクセスするには、このOS等の変更を要し、煩雑な手順が必要となる。
【0068】
[保護領域にアクセスするためのハードウエア構成]
これに対し、マイクロコンピュータ2は、外部から保護領域40へのアクセスを可能とするための構成として、DBGピン50と、マッピング制御部60と、ワークレジスタ70と、アービター80と、セレクタ90と、を備える。マッピング制御部60以外の構成要素の機能については、第1実施例と同様であるため、説明を省略する。また、マッピング制御部60における第1実施例と異なる機能については、動作例と共に説明する。
【0069】
[各種動作例]
図8は、第2実施例のマイクロコンピュータ2における、デバッグモードにエントリーする際の各種信号の時間的変化を示すタイミングチャートである。
【0070】
まず、DBGピン50に例えばHI信号が入力されると、マッピング制御部60は、BB22に出力するDBG_ACT信号をHI状態とする(時刻t20)。
【0071】
BB22は、HI状態のDBG_ACT信号が入力されると、周辺バス30のうちコマンドバスをWRITE状態とすると共に、アドレスバスにシリアルを設定してシリアル制御部32を活性化する(時刻t21)。
【0072】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、COMコマンドやEntryコマンドを、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t22、t23)。これらのコマンドは、周辺バス30のうちWデータバスに出力される。
【0073】
マイクロコンピュータ2は、Entryコマンドが周辺バス30に入力されてからExitコマンドが周辺バス30に入力されるまでの間、デバッグモードにエントリーされた状態となる。
【0074】
図9は、デバッグモードにエントリーされた後において、外部からワークレジスタ70にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【0075】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、COMコマンド及びIDコマンドを、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t24、t25)。
【0076】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t26)。Addデータを取得したマッピング制御部60は、ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力する(時刻t27)。
【0077】
この状態で周辺バス30に書き込みデータ(Data)が入力されると、当該書き込みデータが、ワークレジスタ70のWIDで指定されたアドレスに書き込まれる(時刻t28)。書き込みデータは、周辺バス30のうちWデータバスに出力される。
【0078】
図10は、デバッグモードにエントリーされた後において、ワークレジスタ70に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【0079】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、COMコマンド及びIDコマンドを、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t29、t30)。
【0080】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t31)。Addデータを取得したマッピング制御部60は、ワークレジスタ70のアドレスを示すWIDをワークレジスタ70に出力する(時刻t32)。
【0081】
この状態で、コマンドバスに流れる信号がREAD信号に切り替わると、ワークレジスタ70のWIDで指定されたアドレスのデータが周辺バス30及びシリアル制御部32を介して外部に出力される(時刻t33)。
【0082】
なお、ワークレジスタ70と保護領域40の間のデータ授受については、シリアル制御部30を介して通信を行う点、及び外部からマッピング制御部30へのコマンドとアドレスが、シリアル制御部32及び周辺バス30を介してWデータバスに出力される点を除いて第1実施例と同様であるため、説明を省略する。
【0083】
以上説明した本実施例のマイクロコンピュータ2によれば、外部から保護領域40へのアクセスを可能とするための構成としてDBGピン50やマッピング制御部60を備え、マッピング制御部60がDBGピン50に入力された信号に応じて外部からのデータ入力を許可させると共に、エントリーレベルに拘わらずマッピング制御部60から入力されるRegID、LevelIDによる保護領域40へのアクセスを許容するため、ユーザーが容易に変更できないように管理されている保護領域40へのアクセスを、修理店等において簡易に行うことができる。
【0084】
また、外部との通信と、周辺バス30における通信内容を調停するためのシリアル制御部32のような構成要素を備えることにより、外部からアクセスするための機器の種類を幅広く選択することができる。
【0085】
<第3実施例>
以下、図面を参照し、本発明の第3実施例に係るマイクロコンピュータ3について説明する。
【0086】
[構成]
図11は、本発明の第3実施例に係るマイクロコンピュータ3のシステム構成例である。図示するように、マイクロコンピュータ3は、第2実施例のマイクロコンピュータ1からワークレジスタ70を省略した構成となっている。
【0087】
マイクロコンピュータ3は、第1及び2実施例と同様、エントリーレベルによってアクセス制限がなされる保護領域40として、特権モードレジスタ41と、CPU機能レジスタ42と、ユーザーレジスタ43と、を備える。保護領域40には、マイクロコンピュータ1のコンフィグ設定等が格納されている。このコンフィグ設定等の情報は、マイクロコンピュータ1の始動時に図示しないROM等からダウンロードされる。
【0088】
[各種動作例]
図12は、第3実施例のマイクロコンピュータ3がデバッグモードにエントリーされた後において、外部から保護領域40にデータを書き込む際の各種信号の時間的変化を示すタイミングチャートである。
【0089】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、COMコマンド及びIDコマンドを、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t40、t41)。
【0090】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t42)。Addデータを取得したマッピング制御部60は、時刻t43に前後して、(1)制御信号EN_A2Bを保護領域40、及びアービター80に出力し、(2)例えば特権レベルを指定するLevelIDと保護領域40のアドレスを示すRegIDを保護領域40に出力する。
【0091】
これによって、アービター80は、シリアル制御部32によってWデータバスに出力された書き込みデータ(DATA)を、保護領域40におけるLevelIDとRegIDによって指定されたアドレスに格納するように動作する(時刻t44)。この結果、シリアル制御部32、周辺バス30、DRB82を介して外部から保護領域40に所望のデータが書き込まれる。
【0092】
図13は、デバッグモードにエントリーされた後において、保護領域40に格納されたデータを外部に読み出す際の各種信号の時間的変化を示すタイミングチャートである。
【0093】
まず、マッピング制御部60は、内部周辺クロックP_CLKに同期して、COMコマンド及びIDコマンドを、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t45、t46)。
【0094】
次に、マッピング制御部60は、内部周辺クロックP_CLKに同期して、Addデータ(アドレスデータ)を、シリアル制御部32及び周辺バス30を介して外部から取得する(時刻t47)。Addデータを取得したマッピング制御部60は、時刻t48に前後して、(1)制御信号EN_B2Aを保護領域40、及びアービター80に出力し、(2)例えば特権レベルを指定するLevelIDと保護領域40のアドレスを示すRegIDを保護領域40に出力する。
【0095】
この状態で、コマンドバスに流れる信号がREAD信号に切り替わると、LevelIDとRegIDで指定されたアドレスのデータが周辺バス30及びシリアル制御部32を介して外部に出力される(時刻t49)。
【0096】
以上説明した本実施例のマイクロコンピュータ3によれば、外部から保護領域40へのアクセスを可能とするための構成としてDBGピン50やマッピング制御部60を備え、マッピング制御部60がDBGピン50に入力された信号に応じて外部からのデータ入力を許可させると共に、エントリーレベルに拘わらずマッピング制御部60から入力されるRegID、LevelIDによる保護領域40へのアクセスを許容するため、ユーザーが容易に変更できないように管理されている保護領域40へのアクセスを、修理店等において簡易に行うことができる。
【0097】
以上、本発明を実施するための最良の形態について実施例を用いて説明したが、本発明はこうした実施例に何等限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変形及び置換を加えることができる。
【0098】
例えば、外部との情報授受において、周辺バスに直接アクセス可能とする態様や、シリアル通信によって外部からアクセスする態様を例示したが、これに限定されない、例えば、CAN、LIN、FlexRay、UART、I2C等、所望の通信態様によって外部からアクセス可能としてよい。
【0099】
また、内部周辺クロックP_CLKに同期して外部からのデータ取り込みを行うものとしたが、DBGピン50をエントリー及びコマンド取り込みとして用い、内部と非同期に動作させるものとしてもよい。
【0100】
図14は、DBGピン50をエントリー及びコマンド取り込みとして用い、内部と非同期に動作させる場合の、各種信号の時間的変化を示すタイミングチャートである。
【0101】
まず、DBGピン50に例えばHI信号が入力されると、マッピング制御部60は、BB22に出力するDBG_ACT信号をHI状態とする(時刻t50)。
【0102】
BB22は、HI状態のDBG_ACT信号が入力されると、周辺バス30のうちコマンドバスをWRITE状態とすると共に、アドレスバスにシリアルを設定してシリアル制御部32を活性化する(時刻t51)。
【0103】
次に、マッピング制御部60は、DBGピン50に入力された信号に重畳する信号を解読し、COMコマンドやEntryコマンド、EXITコマンドを、周辺バス30のうちWデータバスに出力する(時刻t52〜55)。
【0104】
マイクロコンピュータ2は、Entryコマンドが周辺バス30に出力されてからExitコマンドが周辺バス30に出力されるまでの間、デバッグモードにエントリーされた状態となる。
【0105】
これによって、マイクロコンピュータが停止状態(すなわち内部周辺クロックP_CLKが動作していない状態)であっても、保護領域40へのアクセスを行うことができる。
【符号の説明】
【0106】
1、2、3 マイクロコンピュータ
10 命令キュー
11 命令デコーダ
12 レジスタファイル
13 演算器
14 LSU
15 パイプラインコントローラ
16 命令バス
17 データバス
20 メモリ
22 BB
30 周辺バス
32 シリアル制御部
40 保護領域
41 特権モードレジスタ
42 CPU機能レジスタ
43 ユーザーレジスタ
50 DBGピン
60 マッピング制御部
70 ワークレジスタ
80 アービター
82 DRB
84 DSB
90 セレクタ
A ポート

【特許請求の範囲】
【請求項1】
外部とのデータ通信を行う通信手段を備え、
エントリーレベルに応じて、前記通信手段を用いた外部から所定の保護領域へのアクセスが制限されているマイクロコンピュータであって、
外部から所定のデバッグモード開始信号を入力可能な入力受付手段と、
前記入力受付手段に所定のデバッグモード開始信号が入力されたときに、前記所定の保護領域へのアクセス制限を緩和するように制御するデバッグモード制御手段と、
を備えるマイクロコンピュータ。
【請求項2】
請求項1に記載のマイクロコンピュータであって、
前記通信手段を介して前記所定の保護領域の内容を書き換える際に、バッファとして機能するバッファ手段を備えるマイクロコンピュータ。
【請求項3】
請求項1又は2に記載のマイクロコンピュータであって、
前記通信手段は、周辺機器とのデータ通信を行うための周辺バスを含む、マイクロコンピュータ。
【請求項4】
請求項3に記載のマイクロコンピュータであって、
前記通信手段は、前記周辺バスに接続されるシリアル通信手段を更に含む、マイクロコンピュータ。
【請求項5】
車両に搭載され、車載機器制御のための処理を行う、請求項1ないし4のいずれか1項に記載のマイクロコンピュータ。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate


【公開番号】特開2011−164850(P2011−164850A)
【公開日】平成23年8月25日(2011.8.25)
【国際特許分類】
【出願番号】特願2010−25631(P2010−25631)
【出願日】平成22年2月8日(2010.2.8)
【出願人】(000003207)トヨタ自動車株式会社 (59,920)
【出願人】(302062931)ルネサスエレクトロニクス株式会社 (8,021)
【Fターム(参考)】