(57)【要約】【課題】不揮発性メモリの消去処理を適切に行なうこと。【解決手段】プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行Ｓ１４し、前記消去コードを揮発性メモリにアクセスすることにより前記消去を実行Ｓ１６し、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断Ｓ１８し、前記割り込みを行なうと判断した場合、前記消去を中断Ｓ２０させた後、前記割り込みを実行Ｓ２２させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないプロセッサと、を具備する電子装置。【選択図】図５
2014115735.tif 000002
【特許請求の範囲】
【請求項１】
プログラムとデータとを記憶する不揮発性メモリと、
前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、
前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを揮発性メモリにアクセスすることにより前記消去を実行し、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断し、前記割り込みを行なうと判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないプロセッサと、
を具備することを特徴とする電子装置。
【請求項２】
前記消去コードは、前記プロセッサが前記割り込みを行なわせるか否かを判断するコード、前記消去の中断させた後、前記割り込みを実行させるコード、および前記消去を中断させないコードの少なくとも一つを含むことを特徴とする請求項１記載の電子装置。
【請求項３】
前記プロセッサは、前回の前記割り込み要求に対応する第１の割り込みを行なわないと判断した場合、前記第１の割り込みを行なわなかったことを記録し、次回の前記割り込み要求に対応する前記第２の割り込みを行なうと判断した場合、記録された前記第１の割り込みを実行させることを特徴とする請求項１または２記載の電子装置。
【請求項４】
前記プロセッサは、前記プログラムの実行に応じ揮発性メモリに割り込みを行なわせるか否かを判断するための管理情報を記憶させ、前記管理情報に基づき割り込みを行なわせるか否かを判断することを特徴とする請求項１から３のいずれか一項記載の電子装置。
【請求項５】
前記管理情報は、処理と時刻とが対応した情報であり、
前記プロセッサは、前記管理情報に現在時刻と対応する処理が存在する場合に、前記割り込みを行なわせると判断することを特徴とする請求項４記載の電子装置。
【請求項６】
前記割り込み要求は、タイマ割り込み要求であり、
前記プロセッサは、前記割り込みを行なわないと判断した回数から前記現在時刻を算出することを特徴とする請求項５記載の電子装置。
【請求項７】
プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを前記揮発性メモリにアクセスすることにより前記消去を実行するプロセッサと、を備える電子装置の制御方法であって、
前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断するステップと、
前記割り込みを行なわせると判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないステップと、
を含むことを特徴とする電子装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子装置およびその制御方法に関し、例えば、不揮発性メモリにプログラムおよびデータを記憶する電子装置およびその制御方法に関する。
【背景技術】
【０００２】
フラッシュメモリ等の不揮発性メモリがプログラムのコードを記憶し、ＣＰＵ（Central Processing Unit）等のプロセッサがプログラムのコードを不揮発性メモリに直接アクセスする電子装置が知られている（例えば特許文献１−３）。フラッシュメモリからＲＡＭ（Random Access Memory）にフラッシュメモリを制御するプログラムコードを転送する電子装置が知られている（例えば特許文献４）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特表２０００−５０９８７１号公報
【特許文献２】特表２００４−５０５３７４号公報
【特許文献３】特開平９−２８２１８１号公報
【特許文献４】特開平７−１６１１９５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
フラッシュメモリ等の不揮発性メモリにおいて、不揮発性メモリ内のデータの消去中に、プログラムコードにアクセスしようとすると、消去を中断することになる。このため、プロセッサがプログラムを実行中に割り込み要求があると、領域の消去を中断することになる。このため、領域の消去が進まなくなってしまう。一方、領域の消去中に重要な割り込みを行なわないと、プログラムの実行ができなくなる。
【０００５】
本電子装置およびその制御方法は、不揮発性メモリの消去処理を適切に行なうことを目的とする。
【課題を解決するための手段】
【０００６】
プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを揮発性メモリにアクセスすることにより前記消去を実行し、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断し、前記割り込みを行なうと判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないプロセッサと、を具備することを特徴とする電子装置を用いる。
【０００７】
プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを前記揮発性メモリにアクセスすることにより前記消去を実行するプロセッサと、を備える電子装置の制御方法であって、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断するステップと、前記割り込みを行なわせると判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないステップと、を含むことを特徴とする電子装置の制御方法を用いる。
【発明の効果】
【０００８】
本電子装置およびその制御方法によれば、不揮発性メモリの消去処理を適切に行なうことができる。
【図面の簡単な説明】
【０００９】
【図１】図１は、比較例１に係る電子装置のブロック図である。
【図２】図２は、比較例２に係る電子装置のブロック図である。
【図３】図３は、比較例３に係る電子装置のブロック図である。
【図４】図４は、実施例１に係る電子装置のブロック図である。
【図５】図５は、プロセッサが行なう処理を示すフローチャートである。
【図６】図６（ａ）および図６（ｂ）は、図５のステップＳ１２を説明するブロック図である。
【図７】図７は、実施例２に係る電子装置のブロック図である。
【図８】図８は、ＣＰＵが行なう処理を示すフローチャートである。
【図９】図９は、実施例３に係る電子装置のブロック図である。
【発明を実施するための形態】
【００１０】
まず、不揮発性メモリをフラッシュメモリ２０、揮発性メモリをＲＡＭ２２およびプロセッサをＣＰＵ２４とする比較例について説明する。図１は、比較例１に係る電子装置のブロック図である。電子装置１１０は、例えばＳＯＣ（System on Chip）として形成されたシステムＬＳＩ(Large Scale Integrated Circuit)である。
【００１１】
図１に示すように、電子装置１１０は、フラッシュメモリ２０、ＲＡＭ２２、ＣＰＵ２４およびバス２６を備えている。フラッシュメモリ２０は、プログラム３０およびデータ３２を記憶している。プログラム３０は、例えばプログラムコードであり、アプリケーションおよびＯＳ（Operating System）等を含む。ＲＡＭ２２は、プログラム実行中のデータおよび／または管理情報等を一時的に記憶する。ＣＰＵ２４は、フラッシュメモリ２０から直接プログラム３０のコードにアクセスすることによりプログラムを実行する。また、ＣＰＵ２４は、プログラムを実行することにより、データ３２の少なくとも一部をフラッシュメモリ２０から読み出す、また、データ３２をフラッシュメモリ２０に書き込む。バス２６はフラッシュメモリ２０、ＲＡＭ２２およびＣＰＵ２４を接続する。
【００１２】
例えばＮＯＲ型フラッシュメモリは、ＸＩＰ（eXecute In Place）機能を有する。すなわち、ＮＯＲ型フラッシュメモリは、各アドレスを指定してデータを読み出すことができる。これにより、ＣＰＵ２４は、フラッシュメモリ２０に格納されているプログラム３０をＲＡＭ２２に転送することなく、直接フラッシュメモリ２０内のプログラムコードにアクセスしプログラムを実行できる。よって、ＲＡＭ２２を小型化でき、電子装置１１０を小型化することができる。
【００１３】
しかしながら、比較例１においては、フラッシュメモリ２０上のデータ３２を一定量更新するたびに、フラシュメモリ２０の少なくとも一部領域の消去処理を行なう。この消去処理中は、フラッシュメモリ２０からの読み出しができなくなる。フラッシュメモリ２０の消去処理は、ＣＰＵ２４の処理速度に対し非常に長い（例えば数１００ｍｓ）。このため、ＣＰＵ２４は、消去処理中には、フラッシュメモリ２０に記憶されたプログラム３０にアクセスできなくなり、プログラムの実行ができなくなる。
【００１４】
図２は、比較例２に係る電子装置のブロック図である。電子装置１１２は、バンク制御回路４０を備えている。フラッシュメモリ２０は、プログラム用のバンク３１とデータ用のバンク３３とを有している。フラッシュメモリ２０は、バンク３１および３３ごとに、アドレスシーケンサ、デコーダおよびセンスアンプ等を有している。バンク制御回路４０は、バンク３１と３３とを制御する。これにより、ＣＰＵ２４は、バンク３１と３３とに同時にアクセスできる。よって、ＣＰＵ２４は、バンク３３において、消去処理を行なっている間に、バンク３１のプログラム３０にアクセスすることができる。その他の構成は、比較例１と同じであり説明を省略する。
【００１５】
しかしながら、比較例２においては、バンク３１と３３とは固定の大きさとなってしまう。このため、例えばアプリケーションごとにプログラム３０のサイズおよび／またはデータ３２のサイズが異なる場合、全てのアプリケーションにおいてバンク３１および３３の領域を有効に使うことが難しい。よって、フラッシュメモリ２０の使用効率が低くなる。
【００１６】
図３は、比較例３に係る電子装置のブロック図である。電子装置１１４は、監視回路４２および消去中断回路４４を備えている。監視回路４２は、バス２６を監視することにより、フラッシュメモリ２０の消去状態およびＣＰＵ２４のアクセス状態を監視する。消去中断回路４４は、監視回路４２が、フラッシュメモリ２０の消去処理と、ＣＰＵ２４からフラッシュメモリ２０へのアクセスが衝突した場合、フラッシュメモリ２０に消去処理を中断させる。これにより、比較例２のように、フラッシュメモリ２０の領域をプログラム用のバンクとデータ用のバンクに分けなくてもよい。よって、フラッシュメモリ２０の使用効率が高くなる。
【００１７】
しかしながら、比較例３においては、監視回路４２および消去中断回路４４のロジックが複雑になる。これにより、電子回路１１４のコストが増加する。また、不具合が発生するリスクが高くなる。さらに、タイマ割り込み等の高い頻度の割り込みが発生した場合、消去処理の中断が高い頻度で発生し、フラッシュメモリ２０の消去処理が進まなくなってしまう。フラッシュメモリ２０の消去処理が正しく完了しないおそれもある。
【００１８】
以下に、図面を参照し実施例について説明する。
【実施例１】
【００１９】
図４は、実施例１に係る電子装置のブロック図である。図４を参照し、電子装置１００は、例えばＳＯＣとして形成されたシステムＬＳＩである。電子装置１００は、不揮発性メモリ１０、揮発性メモリ１２、プロセッサ１４、消去中断回路２５およびバス１６を備えている。不揮発性メモリ１０は、プログラムのコードとデータとを記憶する。揮発性メモリ１２は、プログラムのコードのうち不揮発性メモリ１０内のデータを消去する消去コードを記憶する。プロセッサ１４は、プログラムのコードを不揮発性メモリ１０にアクセスすることによりプログラムを実行する。また、プロセッサ１４は、消去コードを揮発性メモリ１２にアクセスすることにより不揮発性メモリ１０の消去を実行する。消去中断回路２５は、プロセッサ１４の指示により、消去処理の中断および再開を行なう。バス１６は、不揮発性メモリ１０、揮発性メモリ１２およびプロセッサ１４を接続する。
【００２０】
図５は、プロセッサ１４が行なう処理を示すフローチャートである。図５に示すように、電子装置１００に電源が供給される、または電子装置１００がリセットされる（ステップＳ１０）。プロセッサ１４は、消去コードを不揮発性メモリ１０から揮発性メモリ１２に転送する（ステップＳ１２）。
【００２１】
図６（ａ）および図６（ｂ）は、図５のステップＳ１２を説明するブロック図である。図６（ａ）および図６（ｂ）に示すように、不揮発性メモリ１０に、プログラム３０およびデータ３２が記憶されている。プログラム３０には消去コード３４および転送コードが含まれる。消去コード３４は、不揮発性メモリ１０内の領域に記憶されたデータを消去する際に用いるプログラムのコードである。転送コードは、プロセッサ１４が消去コード３４を揮発性メモリ１２に転送するためのコードである。
【００２２】
図６（ｂ）に示すように、ステップＳ１２において、プロセッサ１４は、不揮発性メモリ１０に記憶された消去コード３４を揮発性メモリ１２に転送する。これにより、揮発性メモリ１２には消去コード３４が記憶される。なお、プロセッサ１４は、消去コード３４を含むプログラム３０の一部のコードを揮発性メモリ１２に転送してもよい。例えば、プロセッサ１４は、不揮発性メモリ１０を制御するプログラムのコードを揮発性メモリ１２に転送してもよい。
【００２３】
図５に戻り、プロセッサ１４は、プログラムの実行を開始する（ステップＳ１４）。例えば、プロセッサ１４は、不揮発性メモリ１０から直接プログラムコードをアクセスすることにより、プログラムを実行する。次に、プロセッサ１４は、割り込み処理を禁止する（ステップＳ１５）。次に、プロセッサ１４は、プログラム実行中に、不揮発性メモリ１０内のデータ３２の少なくとも一部の消去を実行する（ステップＳ１６）。例えば、プロセッサ１４は、揮発性メモリ１２から消去コード３４をアクセスすることにより、消去を実行する。例えば、以下のステップＳ１８からＳ２１およびＳ２３からＳ２８の動作は、揮発性メモリ１２に記憶された消去コード３４を用い実行され、その他のステップは不揮発性メモリ１０に記憶されたプログラム３０を用い実行される。
【００２４】
次に、プロセッサ１４は、割り込み要求に対応する割り込みを行なうか否かを判断する（ステップＳ１８）。例えば、プログラム実行中に、予定しているプログラムコードに対し割り込み要求が発生した場合、プロセッサ１４は、割り込み要求に対応した割り込みを実行し不揮発性メモリ１０にアクセスするか否かを判断する。Ｎｏの場合、ステップＳ２６に進む。Ｙｅｓの場合、プロセッサ１４は、不揮発性メモリ１０に消去処理を中断させる（ステップＳ２０）。例えば、プロセッサ１４は、消去中断回路２５に消去処理を中断させる。次に、プロセッサ１４は、割り込み処理を許可する（ステップＳ２１）。次に、プロセッサ１４は、不揮発性メモリ１０のプラグラム３０内の割り込み処理用のコードにアクセスし割り込み処理を実行する（ステップＳ２２）。次に、プロセッサ１４は、割り込み処理を禁止する（ステップＳ２３）。次に、プロセッサ１４は、割り込み処理が終了すると、不揮発性メモリ１０に消去処理を再開させる（ステップＳ２４）。例えば、プロセッサ１４は、消去中断回路２５に消去処理を再開させる。
【００２５】
次に、プロセッサ１４は、不揮発性メモリ１０に消去処理が終了したか判断する（ステップＳ２６）。Ｎｏの場合、ステップＳ１８に戻る。Ｙｅｓの場合、消去処理が終了すると、プロセッサ１４は、割り込み処理を許可する（ステップＳ２８）。プログラムが終了する（ステップＳ３０）。
【００２６】
実施例１によれば、揮発性メモリ１２が消去コード３４を記憶している。これにより、プロセッサ１４は、不揮発性メモリ１０が消去実行中においても、消去コード３４にアクセスできる。図５のステップＳ１８のように、プロセッサ１４は、消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断する。プロセッサ１４は、割り込みを行なわせると判断した場合、ステップＳ２０のように消去を中断させた後、ステップＳ２２のように割り込みを実行させる。プロセッサ１４は、割り込みを行なわないと判断した場合、消去を中断させない。
【００２７】
これにより、プロセッサ１４は、割り込み要求のうち重要な割り込み要求の場合は、不揮発性メモリ１０の消去を中断させる。プロセッサ１４は、不揮発性メモリ１０に記憶されたプログラム３０内の割り込み処理用のコードにアクセスすることにより、割り込み処理を実行することができる。一方、プロセッサ１４は、割り込み要求のうち重要でない割り込み要求の場合は、不揮発性メモリ１０の消去を中断させず、割り込み処理も行なわないことができる。よって、不揮発性メモリ１０内のプログラム３０とデータ３２のサイズによらず、不揮発性メモリ１０の使用効率を高めることができる。さらに、割り込み要求が発生した場合のうち一部について消去処理を中断し割り込みを実行し、他については消去を中断しないため、消去の中断が頻発して消去処理が進まなくなることを抑制できる。このように、不揮発性メモリ１０の消去動作を適切に行なうことができる。
【００２８】
また、消去コード３４には、プロセッサ１４が割り込みを行なわせるか否かを判断するコード、消去の中断させた後割り込みを実行させるコード、および消去を中断させないコードの少なくとも一つが含まれる。好ましくは全てが含まれる。これにより、不揮発性メモリ１０の消去実行中において、プロセッサ１４は、図５のような処理を行なうことができる。
【００２９】
さらに、ステップＳ１２のように、プロセッサ１４は、不揮発性メモリ１０に記憶されている消去コード３４を揮発性メモリ１２に記憶させる。これにより、電源遮断時は、消去コード３４は不揮発性メモリ１０に記憶されているため、消去コード３４は消失しない。一方、消去処理時は、消去コード３４は揮発性メモリ１２に記憶されているため、プロセッサ１４は、消去処理を行なうことができる。
【実施例２】
【００３０】
図７は、実施例２に係る電子装置のブロック図である。図７を参照し、電子装置１０２は、フラッシュメモリ２０、ＲＡＭ２２、ＣＰＵ２４、レジスタ２８、消去中断回路２５およびバス２６を備えている。フラッシュメモリ２０、ＲＡＭ２２およびＣＰＵ２４は、それぞれ実施例１の不揮発性メモリ１０、揮発性メモリ１２、プロセッサ１４およびバス１６に対応する。レジスタ２８は、プログラムの実行中に発生した割り込み要求を記憶する。消去中断回路２５は、ＣＰＵ２４の指示により、不揮発性メモリ１０の消去処理を中断させる。実施例１と同様に、フラッシュメモリ２０には、プログラム３０とデータ３２とが記憶されている。電子装置の電源投入時またはリセットのときに、ＲＡＭ２２に消去コード３４が転送される。
【００３１】
図８は、ＣＰＵ２４が行なう処理を示すフローチャートである。図８を参照し、ステップＳ４０、Ｓ５２からＳ６０およびＳ６８は、ＣＰＵ２４がフラッシュメモリ２０に記憶されたプログラム３０にアクセスし行なう処理である。ステップＳ４２からＳ５０、Ｓ６２からＳ６６は、ＣＰＵ２４がＲＡＭ２２に記憶された消去コード３４にアクセスし行なう処理である。
【００３２】
ＣＰＵ２４は、割り込み処理を禁止する（ステップＳ４０）。次に、ＣＰＵ２４は、消去コード３４に基づきフラッシュメモリ２０の消去処理を開始する（ステップＳ４２）。ＣＰＵ２４は、消去処理が終了したか判断する（ステップＳ４４）。Ｙｅｓの場合、ＣＰＵ２４は、割り込みを許可する（ステップＳ６８）。Ｎｏの場合、ＣＰＵ２４は、割り込み要求があるか判断する（ステップＳ４６）。例えばＣＰＵ２４はレジスタ２８内の割り込み要求を確認する。Ｎｏの場合、ステップＳ４４に戻る。Ｙｅｓの場合、ＣＰＵ２４は、割り込みを実行するか判断する（ステップＳ４８）。ＣＰＵ２４は、直ちに実行すべき割り込み要求の場合Ｙｅｓ、直ちに実行しなくてもよい割り込み要求の場合Ｎｏと判断する。
【００３３】
ステップＳ４８においてＮｏの場合、ＣＰＵ２４は、レジスタ２８の割り込み要求をクリアする（ステップＳ６４）。ＣＰＵ２４は、割り込み要求をクリアしたことを例えばレジスタ２８に記録する（ステップＳ６６）。割り込み要求をクリアしたことは、レジスタ２８以外に記録してもよい。
【００３４】
ステップＳ４８においてＹｅｓの場合、ＣＰＵ２４は、消去中断回路２５にフラッシュメモリ２０の消去処理を中断させる（ステップＳ５０）。ＣＰＵ２４は、割り込み要求に対応する割り込みを許可する（ステップＳ５２）。ＣＰＵ２４は、フラッシュメモリ２０に記憶された割り込み処理用のコードにアクセスし割り込み処理を実行する（ステップＳ５４）。ＣＰＵ２４は、ステップＳ６６において割り込み要求をクリアした割り込み要求を再発行し、割り込み処理を行なう（ステップＳ５６）。ＣＰＵ２４は、割り込み要求をクリアした記録を消去する（ステップＳ５８）。ＣＰＵ２４は、割り込みを禁止する（ステップＳ６０）。ＣＰＵ２４は、消去中断回路２にフラッシュメモリ２０の消去処理を再開させる（ステップＳ６２）。その後ステップＳ４４に戻る。
【００３５】
実施例２によれば、電子装置１０２は、割り込み要求を記憶するレジスタ２８を備える。プロセッサ１４は、レジスタ２８から割り込み要求を取得する。これにより、フラッシュメモリ２０の消去処理中において割り込みが禁止されている場合であっても、ＣＰＵ２４は、割り込みを発生させずに、割り込み要求の有無を認識できる。
【００３６】
また、ＣＰＵ２４は、前回の割り込み要求に対応する割り込み（第１の割り込み）を行なわないと判断した場合、ステップＳ６６のように割り込み（第１の割り込み）を行なわなかったことを記録する。その後、ＣＰＵ２４は、次回の割り込み要求に対応する割り込み（第２割り込み）を行なうと判断した場合、ステップＳ５６のように記録された割り込み（第２の割り込み）を実行させる。これにより、直ちに実行しなくてもよい割り込み処理は、消去処理を中断した際にまとめて実行できる。
【００３７】
このように、実施例２によれば、直ちに実行すべき割り込み要求の場合、割り込み処理を行なうため、リアルタイム性を確保できる。一方、直ちに実行しなくてもより割り込み要求の場合消去処理を実行しないため、消去処理を早く実行できる。また、比較例１から３においてもＣＰＵ２４は消去処理の終了の監視（ポーリング）を行っている。このため、ＣＰＵ２４が消去処理の終了と割り込み要求との両方の監視を行ってもＣＰＵ２４の負担はさほど増加しない。さらに、比較例３の監視回路４２の代わりにレジスタ２８を設けたため、比較例３に比べ回路規模を縮小できる。
【実施例３】
【００３８】
実施例３は、割り込み処理の具体例である。図９は、実施例３に係る電子装置のブロック図である。図９を参照し、フラッシュメモリ２０には、プログラム３０として、アプリケーション３６、ＯＳ３７、割り込み３８および消去コード３４が記憶されている。アプリケーション３６は、アプリケーション用のプログラムコードである。ＯＳ３７は、ＯＳ用のプログラムコードである。割り込み３８は、割り込み処理を行なうためのコードである。消去コード３４は、例えばフラッシュメモリ２０の制御コードに含まれる。電子装置１０４の電源が投入されるまたは電子装置１０４がリセットされると、消去コード３４を含む不揮発性メモリの制御コードがＲＡＭ２２に転送される。ＣＰＵ２４がＯＳを実行すると、ＣＰＵ２４は、ＲＡＭ２２上に管理情報３９を作成する。
【００３９】
ＣＰＵ２４がプログラムを実行している途中において、別の処理を割り込ませて処理する例としては、Ｉ／Ｏ割り込み、タイマ割り込みおよびソフト割り込み等がある。Ｉ／Ｏ割り込みは、キーボード、マウスおよびタッチパネル等の入出力機器からの入力である。タイマ割り込みは、一定時間間隔で発生する割り込みである。タイマ割り込みは、時刻を指定して特定の処理を行なうために使用する。
【００４０】
実施例１の図５のステップＳ１８および実施例２の図８のＳ４８における直ちに割り込みを行なうか否かの判断の例について説明する。割り込みとしては、通常最も頻度の高いタイマ割り込みを例に説明する。
【００４１】
まず、ＯＳが起動すると、ＯＳは、管理情報３９をＲＡＭ２２上に作成する。管理情報３９は、ＯＳがアプリケーション等のタスクを制御するために、現在のシステムの実行状況を示す情報を管理するものである。管理情報３９には、例えば現在の時刻および今後の実行予定のイベントリストを含む各種情報が記録される。
【００４２】
表１は、管理情報３９の例を示す表である。管理情報３９には、現在の時刻および要求イベントリストが格納されている。要求イベントリストは、イベントを行なう時刻とイベント内容が格納されている。表１の例では、現在の時刻は５０ｍｓである。時刻が１００ｍｓのときに、ＣＰＵ２４はタスクＢを起動する。時刻が３００ｍｓ、４２０ｍｓおよび５５０ｍｓのときに、ＣＰＵ２４はそれぞれタスクＣの起動、タスクＣの終了およびタスクＢの終了を実行する。
【表１】
2014115735.tif 000003
【００４３】
ＣＰＵ２４が実行するＯＳ（例えばμＩＴＲＯＮ）は、所定期間（例えば１ｍｓ）ごとにタイマ割り込みに基づいて現在時刻を所定期間カウントアップする。これにより、ＯＳは、現在時刻を把握している。ＯＳは、現在時刻と表１のイベントリストとを比較し、現在時刻に行なうべきイベントがある場合に、イベントを実行する。例えば、表１の例において、ＯＳは、現在時刻が１００ｍｓの場合、タスクＢを起動する。ＯＳは、現在時刻が３００ｍｓ、４２０ｍｓおよび５５０ｍｓの場合、それぞれタスクＣの起動、タスクＣの終了、およびタスクＢの終了を実行する。
【００４４】
図８のステップＳ４０のように、フラッシュメモリ２０の消去処理中は、割り込み処理は禁止となる。ステップＳ４６において、タイマ割り込み要求があり、ステップＳ４８において、直ちに割り込まなくてもよい場合、ＣＰＵ２４は、ステップＳ６４のように、割り込みをクリアする。ＣＰＵ２４は、割り込みのクリアを記録する。ＣＰＵ２４は、その後のステップＳ４８において、割り込みのクリアの回数に所定期間（例えば１ｍｓ）を乗算し、管理情報３９として記憶している現在時刻に加算する。これにより、現在時刻を算出できる。ＣＰＵ２４は、算出した現在時刻と管理情報の表１のイベントリストとを比較し、対応するイベントが存在する場合、直ちに割り込みを行なうと判断する。ステップＳ５４において、ＣＰＵ２４は、表１のイベントを処理する。ステップＳ５８において、ＣＰＵ２４は、クリアの記録を消去する。ＣＰＵ２４は、表１の現在時刻を更新する。このように、ステップＳ４８においてタイマ割り込みがあったときに、ＣＰＵ２４は、現在時刻がイベントリストの時刻前では、Ｎｏと判断する。ＣＰＵ２４は、現在時刻がイベントリストの時刻以降の場合はＹｅｓと判断する。
【００４５】
例えば、表１の例において、現在時刻が５０ｍｓであり、１ｍｓ間隔でタイマ割り込み要求がある場合を考える。図８のステップＳ４８において、現在時刻が５０ｍｓの時点から、４９回のタイマ割り込み要求に対しては、ＣＰＵ２４はＮｏと判断する。ステップＳ６４において、ＣＰＵ２４は、タイマ割り込み要求をクリアする。ステップＳ６６において、ＣＰＵ２４は、タイマ割り込み要求のクリアを記憶する。これにより、タイマ割り込み要求のクリアの回数が記憶される。ステップＳ４８において、５０回目のタイマ割り込み要求に対し、ＣＰＵ２４はＹｓｅと判断する。このとき、現在時刻は１００ｍｓ以上である。ステップＳ５４において、ＣＰＵ２４は、タスクＢを起動する。ステップＳ５４において、ＣＰＵ２４は、タイマ割り込み要求のクリア回数を消去する。ＣＰＵ２４は、表１の現在時刻を１００ｍｓに更新する。
【００４６】
実施例３によれば、ＣＰＵ２４は、プログラム（例えばＯＳ）の実行に応じ揮発性メモリ１２に割り込みを行なわせるか否かを判断するための管理情報３９を記憶させる。ＣＰＵ２４は、管理情報３９に基づき割り込みを行なわせるか否かを判断する。これにより、プロセッサ２４は、割り込み処理を直ちに行なうか否かを判断できる。
【００４７】
また、表１のように、管理情報３９は、イベント（処理）と時刻とが対応した情報である。そして、プロセッサ１４は、管理情報３９に現在時刻と対応する処理が存在する場合に割り込みを行なわせる。これにより、プロセッサ１４は、現在時刻から直ちに割り込み処理を行なうか否かを判断できる。
【００４８】
さらに、割り込み要求は、タイマ割り込み要求であり、プロセッサ１４は、割り込みを行なわないと判断した回数から現在時刻を算出する。これにより、プロセッサ１４は、現在時刻を認識することができる。
【００４９】
実施例２および３においては、不揮発性メモリ、揮発性メモリおよびプロセッサとして、それぞれフラッシュメモリ２０、ＲＡＭ２２およびＣＰＵ２４を例に説明したが、他の不揮発性メモリ、揮発性メモリおよびプロセッサでもよい。
【００５０】
以上、発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【００５１】
なお、以上の説明に関して更に以下の付記を開示する。
（付記１）プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを揮発性メモリにアクセスすることにより前記消去を実行し、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断し、前記割り込みを行なうと判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないプロセッサと、を具備することを特徴とする電子装置。
（付記２）前記消去コードは、前記プロセッサが前記割り込みを行なわせるか否かを判断するコード、前記消去の中断させた後、前記割り込みを実行させるコード、および前記消去を中断させないコードの少なくとも一つを含むことを特徴とする付記１記載の電子装置。
（付記３）前記プロセッサは、前回の前記割り込み要求に対応する第１の割り込みを行なわないと判断した場合、前記第１の割り込みを行なわなかったことを記録し、次回の前記割り込み要求に対応する前記第２の割り込みを行なうと判断した場合、記録された前記第１の割り込みを実行させることを特徴とする付記１または２記載の電子装置。
（付記４）前記プロセッサは、前記プログラムの実行に応じ揮発性メモリに割り込みを行なわせるか否かを判断するための管理情報を記憶させ、前記管理情報に基づき割り込みを行なわせるか否かを判断することを特徴とする付記１から３のいずれか一項記載の電子装置。
（付記５）前記管理情報は、処理と時刻とが対応した情報であり、前記プロセッサは、前記管理情報に現在時刻と対応する処理が存在する場合に、前記割り込みを行なわせると判断することを特徴とする付記４記載の電子装置。
（付記６）前記割り込み要求は、タイマ割り込み要求であり、前記プロセッサは、前記割り込みを行なわないと判断した回数から前記現在時刻を算出することを特徴とする付記５記載の電子装置。
（付記７）前記割り込み要求を記憶するレジスタを具備し、前記プロセッサは、前記レジスタから前記割り込み要求を取得することを特徴とする付記１から６のいずれか一項記載の電子装置。
（付記８）前記プロセッサは、前記不揮発性メモリに記憶されている前記消去コードを前記揮発性メモリに記憶させることを特徴とする付記１から７のいずれか一項記載の電子装置。
（付記９）前記不揮発性メモリはＮＯＲ型フラッシュメモリであることを特徴とする付記１から８のいずれか一項記載の電子装置。
（付記１０）プログラムとデータとを記憶する不揮発性メモリと、前記プログラムのうち前記不揮発性メモリ内のデータを消去する消去コードを記憶する揮発性メモリと、前記プログラムを前記不揮発性メモリにアクセスすることにより前記プログラムを実行し、前記消去コードを前記揮発性メモリにアクセスすることにより前記消去を実行するプロセッサと、を備える電子装置の制御方法であって、前記消去の実行中に、割り込み要求に対応する割り込みを行なわせるか否かを判断するステップと、前記割り込みを行なわせると判断した場合、前記消去を中断させた後、前記割り込みを実行させ、前記割り込みを行なわないと判断した場合、前記消去を中断させないステップと、を含むことを特徴とする電子装置の制御方法。
【符号の説明】
【００５２】
１０        不揮発性メモリ
１２        揮発性メモリ
１４        プロセッサ
２０        フラッシュメモリ
２２        ＲＡＭ
２４        ＣＰＵ
２５        消去中断回路
２８        レジスタ
３０        プログラム
３２        データ
３４        消去コード
３９        管理情報
【図１】
2014115735.tif 000004
【図２】
2014115735.tif 000005
【図３】
2014115735.tif 000006
【図４】
2014115735.tif 000007
【図５】
2014115735.tif 000008
【図６】
2014115735.tif 000009
【図７】
2014115735.tif 000010
【図８】
2014115735.tif 000011
【図９】
2014115735.tif 000012