JP4236808B2 - 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 - Google Patents
不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 Download PDFInfo
- Publication number
- JP4236808B2 JP4236808B2 JP2000354925A JP2000354925A JP4236808B2 JP 4236808 B2 JP4236808 B2 JP 4236808B2 JP 2000354925 A JP2000354925 A JP 2000354925A JP 2000354925 A JP2000354925 A JP 2000354925A JP 4236808 B2 JP4236808 B2 JP 4236808B2
- Authority
- JP
- Japan
- Prior art keywords
- rewriting
- address
- rewrite
- data
- nonvolatile memory
- 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
- Debugging And Monitoring (AREA)
- Microcomputers (AREA)
- Read Only Memory (AREA)
Description
【発明の属する技術分野】
本発明は不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法に関し、特に不揮発メモリにデータ書換用プログラムを格納する不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法に関する。
【0002】
【従来の技術】
フラッシュメモリ(EEPROM)等の電気的データ消去及び書き込みが可能な不揮発メモリは、最近、1チップマイクロコンピュータに内蔵されてプログラムメモリ又はデータメモリとして広く使用されるようになってきている。
【0003】
近年、この種の不揮発メモリ内蔵のマイクロコンピュータ市場では、内蔵不揮発メモリのオンボード(実装された状態)での自己書換要求が強く、その対応は必須となっている。また、より安全に自己書換が行える環境を提示することが要求されている。
【0004】
この要求に応えるために、例えば、特開平10−134024号公報記載の従来の不揮発メモリ内蔵マイクロコンピュータは、以下に述べるような方法で誤書換を防止している。
【0005】
従来の不揮発メモリ内蔵マイクロコンピュータをブロックで示す図5を参照すると、この従来の不揮発メモリ内蔵マイクロコンピュータは、プログラムカウンタ11を有するCPU1及び複数の記憶領域(以下、ブロック)21〜2n(nは2以上の整数)から成る不揮発メモリ2を内蔵し、不揮発メモリ2の格納データ書換用のアドレスレジスタ50とデータレジスタ6及び制御レジスタ7及び書込消去制御回路80と、1ブロック分の書換データを格納するRAM35と、プログラムカウンタ11とアドレスレジスタ50の選択を行うマルチプレクサ36とを有し、さらに誤書換防止用にデータ一致検出回路A31と、レジスタ32と、データ識別回路33と、データ一致検出回路B34と、データ一致検出回路C37と、データ一致検出回路D38とを備える。
【0006】
不揮発メモリ2を構成する複数のブロックのうち、ブロック21はマイクロコンピュータを制御するためのプログラム領域であり、その他のブロック22〜2nは他の一般データを格納する一般データ領域である。また、ブロック21の一部の特定アドレス領域は、この特定アドレス領域以外のプログラム領域のデータを書換えるためのプログラムデータが記憶されているものとする。
【0007】
また、説明の便宜上、ブロック21〜2nの各々は128ワードの記憶領域から成るものとする。さらに、プログラムカウンタ11のプログラムデータは16ビット、アドレスデータは16ビット、不揮発メモリ2の指定アドレスへの書込データ(プログラムデータ)は8ビット、不揮発メモリ2の書込制御のための制御データは8ビットであるものとする。
【0008】
次に、図5を参照して、従来の不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換動作である不揮発メモリの自己書換方法について説明すると、まず、CPU1のプログラムカウンタ11が不揮発メモリ2の特定アドレス領域211をアドレス指定すると、ブロック21の特定アドレス領域から読み出されたデータ書換用のプログラムがCPU1内の命令デコーダ(図示省略)で解読され、バス10を経由してデータ一致検出回路A31に入力する。データ一致検出回路A31は、入力したデータ書換用のプログラムデータが所望の書換動作であるかの判定を行い、その判定結果をレジスタ32に書込む。
【0009】
データ識別回路33は、レジスタ32の値をチェックし、このレジスタ32の値に応じてデータ一致検出回路B34、データ一致検出回路C37、及びデータ一致検出回路D38の各々に対するイネーブル信号を出力してイネーブル状態に設定することにより、アドレスレジスタ50、データレジスタ6、制御レジスタ7の各々の書込み許可の制御を行う。
【0010】
CPU暴走などにより、プログラムカウンタ11がブロック2の特定アドレス領域の途中アドレスにジャンプしてアドレス指定したような場合、すなわち、意図しない書換の場合は、データ一致検出回路A31は不一致と判定し、データ識別回路33はイネーブル信号を出力しないので、上記イネーブル状態が設定されず、書込み許可されないので、従って書換動作は起らない。
【0011】
意図した書換の場合は、1ブロック128ワード分の書換データをRAM35に転送し、書込み消去制御回路8のみで1ブロック128ワード分の書換を行うことにより、CPU1が介在しない。
【0012】
これにより、不揮発メモリ内蔵マイクロコンピュータの不揮発メモリのオンボードでの自己書換を行う場合の危険回避を達成できる。
【0013】
しかし、この従来の不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法では、データ一致検出回路A31、レジスタ32、データ識別回路33の各々にはそれぞれ8ビットのレジスタが不可欠であり、さらにデータ検出回路B34、データ検出回路C37、データ検出回路D38に組合せ回路を必要とする。また、書込消去制御回路80にはRAM5への書換データ転送と、不揮発メモリの書換をCPUなしで行うために、シーケンサとアドレス加算器を必要とする。さらに、アドレスレジスタ50にも不揮発メモリの書換アドレスをインクリメントする加算器が必要になるため、回路規模が大きくなる。
【0014】
また、データの書換は、1ブロック分の書換のみに対応しているため、徐々にデータを追記するような用途に適した1ワードずつの書換には対応できない。
【0015】
【発明が解決しようとする課題】
上述した従来の不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法は、誤書換防止用にデータ書換用のプログラムデータが所望の書換動作であるかの判定を行うためのデータ一致検出回路とこの判定結果を保持するためのレジスタ及びデータ識別回路にプログラムデータ長分のレジスタ、また、各書換動作に対応し組合せ回路から成る複数のデータ一致検出回路を必要とし、さらに、書込消去制御回路はシーケンサとアドレス加算器を、さらにまた、アドレスレジスタは書換アドレスインクリメント用の加算器をそれぞれ必要とするため、回路規模が大きくなるという欠点があった。
【0016】
また、データの書換は、1ブロック分の書換のみに対応しているため、徐々にデータを追記するような用途に適した1ワードずつの書換には対応できないという欠点があった。
【0017】
本発明の目的は、安全にかつ自由に自己書換を行うことを可能とするとともに回路規模の増大を抑制した不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法を提供することにある。
【0018】
【課題を解決するための手段】
請求項1記載の発明の不揮発メモリ内蔵マイクロコンピュータは、実行アドレスを指示するプログラムカウンタを有するCPUとこのCPUの一般プログラムデータ格納用の一般プログラム領域及び前記一般プログラムデータの書換用の書換プログラムを格納した書換プログラム格納領域とを有する不揮発メモリとを内蔵し、前記不揮発メモリの書換対象のアドレスである書換アドレスを指定するアドレスレジスタと、前記一般プログラムデータを書換えるための書換データを指定するデータレジスタと、前記不揮発メモリの書換時に消去及び書込の動作を制御する制御レジスタと、前記制御レジスタの値に基づき書換を実行する書込消去制御回路とを備える不揮発メモリ内蔵マイクロコンピュータにおいて、
前記一般プログラムデータの書換を行う書換動作時に、前記実行アドレスと前記書換アドレスとを比較し前記実行アドレスと前記書換アドレスとの一致に応答して前記データ書換プログラムを破壊するような異常書換であることを示す異常書換信号を出力するアドレス比較回路を備え、
前記異常書換信号の供給に応じて前記書換動作を禁止することにより、前記CPUの暴走を含む異常動作に起因する異常書換による誤書換を防止することを特徴とするものである。
【0019】
また、請求項2記載の発明は、請求項1記載の不揮発メモリ内蔵マイクロコンピュータにおいて、前記異常書換信号の供給に応答して割込信号を出力し前記CPUに供給する割込コントローラを備えて構成されている。
【0020】
また、請求項3記載の発明は、請求項1記載の不揮発メモリ内蔵マイクロコンピュータにおいて、前記異常書換信号の供給に応答してマイクロコンピュータの内部回路を初期化するためのリセット信号を出力するリセットコントローラを備えて構成されている。
【0021】
また、請求項4記載の発明は、請求項1記載の不揮発メモリ内蔵マイクロコンピュータにおいて、前記アドレス比較回路が、前記実行アドレスと前記書換アドレスの各々の予め定めたビット数の上位ビットの各々同士を比較することにより前記異常書換信号を出力することを特徴とするものである。
【0022】
さらに、請求項5記載の発明は、請求項4記載の不揮発メモリ内蔵マイクロコンピュータにおいて、前記アドレス比較回路が、前記実行アドレスと前記書換アドレスの各々の予め定めたm(mは整数)ビットの前記上位ビットの各々同士の排他的論理和(XOR)演算を行い第1〜第mのビット比較信号を出力する第1〜第mのXOR回路と、
前記第1〜第mのビット比較信号を否定論理和(NOR)演算し判定結果である前記異常書換信号を出力するNOR回路とを備えて構成されている。
【0023】
請求項6記載の発明の不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換方法は、実行アドレスを指示するプログラムカウンタを有するCPUとこのCPUの一般プログラムデータを格納した一般プログラム格納領域である一般プログラムブロック及び前記一般プログラムデータの書換用の書換プログラムを格納した書換プログラム格納領域である書換プログラムブロックから成る複数のブロックを有する不揮発メモリとを内蔵する不揮発メモリ内蔵マイクロコンピュータの前記不揮発メモリの自己書換方法において、
前記書換プログラムブロックに分岐し前記実行アドレスとして設定する実行アドレス設定ステップと、
前記不揮発メモリの書換対象の前記書換プログラムブロックのアドレスである書換アドレスを指定する書換アドレス指定ステップと、
前記書換アドレスと前記実行アドレスとを比較し、現在アクセス中のブロックが同一ブロックであるかの判別を行うアドレス比較ステップと、
前記アドレス比較ステップで不一致の場合書換を実行する書換ステップと、
前記アドレス比較ステップで一致の場合異常書換信号を出力する異常書換信号出力ステップと、
前記異常書換信号の供給に応答して前記書換のための消去及び書込を停止する消去書込制御停止ステップと、
前記異常書換信号により発生した割込信号の供給に応答して前記CPUが割込処理を実施する割込処理ステップとを有することを特徴とするものである。
【0024】
また、請求項7記載の発明は、請求項61記載の不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換方法において、前記書換ステップが、前記書換アドレスの指定ブロックを消去する消去ステップと、
前記指定ブロックに書込データを書込む書込ステップと、
書換終了か否かを判定し、未了の場合は前記書換アドレス指定ステップに戻り、終了の場合は処理を終了する書換終了判定ステップとを有することを特徴とするものである。
【0025】
【発明の実施の形態】
次に、本発明の実施の形態について図面を参照して詳細に説明する。
【0026】
本実施の形態の不揮発メモリ内蔵マイクロコンピュータは、実行アドレスを指示するプログラムカウンタを有するCPUとこのCPUの一般プログラムデータ格納用の一般プログラム領域及び上記一般プログラムデータの書換用の書換プログラムを格納した書換プログラム格納領域とを有する不揮発メモリとを内蔵し、上記不揮発メモリの書換対象のアドレスである書換アドレスを指定するアドレスレジスタと、上記一般プログラムデータを書換えるための書換データを指定するデータレジスタと、上記不揮発メモリの書換時に消去及び書込の動作を制御する制御レジスタと、上記制御レジスタの値に基づき書換を実行する書込消去制御回路とを備える不揮発メモリ内蔵マイクロコンピュータにおいて、上記一般プログラムデータの書換を行う書換動作時に、上記実行アドレスと上記書換アドレスとを比較し上記実行アドレスと上記書換アドレスとの一致に応答して上記データ書換プログラムを破壊するような異常書換であることを示す異常書換信号を出力するアドレス比較回路を備え、上記異常書換信号の供給に応じて上記書換動作を禁止することにより、上記CPUの暴走を含む異常動作に起因する異常書換による誤書換を防止することを特徴とするものである。
【0027】
次に、本発明の実施の形態を図5と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図1を参照すると、この図に示す本実施の形態の不揮発メモリ内蔵マイクロコンピュータは、従来と共通の実行アドレスPCを指示するプログラムカウンタ11を有し不揮発メモリ2に記憶したプログラムを実行するCPU1と、アドレスで認識できる複数の記憶領域である後述のブロック21〜2n(nは2以上の整数)を有する不揮発メモリ2と、書換データDCを指定するデータレジスタ6と、消去及び書込等の動作を制御する制御レジスタ7と、データ伝送用のバス10とに加えて、アドレスレジスタ50の代わりに不揮発メモリ2の一般プログラムデータの記憶領域の書換用のアドレスである書換アドレスWAを指定するアドレスレジスタ5と、書込消去制御回路80の代わりに書換を実行する書込消去制御回路8と、CPU1が不揮発メモリ2からフェッチし実行中の実行アドレスPCと書換アドレスWAとを比較し実行アドレスPCと書換アドレスWAとが同一である同一ブロックへのアクセスの場合に異常書換信号Fを発生し後述の割込コントローラ4と書込消去制御回路8とに供給するアドレス比較回路3と、アドレス比較回路3からの異常書換信号Fに応答して割込信号ISをCPU1に出力する割込コントローラ4とを備える。
【0028】
不揮発メモリ2を構成する複数のブロックのうちの任意の1つのブロック21〜2nに自己のデータを書換える書換プログラムを記憶させておくことにより、CPU1の書換プログラム実行による自己書換が可能となる。
【0029】
以下、説明の便宜上、上記任意の1つのブロックをブロック21とすると、このブロック21は、マイクロコンピュータを制御するためのプログラム領域であり、その他のブロック22〜2nは一般プログラムデータを格納する一般プログラムデータ領域である。また、ブロック21の一部の特定アドレス領域は、この特定データ領域以外のプログラム領域のデータを書換えるためのプログラムである書換プログラムのデータが記憶されているものとする。これらブロック21〜2nは各ブロック毎での消去が可能である。
【0030】
また、1ビット、8ビット、16ビット、32ビット、64ビット、128ビット単位等での書込が可能である。不揮発メモリ2の書換を行う場合は、すでに消去済みの場合は上記何れかのビット単位にて書込を行う。しかし、消去されていない場合は、ブロック単位の消去を行った後に上記何れかのビット単位にて書込みを行い、書換を終了する。この書換動作は、アドレスレジスタ5と、データレジスタ6と、制御レジスタ7と、書込消去制御回路8とを用いて実行する。
【0031】
説明の便宜上、ブロック21〜2nの各々は、128ワードの記憶領域から成るものとする。さらに、プログラムカウンタ11のプログラムデータは16ビット、アドレスデータは16ビット、不揮発メモリ2の指定アドレスへの書込データ(プログラムデータ)は8ビット、不揮発メモリ2の書込制御のための制御データは8ビットであるものとする。
【0032】
さらに、不揮発メモリ2は、ブロック21〜24の4ブロックを有するものとし、ブロック21が0000−0FFF、ブロック22が1000−1FFF、ブロック23が2000−2FFF、ブロック24が3000−FFFF番地のアドレス領域を有するものとする。従って、不揮発メモリ2の各ブロック21〜2nの判別は、判別可能な最小限のアドレスを比較すれば良いので、この場合は、各ブロックの判別は、アドレスの上位4ビット(0,1,2,3)の比較で可能となる。
【0033】
アドレス比較回路3の構成を回路図で示す図2を参照すると、この図に示すアドレス比較回路3は、それぞれ16ビットデータである実行アドレスPCと書換アドレスWAの各々の上位4ビットのデータから成る上位実行アドレスPCUと上位書換アドレスWAUの各々をビット毎に排他的論理和(XOR)しビット比較信号b0,b1,b2,b3の各々を出力するXOR回路X30,X31,X32,X33と、ビット比較信号b0,b1,b2,b3を否定論理和(NOR)演算し判定結果である異常書換信号Fを出力するNOR回路N31とを備える。
【0034】
次に、図1及び本実施の形態の不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換方法をフローチャートで示す図3を参照して本実施の形態の自己書換動作について説明すると、自己書換は、まず、不揮発メモリ2の自己書換プログラムのある特定アドレス領域を含むブロック21に分岐し実行アドレスPCとしてブロック21のアドレスを設定し(ステップS1)、外部からバス10を経由して書換対象のブロック22〜2nの1つ、例えばブロック22のアドレスを書換アドレスWAとしてアドレスレジスタ5にセットする(ステップS2)。
【0035】
次に、アドレス比較回路3は、アドレスレジスタ5に書き込まれた書換アドレスWAとプログラムカウンタ11から供給される実行アドレスPCとを比較し、現在アクセス中のブロックの判別を行う(ステップS3)。
【0036】
ここでは、前述の仮定により最上位の4ビット、すなわち、上位書換アドレスWAUのビットWA0,WA1,WA2,WA4の各々と、上位実行アドレスPUのビットPC0,PC1,PC2,PC3の各々同士を比較することにより、書換アドレスWAと実行アドレスPCの各々のアクセスが同一ブロックに対するアクセスか異ブロックに対するアクセスかの判定を行う。
【0037】
所望の自己書換が行われる場合は、実行アドレスPCで指定するブロック21を書換アドレスWAとすることはあり得ないので、ステップS3で、必ずブロック比較結果が「不一致」になり、以下のステップS4〜S9で書換を実行する。
【0038】
すなわち、ステップS3で、不一致の場合は、消去・書込動作を制御する制御レジスタ7をバス10を経由してアクティブ状態にセットし(ステップS4)、書換アドレスWAの指定ブロックを消去するとともに(ステップS5)、データレジスタ6にバス10を経由して書込データDCをセットし(ステップS6)、指定アドレスである書換アドレスWAに書き込む(ステップS7)。次に、制御レジスタ7をリセットし(ステップS8)、書換終了か否かを判定し(ステップS9)、未了の場合はステップS2に戻り、終了の場合は処理を終了する。
【0039】
一方、CPUの暴走などにより、意図しないタイミングで自己書換プログラムのある領域であるブロック21に分岐し、書換アドレスWAとしてブロック21を設定し、自己書換プログラムを破壊するようなブロック21の異常書換を実行しようとしたり、自己書換プログラムに不具合があり、書換アドレスWAが自己書換プログラムのあるブロック21を指定していた場合には、ステップ3のアドレス比較回路3によるアドレス比較の判定結果が「一致」となり、割込みコントローラ4に対し異常書換信号Fを出力して割込みコントローラ4と書込消去制御回路8に供給し、割込みコントローラ4は異常書換信号Fの供給に応答してCPU1に異常動作を伝える割込信号ISを発生し(ステップS10)、書込消去制御回路8は割込みの優先度に関係なく書込消去制御動作を停止し(ステップS11)、CPU1は割込信号ISの供給に応答して割込処理を実施する(ステップS12)。これにより、書換動作を禁止する。
【0040】
このように、自己書換の実行時にアドレスレジスタ5に書込まれた書換対象ブロックのアドレスである書換アドレスWAと、書換動作実行用のデータ格納ブロックのアドレスである実行アドレスPCとを比較し異なるブロックであることを確認するアドレス比較回路3を設けることにより、CPU1の暴走などにより、ブロック21の異常書換を実行しようとしたり、自己書換プログラムに不具合があり、書換アドレスWAが自己書換プログラムのあるブロック21を指定していた場合には、書換動作を終了しデータの異常書換による誤書換を防止できる。
【0041】
さらに、本実施の形態では、異常書換を実行しようとする場合に異常書換信号Fを発生する機能を有するため、割込みコントローラ4を介してCPUが異常なアクセスがあったことを検知できる。
【0042】
次に、本発明の第2の実施の形態を図1と共通の構成要素には共通の参照文字/数字を付して同様にブロックで示す図4を参照すると、この図に示す本実施の形態の前述の第1の実施の形態との相違点は、割込みコントローラ4の代わりに異常書換信号Fの供給に応答してマイクロコンピュータの内部回路を初期化するためのリセット信号Rを出力するリセットコントローラ9を備えることである。
【0043】
本実施の形態では、異常書換を実行しようとして異常書換信号Fが発生すると、リセットコントローラ9がリセット信号Rを出力し、マイクロコンピュータの内部回路を初期化する。
【0044】
従って、このリセットコントローラ9を用いた異常検知動作は、割込みの優先順位に関係なく動作するために、内部リセットによる初期化が即座に行われることになる。
【0045】
このように、本実施の形態では、CPU1が暴走し、割込みを受け付けられなくなっていたり、優先順位の高い割込みが実行されていた場合などにも対応できる。
【0046】
以上本発明の実施の形態を述べたが、本発明は上記実施の形態に限られることなく種々の変形が可能である。例えば、アドレスデータのビット数を32ビット、48ビット、64ビット等とすることや、ブロック数を4に限定せず、8ブロック、12ブロック等とすることや、また、アドレス比較のための上位ビットも4ビットに限らず2ビット、8ビット等とすることや、さらに、異常書換を実行しようとする場合の割込として想定したマスカブル割込の代わりにノンマスカブル割込とすることも、本発明の主旨を逸脱しない限り適用できることは勿論である。
【0047】
【発明の効果】
以上説明したように、本発明の不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法は、自己書換の実行時にアドレスレジスタに書込まれた書換対象ブロックのアドレスである書換アドレスと、書換動作実行用のデータ格納ブロックのアドレスである実行アドレスとを比較し異なるブロックであることを確認するアドレス比較回路を備えることにより、CPUの暴走などにより、意図しないタイミングで自己書換プログラムのあるブロックに分岐し、自己書換プログラムを破壊するようなブロックの異常書換を実行しようとしたり、自己書換プログラムに不具合があり、書換アドレスWAが自己書換プログラムのあるブロック21を指定していた場合には、書換動作を終了しデータの異常書換による誤書換を防止できるという効果がある。
【0048】
また、データの書換は、1ビット、8ビット、16ビット、32ビット、64ビット、128ビット単位等での書込が可能であるため、徐々にデータを追記するような用途に適した1ワードずつの書換にも対応できるという効果がある。
【図面の簡単な説明】
【図1】本発明の不揮発メモリ内蔵マイクロコンピュータの第1の実施の形態を示すブロック図である。
【図2】図1のアドレス比較回路の構成例を示す回路図である。
【図3】本実施の形態の不揮発メモリ内蔵マイクロコンピュータにおける動作である不揮発メモリの自己書換方法の一例を示すフローチャートである。
【図4】本発明の不揮発メモリ内蔵マイクロコンピュータの第2の実施の形態を示すブロック図である。
【図5】従来の不揮発メモリ内蔵マイクロコンピュータの一例を示すブロック図である。
【符号の説明】
1 CPU
2 不揮発メモリ
3 アドレス比較回路
4 割込コントローラ
5,50 アドレスレジスタ
6 データレジスタ
7 制御レジスタ
8,80 書込消去制御回路
9 リセットコントローラ
10 バス
11 プログラムカウンタ
21〜2n ブロック
31 データ一致検出回路A
32 レジスタ
33 データ識別回路
34 データ一致検出回路B
35 RAM
36 マルチプレクサ
37 データ一致検出回路C
38 データ一致検出回路D
Claims (7)
- 実行アドレスを指示するプログラムカウンタを有するCPUとこのCPUの一般プログラムデータ格納用の一般プログラム領域及び前記一般プログラムデータの書換用の書換プログラムを格納した書換プログラム格納領域とを有する不揮発メモリとを内蔵し、前記不揮発メモリの書換対象のアドレスである書換アドレスを指定するアドレスレジスタと、前記一般プログラムデータを書換えるための書換データを指定するデータレジスタと、前記不揮発メモリの書換時に消去及び書込の動作を制御する制御レジスタと、前記制御レジスタの値に基づき書換を実行する書込消去制御回路とを備える不揮発メモリ内蔵マイクロコンピュータにおいて、
前記一般プログラムデータの書換を行う書換動作時に、前記実行アドレスと前記書換アドレスとを比較し前記実行アドレスと前記書換アドレスとの一致に応答して前記データ書換プログラムを破壊するような異常書換であることを示す異常書換信号を出力するアドレス比較回路を備え、
前記異常書換信号の供給に応じて前記書換動作を禁止することにより、前記CPUの暴走を含む異常動作に起因する異常書換による誤書換を防止することを特徴とする不揮発メモリ内蔵マイクロコンピュータ。 - 前記異常書換信号の供給に応答して割込信号を出力し前記CPUに供給する割込コントローラを備えることを特徴とする請求項1記載の不揮発メモリ内蔵マイクロコンピュータ。
- 前記異常書換信号の供給に応答してマイクロコンピュータの内部回路を初期化するためのリセット信号を出力するリセットコントローラを備えることを特徴とする請求項1記載の不揮発メモリ内蔵マイクロコンピュータ。
- 前記アドレス比較回路が、前記実行アドレスと前記書換アドレスの各々の予め定めたビット数の上位ビットの各々同士を比較することにより前記異常書換信号を出力することを特徴とする請求項1記載の不揮発メモリ内蔵マイクロコンピュータ。
- 前記アドレス比較回路が、前記実行アドレスと前記書換アドレスの各々の予め定めたm(mは整数)ビットの前記上位ビットの各々同士の排他的論理和(XOR)演算を行い第1〜第mのビット比較信号を出力する第1〜第mのXOR回路と、
前記第1〜第mのビット比較信号を否定論理和(NOR)演算し判定結果である前記異常書換信号を出力するNOR回路とを備えることを特徴とする請求項4記載の不揮発メモリ内蔵マイクロコンピュータ。 - 実行アドレスを指示するプログラムカウンタを有するCPUとこのCPUの一般プログラムデータを格納した一般プログラム格納領域である一般プログラムブロック及び前記一般プログラムデータの書換用の書換プログラムを格納した書換プログラム格納領域である書換プログラムブロックから成る複数のブロックを有する不揮発メモリとを内蔵する不揮発メモリ内蔵マイクロコンピュータの前記不揮発メモリの自己書換方法において、
前記書換プログラムブロックに分岐し前記実行アドレスとして設定する実行アドレス設定ステップと、
前記不揮発メモリの書換対象の前記書換プログラムブロックのアドレスである書換アドレスを指定する書換アドレス指定ステップと、
前記書換アドレスと前記実行アドレスとを比較し、現在アクセス中のブロックが同一ブロックであるかの判別を行うアドレス比較ステップと、
前記アドレス比較ステップで不一致の場合書換を実行する書換ステップと、
前記アドレス比較ステップで一致の場合異常書換信号を出力する異常書換信号出力ステップと、
前記異常書換信号の供給に応答して前記書換のための消去及び書込を停止する消去書込制御停止ステップと、
前記異常書換信号により発生した割込信号の供給に応答して前記CPUが割込処理を実施する割込処理ステップとを有することを特徴とする不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換方法。 - 前記書換ステップが、前記書換アドレスの指定ブロックを消去する消去ステップと、
前記指定ブロックに書込データを書込む書込ステップと、
書換終了か否かを判定し、未了の場合は前記書換アドレス指定ステップに戻り、終了の場合は処理を終了する書換終了判定ステップとを有することを特徴とする請求項6記載の不揮発メモリ内蔵マイクロコンピュータの不揮発メモリの自己書換方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000354925A JP4236808B2 (ja) | 2000-11-21 | 2000-11-21 | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000354925A JP4236808B2 (ja) | 2000-11-21 | 2000-11-21 | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002157236A JP2002157236A (ja) | 2002-05-31 |
JP4236808B2 true JP4236808B2 (ja) | 2009-03-11 |
Family
ID=18827430
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000354925A Expired - Fee Related JP4236808B2 (ja) | 2000-11-21 | 2000-11-21 | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4236808B2 (ja) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4153802B2 (ja) * | 2003-02-07 | 2008-09-24 | 株式会社ルネサステクノロジ | 記憶装置 |
-
2000
- 2000-11-21 JP JP2000354925A patent/JP4236808B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2002157236A (ja) | 2002-05-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5327531A (en) | Data processing system including corrupt flash ROM recovery | |
JP3710671B2 (ja) | 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法 | |
US5892826A (en) | Data processor with flexible data encryption | |
US10776292B2 (en) | Apparatus and method for protecting program memory for processing cores in a multi-core integrated circuit | |
KR970004513B1 (ko) | 데이타 처리장치 | |
US7752427B2 (en) | Stack underflow debug with sticky base | |
JPH10228421A (ja) | メモリアクセス制御回路 | |
US20020129195A1 (en) | Microcomputer with built-in programmable nonvolatile memory | |
US20060112246A1 (en) | Program-controlled unit | |
US20060090053A1 (en) | Program-controlled unit | |
JP2007249323A (ja) | マイクロコンピュータ | |
WO2020063975A1 (zh) | 一种非易失性存储器的分区保护方法及装置 | |
KR19980069757A (ko) | 마이크로프로세서 및 멀티프로세서 시스템 | |
KR20060002664A (ko) | 내장 시스템의 메모리 어드레스의 매핑을 제어하는 장치와방법 | |
US6405311B1 (en) | Method for storing board revision | |
JP3202497B2 (ja) | 情報処理装置 | |
US20060080497A1 (en) | Program-controlled unit | |
JP2008033890A (ja) | マイクロコンピュータシステム | |
US20080034150A1 (en) | Data processing circuit | |
JP4236808B2 (ja) | 不揮発メモリ内蔵マイクロコンピュータとその不揮発メモリの自己書換方法 | |
JP2003015958A (ja) | ライトプロテクト方法 | |
JP2001075941A (ja) | フラッシュメモリ内蔵マイクロコンピュータおよびその動作方法 | |
US20060080519A1 (en) | Program-controlled unit | |
JP3197865B2 (ja) | マイクロコンピュータ | |
JPH08235073A (ja) | マイクロコンピュータ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20060307 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20070703 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20070910 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20081119 |
|
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: 20081125 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20081217 |
|
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: 20111226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111226 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121226 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131226 Year of fee payment: 5 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
LAPS | Cancellation because of no payment of annual fees |