JP3704973B2 - 電子制御装置 - Google Patents
電子制御装置 Download PDFInfo
- Publication number
- JP3704973B2 JP3704973B2 JP29357698A JP29357698A JP3704973B2 JP 3704973 B2 JP3704973 B2 JP 3704973B2 JP 29357698 A JP29357698 A JP 29357698A JP 29357698 A JP29357698 A JP 29357698A JP 3704973 B2 JP3704973 B2 JP 3704973B2
- Authority
- JP
- Japan
- Prior art keywords
- debug module
- electronic control
- control device
- module
- debug
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Description
【発明の属する技術分野】
この発明は電子制御装置に係り、詳しくは、リード/ライト可能な不揮発性メモリ(フラッシュメモリ)を内蔵したマイコンにおける不正書き換え防止技術に関するものである。
【0002】
【従来の技術】
従来よりマイコンに組み込むソフトのデバッグ方法として、専用のデバッグモジュールをマイコンに内蔵し、外部装置であるパソコンを接続する形態がある。その一例として、特開平8−161191号公報に記載のようなIDB(Internal Debug of Block)がある。これは、ターゲットラン中の実行している命令のアドレスを出力するトレース機能、ブレーク中にCPUやメモリをアクセスできるシリアルアクセス機能、ターゲットラン中にメモリのデータ変更やモニタができるノンブレークデバッグ機能を有するものである。
【0003】
しかし、製品が市場に出た後を含む製品の量産時もデバッグモジュールがマイコンに内蔵されており、自由にマイコン内部にアクセスすることができる。
一方、特開平10−105468号公報等には、フラッシュメモリの内容を仕様毎に書き換える技術が開示されている。
【0004】
これらの技術を用いると、デバッグモジュールを利用してフラッシュメモリの内容を読み込み、さらに、プログラム等の内容を不正に書き換えられてしまうおそれがある。
【0005】
この対策として、(i)開発チップ(マイコン)にのみデバッグモジュールを内蔵し、量産チップには内蔵しない、または、(ii) デバッグ機能を限定するといったことで解決することはできる。しかし、(i)を行うと、開発チップによるマイコンと量産チップによるマイコンとが必要となり、マイコンの種類が増加してしまう。また、(ii) を行うと、デバッグモジュールを利用しての量産品不具合調査が困難になるという問題が生じる。
【0006】
【発明が解決しようとする課題】
この発明はこのような事情を鑑みなされたものであり、その目的は、デバッグモジュールを内蔵した電子制御装置において、新規な構成にて種類の増加を抑えつつ、機能を限定することなくデバッグモジュールを利用して量産品での調査を行うことができる電子制御装置を提供することにある。
【0007】
【課題を解決するための手段】
請求項1、3、5、6に記載の発明は、特定の操作により、デバックモジュールを使用可能にするイネーブル状態と、デバックモジュールを使用不能にするディセーブル状態とに切り替える選択手段を設けるようにしている。
【0008】
よって、ターゲット製品の出荷前に、デバッグモジュールをディセーブル状態にして、デバッグモジュールを利用してメモリの内容を不正に書き換えられてしまうのを防止できる。また、デバックモジュールをイネーブル状態にすることにより、デバッグモジュールを利用して量産品の不具合調査を行うことができる。
【0009】
このように、前述の(i)開発チップ(マイコン)にのみデバッグモジュールを内蔵し、量産チップには内蔵しない、あるいは、(ii) デバッグ機能を限定するといったことを行うことなく、種類の増加を抑えながら、機能を限定することなくデバッグモジュールを利用して量産品での調査を行うことができる。
【0010】
ここで特に、請求項1に記載のように、選択手段を、デバックモジュールへのクロックの供給を停止することによりディセーブル状態にするものとしたり、請求項3に記載のように、デバックモジュールへの電源の供給を停止することによりディセーブル状態にするものとすると、実用上好ましいものとなる。
【0011】
この際、請求項2,4に記載のように、クロック信号線や電源ラインを遮断/導通するスイッチを用いるとよい。
【0012】
【発明の実施の形態】
以下、この発明を具体化した実施の形態を図面に従って説明する。
図1は、本実施形態における電子制御装置の全体構成図である。この電子制御装置は車載エンジン用のコントロールユニットとして用いられるものである。
【0013】
電子制御装置(ECU)1は、マイクロコンピュータ(以下、マイコンという)2と入出力回路3を備えている。マイコン2としてはシングルチップマイコンを用いている。
【0014】
マイコン2は中央処理装置(CPU)4とRAM5とROM6とデバッグモジュール7を備えている。ROM6はリード/ライト可能な不揮発性メモリであるフラッシュメモリ8を備えており、フラッシュメモリ8にはCPU4の制御プログラムおよび制御データが記憶されている。ECU1はエンジン運転状態を検出するさまざまなセンサと接続されるとともに、エンジン制御のための各種アクチュエータが接続されている。そして、各種センサ信号を入出力回路3を介してCPU4に取り込み、CPU4で各種の演算を実行し、入出力回路3を介して各アクチュエータ等を駆動する。
【0015】
デバッグモジュール7はCPU4と接続されている。また、デバッグモジュール7にはクロック信号線Lclock を通してクロックが供給されるとともに、電源ラインLvcc を通して電源Vccが供給される。クロック信号線Lclock および電源ラインLvcc の途中には両ライン共通のスイッチ9が挿入されている。つまり、クロック信号線Lclock に接点9aが、また、電源ラインLvcc に接点9bが挿入され、両接点9a,9bは同じ動き(開閉動作)をする。そして、この接点9a,9bを閉路することによりクロック信号線Lclock および電源ラインLvcc が導通状態となり、デバックモジュール7にクロックおよび電源が供給される。これにより、デバックモジュール7が使用可能になる(イネーブル状態になる)。一方、接点9a,9bを開路することによりクロック信号線Lclock および電源ラインLvcc が遮断され、デバックモジュール7へのクロックおよび電源の供給が停止する。これにより、デバックモジュール7が使用不能になる(ディセーブル状態になる)。
【0016】
レジスタ10はスイッチ9を制御するために設けられたものであり、レジスタ10の出力レベル(Hレベル、Lレベル)により、スイッチ9が開または閉状態に切り替えられる。
【0017】
本実施形態においては、スイッチ9とレジスタ10にてデバックモジュール7をイネーブル状態とディセーブル状態とに切り替える選択手段を構成している。
次に、このように構成した電子制御装置の作用を説明する。
【0018】
図2にはチップ開発時の工程を示す。また、図3にはチップ量産時の工程を示す。さらに、図4にはチップ返品時の工程を示す。
まず、チップ開発時の手順について述べる。図2において、プログラミングを行った後、図1のECU1にパソコン20を接続する。そして、パソコン20にてECU1にイネーブルコマンドを送る。ECU1において、このイネーブルコマンドが入出力回路3を経由してCPU4側に取り込まれる。
【0019】
一方、CPU4は図5の処理を実行している。CPU4はステップ100でイネーブルコマンドを受信したか否か判断し、イネーブルコマンドを受信するとステップ200でレジスタ10の出力をHレベルに設定し、デバッグモジュール7をイネーブル状態にする。つまり、スイッチ9の接点9a,9bを閉じて、デバッグモジュール7にクロック信号線Lclock を通してクロックを供給するとともに電源ラインLvcc を通して電源Vccを供給する。
【0020】
CPU4はステップ100でイネーブルコマンドを受信しないとステップ300に移行してディセーブルコマンドを受信したか否か判断する。そして、ディセーブルコマンドを受信すると、ステップ400でレジスタ10の出力をLレベルに設定し、デバッグモジュール7をディセーブル状態にする。つまり、スイッチ9の接点9a,9bを開けて、デバッグモジュール7にクロック信号線Lclock を通してのクロックの供給を停止するとともに電源ラインLvcc を通しての電源Vccの供給を停止する。
【0021】
よって、チップ開発時においてプログラミングを行った後、ECU1にイネーブルコマンドを送信すると、デバッグモジュール7がイネーブル状態になる。
そして、図2に示すように、デバッグモジュール7を使用してデバッグ処理が行われる。
【0022】
その後に、再度のプログラミングが行われる。
次に、チップ量産時の手順について述べる。図3において、工場にてチップの組み立てが行われ、その後に製品検査が行われる。その後に、図1のECU1にパソコン20を接続する。そして、パソコン20にてECU1にディセーブルコマンドを送る。ECU1において、このディセーブルコマンドが入出力回路3を経由してCPU4側に取り込まれる。
【0023】
前述したようにCPU4は図5の処理を実行しているので、このディセーブルコマンドを送信すると、デバッグモジュール7がディセーブル状態にされる。
このように、ターゲット製品の工場出荷前に、シリアル通信等を利用して外部からターゲット製品の設計者のみ知り得るコマンドをマイコン2へ送り、デバッグモジュール7をディセーブル状態にする。
【0024】
その後に、製品が出荷される。市場に製品が出ている時においてはデバッグモジュール7がディセーブル状態になっているので、同モジュール7のデバック機能を利用してフラッシュメモリ8の内容を読み込み、新たなプログラムを書き込むといった不正書き換えを行うことができない。
【0025】
つまり、これ以降、誰もデバッグモジュール7を用いたフラッシュメモリ8の内容の読み込みや不正書き込みは実施できなくなる。
次に、市場不具合等でターゲット製品が返品された場合の手順について述べる。図4において、製品が返品されると、製品検査を行い、プログラム異常であると、図1のECU1にパソコン20を接続する。そして、パソコン20にてECU1にイネーブルコマンドを送る。ECU1において、このイネーブルコマンドが入出力回路3を経由してCPU4側に取り込まれる。
【0026】
前述したようにCPU4は図5の処理を実行しているので、このイネーブルコマンドを送信すると、デバッグモジュール7がイネーブル状態にされる。そして、デバックモジュール7を使用して不具合が解析される。
【0027】
つまり、例えば製品検査でマイコン2のRAM不良が発覚した場合、デバッグモジュール7を使用して不良と思われる領域にR/Wを実施し調査する。
このように、市場不具合等でターゲット製品が返品された場合、再度、外部からコマンドを送り、デバッグモジュール7をイネーブルとし、マイコン内部の解析を実施する。
【0028】
以上のように本実施形態は下記の特徴を有する。
(イ)スイッチ9とレジスタ10を用いて特定のコマンドを外部装置であるパソコン20から送るという特定の操作によりデバックモジュール7をイネーブル/ディセーブルに切り替え、製品出荷後においてデバッグモジュール7を利用してメモリの内容を不正に書き換えられてしまうのを防止できるとともに、返品時においてデバッグモジュール7を利用して量産品の不具合調査を行うことができる。
【0029】
また、デバックモジュール7へのクロックまたは電源の供給を止めることにより、消費電流の低減、ノイズ発生の低減効果もある。
なお、図1においてはクロック信号線Lclock および電源ラインLvcc に共通するスイッチ9、即ち、両ラインを同時に開閉するスイッチを設けたが、クロック信号線Lclock にのみスイッチ(接点9a)を設けたり、あるいは、電源ラインLvcc にのみスイッチ(接点9b)を設けもよい。即ち、デバックモジュール7へのクロックの供給のみを停止することによりデバックモジュール7をディセーブル状態にしたり、デバックモジュール7への電源の供給のみを停止することによりデバックモジュール7をディセーブル状態にしてもよい。
【0030】
また、上述した実施形態は、パソコン20からのコマンド送信によりデバックモジュール7をイネーブル状態、ディセーブル状態に切り換えていた。つまり、特定の操作は、通信を使用して外部からコマンドを送るものであった。この他にも、特定の操作は、ECU1の内部のハード設定を変えるものとしてもよい。具体的には、図6に示すように、マイコン2の外部端子25に電源電圧Vccを印加するか、アース電位を印加するかでデバックモジュール7をイネーブル状態、ディセーブル状態に切り換えてもよい。そして、この場合には、例えば、製品出荷時に外部端子25の接続状態をアース側へとハード的に切り換えることで、CPU4は図7に示す処理を実行することによりデバックモジュール7をディセーブル状態にする。
【0031】
つまり、CPU4はステップ500で外部端子電圧が電源電圧Vccか否か判定し、外部端子電圧が電源電圧Vccであるとステップ600でレジスタ10の出力をHレベルに設定し、デバッグモジュール7をイネーブル状態にする。これによりスイッチ9の接点9a,9bが閉じられ、デバッグモジュール7にクロック信号線Lclock を通してクロックが供給されるとともに電源ラインLvcc を通して電源Vccが供給される。また、CPU4はステップ500で外部端子電圧が電源電圧Vccでないとステップ700でレジスタ10の出力をLレベルに設定し、デバッグモジュール7をディセーブル状態にする。これにより、スイッチ9の接点9a,9bが開けられて、デバッグモジュール7にクロック信号線Lclock を通してのクロックの供給が停止されるとともに電源ラインLvcc を通しての電源Vccの供給が停止される。
【図面の簡単な説明】
【図1】 実施の形態における電子制御装置の構成図。
【図2】 チップ開発時の工程図。
【図3】 チップ量産時の工程図。
【図4】 チップ返品時の工程図。
【図5】 CPUが実行する処理内容を示すフローチャート。
【図6】 別例の電子制御装置の構成図。
【図7】 CPUが実行する処理内容を示すフローチャート。
【符号の説明】
4…CPU、7…デバックモジュール、8…フラッシュメモリ、9…スイッチ、10…レジスタ。
Claims (8)
- 中央処理装置と、中央処理装置の制御プログラムおよび制御データを記憶したリード/ライト可能な不揮発性メモリと、デバックモジュールとを備えた電子制御装置であって、
特定の操作により、デバックモジュールを使用可能にするイネーブル状態と、デバックモジュールを使用不能にするディセーブル状態とに切り替える選択手段を設け、該選択手段は、デバックモジュールへのクロックの供給を停止することによりディセーブル状態にすることを特徴とする電子制御装置。 - 選択手段は、デバックモジュールに接続されたクロック信号線に設けられたスイッチを含むものである請求項1に記載の電子制御装置。
- 中央処理装置と、中央処理装置の制御プログラムおよび制御データを記憶したリード/ライト可能な不揮発性メモリと、デバックモジュールとを備えた電子制御装置であって、
特定の操作により、デバックモジュールを使用可能にするイネーブル状態と、デバックモジュールを使用不能にするディセーブル状態とに切り替える選択手段を設け、該選択手段は、デバックモジュールへの電源の供給を停止することによりディセーブル状態にすることを特徴とする電子制御装置。 - 選択手段は、デバックモジュールに接続された電源ラインに設けられたスイッチを含むものである請求項3に記載の電子制御装置。
- 中央処理装置と、中央処理装置の制御プログラムおよび制御データを記憶したリード/ライト可能な不揮発性メモリと、デバックモジュールとを備えた電子制御装置であって、
特定の操作により、デバックモジュールを用いて当該電子制御装置内部にアクセスできるように該デバックモジュールを使用可能にするイネーブル状態と、デバックモジュールを用いて当該電子制御装置内部に不正アクセスできないように該デバックモジュールを使用不能にするディセーブル状態とに切り替える選択手段を設けたことを特徴とする電子制御装置。 - 中央処理装置と、中央処理装置の制御プログラムおよび制御データを記憶したリード/ライト可能な不揮発性メモリと、デバックモジュールとを備えた電子制御装置であって、
特定の操作により、デバックモジュールを用いて前記不揮発性メモリの記憶内容が書き換えられるように該デバックモジュールを使用可能にするイネーブル状態と、デバックモジュールを用いて前記不揮発性メモリの記憶内容が不正に書き換えられないように該デバックモジュールを使用不能にするディセーブル状態とに切り替える選択手段を設けたことを特徴とする電子制御装置。 - 特定の操作は、通信を使用して外部からコマンドを送るものである請求項5または請求項6に記載の電子制御装置。
- 特定の操作は、内部のハード設定を変えるものである請求項5または請求項6に記載の電子制御装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29357698A JP3704973B2 (ja) | 1998-10-15 | 1998-10-15 | 電子制御装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29357698A JP3704973B2 (ja) | 1998-10-15 | 1998-10-15 | 電子制御装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000122930A JP2000122930A (ja) | 2000-04-28 |
JP3704973B2 true JP3704973B2 (ja) | 2005-10-12 |
Family
ID=17796532
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29357698A Expired - Fee Related JP3704973B2 (ja) | 1998-10-15 | 1998-10-15 | 電子制御装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3704973B2 (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7921303B2 (en) * | 2005-11-18 | 2011-04-05 | Qualcomm Incorporated | Mobile security system and method |
WO2008032477A1 (fr) * | 2006-09-15 | 2008-03-20 | Mitsubishi Electric Corporation | Système de déboguage |
-
1998
- 1998-10-15 JP JP29357698A patent/JP3704973B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2000122930A (ja) | 2000-04-28 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7050859B1 (en) | Systems and methods to port controller state and context in an open operating system | |
JP3693721B2 (ja) | フラッシュメモリ内蔵マイクロコンピュータ及びそのテスト方法 | |
JP2000122931A (ja) | デジタル集積回路 | |
CN1444799A (zh) | 加密可编程逻辑器件 | |
US20090187305A1 (en) | Method of detecting manipulation of a programmable memory device of a digital controller | |
US6798713B1 (en) | Implementing software breakpoints | |
US5768563A (en) | System and method for ROM program development | |
JP2006507586A (ja) | 埋め込みシステムの解析装置及び方法 | |
US5651128A (en) | Programmable integrated circuit memory comprising emulation means | |
US20030135706A1 (en) | Microcontroller having embedded non-volatile memory with read protection | |
JP3704973B2 (ja) | 電子制御装置 | |
US20100036972A1 (en) | Reconfigurable computing device and method for inspecting configuration data | |
US6735514B2 (en) | Control device for a vehicle engine | |
US12007875B2 (en) | Chip having debug memory interface and debug method thereof | |
US7340313B2 (en) | Monitoring device for monitoring internal signals during initialization of an electronic circuit | |
JP3778035B2 (ja) | 電子ユニットの検査方法 | |
JP4398102B2 (ja) | 車載用電子機器 | |
US7596717B2 (en) | Microcomputer and debugging method | |
JP3912447B2 (ja) | メモリシステムおよび外部不揮発メモリの使用方法 | |
JP4748871B2 (ja) | ワンチップマイクロコントローラシステム | |
JP2000172573A (ja) | デジタル集積回路 | |
JPH1185559A (ja) | エミュレータ | |
KR100476555B1 (ko) | 피씨메모리카드의 프로그램을 위한 카드지그장치 | |
JPS63156231A (ja) | リ−ドオンリ−メモリ内命令の変更方法 | |
US20020157040A1 (en) | Program-controlled unit and method of operating the program-controlled unit |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050223 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20050301 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050502 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20050705 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050718 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080805 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110805 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120805 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130805 Year of fee payment: 8 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |