(57)【要約】【課題】ブートプログラムの更新の確実性を向上させ更新が失敗した場合でも起動不能に陥ることのない携帯端末を提供する。【解決手段】フラッシュメモリ５０には、複数のブートプログラムがそれぞれ個別に読み出し可能に記憶されるブートプログラム領域５１〜５３と、これら複数のブートプログラムのうちの最新のブートプログラムを選択するためのフラグが記憶されるフラグ領域５４とが予め設けられている。そして、ブートプログラム領域５１〜５３のいずれかに最新のブートプログラムが記憶されたことに応じて、このブートプログラムが選択されるようにフラグが書き換えられる。そして、フラグ領域５４に記憶されるフラグに基づいて、ブートプログラム領域５１〜５３のいずれかから選択されたブートプログラムを用いて起動に関する処理が、制御回路４０により実施される。【選択図】図２
2012185606.tif 000002
【特許請求の範囲】
【請求項１】
ブートプログラムが記憶される記憶手段と、
前記記憶手段に記憶される前記ブートプログラムを用いて起動に関する処理を実施する制御手段と、
を備える携帯端末であって、
前記記憶手段には、複数のブートプログラムがそれぞれ個別に読み出し可能に記憶される第１の記憶領域と、これら複数のブートプログラムのうちの最新のブートプログラムを選択するためのフラグが記憶される第２の記憶領域とが設けられ、
前記第１の記憶領域に最新のブートプログラムが記憶されたことに応じてこのブートプログラムが選択されるように前記フラグを書き換える書換手段を備え、
前記制御手段は、前記第２の記憶領域に記憶される前記フラグに基づいて、前記第１の記憶領域から選択されたブートプログラムを用いて起動に関する処理を実施することを特徴とする携帯端末。
【請求項２】
前記第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つを消去可能な消去手段を備えることを特徴とする請求項１に記載の携帯端末。
【請求項３】
前記消去手段は、前記第１の記憶領域に最新のブートプログラムが記憶される際、この記憶の前に前記第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つを消去することを特徴とする請求項２に記載の携帯端末。
【請求項４】
前記消去手段は、前記第１の記憶領域に記憶される複数のブートプログラムのうち最も古いブートプログラムを消去することを特徴とする請求項２または３に記載の携帯端末。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、起動時に実行されるブートプログラムが更新される携帯端末に関する。
【背景技術】
【０００２】
従来、起動時に実行されるブートプログラムが更新される携帯端末に関する技術として、下記特許文献１に示すプログラム実行装置が知られている。このプログラム実行装置は、メモリ選択部としてデコーダおよびディップスイッチを備えており、ディップスイッチの状態に応じてデコーダがメモリアドレス信号を変更するように構成されている。
【０００３】
そして、ディップスイッチがオフ状態であれば、デコーダからのメモリアドレス信号により、起動時には一方のブートプログラムブロックに格納されている書き換え可能ブートプログラムの先頭番地が選択されて実行される。また、ディップスイッチがオン状態であれば、デコーダからのメモリアドレス信号により、起動時には他方のブートプログラムブロックが選択され、書き換え不可能ブートプログラムが実行される。このため、書き換え可能ブートプログラムの書き換えに失敗した場合、あるいは、異なるブートプログラムに書き換えてしまった場合には、ディップスイッチの設定によって、書き換え不可能ブートプログラムを選択して起動させることで、装置が起動不能に陥ることをなくしている。
【０００４】
また、特許文献２に示す情報処理装置では、ブートプログラムの更新失敗に起因して装置が起動不能に陥ることをなくすために、ブートプログラムを更新するためのダウンロードデータファイルが受信されると、このダウンロードデータファイルは、揮発性記憶部に一旦格納される。次に、揮発性記憶部のブートプログラムをブート領域に書き込む前に、不揮発性記憶部内の未使用領域にブートプログラムが一旦書き込まれる。続いて、不揮発性記憶部内にあるEEPROM等のデバイスに書き込み情報を管理するためにSTATUS値が所定の値にセットされる。次に、揮発性記憶部のブートプログラムが不揮発性記憶部のブート領域に書き込まれ、ブートプログラムがアップデート（更新）された後に、上述したSTATUS値が元に戻される。そして、不揮発性記憶部の未使用領域に書き込んだブートプログラムが消去される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特願２００４−０５４８１８号公報
【特許文献２】特願２００５−２５０８８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
ところで、携帯型の端末では、据え置き型の端末と比較して、バッテリ不足等による電力供給停止状態（以下、電源断という）の可能性が非常に高いことから、ブートプログラムの更新中に電源断して、ブートプログラムの更新が失敗する可能性が高い。
【０００７】
上記特許文献１に開示されるような構成では、ブートプログラムの更新前に、書き換え前のブートプログラムを一時的にフラッシュメモリ上の別領域に退避するため、２段階の書き込みステップが必要となり、ブートプログラムの更新に時間がかかることから、起動不能にはならないものの、ブートプログラムの更新が失敗する可能性がある。
【０００８】
また、上記特許文献２に開示されるような構成でも、ブートプログラムの更新前に、新しいブートプログラムを一時的に現在のブートプログラムとは別のフラッシュメモリ領域へ書き込んだ後、現在のブートプログラムに上書きするため、２段階の書き込みステップが必要となる。また、正常に書き込んだブートプログラムか、一時的に書き込んだブートプログラムか、を選択するために使用する不揮発性メモリ上のSTATUS値の更新に、セットとリセットの２回の処理が必要となる。このため、上記特許文献１の構成と同様に、ブートプログラムの更新に時間がかかることから、起動不能にはならないものの、ブートプログラムの更新が失敗する可能性がある。
【０００９】
特に、上記特許文献１の構成では、ブートプログラムの書き換えに失敗したときは、退避したブートプログラムを選択するように、ディップスイッチを切り替える必要があるため、利便性について問題がある。
【００１０】
本発明は、上述した課題を解決するためになされたものであり、その目的とするところは、ブートプログラムの更新の確実性を向上させ更新が失敗した場合でも起動不能に陥ることのない携帯端末を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するため、特許請求の範囲に記載の請求項１の携帯端末では、ブートプログラムが記憶される記憶手段と、前記記憶手段に記憶される前記ブートプログラムを用いて起動に関する処理を実施する制御手段と、を備える携帯端末であって、前記記憶手段には、複数のブートプログラムがそれぞれ個別に読み出し可能に記憶される第１の記憶領域と、これら複数のブートプログラムのうちの最新のブートプログラムを選択するためのフラグが記憶される第２の記憶領域とが設けられ、前記第１の記憶領域に最新のブートプログラムが記憶されたことに応じてこのブートプログラムが選択されるように前記フラグを書き換える書換手段を備え、前記制御手段は、前記第２の記憶領域に記憶される前記フラグに基づいて、前記第１の記憶領域から選択されたブートプログラムを用いて起動に関する処理を実施することを特徴とする。
【００１２】
請求項２の発明は、請求項１に記載の携帯端末において、前記第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つを消去可能な消去手段を備えることを特徴とする。
【００１３】
請求項３の発明は、請求項２に記載の携帯端末において、前記消去手段は、前記第１の記憶領域に最新のブートプログラムが記憶される際、この記憶の前に前記第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つを消去することを特徴とする。
【００１４】
請求項４の発明は、請求項２または３に記載の携帯端末において、前記消去手段は、前記第１の記憶領域に記憶される複数のブートプログラムのうち最も古いブートプログラムを消去することを特徴とする。
【発明の効果】
【００１５】
請求項１の発明では、記憶手段には、複数のブートプログラムがそれぞれ個別に読み出し可能に記憶される第１の記憶領域と、これら複数のブートプログラムのうちの最新のブートプログラムを選択するためのフラグが記憶される第２の記憶領域とが設けられている。そして、書換手段により、第１の記憶領域に最新のブートプログラムが記憶されたことに応じて、このブートプログラムが選択されるようにフラグが書き換えられる。そして、第２の記憶領域に記憶されるフラグに基づいて、第１の記憶領域から選択されたブートプログラムを用いて起動に関する処理が、制御手段により実施される。
【００１６】
これにより、ブートプログラムの更新時に、第１の記憶領域に最新のブートプログラムを書き込む途中で電源断等して更新が失敗しても、フラグが書き換えられない限り、今まで使用していたブートプログラムが選択されるので、装置が起動不能に陥ることもない。特に、最新のブートプログラムを第１の記憶領域に記憶するステップと、第２の記憶領域に記憶されるフラグを書き換えるステップとの２つのステップでブートプログラムを更新できるので、少ない処理、すなわち短時間でブートプログラムの更新を実施することができ、ブートプログラムの更新自体の失敗を抑制することができる。
したがって、携帯端末のような電源断しやすい端末でも、ブートプログラムの更新の確実性を向上させ更新が失敗した場合でも起動不能に陥ることをなくすことができる。
【００１７】
請求項２の発明では、第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つが、消去手段により消去される。このように、消去手段により最新のブートプログラムを除くブートプログラムの少なくともいずれか１つが更新時または通常動作時に消去されることにより、最新のブートプログラムが記憶される領域を第１の記憶領域に確実に確保することができる。
【００１８】
請求項３の発明では、第１の記憶領域に最新のブートプログラムが記憶される際、この記憶の前に第１の記憶領域に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つが、消去手段により消去される。このように、第１の記憶領域に最新のブートプログラムが記憶される際にブートプログラムのいずれかを消去しても、最新のブートプログラムが記憶される領域を第１の記憶領域に確実に確保することができる。
【００１９】
請求項４の発明では、第１の記憶領域に記憶される複数のブートプログラムのうち最も古いブートプログラムが、消去手段により消去される。このように、複数のブートプログラムのうち最も古いブートプログラムを消去することで、最も利用価値の低いブートプログラムを消去して、最新のブートプログラムが記憶される領域を第１の記憶領域に確保することができる。
【図面の簡単な説明】
【００２０】
【図１】本実施形態に係る光学的情報読取装置の電気的構成を示すブロック図である。
【図２】フラッシュメモリに書き込まれたブートプログラム等の書込状態を例示する説明図である。
【図３】ブートプログラム選択処理の流れを例示するフローチャートである。
【図４】ブートプログラム更新処理の流れを例示するフローチャートである。
【図５】フラッシュメモリに書き込まれたブートプログラムとフラグとの関係を示す説明図である。
【発明を実施するための形態】
【００２１】
以下、本発明の情報端末を光学的情報読取装置１０に適用した一実施形態について、図面を参照して説明する。図１は、本実施形態に係る光学的情報読取装置１０の電気的構成を示すブロック図である。図２は、フラッシュメモリ５０に書き込まれたブートプログラム等の書込状態を例示する説明図である。
【００２２】
図１に示すように、光学的情報読取装置１０は、物品Ｒに付されたバーコード等の情報コードＣを光学的に読み取る装置として構成されている。この光学的情報読取装置１０は、図示しないケースの内部に回路部２０が収容されてなるものであり、回路部２０は、主に、照明光源２１、受光センサ２８、結像レンズ２７等の光学系と、メモリ３５、制御回路４０、トリガースイッチ４２等のマイクロコンピュータ（以下「マイコン」という）系と、から構成されている。
【００２３】
光学系は、投光光学系と、受光光学系とに分かれている。投光光学系を構成する照明光源２１は、照明光Ｌｆを発光可能な照明光源として機能するもので、例えば、赤色のＬＥＤとこのＬＥＤの出射側に設けられるレンズとから構成されている。なお、図１では、バーコードＣが付された物品Ｒに向けて照明光Ｌｆを照射する例を概念的に示している。
【００２４】
受光光学系は、受光センサ２８、結像レンズ２７、反射鏡（図示略）などによって構成されている。受光センサ２８は、例えば、Ｃ−ＭＯＳやＣＣＤ等の固体撮像素子である受光素子を一次元に配列したラインセンサとして構成されるものであり、バーコードＣに照射されて反射した反射光Ｌｒを受光可能に構成されている。この受光センサ２８は、結像レンズ２７を介して入射する入射光を受光可能にプリント配線板（図示略）に実装されている。
【００２５】
結像レンズ２７は、外部から読取口（図示略）を介して入射する入射光を集光して受光センサ２８の受光面２８ａに像を結像可能な結像光学系として機能するものである。本実施形態では、照明光源２１から照射された照明光ＬｆがバーコードＣにて反射した後、この反射光Ｌｒを結像レンズ２７で集光し、受光センサ２８の受光面２８ａにコード像を結像させている。
【００２６】
マイコン系は、増幅回路３１、Ａ／Ｄ変換回路３３、メモリ３５、アドレス発生回路３６、同期信号発生回路３８、制御回路４０、トリガースイッチ４２、発光部４３、ブザー４４、バイブレータ４５、液晶表示器４６、通信インタフェース４８等から構成されている。
【００２７】
光学系の受光センサ２８から出力される画像信号（アナログ信号）は、増幅回路３１に入力されることで所定ゲインで増幅された後、Ａ／Ｄ変換回路３３に入力されると、アナログ信号からディジタル信号に変換される。そして、ディジタル化された画像信号、つまり画像データ（画像情報）は、生成されてメモリ３５に入力されると、所定のコード画像情報格納領域に蓄積される。なお、同期信号発生回路３８は、受光センサ２８およびアドレス発生回路３６に対する同期信号を発生可能に構成されており、またアドレス発生回路３６は、この同期信号発生回路３８から供給される同期信号に基づいて、メモリ３５に格納される画像データの格納アドレスを発生可能に構成されている。
【００２８】
メモリ３５は、複数の半導体メモリ装置からなるものであり、ＤＲＡＭ、ＳＲＡＭ等のＲＡＭやフラッシュメモリ５０等のＲＯＭなどによって構成されている。このメモリ３５のうちのＲＡＭには、上述したコード画像情報格納領域のほかに、制御回路４０が算術演算や論理演算等の各処理時に利用する作業領域や読取条件テーブルも確保可能に構成されている。
【００２９】
また、フラッシュメモリ５０には、読取処理、解析処理等を実行可能な所定プログラムやその他、照明光源２１、受光センサ２３等の各ハードウェアを制御可能なシステムプログラム等が予め格納されている。特に、フラッシュメモリ５０には、図２に例示するように、電源投入後、起動時に実施されるブートプログラムを格納（記憶）するための３つ領域（以下、ブートプログラム領域５１〜５３という）が予めセクタごとに設けられている。製品出荷時では、ブートプログラム領域５１のみにブートプログラムが格納されて、ブートプログラム領域５２，５３は、何も格納されず、後述するブートプログラムの更新時に新たなブートプログラムが順次格納されることとなる。また、フラッシュメモリ５０には、後述するブートプログラム選択プログラムやブートプログラム書換えプログラムが格納（記憶）される領域や、これらのプログラムで使用されるフラグが格納（記憶）されるフラグ領域５４が設けられている。
【００３０】
ここで、フラグ領域５４に格納されるフラグと、ブートプログラム領域５１〜５３にそれぞれ格納されるブートプログラムとの関係について説明する。
フラグは、複数の「０」および「１」のビットから構成されており、本実施形態では、フラグの下二桁のビットが「１１」の場合には、ブートプログラム領域５１に格納されるブートプログラムが選択され、フラグの下二桁のビットが「１０」の場合には、ブートプログラム領域５２に格納されるブートプログラムが選択され、フラグの下二桁のビットが「００」の場合には、ブートプログラム領域５３に格納されるブートプログラムが選択されるように構成されている。特に、製品出荷時では、ブートプログラム領域５１のみにブートプログラムが格納されているため、フラグ領域５４に格納されるフラグは、下二桁のビットが「１１」に設定されている。なお、メモリ３５およびフラッシュメモリ５０は、特許請求の範囲に記載の「記憶手段」の一例に相当し得る。また、ブートプログラム領域５１〜５３は、特許請求の範囲に記載の「第１の記憶領域」の一例に相当し、フラグ領域５４は、特許請求の範囲に記載の「第２の記憶領域」の一例に相当し得る。
【００３１】
制御回路４０は、光学的情報読取装置１０全体を制御可能なマイコンによって構成されており、ＣＰＵ、システムバス、入出力インタフェース等を有すると共に、情報処理機能を備えており、メモリ３５とともに情報処理装置を構成している。本実施形態では、制御回路４０に対し、トリガースイッチ４２、発光部４３、ブザー４４、バイブレータ４５、液晶表示器４６、通信インタフェース４８等が接続されている。
【００３２】
これにより、制御回路４０は、例えば、トリガースイッチ４２の監視や管理、バーコードＣの読み取りに関する情報を報知するインジケータとして機能する発光部４３の点灯・消灯、ビープ音やアラーム音を発生可能なブザー４４の鳴動のオンオフ、当該光学的情報読取装置１０の使用者に伝達し得る振動を発生可能なバイブレータ４５の駆動制御、液晶表示器４６の表示制御や外部装置とのシリアル通信を可能にする通信インタフェース４８の通信制御等を可能にしている。
【００３３】
次に、起動時にフラッシュメモリ５０に格納されるブートプログラム選択プログラムを実行することで所定のブートプログラムを選択するブートプログラム選択処理について、図３のフローチャートを用いて説明する。図３は、ブートプログラム選択処理の流れを例示するフローチャートである。
【００３４】
電源が投入されることで制御回路４０によりブートプログラム選択処理が実施されると、まず、図３のステップＳ１０１において、フラグ読出処理がなされる。この処理では、フラッシュメモリ５０のフラグ領域５４に格納されるフラグが読み出される。次に、ステップＳ１０３において、選択処理がなされ、ステップＳ１０１にて読み出されたフラグに応じたブートプログラムがブートプログラム領域５１〜５３のいずれかから選択される。
【００３５】
ここで、後述するブートプログラム更新処理が実施されていない場合には、フラグの下二桁のビットが「１１」であるため、ブートプログラム領域５１に格納されるブートプログラムが選択される。また、後述するブートプログラム更新処理が実施されており、フラグの下二桁のビットが「１０」の場合には、ブートプログラム領域５２に格納されるブートプログラムが選択され、フラグの下二桁のビットが「００」の場合には、ブートプログラム領域５３に格納されるブートプログラムが選択される。そして、このように選択されたブートプログラムが実行されることで、当該光学的情報読取装置１０が円滑に起動し、上述したシステムプログラムが実行されて、読取処理などの所定の処理が実施可能な起動状態となる。なお、制御回路４０は、特許請求の範囲に記載の「制御手段」の一例に相当し得る。
【００３６】
次に、フラッシュメモリ５０に格納されるブートプログラム更新プログラムを実行することで最新のブートプログラムに更新するブートプログラム更新処理について、図４のフローチャートを用いて説明する。図４は、ブートプログラム更新処理の流れを例示するフローチャートである。図５は、フラッシュメモリに書き込まれたブートプログラムとフラグとの関係を示す説明図であり、図５（Ａ）は、ブートプログラム領域５２に最新のブートプログラムが書き込まれた状態を示し、図５（Ｂ）は、ブートプログラム領域５３に最新のブートプログラムが書き込まれた状態を示し、図５（Ｃ）は、ブートプログラム領域５１に最新のブートプログラムが書き込まれた状態を示す。なお、図５では、ブートプログラムが書き込まれるブートプログラム領域を、ハッチングを付すことで概念的に示し、特に、最新のブートプログラムが書き込まれるブートプログラム領域には、クロスハッチングを付して概念的に示している。
【００３７】
まず、図４のステップＳ２０１においてブートプログラムダウンロード処理がなされ、外部装置からのダウンロードにより取得した最新のブートプログラムがＲＡＭに書き込まれる。次に、ステップＳ２０３にてフラグ読取処理がなされ、フラッシュメモリ５０のフラグ領域５４に格納されるフラグが読み出される。
【００３８】
続いて、ステップＳ２０５にて、ブートプログラム領域５１〜５３の全てにブートプログラムが書き込まれているか否かについて判定される。ここで、例えば、本光学的情報読取装置１０にとって最初のブートプログラムの更新であるために、ブートプログラム領域５１にのみブートプログラムが書き込まれ、ブートプログラム領域５２，５３にブートプログラムが書き込まれていない場合には、ステップＳ２０５にてＮｏと判定される。
【００３９】
このようにステップＳ２０５にてＮｏと判定されると、ステップＳ２０９にてブートプログラム書き込み処理がなされる。この処理では、ブートプログラムが書き込まれていないブートプログラム領域のいずれかに、一旦ＲＡＭに書き込まれた最新のブートプログラムが書き込まれて記憶される。
【００４０】
続いて、ステップＳ２１１において、フラグ書換処理がなされる。この処理では、フラグ領域５４に格納されるフラグが、ステップＳ２０９にて最新のブートプログラムが書き込まれたブートプログラム領域に応じて、書き換えられる。具体的には、図５（Ａ）に例示するように、ブートプログラム領域５２に最新のブートプログラムが書き込まれた場合には、フラグの下二桁のビットが「１０」に書き換えられ、図５（Ｂ）に例示するように、ブートプログラム領域５３に最新のブートプログラムが書き込まれた場合には、フラグの下二桁のビットが「００」に書き換えられる。
【００４１】
一方、数回ブートプログラム更新処理が実施されたことから、ブートプログラム領域５１〜５３の全てにブートプログラムが書き込まれているために、ステップＳ２０５にてＹｅｓと判定されると、ステップＳ２０７において、セクタイレーズ処理がなされる。この処理では、ブートプログラム領域５１〜５３に格納されたブートプログラムのうち最も古いブートプログラムがセクタ単位でイレーズ（消去）されて、このイレーズされたブートプログラム領域に対して、最新のブートプログラムを格納可能な状態になる。なお、ステップＳ２０７を実施する制御回路４０は、特許請求の範囲に記載の「消去手段」の一例に相当し得る。
【００４２】
そして、ステップＳ２０９にて、ブートプログラム書き込み処理がなされ、ステップＳ２０７にてイレーズされたブートプログラム領域に、一旦ＲＡＭに書き込まれた最新のブートプログラムが書き込まれて記憶される。そして、ステップＳ２１１にてフラグ書換処理がなされ、フラグ領域５４に格納されるフラグが、ステップＳ２０９にて最新のブートプログラムが書き込まれたブートプログラム領域に応じて、書き換えられる。具体的には、ブートプログラム領域５１に格納されたブートプログラムが最も古いブートプログラムである場合には、このブートプログラムが消去されて、図５（Ｃ）に例示するように、ブートプログラム領域５１に最新のブートプログラムが書き込まれ、フラグの下二桁のビットが「１１」に書き換えられる。なお、ステップＳ２１１を実施する制御回路４０は、特許請求の範囲に記載の「書換手段」の一例に相当し得る。
【００４３】
ここで、最新のブートプログラムを書き込むブートプログラム領域を選択する方法として、以下のような選択方法を採用してもよい。
すなわち、予め設けられるブートプログラム領域の総数をｎとし、フラグ領域５４に格納されるフラグにおいて選択の基準となるビットのうち「０」の数をカウントした値をｋとするとき、ｋ＋２がｎ以下となる場合には、「ｎ＋ｋ−１」番目のブートプログラム領域に最新のブートプログラムを書き込み、ｋ＋２がｎを超える場合には、１番目のブートプログラム領域に最新のブートプログラムを書き込むように構成されてもよい。
【００４４】
具体的には、ブートプログラム領域５１〜５３をそれぞれ１番目〜３番目のブートプログラム領域とし、ブートプログラム領域の総数がｎ＝３である場合を想定する。この場合、フラグ領域５４に格納されるフラグの下二桁のビットが「１１」であると、ｋ＝０となり、上述したように、２番目のブートプログラム領域５２が最新のブートプログラムを書き込む領域として選択される。また、フラグ領域５４に格納されるフラグの下二桁のビットが「１０」であると、ｋ＝１となり、上述したように、３番目のブートプログラム領域５３が最新のブートプログラムを書き込む領域として選択される。また、フラグ領域５４に格納されるフラグの下二桁のビットが「００」であると、ｋ＝２となりｋ＋２がｎを超えるため、上述したように、１番目のブートプログラム領域５１が最新のブートプログラムを書き込む領域として選択される。
【００４５】
以上説明したように、本実施形態に係る光学的情報読取装置１０では、フラッシュメモリ５０には、複数のブートプログラムがそれぞれ個別に読み出し可能に記憶されるブートプログラム領域５１〜５３と、これら複数のブートプログラムのうちの最新のブートプログラムを選択するためのフラグが記憶されるフラグ領域５４とが予め設けられている。そして、ブートプログラム領域５１〜５３のいずれかに最新のブートプログラムが記憶されたことに応じて、このブートプログラムが選択されるようにフラグ領域５４のフラグが書き換えられる。そして、フラグ領域５４に記憶されるフラグに基づいて、ブートプログラム領域５１〜５３のいずれかから選択されたブートプログラムを用いて起動に関する処理が、制御回路４０により実施される。
【００４６】
これにより、ブートプログラムの更新時に、ブートプログラム領域５１〜５３に最新のブートプログラムを書き込む途中で電源断等して更新が失敗しても、フラグ領域５４のフラグが書き換えられない限り、今まで使用していたブートプログラムが選択されるので、装置が起動不能に陥ることもない。特に、最新のブートプログラムをブートプログラム領域５１〜５３のいずれかに記憶するステップと、フラグ領域５４に記憶されるフラグを書き換えるステップとの２つのステップでブートプログラムを更新できるので、少ない処理、すなわち短時間でブートプログラムの更新を実施することができ、ブートプログラムの更新自体の失敗を抑制することができる。
したがって、携帯端末のような電源断しやすい端末でも、ブートプログラムの更新の確実性を向上させ更新が失敗した場合でも起動不能に陥ることをなくすことができる。
【００４７】
特に、各ブートプログラム領域５１〜５３のいずれかに最新のブートプログラムが記憶される際、この記憶の前に、各ブートプログラム領域５１〜５３に記憶される複数のブートプログラムのうち、最新のブートプログラムを除き最も古いブートプログラムが、ステップＳ２０７にて消去される。このように、複数のブートプログラムのうち最も古いブートプログラムを消去することで、最も利用価値の低いブートプログラムを消去して、最新のブートプログラムが記憶される領域をフラッシュメモリ５０のブートプログラム領域に確保することができる。
【００４８】
なお、本発明は上記実施形態に限定されるものではなく、以下のように具体化してもよい。
（１）ステップＳ２０７におけるセクタイレーズ処理は、ブートプログラムの更新時に実施されることに限らず、例えば、当該光学的情報読取装置１０の通常動作時に実施されることで所定のブートプログラムを消去してもよい。これにより、従来のブートプログラム更新時において最も時間がかかるセクタイレーズ処理が本実施形態におけるブートプログラム更新中には実施されないので、ブートプログラム更新時間の短縮を図ることができる。
【００４９】
（２）ステップＳ２０７におけるセクタイレーズ処理では、最も古いブートプログラムが消去されることに限らず、各ブートプログラム領域５１〜５３に記憶される複数のブートプログラムのうち最新のブートプログラムを除く少なくともいずれか１つが消去されてもよい。
【００５０】
（３）フラッシュメモリ５０には、３つのブートプログラム領域５１〜５３が予め設けられることに限らず、２つのブートプログラム領域または４つ以上のブートプログラム領域が予め設けられてもよい。特に、ブートプログラム領域を多く確保することで、ブートプログラム更新時において最も時間がかかるセクタイレーズ処理の実施機会が減少するので、ブートプログラム更新時間の短縮を図ることができる。
【００５１】
（４）本発明は、上述した光学的情報読取装置１０に適用されることに限らず、例えば、携帯型の決済端末等の携帯端末に適用されてもよい。
【符号の説明】
【００５２】
１０…光学的情報読取装置（携帯端末）
３５…メモリ（記憶手段）
４０…制御回路（書換手段，制御手段，消去手段）
５０…フラッシュメモリ（記憶手段）
５１〜５３…ブートプログラム領域（第１の記憶領域）
５４…フラグ領域（第２の記憶領域）
【図１】
2012185606.tif 000003
【図２】
2012185606.tif 000004
【図３】
2012185606.tif 000005
【図４】
2012185606.tif 000006
【図５】
2012185606.tif 000007