(57)【特許請求の範囲】
【請求項１】
ＣＰＵ（Central Processing Unit）と、
前記ＣＰＵが実行する第１及び第２のプログラムを記憶するプログラム記憶領域及び前記ＣＰＵがアクセスするデータを記憶するデータ記憶領域を含む書き換え可能な不揮発性メモリと、
前記ＣＰＵが実行する第３のプログラムを記憶するＲＯＭ（Read Only Memory）と、
前記ＣＰＵのアドレス空間内の第１のアドレス範囲にマッピングされたＲＡＭ（Random Access Memory）と、
フラグレジスタを備え、前記フラグレジスタが第１の状態の時に、前記不揮発性メモリを前記ＣＰＵのアドレス空間内の第２のアドレス範囲にマッピングし、前記ＲＯＭを前記ＣＰＵのアドレス空間から排除し、前記フラグレジスタが前記不揮発性メモリのデータ記憶領域を書き換え可能な第２の状態の時に、前記ＲＯＭを前記ＣＰＵのアドレス空間内の第２のアドレス範囲にマッピングするとともに前記不揮発性メモリのデータ記憶領域を前記ＣＰＵのアドレス空間内の第３のアドレス範囲にマッピングし、前記不揮発性メモリのプログラム領域を前記ＣＰＵのアドレス空間から排除するアドレスデコーダと、を備え、
前記不揮発性メモリに記憶された前記第１のプログラムが、前記不揮発性メモリに記憶された前記第２のプログラムを前記ＲＡＭへ転送し、前記ＲＡＭへ転送された前記第２のプログラムの先頭アドレスへ分岐するルーチンを含み、
前記不揮発性メモリに記憶された前記第２のプログラムが、前記アドレスデコーダの前記フラグレジスタを第２の状態に設定し、前記ＲＯＭに記憶された前記第３のプログラムをサブルーチンコールし、前記アドレスデコーダの前記フラグレジスタを第１の状態に設定するルーチンを含み、
前記ＲＯＭに記憶された前記第３のプログラムが、前記ＲＡＭ中のデータを前記第３のアドレス範囲にマッピングされた前記不揮発性メモリのデータ記憶領域へ書き込むためのルーチンを含む、
ことを特徴とする情報処理装置。
【請求項２】
前記情報処理装置が、シングルチップマイクロコンピュータであることを特徴とする請求項１記載の情報処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、情報処理装置に関する。特には、不揮発性メモリに記憶されたデータを書き換えることができる情報処理装置に関する。
【０００２】
【従来の技術】
従来より、情報処理装置において、プログラム及びデータを記憶するフラッシュメモリが搭載されていた。
【０００３】
【発明が解決しようとする課題】
しかし、このような従来の情報処理装置では、ＣＰＵ（Central Processing Unit）の同一アドレス空間にプログラム及びデータが混在することになる。そのため、フラッシュメモリ内のデータのみを書き換えることが困難であった。
【０００４】
また、フラッシュメモリ内のデータを書き換える場合以外の場合に、プログラムのバグ等によりＣＰＵが暴走してフラッシュメモリ内のプログラムを破壊してしまうことがあるという問題があった。
【０００５】
本発明はこのような問題点に鑑みてなされたもので、その目的は、フラッシュメモリなどの不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したＲＯＭがＣＰＵのアドレス空間にマッピングされるようにし、その他の場合はＲＯＭがＣＰＵのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にＣＰＵの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることにより、信頼性の高い情報処理装置を提供することである。
【０００６】
【課題を解決するための手段】
上記課題を解決するため、  本発明の情報処理装置は、  ＣＰＵ（Central Processing Unit）と、前記ＣＰＵが実行する第１及び第２のプログラムを記憶するプログラム記憶領域及び前記ＣＰＵがアクセスするデータを記憶するデータ記憶領域を含む書き換え可能な不揮発性メモリと、前記ＣＰＵが実行する第３のプログラムを記憶するＲＯＭ（Read Only Memory）と、前記ＣＰＵのアドレス空間内の第１のアドレス範囲にマッピングされたＲＡＭ（Random Access Memory）と、フラグレジスタを備え、前記フラグレジスタが第１の状態の時に、前記不揮発性メモリを前記ＣＰＵのアドレス空間内の第２のアドレス範囲にマッピングし、前記ＲＯＭを前記ＣＰＵのアドレス空間から排除し、前記フラグレジスタが前記不揮発性メモリのデータ記憶領域を書き換え可能な第２の状態の時に、前記ＲＯＭを前記ＣＰＵのアドレス空間内の第２のアドレス範囲にマッピングするとともに前記不揮発性メモリのデータ記憶領域を前記ＣＰＵのアドレス空間内の第３のアドレス範囲にマッピングし、前記不揮発性メモリのプログラム領域を前記ＣＰＵのアドレス空間から排除するアドレスデコーダと、を備え、前記不揮発性メモリに記憶された前記第１のプログラムが、前記不揮発性メモリに記憶された前記第２のプログラムを前記ＲＡＭへ転送し、前記ＲＡＭへ転送された前記第２のプログラムの先頭アドレスへ分岐するルーチンを含み、前記不揮発性メモリに記憶された前記第２のプログラムが、前記アドレスデコーダの前記フラグレジスタを第２の状態に設定し、前記ＲＯＭに記憶された前記第３のプログラムをサブルーチンコールし、前記アドレスデコーダの前記フラグレジスタを第１の状態に設定するルーチンを含み、前記ＲＯＭに記憶された前記第３のプログラムが、前記ＲＡＭ中のデータを前記第３のアドレス範囲にマッピングされた前記不揮発性メモリのデータ記憶領域へ書き込むためのルーチンを含む、ことを特徴とする。
【０００７】
ここで、情報処理装置は、シングルチップマイクロコンピュータとすることができる。
【０００８】
不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したＲＯＭがＣＰＵのアドレス空間にマッピングされるようにし、その他の場合はＲＯＭがＣＰＵのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にＣＰＵの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることができる。
【０００９】
【発明の実施の形態】
以下、本発明の情報処理装置について、図面を参照しつつ詳細に説明する。
図１は、本発明の情報処理装置の実施の一形態を示す概略図である。以下、図１を用いて、本実施形態に係る情報処理装置について、説明する。
【００１０】
図１において、本実施形態に係る情報処理装置１０は、バスＢによって相互に接続されたＣＰＵ１と、ＲＡＭ２と、アドレスデコーダ３と、を備えている。また、情報処理装置１０は、アドレスデコーダ３に接続されたフラッシュメモリ４及びマスクＲＯＭ５と、を備えている。
【００１１】
ＲＡＭ２は、ＣＰＵ１のアドレス空間内のアドレスＤ８００Ｈ〜Ｆ７ＦＦＨにマッピングされている。
【００１２】
フラッシュメモリ４は、ＣＰＵ１が実行するプログラムを記憶するプログラム記憶領域と、ＣＰＵ１がアクセスするデータを記憶するデータ記憶領域と、を含んでいる。
【００１３】
マスクＲＯＭ５は、ＣＰＵ１が実行するプログラムを記憶している。
【００１４】
アドレスデコーダ３は、自己プログラミングフラグレジスタを内蔵している。この自己プログラミングフラグレジスタは、ＣＰＵ１のアドレス空間内のアドレスＦＦＥＦＨにマッピングされており、ＣＰＵ１によって１又は０が設定される。
【００１５】
アドレスデコーダ３は、自己プログラミングフラグレジスタの値が１の場合、フラッシュメモリ４をＣＰＵ１のアドレス空間内のアドレス００００Ｈ〜７ＦＦＦＨにマッピングする。図２は、自己プログラミングフラグレジスタの値が１の場合のＣＰＵ１のメモリマップである。通常、自己プログラミングフラグレジスタの値は、１に設定されている。
【００１６】
また、アドレスデコーダ３は、自己プログラミングフラグレジスタが０の場合、マスクＲＯＭ５をＣＰＵ１のアドレス空間内のアドレス００００Ｈ〜０ＦＦＦＨに、フラッシュメモリ４のデータ記憶領域をＣＰＵ１のアドレス空間内のアドレスＦＦＦ０Ｈ〜ＦＦＦ６Ｈ（以下、単に「フラッシュ制御レジスタ」ともいう）に、夫々マッピングする。図３は、自己プログラミングフラグレジスタの値が０の場合のＣＰＵ１のメモリマップである。
【００１７】
次に、本実施形態に係る情報処理装置１０のフラッシュメモリ４内のデータ記憶領域に記憶されたデータの書き換え動作について、説明する。図４は、フラッシュメモリ４内のデータ記憶領域に記憶されたデータを書き換えるための情報処理装置１０の処理の概略を示すフローチャートである。図５は、図４で示した処理のうち書き換えプログラム実行処理を示すフローチャートである。図６は、図５で示した処理のうちフラッシュ転送プログラム実行処理を示すフローチャートである。以下、図４〜図６を用いて、フラッシュメモリ４内のデータ記憶領域に記憶されたデータを書き換えるための情報処理装置１０の動作について、説明する。
【００１８】
通常、自己プログラミングフラグレジスタの値は１に設定されており、ＣＰＵ１はフラッシュメモリ４内のプログラム記憶領域に記憶された制御プログラムなどを実行している。そして、フラッシュメモリ４内のデータ記憶領域に記憶されたデータを書き換える必要が生じると、ＣＰＵ１は、図４〜図６の処理を開始する。
【００１９】
図４の処理を開始すると、ＣＰＵ１は、フラッシュメモリ４内のプログラム記憶領域に記憶された書換プログラムとフラッシュメモリ４内のデータ記憶領域に記憶されたデータとを、ＲＡＭ２へコピーする（ステップＳ１０１）。
【００２０】
次に、ＣＰＵ１は、ステップＳ１０１にてＲＡＭ２内へコピーされた書換プログラムをサブルーチンコールする（ステップＳ１０２）。
【００２１】
書換プログラムをサブルーチンコールすると、ＣＰＵ１は、図５の処理を開始する。
【００２２】
書換プログラムの実行処理を開始すると、ＣＰＵ１は、自己プログラミングフラグレジスタの値を０に設定する（ステップＳ２０１）。自己プログラミングフラグの値が０に設定されることにより、ＣＰＵ１のメモリマップは図２から図３へ移る。
【００２３】
次に、ＣＰＵ１は、マスクＲＯＭ５内のフラッシュ転送プログラムをサブルーチンコールする（ステップＳ２０２）。
【００２４】
フラッシュ転送プログラムをサブルーチンコールすると、ＣＰＵ１は、図６の処理を開始する。
【００２５】
フラッシュ転送プログラムの実行処理を開始すると、ＣＰＵ１は、ＲＡＭ２内の所定のアドレスのデータを、ＣＰＵ１のアドレス空間内のアドレスＦＦＦ０Ｈ〜ＦＦＦ６Ｈを介して、フラッシュメモリ４のデータ記憶領域へ書き込む（ステップＳ３０１）。その後、ＣＰＵ１はフラッシュ転送プログラム処理を終了し、ステップＳ２０２へリターンする。
【００２６】
フラッシュ転送プログラムからリターンすると、ＣＰＵ１は、自己プログラミングフラグの値を１に設定する（ステップＳ２０３）。自己プログラミングフラグの値が１に設定されることにより、ＣＰＵ１のメモリマップは図３から図２へ移る。その後、ＣＰＵ１は書換プログラム処理を終了し、ステップＳ１０２へリターンする。
【００２７】
書換プログラムからリターンすると、ＣＰＵ１は、全ての処理を終了する。
【００２８】
以上のようにして、フラッシュメモリ４内のデータ記憶領域に記憶されたデータの書き換えが行われる。
【００２９】
このように、本実施形態に係る情報処理装置１０によれば、フラッシュメモリ４内のデータ記憶領域を書き換える場合にフラッシュメモリ４内のデータ記憶領域を書き換えるプログラムを記憶したマスクＲＯＭ５がＣＰＵ１のアドレス空間にマッピングされるようにし、その他の場合はマスクＲＯＭ５がＣＰＵ１のアドレス空間にマッピングされないようにすることにより、フラッシュメモリ４内のデータ記憶領域の書き換えを容易にし、フラッシュメモリ４内のデータ記憶領域を書き換える場合以外の場合にプログラムのバグ等によりＣＰＵ１が暴走してもフラッシュメモリ４内のプログラム記憶領域が書き換えられないようにすることができる。
【００３０】
以上、本発明の情報処理装置の形態例を示したが、情報処理装置１０をシングルチップマイクロコンピュータとすることができる。
【００３１】
【発明の効果】
以上述べた通り、本発明の情報処理装置によれば、不揮発性メモリ内のデータ記憶領域を書き換える場合に不揮発性メモリ内のデータ記憶領域を書き換えるプログラムを記憶したＲＯＭがＣＰＵのアドレス空間にマッピングされるようにし、その他の場合はＲＯＭがＣＰＵのアドレス空間にマッピングされないようにすることにより、不揮発性メモリ内のデータ記憶領域の書き換えを容易にし、不揮発性メモリ内のデータ記憶領域を書き換える場合以外の場合にＣＰＵの暴走などにより不揮発性メモリ内のプログラム記憶領域が書き換えられないようにすることができるようになった。
【図面の簡単な説明】
【図１】本発明による情報処理装置の実施の一形態を示す概略図である。
【図２】本発明による情報処理装置の第１のメモリマップを示す図である。
【図３】本発明による情報処理装置の第２のメモリマップを示す図である。
【図４】本発明による情報処理装置の動作を示すフローチャートである。
【図５】本発明による情報処理装置の動作を示すフローチャートである。
【図６】本発明による情報処理装置の動作を示すフローチャートである。
【符号の説明】
１０  情報処理装置
１  ＣＰＵ
２  ＲＡＭ
３  アドレスデコーダ
４  フラッシュメモリ
５  マスクＲＯＭ
Ｂ  バス
【図１】
0003918434.tif 000002
【図２】
0003918434.tif 000003
【図３】
0003918434.tif 000004
【図４】
0003918434.tif 000005
【図５】
0003918434.tif 000006
【図６】
0003918434.tif 000007