(57)【要約】【課題】マイクロコンピュータを用いたエミュレーションシステムにおいてフラッシュメモリが書き換え保証回数内であることが確認可能にすること。【解決手段】フラッシュメモリ内蔵の情報処理装置１００を用いたエミュレーションシステム９０である。情報処理装置１００は、フラッシュメモリ１２０の書き換えを行う手段と、フラッシュメモリ１２０への書き換えを検出して書き換えカウンタ１２４を更新する手段とを含み、書き換えカウンタ１２４は、フラッシュメモリ１２０に設けられている。書き換え回数が所定の値を超えたか否か判断して、越えている場合には、その旨の警告情報を出力する。【選択図】        図２
2006011707.tif 000002
【特許請求の範囲】
【請求項１】
フラッシュメモリ内蔵の情報処理装置を用いたエミュレーションシステムであって、
前記情報処理装置は、
フラッシュメモリの書き換えを行う手段と、
フラッシュメモリへの書き換えを検出して書き換えカウンタを更新する手段とを含み、
前記書き換えカウンタは、フラッシュメモリに設けられていることを特徴とするエミュレーションシステム。
【請求項２】
請求項１において、
前記情報処理装置は、
ＣＰＵと、
フラッシュメモリの書き換え及びフラッシュメモリへの書き換えを検出して書き換えカウンタを更新するプログラムが格納されたメモリを含み、
ＣＰＵが前記プログラムを実行して、フラッシュメモリの書き換え及びフラッシュメモリへの書き換えを検出して書き換えカウンタを更新する処理を行うことを特徴とするエミュレーションシステム。
【請求項３】
請求項１乃至２のいずれかにおいて、
書き換え回数が所定の値を超えたか否か判断して、越えている場合には、その旨の警告情報を出力する手段とを含むことを特徴とするエミュレーションシステム。
【請求項４】
請求項１乃至３のいずれかに記載の情報処理装置を含むことを特徴とするマイクロコンピュータ。
【請求項５】
請求項４に記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記マイクロコンピュータにより処理された結果を出力するため手段と、
を含むことを特徴とする電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、エミュレーションシステム、マイクロコンピュータ及び電子機器に関する。特にフラッシュメモリを内蔵したマイクロコンピュータのソフトウエア開発を支援するエミュレーションシステムに関する。
【背景技術】
【０００２】
フラッシュメモリを内蔵したマイクロコンピュータそのものを用いてエミュレーションを行う技術が存在する。この技術では実チップそのものを用いて、実チップ内のフラッシュメモリのコードデータを書き換えることによりデバッグ機能を実現する。しかしフラッシュメモリは書き換え保証回数が存在しこれを超えた場合の動作は保証されない。
【特許文献１】特開平１１−２８２７１５号
【特許文献２】特開２００１−１４２７４０号
【特許文献３】特開２００１−３０６３５７号
【特許文献４】特開２００２−４９５０４号
【発明の開示】
【発明が解決しようとする課題】
【０００３】
ところがマイクロコンピュータが製品寿命に達していても利用者にはわからない。このためフラッシュメモリへの誤書き込みが発生しても製品寿命によるものなのか、あるいは書き込みの手順のミスによるものなのかはっきりせず、ソフトウエアのデバッグ作業を妨げていた。
【０００４】
本発明は以上のような問題点に鑑みてなされたものであり、その目的とするところは、フラッシュメモリを内蔵したマイクロコンピュータを用いたエミュレーションシステムにおいてフラッシュメモリが書き換え保証回数内であることを確認可能にすることを目的とする。
【課題を解決するための手段】
【０００５】
（１）本発明は、
フラッシュメモリ内蔵の情報処理装置を用いたエミュレーションシステムであって、
前記情報処理装置は、
フラッシュメモリの書き換えを行う手段と、
フラッシュメモリへの書き換えを検出して書き換えカウンタを更新する手段とを含み、
前記書き換えカウンタは、フラッシュメモリに設けられていることを特徴とする。
【０００６】
フラッシュメモリは書き換え可能な不揮発性メモリであり、ＥＥＰＲＯＭで構成することができる。ＥＥＰＲＯＭは２５６ビットで書き換え保証が１０5回程度である。
【０００７】
フラッシュメモリの書き換えとは、例えばデバッグ対象プログラムをフラッシュメモリにダウンロードする場合等に発生する。
【０００８】
デバッグ時におけるフラッシュメモリの書き換えは例えばフラッシュメモリへの書き換えを伴うデバッグコマンドを受信した場合に行われる。従ってかかるコマンドの検出によりフラッシュメモリへの書き換えを検出するようにしても良い。
【０００９】
フラッシュメモリ内蔵の情報処理装置をデバッグ用途に用いると、煩雑に書き換えが行われるため、フラッシュメモリの書き換え保証範囲内であるかを常に監視することが望ましい。
【００１０】
本発明によれば、フラッシュメモリが書き換え保証回数内であることが確認可能であるため、フラッシュメモリへの誤書き込みが発生しても製品寿命によるものなのか、あるいは書き込みの手順のミスによるものなのか判断可能であり、デバッグ作業の効率向上を図ることができる。
【００１１】
（２）本発明のエミュレーションシステムは、
前記情報処理装置は、
ＣＰＵと、
フラッシュメモリの書き換え及びフラッシュメモリへの書き換えを検出して書き換えカウンタを更新するプログラムが格納されたメモリを含み、
ＣＰＵが前記プログラムを実行して、フラッシュメモリの書き換え及びフラッシュメモリへの書き換えを検出して書き換えカウンタを更新する処理を行うことを特徴とする。
【００１２】
例えば外部ＰＣ等からエミュレーション動作を行うためのコマンドを受け取り、ＣＰＵがメモリに格納されたマイクロプログラムを実行することによりフラッシュメモリの書き換え及びフラッシュメモリへの書き換えを検出して書き換えカウンタを更新する処理を含むデバッグ処理（エミュレーション）を行うように構成することができる。
【００１３】
このようにフラッシュメモリ内蔵の情報処理装置をデバッグ用途に用いると、煩雑に書き換えが行われるため、フラッシュメモリの書き換え保証範囲内であるかを常に監視することが望ましい。
【００１４】
本発明によれば、監視用の特別回路等を設けることなくファームウエアで実現しているため、既存デバイスを用いて、デバイスのコストアップ無しにフラッシュメモリの書き換え回数を管理することが可能である。
【００１５】
（３）本発明のエミュレーションシステムは、
書き換え回数が所定の値を超えたか否か判断して、越えている場合には、その旨の警告情報を出力する手段とを含むことを特徴とする。
【００１６】
ここにおいて所定の値はフラッシュメモリの書き換え保証回数に応じて定めることができ、例えば書き換え保証回数でもよいし、その半分程度の値やその他の書き換え保証回数を超えない値でもよい。
【００１７】
本発明によれば、警告情報によりフラッシュメモリが書き換え保証回数内でないことを容易に確認することできる。
【００１８】
（４）本発明は、
上記のいずれかに記載の情報処理装置を含むことを特徴とするマイクロコンピュータである。
【００１９】
（５）本発明は、
上記に記載のマイクロコンピュータと、
入力情報を受け付ける手段と、
入力情報に基づき前記マイクロコンピュータにより処理された結果を出力するため手段と、
を含むことを特徴とする電子機器である。
【発明を実施するための最良の形態】
【００２０】
１．エミュレーションシステム
以下、本発明の好適な実施形態について図面を用いて詳細に説明する。
【００２１】
図１は本実施の形態のエミュレーションシステムの利用形態を示した図である。
【００２２】
ユーザーターゲットボード３０に本実施の形態のフラッシュメモリ内蔵の情報処理装置１００搭載し、インターフェースボード２０を介してＰＣ１０と接続する。
【００２３】
フラッシュメモリ内蔵の情報処理装置１００では、ＰＣ１０からのデバッグコマンドによりフラッシュメモリへの書き込みや、その他のエミュレーション動作（ＰＣブレーク、シングルステップ、ダンプなど）の処理が行われる。
【００２４】
図２は本実施の形態のエミュレーションシステムの構成について説明するための図である。
【００２５】
９０はフラッシュメモリ内蔵の情報処理装置１００を用いたエミュレーションシステムである。ここにおいてエミュレーションシステムの必須の構成要素は情報処理装置１００であり、ＰＣ（パーソナルコンピュータ）は含まなくてもよい。
【００２６】
情報処理装置１００は、ＣＰＵ１１０、フラッシュメモリ１２０、ＲＡＭ１３０，ファームウエア格納ＲＯＭ（マイクロプログラム等が記憶されたＲＯＭ等）１４０、周辺回路（シリアルインターフェース１５２を含む）１５０等を含む。
【００２７】
フラッシュメモリ１２０は書き換え可能な不揮発性メモリであり、ＥＥＰＲＯＭで構成することができる。ＥＥＰＲＯＭは２５６ビットで書き換え保証が１０5回程度である。
【００２８】
フラッシュメモリ１２０はデバッグ対象のプログラムを格納するユーザー領域１２２と、フラッシュメモリの書き換え回数を記憶する書き換え回数カウンタ１２４を含む。
【００２９】
ファームウエア格納ＲＯＭ（マイクロプログラム等が記憶されたＲＯＭ等）１４０にはフラッシュメモリへの書き込みや、その他のエミュレーション動作（ＰＣブレーク、シングルステップ、ダンプなど）の処理を行うためのマイクロプログラム等が記憶されている。
【００３０】
ＣＰＵ１１０がファームウエア格納ＲＯＭ１４０に記憶されたマイクロプログラムを実行することにより、フラッシュメモリ１２０の書き換えを行う手段及びフラッシュメモリ１２０への書き換えを検出して書き換え回数カウンタ１２４を更新する手段として機能する。
【００３１】
またフラッシュメモリの書き換え回数カウンタ１２４から書き換え回数を読み出して、書き換え回数又は書き換え回数＋１が所定の値を超えたか否か判断して、越えている場合には、その旨の警告情報を出力する手段として機能する。
【００３２】
ここにおいて所定の値はフラッシュメモリの書き換え保証回数に応じて定めることができ、例えば書き換え保証回数でもよいし、その半分程度の値やその他の書き換え保証回数を超えない値でもよい。
【００３３】
本実施の形態の情報処理装置１００は、ＰＣ１０からシリアルインターフェースでエミュレーション動作を行うためのコマンドを受け取り、ＣＰＵ１１０がファームウエア格納ＲＯＭ１４０に記憶されたマイクロプログラムを実行することによりエミュレーションを行う。
【００３４】
ここでＰＣ１０等からダウンロードされたデバッグ対象プログラムは、ファームウエア等によりフラッシュメモリのユーザー領域１２２に格納される。そしてデバッグ対象プログラムが実行されることにより、デバッグ対象プログラムのデバッグが実行される。ここでバグや不具合等が発見されるとＰＣ等で修正したデバッグ対象プログラムを再びフラッシュメモリのユーザー領域１２２にダウンロードする。
【００３５】
このようにフラッシュメモリ内蔵の情報処理装置をデバッグ用途に用いると、煩雑に書き換えが行われるため、フラッシュメモリの書き換え保証範囲内であるかを常に監視することが望ましい。本発明によれば、監視用の特別回路等を設けることなくファームウエアで実現しているため、既存デバイスを用いて、デバイスのコストアップ無しにフラッシュメモリの書き換え回数を管理することが可能である。
【００３６】
図３は、本実施の形態のファームウエアの処理手順について説明するためのフローチャート図である。
【００３７】
まずＰＣから発行されたデバッグ用のコマンドを受信する（ステップＳ１０）。例えばＰＣから発行されたコマンドはシリアルインターフェース回路を介して入力されるようにしてもよい。
【００３８】
次に受け付けたデバッグ用コマンドを解析する（ステップＳ２０）。
【００３９】
受け付けたデバッグ用コマンドがフラッシュメモリの書き換えに関する場合には以下の処理を行う（ステップＳ３０）。
【００４０】
まずフラッシュメモリの書き換え回数カウンタから書き換え回数を読み出す（ステップＳ４０）。
【００４１】
そして読み出した書き換え回数が所定回数以下であれば、フラッシュメモリの書き換え処理（書き換え回数カウンタの更新処理を含む）を行う（ステップＳ５０、Ｓ６０）。ここで書き換え回数カウンタの更新処理とは、フラッシュメモリの書き換え回数カウンタから読み出した書き換え回数をインクリメントした値をフラッシュメモリの書き換え回数カウンタに書き込むことである。
【００４２】
また読み出した書き換え回数が所定回数以下でなければ、書き換え回数オーバーのメッセージを出力する（ステップＳ５０、Ｓ７０）。なおこの場合、フラッシュメモリの書き換え処理（書き換え回数カウンタの更新処理を含む）を行わないように構成してもよいし、行うように構成してもよい。
【００４３】
２．マイクロコンピュータ
図４は、本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【００４４】
本マイクロコンピュータ７００は、ＣＰＵ５１０、キャッシュメモリ５２０、ＬＣＤコントローラ５３０、リセット回路５４０、プログラマブルタイマ５５０、リアルタイムクロック（ＲＴＣ）５６０、ＤＲＡＭコントローラ兼バスＩ／Ｆ５７０、割り込みコントローラ５８０、シリアルインターフェース５９０、バスコントローラ６００、Ａ／Ｄ変換器６１０、Ｄ／Ａ変換器６２０、入力ポート６３０、出力ポート６４０、Ｉ／Ｏポート６５０、クロック発生装置６６０、プリスケーラ６７０、ＭＭＵ７３０，フラッシュメモリ７４０及びそれらを接続する汎用バス６８０、専用バス７５０等、各種ピン６９０等を含む。
【００４５】
３．電子機器
図５に、本実施の形態の電子機器のブロック図の一例を示す。本電子機器８００は、マイクロコンピュータ（またはＡＳＩＣ）８１０、入力部８２０、メモリ８３０、電源生成部８４０、ＬＣＤ８５０、音出力部８６０を含む。
【００４６】
ここで、入力部８２０は、種々のデータを入力するためのものである。マイクロコンピュータ８１０は、この入力部８２０により入力されたデータに基づいて種々の処理を行うことになる。メモリ８３０は、マイクロコンピュータ８１０などの作業領域となるものである。電源生成部８４０は、電子機器８００で使用される各種電源を生成するためのものである。ＬＣＤ８５０は、電子機器が表示する各種の画像（文字、アイコン、グラフィック等）を出力するためのものである。  音出力部８６０は、電子機器８００が出力する各種の音（音声、ゲーム音等）を出力するためのものであり、その機能は、スピーカなどのハードウェアにより実現できる。
【００４７】
図６（Ａ）に、電子機器の１つである携帯電話９５０の外観図の例を示す。この携帯電話９５０は、入力部として機能するダイヤルボタン９５２や、電話番号や名前やアイコンなどを表示するＬＣＤ９５４や、音出力部として機能し音声を出力するスピーカ９５６を備える。
【００４８】
図６（Ｂ）に、電子機器の１つである携帯型ゲーム装置９６０の外観図の例を示す。この携帯型ゲーム装置９６０は、入力部として機能する操作ボタン９６２、十字キー９６４や、ゲーム画像を表示するＬＣＤ９６６や、音出力部として機能しゲーム音を出力するスピーカ９６８を備える。
【００４９】
図６（Ｃ）に、電子機器の１つであるパーソナルコンピュータ９７０の外観図の例を示す。このパーソナルコンピュータ９７０は、入力部として機能するキーボード９７２や、文字、数字、グラフィックなどを表示するＬＣＤ９７４、音出力部９７６を備える。
【００５０】
本実施の形態のマイクロコンピュータを図６（Ａ）〜図６（Ｃ）の電子機器に組みこむことにより、メモリ容量が少なくて低コストの電子機器を提供することができる。
【００５１】
なお、本実施形態を利用できる電子機器としては、図６（Ａ）（Ｂ）（Ｃ）に示すもの以外にも、携帯型情報端末、ページャー、電子卓上計算機、タッチパネルを備えた装置、プロジェクタ、ワードプロセッサ、ビューファインダ型又はモニタ直視型のビデオテープレコーダ、カーナビゲーション装置等のＬＣＤを使用する種々の電子機器を考えることができる。
【００５２】
なお、本発明は本実施形態に限定されず、本発明の要旨の範囲内で種々の変形実施が可能である。
【図面の簡単な説明】
【００５３】
【図１】本実施の形態のエミュレーションシステムの利用形態を示した図である
【図２】本実施の形態のエミュレーションシステムの構成について説明するための図である。
【図３】本実施の形態のファームウエアの処理手順について説明するためのフローチャート図である。
【図４】本実施の形態のマイクロコンピュータのハードウエアブロック図の一例である。
【図５】本実施の形態の電子機器のブロック図の一例を示す。
【図６】図６（Ａ）（Ｂ）（Ｃ）は、種々の電子機器の外観図の例である。
【符号の説明】
【００５４】
１０  ＰＣ、２０  インターフェースボード、３０  ユーザーターゲットボード、９０  エミュレーションシステム、１００  フラッシュメモリ内蔵情報処理装置、１１０  ＣＰＵ、１２０  フラッシュメモリ、１２２  ユーザー領域、１２４  書き換え回数カウンタ、１３０  ＲＡＭ，１４０  ファームウエア格納ＲＯＭ（マイクロプログラム等が記憶されたＲＯＭ等）、１５０  周辺回路（シリアルインターフェース１５２を含む）、５１０  ＣＰＵ、５２０キャッシュメモリ、５３０  ＬＣＤコントローラ、５４０  リセット回路、５５０  プログラマブルタイマ、５６０  リアルタイムクロック（ＲＴＣ）、５７０  ＤＲＡＭコントローラ兼バスＩ／Ｆ、５８０  割り込みコントローラ、５９０  シリアルインターフェース、６００  バスコントローラ、６１０  Ａ／Ｄ変換器、６２０  Ｄ／Ａ変換器、６３０  入力ポート、６４０  出力ポート、６５０  Ｉ／Ｏポート、６６０  クロック発生装置（ＰＬＬ）、６７０  プリスケーラ、６８０  汎用バス、６９０  各種ピン、７００  マイクロコンピュータ、７１０  ＲＯＭ、７２０  ＲＡＭ、７３０  ＭＭＵ、７４０フラッシュメモリ、７５０専用バス、８００  電子機器、８１０  マイクロコンピュータ、８２０  入力部、８３０  メモリ、８４０  電源生成部、８５０  ＬＣＤ、８６０  音出力部、９５０  携帯電話、９５２  ダイヤルボタン、９５４  ＬＣＤ、９５６  スピーカ、９６０  携帯型ゲーム装置、９６２  操作ボタン、９６４  十字キー、９６６  ＬＣＤ、９６８  スピーカ、９７０  パーソナルコンピュータ、９７２  キーボード、９７６  音出力部
【図１】
2006011707.tif 000003
【図２】
2006011707.tif 000004
【図３】
2006011707.tif 000005
【図４】
2006011707.tif 000006
【図５】
2006011707.tif 000007
【図６】
2006011707.tif 000008