JP2006146485A - 携帯端末 - Google Patents

携帯端末 Download PDF

Info

Publication number
JP2006146485A
JP2006146485A JP2004334491A JP2004334491A JP2006146485A JP 2006146485 A JP2006146485 A JP 2006146485A JP 2004334491 A JP2004334491 A JP 2004334491A JP 2004334491 A JP2004334491 A JP 2004334491A JP 2006146485 A JP2006146485 A JP 2006146485A
Authority
JP
Japan
Prior art keywords
program
memory
boot
system memory
cpu
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.)
Pending
Application number
JP2004334491A
Other languages
English (en)
Inventor
Takashi Kono
隆 河野
Shinichi Shishino
真一 宍野
Yasuhiko Abe
保彦 阿部
Munehisa Tomioka
宗久 富岡
Sakae Inoue
栄 井上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2004334491A priority Critical patent/JP2006146485A/ja
Priority to US11/236,454 priority patent/US20060107031A1/en
Publication of JP2006146485A publication Critical patent/JP2006146485A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

【課題】 携帯端末のように小型で安価な装置にあって、初期化機能の実行進捗に合わせた画面表示を行う。また、プログラムを格納するNANDフラッシュメモリに余分な冗長性を持たせることなく限られた容量でエラーの信頼性を向上する。
【解決手段】 NANDフラッシュメモリに、同じ内容の第1ブート層と第2ブート層を格納する。そして、エラーのない方をRAMへコピーC2して(ステップS21)、RAM上でブート層プログラムを実行する(ステップS30)。そして、簡単なロゴなどの文字表示(第1画面表示)を行う(ステップS32)。次に、RAM上でシステム層プログラムを実行する(ステップS40)。そして、複数の画像の切り替えによる画面表示(第2画面表示)を行う(ステップS44)。
【選択図】 図3

Description

本発明は、携帯端末におけるメモリシステムの起動時の処理であるブートに関し、特にブート時の画面表示と、信頼性の向上と、製造テストの効率化に関する。
(背景技術1)
NANDフラッシュメモリを利用したブートシステム及びその方法がある(例えば、特許文献1参照。)。
この特許文献1の[従来の技術]欄第4頁および図1において、BIOSは、表示機能を含む初期化機能を実行するプログラムであることが記載されている。BIOSは、NANDフラッシュメモリに貯蔵されており、システムメモリにロード後に実行される。また、特許文献1の[発明の実施の形態]欄第6〜7頁、第11頁および図2、図3において、NANDフラッシュメモリには、ブートコード、OS及び他のプログラムが貯蔵されていることが記載されている。NANDフラッシュメモリの外に設けられたブートストラッパは、NANDフラッシュメモリのブートコードを内部RAMにロードする。そして、内部RAM上で、ブートコード内の初期化機能が実行され、更にブートコード内のコピーループ命令により、NANDフラッシュメモリのOSがシステムメモリにロードされる。そして、システムメモリ上でOSが実行される。そして、OSと関連した全てのプログラム、ファイルがシステムメモリにロードされた後に、システムはOSによって駆動される。
(背景技術2)
フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法がある(例えば、特許文献2参照。)。
この特許文献2の第5〜7頁および図1、図2、図5において、フラッシュメモリには、ハンドラとローダ、ブートコード、OSコード、応用コードが貯蔵されていることが記載されている。そして、電源オン後の初期化時に、自動でハンドラとローダがレジスタにロードされ、レジスタ上でハンドラが実行されてローダがシステムメモリにロードされる。そして、システムメモリ上でローダが実行されてブートコードとOSコードがシステムメモリにロードされる。
特開2003−271391号公報(第4、6〜7頁、図1〜図3、) 特開2004−118826号公報(第5〜7頁、図1、図2、図5)
従来の特許文献1〜2に開示された装置および方法では、初期化機能を実行するBIOSが表示機能を含むことは記載されているが、表示機能の詳細に関する記載がない。また、NANDフラッシュメモリのエラーに対する対応が記載されていない。また、装置の製造テストに関する記載がない。また、NANDフラッシュメモリからシステムメモリにロード後に、システムメモリ上で発生するエラーに関する記載がない。
本発明は、上記の問題点を解決するためになされたもので、携帯端末のように小型で安価な装置にあって、初期化機能の実行進捗に合わせた画面表示を行うことを目的とする。また、安価なNANDフラッシュメモリではあるが、冗長性を持たせることなく、限られた容量のNANDフラッシュメモリでエラーの信頼性を向上することを目的とする。また、NANDフラッシュメモリに格納されたブートローダ、ブート層、システム層、アプリケーション層のすべてのシステムメモリ等へのロードが終了した時点ではなく、ローダ、ブートコード(ブート層)、OSコードのロードが終了した時点において、携帯端末の製造テストを早く実施することを目的とする。また、NANDフラッシュメモリからシステムメモリにロード後に、システムメモリ上でエラーが発生した時の信頼性を向上することを目的とする。
上記目的を達成するために、本発明の携帯端末は、不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、前記不揮発性メモリは、ブートプログラムと、システムプログラムと、アプリケーションプログラムとを備え、前記CPUは、前記ブートプログラムを前記システムメモリにコピーして当該システムメモリ上で当該ブートプログラムを実行することにより第1画面を表示し、前記システムプログラムを前記システムメモリにコピーして当該システムメモリ上で当該システムプログラムを実行することにより第2画面を表示し、前記アプリケーションプログラムを前記システムメモリにコピーして当該システムメモリ上で当該アプリケーションプログラムを実行することにより第3画面を表示することを特徴とする。
また、本発明の携帯端末は、不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、前記不揮発性メモリは、第1ブートプログラムと、前記第1ブートプログラムと同じ内容を有する第2ブートプログラムとを備え、前記CPUは、前記不揮発性メモリ内の前記第1ブートプログラムまたは第2ブートプログラムのエラーのない方を前記システムメモリにコピーし、前記システムメモリ上で前記第1ブートプログラムまたは第2ブートプログラムを実行することを特徴とする。
本発明によれば、携帯端末のように小型で安価な装置にあって、初期化機能の実行進捗に合わせた画面表示を行うことが可能となる。また、安価なNANDフラッシュメモリではあるが、冗長性を持たせることなく、限られたNANDフラッシュメモリでエラーの信頼性を向上することが可能となる。また、NANDフラッシュメモリに格納されたローダ、ブートコード(ブート層)、OSコード、応用コードのすべてのシステムメモリ等へのロードが終了した時点ではなく、ローダ、ブートコード(ブート層)、OSコードのロードが終了した時点において、携帯端末の製造テストを早く実施することが可能となる。また、NANDフラッシュメモリからシステムメモリにロード後に、システムメモリ上でエラーが発生した時の信頼性を向上することが可能となる。
以下、本発明の実施例を、図面を参照して説明する。
図1は、本発明の各実施例に係る携帯端末の主要部の構成を示すブロック図である。携帯端末の主要部は、CPU1、転送制御部2、NAND型フラッシュメモリ3、変換部4、RAM5、画像ファイル6、LCDコントローラ7、LCD8、USBI/F9、バス10、コネクタ11などにより構成されている。
CPU1は全体の制御を行う。転送制御部2は、メモリやI/O間のデータ転送を行う。NAND型フラッシュメモリ3は、安価ではあるが、バイト単位やワード単位でのランダムアクセスできないシーケンシャルアクセスの不揮発性一括消去メモリであり、各種のプログラムなどが予め格納されている。ランダムアクセスできないため、CPU1が直接、NAND型フラッシュメモリ3上で各種のプログラムを実行することはできない。変換部4は、NAND型フラッシュメモリ3のシーケンシャルアクセスのデータ形態をランダムアクセスのデータ形態に双方向に変換する機能を持つ。RAM5は、高速のシステムメモリであり、プログラムの実行エリアなどに使用される。NAND型フラッシュメモリ3に格納された各種のプログラムは一旦RAM5にコピー(ロード)された後、CPU1によりRAM5上で実行される。
画像ファイル6は、携帯端末の電源オン時の起動時画面データやその他の画像データが格納されている。LCDコントローラ7は、液晶表示部であるLCD8を制御する。USBI/F9は、携帯端末の外部装置(図示せず)との間のインターフェースであり、コネクタ11により外部装置と接続される。
なお、プログラムを予め格納するメモリは、NAND型フラッシュメモリ3の代わりに、HDD(ハードディスク装置)などのランダムアクセスできないシーケンシャルアクセスのメモリであってもよい。
また、プログラムを予め格納するメモリは、安価な低速のROMでランダムアクセス可能なメモリであってもよい。この場合、変換部4は不要となる。但し、低速であるため、同様に低速のROMから高速のシステムメモリへプログラムを一旦ロードしてから、高速のシステムメモリ上でプログラムを実行するようにしてもよい。
また、プログラムの一部をNAND型フラッシュメモリ3以外のメモリ上に予め格納するようにしてもよい。
図2は、実施例1に係る携帯端末の電源オン時のブートの仕組みを説明する図である。ブートは、電源オン時に、プログラム格納エリアからシステムメモリ等にプログラムをロード(コピー)して、システムメモリ上でCPUが初期化処理を行う仕組みである。
NAND型フラッシュメモリ3には、ブートローダ31、第1ブート層32、第2ブート層33、システム層34、アプリケーション層35のプログラムが予め格納されている。ブートローダ31は、第1ブート層32または第2ブート層33をRAM5のブート層51にロード(コピーC2)するためのプログラムであり、ブート層をロードする意味でブートローダと称する。
第1ブート層32の内容と第2ブート層33の内容は同じであり、バックアップを目的として2個設ける。このプログラム内容は、携帯端末の電源オン後の初期に必要とされる起動時画面表示などの初期化機能を有する。また、システム層34をRAM5のシステム層52にロード(コピーC3)するためのプログラムも有する。このブート層のプログラム容量は比較的小さい容量である。携帯端末のような小型で安価な装置では、NAND型フラッシュメモリ3として十分な容量を冗長度を持たせて備えることはできない。そのため、このブート層についてのみは、バックアップを目的として2個設けることにより、それほど容量を増やすことなく携帯端末の信頼性を上げることができる。
システム層34は、OS機能を有する。また、アプリケーション層35をRAM5のアプリケーション層53にロード(コピーC4)するためのプログラムも有する。
アプリケーション層35は、アプリケーションプログラムを有する。
メモリ1aは、CPU1がプログラムを高速で実行できるメモリやレジスタであり、CPU1の内部に設けられたり、RAM5内や、またその他のメモリであってもよい。
図3および図4は、実施例1に係る携帯端末のブート時のゼネラルフローチャートである。図2も用いて、多段ブートの仕組みについて動作を説明する。
携帯端末の電源がオンになると(ステップS10)、転送制御部2のハード処理により、NAND型フラッシュメモリ3のブートローダ31は、メモリ1aにハードコピーC1される(ステップS11)。電源オン直後は、CPU1が実行できるランダムアクセスのメモリ1aやRAM5上にプログラムがないために、CPU1が介在できずに純粋にハード処理によりハードコピーC1が実行される。
このハードコピーC1(ステップS11)が完了すると、CPU1がメモリ1a上で動作できる状態になり、CPU1は、メモリ1a上のブートローダの実行処理に入る(ステップS20)。ここでは、CPU1は、ブートローダの内容に従い、NANDフラッシュメモリ3の第1ブート層32または第2ブート層33を変換部4経由で読み出してエラーの有無を確認する。そして第1ブート層32または第2ブート層33のいずれかエラーのない方をRAM5のブート層51にコピー(C2)する指示を転送制御部2に対して行う(ステップS21)。
最初のブートであるブート層の実行が失敗すると、後に続くシステム層やアプリケーション層のブートが行えなくなってしまうが、ブート層を2個備えることにより最初のブート層の信頼性が上がり、後段のブートに継続することができる。また、最初のブート層の実行のみに終わったとしても、少なくとも起動時の画像表示を行うことができるため、故障表示等を行うことができる。
NANDフラッシュメモリ3の第1ブート層32、第2ブート層33共に修正できないエラーが有る場合は先へ進むことができず、故障状態(ステップS60)である。この状態ではCPU1は何も行うことはできない。
転送制御部2は、DMA(ダイレクト・メモリ・アクセス)などの高速転送(コピーC2)を行う。CPU1は、コピーC2の進捗をチェックし(ステップS22)、終了を待つ。このブート層コピーC2の所要時間をB秒間とすると、これは、第1ブート層32、第2ブート層33のプログラム量が少ないために短時間で終了する。
このコピー(C2)が終了すると(ステップS22の「YES」)、次に、CPU1は、コピー(C2)されたRAM5上のブート層51の実行処理に入る(ステップS30)。ここでは、CPU1は、ブート層51の内容に従い、コピーC3、すなわち、NANDフラッシュメモリ3のシステム層34をRAM5のシステム層52にコピーすることを転送制御部2に指示し、コピーC3がスタートする(ステップS31)。更に、CPU1は、起動画面表示処理を行う(ステップS32。第1画面)。これは、画像ファイル6中の起動時画面をLCDコントローラ7に送出し、LCDコントローラ7が起動時画面をLCD8に表示させる。この画面は、ロゴなどの文字の簡単な画面(第1画面)であり、電源オン直後B秒後に、携帯端末のユーザは、起動時画面をすぐに見ることができて、安心感を持つ。
このロゴなどの文字の簡単な画面(第1画面)表示を継続して行い、システム層コピーC3が終わるのを待つ(ステップS33)。この所要時間をS秒間とすると、これは、システム層34のプログラム量が多いために数秒間の時間を要し、ユーザは一般的に長く感じる。
このコピー(C3)が終了すると(ステップS33の「YES」)、次に、CPU1は、コピー(C3)されたRAM5上のシステム層52の実行処理に入る(ステップS40。図4)。
図4において、CPU1は、システム層52の内容に従い、OSを実行する(ステップS41)。この時点で、携帯端末のハード機能は動作可能な状態になる。
次に、携帯端末のメーカー工場部門における製造テストモードかユーザによる通常動作かをチェックする(ステップS42)。これは、たとえば、携帯端末のコネクタ11に外部装置が接続されていて、その外部装置から製造テストの指示入力があるかどうかをチェックすることなどによりわかる。製造テストの指示入力がなければ通常動作であり、更に、CPU1は、コピーC4、すなわち、NANDフラッシュメモリ3のアプリケーション層35をRAM5のアプリケーション層53にコピーすることを転送制御部2に指示し、コピーC4がスタートする(ステップS43)。更に、CPU1は、複数の画像を切り替えることによる画面表示を行う(ステップS44。第2画面)。この表示は複数画像を切り替えて表示され、ユーザに対して動作しているという安心感を与えるために表示する。
この複数の画像の切り替えによる画面表示(第2画面)を継続して行い、アプリケーション層コピーC4が終わるのを待つ(ステップS45。A秒間)。この時間は、アプリケーション層35のプログラム量が多いために数秒間の時間を要し、ユーザは一般的に長く感じるが、その間、同一画面表示で単調になることなく、複数の画像の切り替えによる画面表示を見ることができる。
このコピー(C4)終了(ステップS44の「YES」)により、RAM5へのプログラムコピーは完了し、RAM5のプログラムデータが壊れることを防ぐためにRAMプロテクトをかける(ステップS46)。
次に、CPU1は、コピー(C4)されたRAM5上のアプリケーション層53の実行処理に入る(ステップS50)。この実行により、正規画面表示が行われる(ステップS51。第3画面)。アプリケーション層53の他の実行処理の詳細説明は省略する。
ここで、ステップS42において「製造テスト」の場合、CPU1は、製造テスト処理に入る(ステップS70)。そして、携帯端末の製造テストを実行する(ステップS71)。この製造テスト処理(ステップS70)は、アプリケーション層のコピーC4(ステップS45)や製造テストで不要な複数の画像の切り替えによる画面表示(第2画面表示)を経由しない。従って、携帯端末の電源オンからシステム層コピーC3のS秒間(数秒間)が経過した時点で、製造テストを実行することができ、製造工程の時間短縮を行うことができる。
実施例1によれば、ユーザは、電源オン直後から、ロゴなどの文字の簡単な画面(第1画面)を見ることができ、更に、システム層のコピー中には複数の画像の切り替えによる画面表示を見ることができて、安心感を得ることができる。
図5は、実施例2に係る携帯端末のブート時のゼネラルフローチャートである。NANDフラッシュメモリ3(図2)のアプリケーション層35を更に複数のアプリケーション層に分けて、個々のアプリケーション層ごとにRAM5へのコピーとRAM5上での実行を行う実施例である。実施例1のブート時のゼネラルフローチャート(1/2)(図3)の部分は同じ動作であり、これに引き続いて実行されるゼネラルフローチャート(2/2)(図4)の部分が異なる。これを図5を用いて説明する。
システム層34のRAM5のへのコピーが終了すると、RAM上のシステム層の実行に入る(ステップS400)。CPU1は、RAM5上のシステム層52の内容に従い、OSを実行する(ステップS401)。この時点で、携帯端末のハード機能はすべて動作可能な状態になる。製造テスト(ステップS402、S70)については、実施例1(図4)と同じであり説明を省略する。
ステップS402の「通常動作」の場合、CPU1は、コピーC41、すなわち、NANDフラッシュメモリ3のアプリケーション層35の中の第1アプリケーション層をRAM5のアプリケーション層53の該当エリアにコピーすることを転送制御部2に指示し、コピーC41がスタートする(ステップS403)。更に、CPU1は、複数の画像の切り替えによる画面表示を行う(ステップS404。第2画面)。
この複数の画像の切り替えによる画面表示(第2画面)を継続して行い、第1アプリケーション層コピーC41が終わるのを待つ(ステップS405。A1秒間)。
アプリケーション層35の中の第1アプリケーション層のRAM5のへのコピーが終了すると、RAM上の第1アプリケーション層の実行に入る(ステップS500)。CPU1は、RAM上の第1アプリケーション層の内容に従い、コピーC42、すなわち、NANDフラッシュメモリ3のアプリケーション層35の中の第2アプリケーション層をRAM5のアプリケーション層53の該当エリアにコピーすることを転送制御部2に指示し、コピーC42がスタートする(ステップS501)。更に、CPU1は、第1アプリケーション画面表示を行う(ステップS502。第4画面の1)。
この第1アプリケーション画面表示(第4画面の1)を継続して行い、第2アプリケーション層コピーC42が終わるのを待つ(ステップS503。A2秒間)。
アプリケーション層35の中の第2アプリケーション層のRAM5のへのコピーが終了すると、RAM上の第2アプリケーション層の実行に入る(ステップS600)。CPU1は、RAM上の第2アプリケーション層の内容に従い、コピーC43、すなわち、NANDフラッシュメモリ3のアプリケーション層35の中の第3アプリケーション層をRAM5のアプリケーション層53の該当エリアにコピーすることを転送制御部2に指示し、コピーC43がスタートする(ステップS601)。更に、CPU1は、第2アプリケーション画面表示を行う(ステップS602。第4画面の2)。
この第2アプリケーション画面表示(第4画面の2)を継続して行い、第3アプリケーション層コピーC43が終わるのを待つ(ステップS603。A3秒間)。
以降、複数のアプリケーション層を同様に順次コピー、実行、表示を行い、全アプリケーション層のコピーが終了すると、RAM5へのプログラムコピーは完了する。そして、RAM5のプログラムデータが壊れることを防ぐためにRAMプロテクトをかける(ステップS604)。
そして、正規状態(ステップS700)に入り、通常の正規画面表示が行われる(ステップS701)。
実施例2によれば、ユーザは、電源オン直後から、ロゴなどの文字の簡単な画面(第1画面)を見ることができ、更に、システム層のコピー中には複数の画像の切り替えによる画面表示(第2画面)を見ることができ、更に全アプリケーション層のコピー中には個々のアプリケーション層のコピーの進捗に合わせて、個々のアプリケーション画面表示(第4画面の1、2、・・)を見ることができて、安心感を得ることができる。
(各実施例共通)
図6は、各実施例に係る携帯端末のブート時の詳細フローチャートであり、図3のメモリ1a上のローダの実行(ステップS20)の詳細である。NANDフラッシュメモリ3に2個のブート層(第1ブート層32および第2ブート層33)を設けて、信頼性を上げる動作の詳細について説明する。
CPU1は、メモリ1a上のローダの実行(ステップS20)に入ると、NANDフラッシュメモリ3の第1ブート層32を読み出して(ステップS201)、エラーの有無を確認する(ステップS202)。これは、サムチェックであり、エラーがまったくなければ(ステップS202で「NO」)、第1ブート層32のコピーC2を指示する(ステップS204)。ステップS202で「1ビットエラー」の場合、修正可能であるため修正処理を行う(ステップS203)。そして、第1ブート層32のコピーC2を指示する(ステップS204)。
ステップS202で「2ビット以上エラー」の場合、修正不可能であるため、次に、NANDフラッシュメモリ3の第2ブート層33を読み出して(ステップS205)、エラーの有無を確認する(ステップS206)。エラーがまったくなければ(ステップS206で「NO」)、第2ブート層33のコピーC2を指示する(ステップS208)。ステップS206で「1ビットエラー」の場合、修正可能であるため修正処理を行う(ステップS207)。そして、第2ブート層33のコピーC2を指示する(ステップS208)。
ステップS206で「2ビット以上エラー」の場合、修正不可能であり、且つ、第1ブート層32も修正不可能であったため、これ以上の処理を実行することは出来ず、故障状態(ステップS60)となる。この状態では、CPU1は何も処理できない。
なお、NANDフラッシュメモリ3の自然回復もありうるので、いきなり故障状態(ステップS60)とするのではなくて、ステップS201からS208の処理を何回か繰り返してもよい。
このように、同じ内容のブート層を2個設けることにより、エラー発生頻度は、個々のエラー発生頻度の2乗となり、信頼性を上げることが出来る。このブート層のプログラム容量は比較的小さい容量である。携帯端末のような小型で安価な装置では、NAND型フラッシュメモリ3として十分な容量を冗長度を持たせて備えることはできない。そのため、このブート層についてのみは、バックアップを目的として2個設けることにより、それほど容量を増やすことなく携帯端末の信頼性を上げることができる。
正常にコピーC2が実行できた場合は、コピーC2の終了を待つ(ステップS209)。コピーC2が終了すると(ステップS209の「YES」)、前のステップS203およびS207で1ビットエラーの修正があったかどうかをチェックする(ステップS210)。修正があった場合(ステップS210の「YES」)、NANDフラッシュメモリ3の第1ブート層32と第2ブート層33を、NANDフラッシュメモリ3の別の物理エリアに移動する(ステップS211)。これは、1ビットエラーで修正できたとはいえ、1ビットエラーが存在したわけであり、更に信頼性を上げるために物理エリアを移動するものである。
次回の電源オンの時には、この移動先の物理エリアがブートの対象となる。
これで、ローダの実行が終了し、次のRAM上のブート層の実行(ステップS30)に入る。
図7は、各実施例に係る携帯端末のRAM上で実行中のエラー処理に関する詳細フローチャートである。これは、RAM上での実行中のすべてまたは一部に適用される。例えば、図3におけるRAM上のブート層の実行(ステップS30)、RAM上のシステム層の実行(ステップS40)、RAM上のアプリ層の実行(ステップS50)、および図示しない以降のステップのRAM上での実行中などに適用される。
CPU1は、プログラムを実行しながら(ステップS81)、エラーチェックを行う(ステップS82)。エラーとしては、存在しない命令をインストラクションフェッチしたり、本来ありえないアドレスをアクセスした場合などがある。これらのエラーが検出されると(ステップS82の「YES」)、CPU1は、現在実行中のプログラムが、メモリ1a上のローダ実行中(S20)であれば(ステップS83、S84で「YES」)、携帯端末自体にハードリセットをかける(ステップS85)。それにより、ハード処理でステップS10から起動がかかり、ステップS10(図3)において、NANDフラッシュメモリからメモリ1aへのブートローダの再コピーが行われる。そして、ステップS10以降が実行される。
エラー検出されたのがRAM上のブート層実行中(S30)であれば(ステップS86、S87で「YES」)、ステップS20(図3)へジャンプする。それにより、ステップS20(図3)において、NANDフラッシュメモリからRAMへのブート層の再コピーが行われる。そして、ステップS20以降が実行される。
エラー検出されたのがRAM上のシステム層実行中(S40)であれば(ステップS88、S89で「YES」)、ステップS30(図3)へジャンプする。それにより、ステップS30(図3)において、NANDフラッシュメモリからRAMへのシステム層の再コピーが行われる。そして、ステップS30以降が実行される。
エラー検出されたのがRAM上のアプリ層実行中(S50)であれば(ステップS90、S91で「YES」)、ステップS40(図3)へジャンプする。それにより、ステップS40(図3)において、NANDフラッシュメモリからRAMへのアプリ層の再コピーが行われる。そして、ステップS40以降が実行される。
エラー検出されたのがRAM上のその他を実行中であれば(ステップS91で「NO」)、適宜、ステップS85、S20、S30、S40へジャンプする。それにより、NANDフラッシュメモリからメモリ1aやRAMへの再コピーが行われる。そして、以降が実行される。
なお、エラー検出時にジャンプする先は、上記に限らず、適宜上流段階のいずれかのステップへ戻っても良い。
このように、RAM上などでエラーが発生した場合に、NANDフラッシュメモリに格納されているプログラムを再コピーすることにより信頼性を上げることができる。
本発明の各実施例に係る携帯端末の主要部の構成を示すブロック図。 本発明の実施例1に係る携帯端末の電源オン時のブートの仕組みを説明する図。 本発明の実施例1に係る携帯端末のブート時のゼネラルフローチャート(1/2)。 本発明の実施例1に係る携帯端末のブート時のゼネラルフローチャート(2/2)。 本発明の実施例2に係る携帯端末のブート時のゼネラルフローチャート。 本発明の各実施例に係る携帯端末のブート時の詳細フローチャート(メモリ1a上のローダの実行)。 本発明の各実施例に係る携帯端末のRAM上で実行中のエラー処理に関する詳細フローチャート。
符号の説明
1 CPU
2 転送制御部
3 NAND型フラッシュメモリ
4 変換部
5 RAM
6 画像ファイル
7 LCDコントローラ
8 LCD
9 USBI/F
10 バス
11 コネクタ

Claims (5)

  1. 不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、
    前記不揮発性メモリは、
    ブートプログラムと、
    システムプログラムと、
    アプリケーションプログラムとを備え、
    前記CPUは、
    前記ブートプログラムを前記システムメモリにコピーして当該システムメモリ上で当該ブートプログラムを実行することにより第1画面を表示し、
    前記システムプログラムを前記システムメモリにコピーして当該システムメモリ上で当該システムプログラムを実行することにより第2画面を表示し、
    前記アプリケーションプログラムを前記システムメモリにコピーして当該システムメモリ上で当該アプリケーションプログラムを実行することにより第3画面を表示することを特徴とする携帯端末。
  2. 不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、
    前記不揮発性メモリは、
    ブートプログラムと、
    システムプログラムと、
    複数のアプリケーションプログラムとを備え、
    前記CPUは、
    前記ブートプログラムを前記システムメモリにコピーして当該システムメモリ上で当該ブートプログラムを実行することにより第1画面を表示し、
    前記システムプログラムを前記システムメモリにコピーして当該システムメモリ上で当該システムプログラムを実行することにより第2画面を表示し、
    前記複数のアプリケーションプログラムの中の個々のアプリケーションプログラムを順次前記システムメモリにコピーする毎に個々のアプリケーションプログラムに対応した第4画面表示を行うことを特徴とする携帯端末。
  3. 不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、
    前記不揮発性メモリは、
    第1ブートプログラムと、
    前記第1ブートプログラムと同じ内容を有する第2ブートプログラムとを備え、
    前記CPUは、
    前記不揮発性メモリ内の前記第1ブートプログラムまたは第2ブートプログラムのエラーのない方を前記システムメモリにコピーし、
    前記システムメモリ上で前記第1ブートプログラムまたは第2ブートプログラムを実行することを特徴とする携帯端末。
  4. 不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、
    前記不揮発性メモリは、
    ブートプログラムと、
    システムプログラムと、
    アプリケーションプログラムとを備え、
    前記CPUは、
    前記ブートプログラムを前記システムメモリにコピーして当該システムメモリ上で当該ブートプログラムを実行し、
    前記システムプログラムを前記システムメモリにコピーして当該システムメモリ上で当該システムプログラムを実行し、
    前記システムプログラム実行後に製造テストプログラムを実行することを特徴とする携帯端末。
  5. 不揮発性メモリ内に格納されたプログラムをシステムメモリにコピーしてCPUがシステムメモリ上で実行する携帯端末にあって、
    前記CPUは、
    前記メモリシステム上でプログラムを実行中にエラーが検出された時、前記不揮発性メモリ内に格納されたプログラムをシステムメモリに再度コピーして、システムメモリ上でプログラムを再度実行することを特徴とする携帯端末。
JP2004334491A 2004-11-18 2004-11-18 携帯端末 Pending JP2006146485A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004334491A JP2006146485A (ja) 2004-11-18 2004-11-18 携帯端末
US11/236,454 US20060107031A1 (en) 2004-11-18 2005-09-27 Portable terminal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004334491A JP2006146485A (ja) 2004-11-18 2004-11-18 携帯端末

Publications (1)

Publication Number Publication Date
JP2006146485A true JP2006146485A (ja) 2006-06-08

Family

ID=36387819

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004334491A Pending JP2006146485A (ja) 2004-11-18 2004-11-18 携帯端末

Country Status (2)

Country Link
US (1) US20060107031A1 (ja)
JP (1) JP2006146485A (ja)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010134741A (ja) * 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> プログラムを実行する方法およびシステム
JP2011501321A (ja) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド 無線デバイスのためのプログレッシブブート
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
JP2013016182A (ja) * 2011-07-01 2013-01-24 Apple Inc ホストからのメモリ装置のブーティング
JP2014192656A (ja) * 2013-03-27 2014-10-06 Mitsubishi Electric Corp 情報処理装置及び起動方法
JP2016053780A (ja) * 2014-09-03 2016-04-14 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2017104168A1 (ja) * 2015-12-16 2017-06-22 三菱電機株式会社 映像記録再生装置及び起動方法
JP2025048564A (ja) * 2023-09-22 2025-04-03 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4745613B2 (ja) * 2004-01-20 2011-08-10 キヤノン株式会社 情報処理装置及び情報処理方法
KR100667822B1 (ko) * 2005-10-10 2007-01-11 삼성전자주식회사 낸드 플래시 메모리를 이용한 화상형성장치의 초기화제어장치 및 방법
KR100678023B1 (ko) * 2006-02-15 2007-02-02 삼성전자주식회사 이동통신 단말기의 부팅시간 단축 방법
WO2008062349A1 (en) * 2006-11-24 2008-05-29 St Wireless Sa Data processing system and method of boot loading
US20100122017A1 (en) * 2007-03-28 2010-05-13 Masayuki Toyama Memory controller, non-volatile memory system, and host device
JP2009157632A (ja) * 2007-12-26 2009-07-16 Toshiba Corp 情報処理装置
US7864069B2 (en) * 2008-09-30 2011-01-04 Foxlink Image Technology Co., Ltd. Method for displaying starting process of electronic device
KR20100066957A (ko) * 2008-12-10 2010-06-18 삼성전자주식회사 디스플레이 장치 및 그 제어방법
JP2010140266A (ja) * 2008-12-11 2010-06-24 Toshiba Corp 電子デバイスシステムと電子デバイス
CN101776986B (zh) * 2010-02-03 2011-12-14 青岛海信移动通信技术股份有限公司 一种启动程序时等待信息的显示控制方法和装置
US20120007887A1 (en) * 2010-07-08 2012-01-12 Shih-Min Chou Digital manipulator for inverter and image display method for digital manipulator
CN105068835B (zh) * 2015-08-05 2021-02-26 惠州Tcl移动通信有限公司 移动终端及其调试信息显示方法
CN112591152B (zh) * 2020-12-01 2023-01-31 上海航天控制技术研究所 空间站太阳翼控制系统

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57166624A (en) * 1981-04-08 1982-10-14 Toshiba Corp Display system of loading state in case of program loading
JPH0341517A (ja) * 1989-07-10 1991-02-22 Toshiba Corp セットアップ起動方式
JP2001331322A (ja) * 2000-05-23 2001-11-30 Nec Software Chugoku Ltd イメージデータ置換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004078847A (ja) * 2002-08-22 2004-03-11 Tamura Electric Works Ltd メモリ切替手段を備えた機器
JP2004118826A (ja) * 2002-09-24 2004-04-15 Samsung Electronics Co Ltd フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
JP2004199277A (ja) * 2002-12-17 2004-07-15 Fujitsu Ltd Biosの冗長管理方法、データ処理装置及びストレージシステム

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5519843A (en) * 1993-03-15 1996-05-21 M-Systems Flash memory system providing both BIOS and user storage capability
KR100198382B1 (ko) * 1996-05-07 1999-06-15 윤종용 멀티-부팅 기능을 갖는 컴퓨터 장치
US6097390A (en) * 1997-04-04 2000-08-01 International Business Machines Corporation Progress-indicating mouse pointer
US5987605A (en) * 1998-02-28 1999-11-16 Hewlett-Packard Co. Methods and apparatus for dual-boot memory selection, update, and recovery in a programmable device
US6263399B1 (en) * 1998-06-01 2001-07-17 Sun Microsystems, Inc. Microprocessor to NAND flash interface
KR100308479B1 (ko) * 1998-08-11 2001-11-01 윤종용 컴퓨터 시스템 내에서 부트-업 메모리로 사용되는 플래시 메모리 장치 및 그것의 데이터 읽기 방법
US6463531B1 (en) * 1999-09-16 2002-10-08 International Business Machines Corporation Method and system for monitoring a boot process of a data processing system providing boot data and user prompt
US6601167B1 (en) * 2000-01-14 2003-07-29 Advanced Micro Devices, Inc. Computer system initialization with boot program stored in sequential access memory, controlled by a boot loader to control and execute the boot program
US7165137B2 (en) * 2001-08-06 2007-01-16 Sandisk Corporation System and method for booting from a non-volatile application and file storage device
US7234052B2 (en) * 2002-03-08 2007-06-19 Samsung Electronics Co., Ltd System boot using NAND flash memory and method thereof
KR100448905B1 (ko) * 2002-07-29 2004-09-16 삼성전자주식회사 낸드플래쉬메모리를 시스템구동 및 저장용으로 사용하는장치
US7082525B2 (en) * 2002-10-02 2006-07-25 Sandisk Corporation Booting from non-linear memory
US7653897B2 (en) * 2003-07-21 2010-01-26 Autodesk, Inc. Displaying user operation data
US7594135B2 (en) * 2003-12-31 2009-09-22 Sandisk Corporation Flash memory system startup operation
US7590867B2 (en) * 2004-06-24 2009-09-15 Intel Corporation Method and apparatus for providing secure virtualization of a trusted platform module

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS57166624A (en) * 1981-04-08 1982-10-14 Toshiba Corp Display system of loading state in case of program loading
JPH0341517A (ja) * 1989-07-10 1991-02-22 Toshiba Corp セットアップ起動方式
JP2001331322A (ja) * 2000-05-23 2001-11-30 Nec Software Chugoku Ltd イメージデータ置換プログラムを記録したコンピュータ読み取り可能な記録媒体
JP2004078847A (ja) * 2002-08-22 2004-03-11 Tamura Electric Works Ltd メモリ切替手段を備えた機器
JP2004118826A (ja) * 2002-09-24 2004-04-15 Samsung Electronics Co Ltd フラッシュメモリを用いてブーティングされるシステム装置及びそのブーティング方法
JP2004199277A (ja) * 2002-12-17 2004-07-15 Fujitsu Ltd Biosの冗長管理方法、データ処理装置及びストレージシステム

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8291226B2 (en) 2006-02-10 2012-10-16 Qualcomm Incorporated Method and apparatus for securely booting from an external storage device
JP2011501321A (ja) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド 無線デバイスのためのプログレッシブブート
US8683213B2 (en) 2007-10-26 2014-03-25 Qualcomm Incorporated Progressive boot for a wireless device
JP2010134741A (ja) * 2008-12-05 2010-06-17 Internatl Business Mach Corp <Ibm> プログラムを実行する方法およびシステム
JP2013016182A (ja) * 2011-07-01 2013-01-24 Apple Inc ホストからのメモリ装置のブーティング
US8706955B2 (en) 2011-07-01 2014-04-22 Apple Inc. Booting a memory device from a host
JP2014192656A (ja) * 2013-03-27 2014-10-06 Mitsubishi Electric Corp 情報処理装置及び起動方法
JP2016053780A (ja) * 2014-09-03 2016-04-14 富士ゼロックス株式会社 情報処理装置及びプログラム
WO2017104168A1 (ja) * 2015-12-16 2017-06-22 三菱電機株式会社 映像記録再生装置及び起動方法
JPWO2017104168A1 (ja) * 2015-12-16 2018-04-12 三菱電機株式会社 映像記録再生装置及び起動方法
JP2025048564A (ja) * 2023-09-22 2025-04-03 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び制御方法

Also Published As

Publication number Publication date
US20060107031A1 (en) 2006-05-18

Similar Documents

Publication Publication Date Title
JP2006146485A (ja) 携帯端末
US20070055969A1 (en) System and method for updating firmware
US20110093741A1 (en) Method for recovering bios and computer system thereof
US20100235617A1 (en) System recovery method and embedded system with automatic recovery function
US20080010446A1 (en) Portable apparatus supporting multiple operating systems and supporting method therefor
US20140304497A1 (en) Electronic device having function of booting operating system by bootloader, method of performing the same function, and storage medium
KR101107446B1 (ko) 정보 처리 시스템 및 이 시스템의 기동/복구 방법
CN102270144A (zh) 嵌入式网络设备及其更新固件的方法
US20080184023A1 (en) Computer platform boot block program corruption recovery handling method and system
CN101308470A (zh) 主动恢复、备份及更新bios的电脑系统
CN105786545B (zh) 基于异构混合内存的断点恢复方法和系统
US20070174689A1 (en) Computer platform embedded operating system backup switching handling method and system
CN104424047A (zh) 一种nvram数据恢复方法和装置
JP2005301639A (ja) Osの障害対応方法およびそのプログラム
US9348603B2 (en) Electronic apparatus and booting method
CN101111017A (zh) 一种能够对软件和数据进行备份及恢复的移动终端及方法
JP4940599B2 (ja) 情報処理装置、情報処理装置制御プログラム、情報処理装置制御方法
JP2012194675A (ja) 情報機器及び情報機器への非常アクセス方法
JP4535316B2 (ja) 端末フェールセーフシステム、端末フェールセーフ方法および端末フェールセーフプログラム
JP2000235483A (ja) 情報処理装置
CN112199235A (zh) 一种电子设备及启动方法
JP2009176151A (ja) 情報処理装置およびその起動方法
JP4648097B2 (ja) レジストリ情報の修復方法および情報処理装置
US20190227865A1 (en) Information processing device and information processing method
CN100501671C (zh) 显示芯片的初始化方法和系统

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20071119

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20100922

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20101028

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101217

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110405

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110603

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110825

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110927