JP2015146102A - センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 - Google Patents
センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 Download PDFInfo
- Publication number
- JP2015146102A JP2015146102A JP2014018373A JP2014018373A JP2015146102A JP 2015146102 A JP2015146102 A JP 2015146102A JP 2014018373 A JP2014018373 A JP 2014018373A JP 2014018373 A JP2014018373 A JP 2014018373A JP 2015146102 A JP2015146102 A JP 2015146102A
- Authority
- JP
- Japan
- Prior art keywords
- application software
- program
- activation
- application
- state
- 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.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03547—Touch pads, in which fingers can move on a surface
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1415—Saving, restoring, recovering or retrying at system level
- G06F11/1433—Saving, restoring, recovering or retrying at system level during software upgrading
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
- G06F8/656—Updates while running
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1479—Generic software techniques for error detection or fault masking
- G06F11/1482—Generic software techniques for error detection or fault masking by means of middleware or OS functionality
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Human Computer Interaction (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
【課題】 タッチ入力デバイス側に搭載されたメモリに保持するアプリケーションソフトウェアを更新するようにし、不都合が生じた場合には、タッチ入力デバイス側で復旧できるようにする。
【解決手段】 CPU311は、起動時に起動プログラムを起動し、アプリケーションの起動状態を確認する。当該起動状態がアプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、当該アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、起動プログラムを実行しているCPU311は、起動プログラムに替えて復旧プログラムを実行して、復旧処理を行う。
【選択図】図3
【解決手段】 CPU311は、起動時に起動プログラムを起動し、アプリケーションの起動状態を確認する。当該起動状態がアプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、当該アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、起動プログラムを実行しているCPU311は、起動プログラムに替えて復旧プログラムを実行して、復旧処理を行う。
【選択図】図3
Description
この発明は、電子機器の入力手段として用いられるタッチ入力デバイスのアプリケーションソフトウェアの復旧処理あるいは復旧の要否判定を、タッチ入力デバイス側で適切に行えるようにする装置、方法に関する。
昨今、スマートフォンなどと呼ばれる高機能携帯電話端末や電子ブックリーダなどの小型端末に限らず、従来のパーソナルコンピュータの位置付けとなる機器においてもタッチ入力デバイス一体型の機器が多く見られる。従来のパーソナルコンピュータの位置付けとなるタッチ入力デバイス一体型の機器は、タブレットPC(PCは、Personal Computerの略称。)などと呼ばれて広く普及してきている。これらのタッチ入力デバイス一体型の機器では、タッチ入力によりすべての操作を行うことが想定されており、タッチ入力デバイスの代替入力手段が用意されていないことが多い。
昨今のタッチ入力デバイスは、従来のマウスやキーボードのような単純な入力デバイスと違い、比較的高度な内部処理が行われ、デバイス自体が多くの機能を有している。従って、内部処理のためのいわゆるファームウェアを、後から更新する機能を持たせている場合が多い。そしてユーザの利便性のために、タッチ入力デバイスを情報処理装置(端末機器)に組み込んだ状態のままで、更新することができるようにしているものが多くある。
情報処理装置に組み込んだ状態のままでタッチ入力デバイスのファームウェアを更新する際、正常に更新され、タッチ入力デバイスが新しいファームウェアにより正しく動作すれば、何の問題もなく操作を継続することができる。しかしながら、当該ファームウェアの更新を失敗したり、不具合が内在しているファームウェアを更新したりしてしまうと、タッチ入力デバイスが動作しなくなる場合がある。
そしてこれが、前述のようなタッチ入力デバイスを唯一の入力手段とする機器であった場合には、ユーザは何の操作もできなくなってしまう。この場合、タッチ入力デバイスのファームウェアを元の状態に戻すことすらできないということになる。これを回避するため、ファームウェアの更新処理が中断しないように十分注意する。更新用の新たなファームウェアが正しく動作するものであることを十分に確認する。といった対策がとられるが、タッチ入力デバイスが動作しなくなる可能性を完全に排除することは困難である。
特許文献1には、タッチ入力デバイス用のファームウェアの更新後に当該タッチ入力デバイスが制御できなくなることで、どのような操作も受け付けなくなってしまう事態を回避することのできる情報処理装置に関する発明が開示されている。
特許文献1に開示された情報処理装置に搭載されたタッチ入力デバイスは、タッチパネル21と、CPU22と、揮発性メモリ23とを備えている。当該情報処理装置に電源が投入されるごとに、情報処理装置のデータ処理部が、データ処理部のROM13に保持しているタッチ入力デバイス用のファームウェアを、バス4を通じた通信によりタッチ入力デバイスに供給する。当該タッチ入力デバイス用のファームウェアは、タッチ入力デバイスのCPU22により揮発性メモリ23に書き込まれた後、これがCPU22により実行され、当該タッチ入力デバイスが機能する構成になっている。
特許文献1に記載の発明の情報処理装置の場合には、タッチ入力デバイス用のファームウェアを更新する場合、新たなファームウェアに加えて、古いファームウェアも情報処理装置のデータ処理部10のROM13に保持しておく。新たなファームウェアをタッチ入力デバイスで実行させ、正常なデータが所定時間内にタッチ入力デバイスからデータ処理部10に返信されてこない場合、データ処理部10がROM13の正常に動作していた古いファームウェアをタッチ入力デバイスに対して通信を介して提供し、通信を用いて再起動する。このようにすることで、タッチ入力デバイスが動作しなくなることを回避できるようにしている。
上述したように、特許文献1に記載の情報処理装置の場合、タッチ入力デバイス用のファームウェアは、情報処理装置のデータ処理部のROM13に存在している。このため、電源の投入の都度、データ処理部からタッチ入力デバイスに当該ファームウェアを提供する構成になっている。従って、タッチ入力デバイス用のファームウェアを更新する機能や復元する機能は、タッチ入力デバイス側の機能ではなく、情報処理装置のデータ処理部の機能として実現される。すなわち、タッチ入力デバイス用のファームウェアについての更新機能や復元機能は、データ処理部とタッチ入力デバイスを含んだ情報処理装置全体のシステムとして初めて機能する構成になっている。
しかし、情報処理装置に対して電源を投入する都度、情報処理装置のデータ処理部からタッチ入力デバイスに対してファームウェアを提供していたのでは、その分の時間が電源の立ち上げの都度必要になり、立ち上がりに時間が掛かりる原因になる。このため、タッチ入力デバイス側に搭載されているメモリにタッチ入力デバイス用のファームウェアを保持させておくことが考えられる。
このような場合における、タッチ入力デバイス側に搭載されているメモリに保持するタッチ入力デバイス用のファームウェアの更新について考える。タッチ入力デバイス用のファームウェアの更新自体は、情報処理装置のデータ処理部からの制御により行うことが可能である。しかし、当該ファームウェアのタッチ入力デバイス側のメモリへの書き込みが途中で失敗したり、タッチ入力デバイス側のメモリに書き込まれた新たなファームウェアに不具合があったりするために、タッチ入力デバイスが機能しなくなってしまったとする。
タッチ入力デバイス用のファームウェアには、データ処理部との間で通信を行って、データ処理部から提供される情報を揮発性メモリに書き込む処理を行う通信処理等ソフトウェアも含まれる。この通信処理等ソフトウェアが適切に書き込まれなかったり、通信処理等ソフトウェアを呼び出すアプリケーションソフトウェアに不具合が合ったりした場合には、情報処理装置側のデータ処理部から通信を介してタッチ入力デバイスを制御すること自体が不能になる。
このような場合、特許文献1に開示された発明では、データ処理部から新しいファームウェアに替えて古いファームウェアに戻すといった処理自体が不能になる。そこで、専用の装置を用いてタッチ入力デバイスに搭載されているメモリに、古いファームウェアを記録し直すといった特殊な対応が必要になってしまい、タッチ入力デバイスの迅速な復旧ができないという問題を生じさせてしまう。
以上のことに鑑み、この発明は、タッチ入力デバイス側に搭載されたメモリに保持するアプリケーションソフトウェアに更新処理により不具合が生じた場合に、情報処理装置からの指示によらずとも、タッチ入力デバイス側の判定により復旧処理を実行できるようにすることを目的とする。
上記課題を解決するため、請求項1に記載の発明のセンサコントローラは、
計算機に対し入力情報を与えるセンサデバイスの制御に用いるセンサコントローラであって、
タッチ入力を受け付けて処理するためのアプリケーションソフトウェア、
起動時に前記アプリケーションソフトウェアの起動状態を確認する起動プログラム、
前記アプリケーションソフトウェアの復旧処理を行う復旧プログラム、
前記起動状態を示す情報、
を保持する不揮発性メモリと、
起動時に、前記起動プログラムを起動し、
前記起動状態が前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、前記復旧プログラムを実行するプロセッサと
を含むことを特徴とする。
計算機に対し入力情報を与えるセンサデバイスの制御に用いるセンサコントローラであって、
タッチ入力を受け付けて処理するためのアプリケーションソフトウェア、
起動時に前記アプリケーションソフトウェアの起動状態を確認する起動プログラム、
前記アプリケーションソフトウェアの復旧処理を行う復旧プログラム、
前記起動状態を示す情報、
を保持する不揮発性メモリと、
起動時に、前記起動プログラムを起動し、
前記起動状態が前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、前記復旧プログラムを実行するプロセッサと
を含むことを特徴とする。
この請求項1に記載の発明のセンサコントローラによれば、当該センサコントローラは、不揮発性メモリと、プロセッサとを備えている。不揮発性メモリには、ファームウェアと、起動状態を示す情報とを保持する。ファームウェアは、少なくとも、(1)タッチ入力を受け付けて処理するためのアプリケーションソフトウェアと、(2)電源立ち上げ時にアプリケーションソフトウェアの起動状態を確認する起動プログラムと、(3)アプリケーションソフトウェアの復旧処理を行う復旧プログラムとを含む。また、起動状態は、(A)アプリケーションソフトウェアの起動が2回目以降か否か、(B)過去の起動時にアプリケーションソフトウェアによりタッチ入力が正常に処理されたか否かを示す情報を含む。
プロセッサは、電源立ち上げ時に、起動プログラムを起動し、起動プログラムの機能により、アプリケーションソフトウェアの起動状態を確認する。この起動状態が、アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に当該アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、プロセッサは復旧プログラムにより、アプリケーションソフトウェアの復旧処理を実行する。
このように、電源投入時に起動プログラムを実行したプロセッサが、不揮発性メモリのアプリケーションの起動状態を確認し、アプリケーションプログラムの復旧が必要か否かを判別できる。そして、復旧が必要と判別したときには、復旧プログラムを実行したプロセッサが、アプリケーションソフトウェアの復旧処理を行う。従って、アプリケーションソフトウェアの復旧をセンサコントローラ自身が行うことが可能となる。
この発明によれば、タッチ入力デバイス側に搭載されたメモリに保持するアプリケーションソフトウェアに更新処理により不具合が生じた場合には、情報処理装置からの指示によらずとも、タッチ入力デバイス側の判定により復旧処理を実行できる。
以下、図を参照しながら、この発明の装置、方法の実施の形態について説明する。
[タブレット型情報端末1の構成]
[タブレット型情報端末1の外観の一例]
図1は、この実施の形態のタブレット型情報端末1の外観の一例を示す図である。タブレット型情報端末1は、その前面から、例えばLCD(Liquid Crystal Display)などの表示デバイス200の比較的に大きな表示画面200Dが露呈する構成を有する。表示画面200Dの裏部には、表示画面200D上のどの位置を指し示した場合にもその指示位置が検出できるように、表示画面200Dの全面に対応するように設けられたタッチセンサ部を有する入力デバイス(タッチ入力デバイス)300が搭載されている。また、タブレット型情報端末1の筐体内部には、表示デバイス200や入力デバイス300が接続され、種々の情報処理を行う情報処理装置部100が設けられている。
[タブレット型情報端末1の外観の一例]
図1は、この実施の形態のタブレット型情報端末1の外観の一例を示す図である。タブレット型情報端末1は、その前面から、例えばLCD(Liquid Crystal Display)などの表示デバイス200の比較的に大きな表示画面200Dが露呈する構成を有する。表示画面200Dの裏部には、表示画面200D上のどの位置を指し示した場合にもその指示位置が検出できるように、表示画面200Dの全面に対応するように設けられたタッチセンサ部を有する入力デバイス(タッチ入力デバイス)300が搭載されている。また、タブレット型情報端末1の筐体内部には、表示デバイス200や入力デバイス300が接続され、種々の情報処理を行う情報処理装置部100が設けられている。
このように、タブレット型情報端末1は、入力デバイス300が唯一の入力デバイス(入力装置)である情報処理装置である。タブレット型情報端末1において、表示画面200D上で、ユーザの指やペン型座標指示器などの指示体により位置指示操作がされたとする。この場合、表示画面200Dの裏部に設けられた入力デバイス300のタッチセンサ部からの検出出力に基づいて、入力デバイス300が備えるCPU(Central Processing Unit)が、表示画面200Dでの指示位置を特定する。当該CPUで特定された指示位置を示す情報は、情報処理装置部100に供給され、これに応じた処理を行うことができるようになっている。
[タブレット型情報端末1の全体構成の一例]
図2は、この実施の形態のタブレット型情報端末1の全体構成の一例を説明するためのブロック図である。タブレット型情報端末1は、情報処理装置部100に対して、I/O(input/output)ポート110を介して表示デバイス200が、I/Oポート120を介して入力装置としての入力デバイス300が接続されて構成されている。なお、情報処理装置部100は、タブレット型情報端末1の全体を制御し、タッチ入力デバイスにとってホスト装置部として機能する部分である。
図2は、この実施の形態のタブレット型情報端末1の全体構成の一例を説明するためのブロック図である。タブレット型情報端末1は、情報処理装置部100に対して、I/O(input/output)ポート110を介して表示デバイス200が、I/Oポート120を介して入力装置としての入力デバイス300が接続されて構成されている。なお、情報処理装置部100は、タブレット型情報端末1の全体を制御し、タッチ入力デバイスにとってホスト装置部として機能する部分である。
情報処理装置部100は、送受信アンテナ101Aが接続された無線通信部101と、CPU102と、RAM(Random Access Memory)103と、不揮発性メモリ104とが、バス105を通じて接続されて構成されている。
送受信アンテナ101Aが接続された無線通信部101は、例えば近隣の基地局を通じてインターネットに接続する機能を実現する。CPU102は、種々のプログラムを実行し、情報処理装置部100の各部と情報処理装置部100に対して接続された表示デバイス200、入力デバイス300を制御する。
RAM103は、処理の途中結果を一時記憶するなど、主に作業領域として用いられる。不揮発性メモリ104は、CPU102で実行される種々のプログラム、機能アップのために提供されたプログラム、種々の設定情報など、電源が落とされても保持しておくべき情報を記憶保持する。なお、入力デバイス300のアプリケーションソフトウェアを更新するための更新制御ソフトウェアや入力デバイス300用の新たなアプリケーションソフトウェアなども不揮発性メモリ104に記憶保持される。
なお、情報処理装置部100は、入力デバイス300用のアプリケーションの更新制御ソフトウェアや入力デバイス300用の新たなアプリケーションを、送受信アンテナ101A及び無線通信部101を通じて、例えば、インターネット上の所定のサーバから取得できるようになっている。
I/Oポート110、120は、I2C(Inter-Integrated Circuit)やUSB(Universal Serial Bus)などの所定の通信方式に合致した入出力ポートである。I/Oポート110は、情報処理装置部100と表示デバイス200との間のデータの送受を可能にし、I/Oポート120は、情報処理装置部100と入力デバイス300との間のデータの送受を可能にする。
表示デバイス200は、例えば、LCD(Liquid Crystal Display)や有機EL(Organic Electro-Luminescence)ディスプレイなどの薄型の表示部(表示素子)である。入力デバイス300は、コントローラ310とタッチセンサ部320とを含む。コントローラ310は、CPU、不揮発性メモリを備えたマイクロプロセッサである。タッチセンサ部320は、静電容量方式(あるいは電磁誘導方式)などの種々の方式の入力センサである。入力デバイス300は、ユーザの指などによるタッチセンサ部320上の接触位置を、コントローラ310を用いて検出し、接触位置等の入力データを情報処理装置部100に供給する。情報処理装置部100は、入力デバイス300からの入力データを処理するドライバなどを備え、入力デバイス300からの座標位置に応じた処理を行う。
[入力デバイス300のコントローラ310の構成例]
図3は、入力デバイス300のコントローラ310の構成例を説明するためのブロック図である。図3に示すように、CPU311と、RAM312と、不揮発性メモリ313とがバス314を通じて接続されて構成されている。また、バス314に対しては、I/Oポート120と、タッチセンサ部320とが接続される。CPU311は、ファームウェアを実行して入力デバイス300をタブレット型情報端末1の入力装置として機能するように各部を制御する。RAM312は、処理の途中結果を一時記憶するなど、主に作業領域として用いられる。不揮発性メモリ313は、電源が落とされても記憶しておく必要のあるファームウェアなどを記憶保持する。
図3は、入力デバイス300のコントローラ310の構成例を説明するためのブロック図である。図3に示すように、CPU311と、RAM312と、不揮発性メモリ313とがバス314を通じて接続されて構成されている。また、バス314に対しては、I/Oポート120と、タッチセンサ部320とが接続される。CPU311は、ファームウェアを実行して入力デバイス300をタブレット型情報端末1の入力装置として機能するように各部を制御する。RAM312は、処理の途中結果を一時記憶するなど、主に作業領域として用いられる。不揮発性メモリ313は、電源が落とされても記憶しておく必要のあるファームウェアなどを記憶保持する。
この実施の形態において、入力デバイス300で用いられるファームウェアは大きく分けると、アプリケーションソフトウェアと、アプリケーションソフトウェアを機能させるための起動プログラム群とからなる。
アプリケーションソフトウェアは、入力デバイス300をタブレット型情報端末1の入力装置として機能させるためのものであり、タッチ処理プログラムと通信処理等プログラムを含む。
タッチ処理プログラムは、タッチセンサ部320からの検出出力に基づいて、タッチセンサ部上のユーザによるタッチ位置を特定する処理を行う。通信処理等プログラムは、特定されたタッチセンサ部320上のタッチ位置を示す座標情報を情報処理装置部100に送信したり、情報処理装置部100からの制御信号を受信して処理したりするものである。以下においては、説明を簡単にするため、タッチ処理プログラムと通信処理等プログラムを含むアプリケーションソフトウェアを単にアプリケーションと記載する。
起動プログラム群には、起動プログラム、更新プログラム、復旧プログラムがある。起動プログラムは、電源立ち上げ時にアプリケーションの起動状態を確認したり、アプリケーションを起動したりする。更新プログラムは、情報処理装置部100と通信して、新しいアプリケーションの更新処理を行う。具体的に更新プログラムは、古いアプリケーションのバックアップ、新しいアプリケーションの所定領域への書き込みなどを行う。復旧プログラムは、新しいアプリケーションが正常に動作しなかった場合に、古いアプリケーションを起動対象とする復旧処理を行う。
起動プログラム、更新プログラム、復旧プログラムは、上述もしたように、アプリケーションを適切に機能させるための基本的なプログラムであり、これらのプログラムは通常更新されることはない。これに対してアプリケーションは、入力デバイス300の機能を向上させるなどのために更新される場合がある。具体的には、入力デバイス300の指示位置の検出感度を向上させたり、指示位置の検出範囲を拡大したりするなどのために、アプリケーションは適宜のタイミングで情報処理装置部100から更新される。
図3に示すように、入力デバイス300のコントローラ310に搭載された不揮発性メモリ313の記憶領域には、起動プログラム群格納領域31とユーザ領域32とが設けられている。また、不揮発性メモリ313には、更新前の古いアプリケーションを退避させておくアプリケーションバックアップ領域33が設けられている。この実施の形態において、不揮発性メモリ313は、例えば、4つのページに区分として3つのデータ記憶領域を有する。起動プログラム群格納領域31は第1の区分の第1ページに、ユーザ領域32は第2区分の第2ページに、アプリケーションバックアップ領域33は退避領域である第3の区分(第3ページ、第4ページ)に作成される。そして、ページ単位に情報の消去が可能な構成になっている。
起動プログラム群格納領域31は、起動プログラム領域31A、更新プログラム領域31B、復旧プログラム領域31Cを有する。起動プログラム群格納領域31には、アプリケーションの起動、更新、復旧といった基本的な機能を実現するプログラムであるために、通常は更新されることのないプログラムである、起動プログラム、更新プログラム、復旧プログラムが格納される。すなわち、起動プログラム群格納領域31に格納されている各プログラムは、タブレット型情報端末1が一般使用者(エンドユーザ)の手元にある状態では更新されることのないものである。
これに対して、ユーザ領域32は、アプリケーション領域32A、起動フラグ領域32B、更新確定フラグ領域32Cなどを有する。アプリケーション領域32Aには、上述もしたように、入力デバイス300の機能を向上させるために、タブレット型情報端末1が一般使用者(エンドユーザ)の手元にある状態でも適宜のタイミングで更新されることのある実行対象のアプリケーションが格納される。アプリケーションは、上述もしたように、タッチ処理プログラムや通信処理等プログラムを含むものである。
起動フラグ領域32Bには、アプリケーション領域32Aに格納されているアプリケーションの起動が1回目か2回目以降かのいずれかを示す情報が、CPU311で実行される更新プログラムによって書き込まれる。更新プログラムが、アプリケーション領域32Aに格納されているアプリケーションを最初に起動した場合に、当該アプリケーションは既に起動されたものであること(2回目以降の起動であること)を示す情報が書き込まれる。
更新確定フラグ領域32Cには、現在起動対象となっているアプリケーション領域32Aに格納されているアプリケーションによりタッチ入力が正常に処理されたか否かを示す情報が、当該アプリケーションが起動され、正常動作が確認できたときに書き込まれる。すなわち、アプリケーションの更新処理を行った後、新たなアプリケーションが正常に動作していることが確認できたとする。この場合に、CPU311で実行された更新プログラムの機能により、更新確定フラグ領域32Cにアプリケーションが正常に機能したことが確認できたことを次回に(起動時に参照できるように履歴として)示す情報が書き込まれる。
アプリケーションバックアップ領域33には、アプリケーション領域32Aに格納するアプリケーションを新アプリケーションに更新する場合に、アプリケーション領域32Aに格納されているそれまで用いられていた旧アプリケーションを退避する。この旧アプリケーションのバックアップ処理は、CPU311で実行される更新プログラムの機能により行われる。
このように、この実施の形態の入力デバイス300は、ファームウェアを自装置内に保持するために、入力デバイス300の機能向上などを目的として、少なくともアプリケーションを更新する必要が生じる場合がある。アプリケーションの更新を行う場合、更新処理が途中で失敗したり、更新したアプリケーション自体に不具合があり正常に機能しなかったりする可能性もある。特に、アプリケーションに含まれる通信処理等プログラムに不具合がある場合には、実際に通信に用いるプログラムのライブラリを保護される領域に有していたとしても、そのプログラムを起動すること自体ができなくなる。従って、情報処理装置部100との通信もできなくなるため、情報処理装置部100からの復旧処理もできない状態となり、ファームウェアを復旧する手段が無くなる。
又、単純に、タッチ入力デバイス側で復旧処理の要否を示す1ビットのフラグをタッチデバイス内のメモリに設けたとしても、情報処理装置部からでは復旧処理が必要であるときにこの1ビットの情報を要に変更することができない従って、起動時に復旧処理が必要であるか否かを自己で判定させるための情報は、単純な1ビットの要否フラグ(2つの状態)示すことができない。
そこで、この実施の形態の入力デバイス300においては、起動プログラム、更新プログラム、復旧プログラムの機能により、アプリケーションの入力デバイス300内での復旧を可能にしている。又、これらのプログラムにより、タッチ入力デバイス側で復旧が必要であるか否かの判定を可能とする起動状態の情報を示すため、起動フラグ領域32Bの情報と更新確定フラグ領域32Cの情報との2つのフラグが用いられる。図4は、起動フラグ領域32Bの情報と、更新確定フラグ領域32Cの情報との利用態様を説明するための図である。
起動フラグ領域32Bに書き込まれる情報と、更新確定フラグ領域32Cに書き込まれる情報とは、種々の態様とすることができる。起動フラグ領域32Bには、例えば、起動済みの場合には「オン」、未起動の場合には「オフ」とするフラグ情報を書き込む態様とすることができる。また、更新確定フラグ領域32Cには、例えば、正常に機能している場合には「オン」、異常の場合には「オフ」とするフラグ情報を書き込む態様とすることができる。
図4に示した例では、説明を簡単にするため、起動フラグ領域32Bと更新確定フラグ領域32Cとには、上述したように「オン」あるいは「オフ」のフラグ情報が書き込まれるものとして説明する。ユーザ領域32のアプリケーション領域32Aに新アプリケーションが格納されただけの状態のときには、起動フラグ領域32Bの起動フラグと更新確定フラグ領域32Cの更新確定フラグとは、いずれも「オフ」(消去状態、状態(c))の状態になっている。
CPU311により実行された起動プログラムが、アプリケーション領域32Aに格納されたアプリケーションを最初に実行した場合には、起動プログラムの機能により起動フラグ領域32Bの起動フラグは「オン」にされる。また、更新プログラムにより実行されたアプリケーションが正常に動作していることが確認された場合には、CPU311により実行された更新プログラムの機能により更新確定フラグ領域32Cの更新確定フラグは「オン」にされる。
このため、起動プログラムを実行したCPU311は、起動時において、まず、ユーザ領域32の起動フラグ領域32Bと更新確定フラグ領域32Cの情報を参照する。
(a)起動時に、起動フラグが「オン」で、更新確定フラグが「オン」の場合(第3の状態)には、アプリケーション領域32Aに格納されているアプリケーションは2回目以降の起動であり、しかも正常に動作している状態であることを示している。この場合、起動プログラムを実行したCPU311は、起動プログラムの機能により、アプリケーション領域32Aに格納されたアプリケーションを実行する通常の動作を行う(図4(a))。
(b)起動時に、起動フラグが「オン」で、更新確定フラグが「オフ」の場合には、アプリケーション領域32Aに格納されているアプリケーションソフトウェアは2回目以降の起動であるが、当該アプリケーションソフトウェアは前回起動されたときに正常に動作しなかった状態(第2の状態)であることを示している。この場合、起動プログラムを実行しているCPU311は、起動プログラムに替えて復旧プログラム呼び出して実行する。復旧プログラムを実行したCPU311は、アプリケーション領域32Aに格納されている正常に動作しなかった新アプリケーションに替えて、後述するようにアプリケーションバックアップ領域33に退避してある旧アプリケーションを復旧して起動できるようにする一連の復旧処理を行う(図4(b))。
(c)起動フラグが「オフ」で更新確定フラグが「オフ」の場合(第1の状態)には、アプリケーション領域32Aに格納されているアプリケーションがまだ1回も動作していない状態にあることを示している。この場合、起動プログラムを実行したCPU311は、当該起動プログラムの機能によりアプリケーション領域32Aに格納されているアプリケーションを読み出して実行し、起動フラグ領域32Bの起動フラグを「オン」にする動作を行う(図4(c))。
このように起動状態の情報として、上記第1の状態、第2の状態、第3の状態の3つの状態を起動プログラムが起動時に識別できるようにする情報を起動プログラムが起動時にアクセス可能な位置に保持する。
なお、起動フラグが「オフ」で、更新確定フラグが「オン」という第4の状態(図4(d))は、更新プログラムや起動プログラムの機能から考えると発生し得ない状態であるので、通常はこの場合の処理を決めておく必要はない。しかし、当該状態が発生した場合には、何らかの障害が発生していると考えられる。そこで、図4(d)の状態のときには、起動フラグ領域32Bと更新確定フラグ領域32Cとをクリアーした上で、アプリケーション領域32Aに格納されているアプリケーションを起動させるといった処理を行わせるようにしてもよい。この図4(d)の場合のイレギュラー処理は、CPU311で実行される例えば起動プログラムの機能により行うようにすればよい。
このように、この実施の形態の入力デバイス300は、ファームウェアを自装置内の不揮発性メモリ313内に保持させる構成のものである。このため、不揮発性メモリ313に保持させているファームウェアに含まれるアプリケーションを更新することにより発生する不具合に対処する必要がある。そこで、図3を用いて説明したように、旧アプリケーションをアプリケーションバックアップ領域33に退避させておく構成を有する。
さらに、更新した新アプリケーションに不具合が発生したか否かを更新プログラムが判別するための情報が格納される起動フラグ領域32Bと更新確定フラグ領域32Cとを備えている。起動プログラムは、起動直後(電源立ち上げ時)に、起動フラグ領域32Bと更新確定フラグ領域32Cとの格納情報を確認し、起動対象のアプリケーションソフトウェアが正常に動作していないことが確認できた場合には、復旧プログラムを実行して、起動対象のアプリケーションを旧アプリケーションに変更できるようにしている。
[入力デバイス300のアプリケーションの更新処理]
次に、この実施の形態の入力デバイス300のアプリケーションの更新処理について、図5〜図9を用いて説明する。図2を用いて説明したように、タブレット型情報端末1の情報処理装置部(端末本体部)のCPU102では、種々のプログラムが動作しており、その中で不揮発性メモリ104に格納されたアプリケーションソフトウェアの更新制御ソフトウェアが動作する。この更新制御ソフトウェアが機能して、入力デバイス300のアプリケーションの更新処理が行われる。
次に、この実施の形態の入力デバイス300のアプリケーションの更新処理について、図5〜図9を用いて説明する。図2を用いて説明したように、タブレット型情報端末1の情報処理装置部(端末本体部)のCPU102では、種々のプログラムが動作しており、その中で不揮発性メモリ104に格納されたアプリケーションソフトウェアの更新制御ソフトウェアが動作する。この更新制御ソフトウェアが機能して、入力デバイス300のアプリケーションの更新処理が行われる。
以下においては、入力デバイス300に保持し、入力デバイス300で実行されるアプリケーションの更新を行って、更新したアプリケーションが正常に動作する場合と、正常に動作しない場合とに分けてアプリケーションの更新処理の全体について説明する。
[アプリケーションの更新処理(新アプリケーションが正常に動作する場合)]
まず、入力デバイス300で実行されるアプリケーションの更新を行って、更新したアプリケーション(新アプリケーション)が正常に動作する場合について説明する。図5、図6は、タブレット型情報端末1で入力デバイス300のアプリケーションの更新処理が行われる場合の処理の流れを示す図である。図5、図6に示すように、点線の左側が情報処理装置部100側で実行される更新制御ソフトウェアによる制御の流れを示し、点線の右側が入力デバイス300で実行される起動プログラム群やアプリケーションによる制御の流れを示している。
まず、入力デバイス300で実行されるアプリケーションの更新を行って、更新したアプリケーション(新アプリケーション)が正常に動作する場合について説明する。図5、図6は、タブレット型情報端末1で入力デバイス300のアプリケーションの更新処理が行われる場合の処理の流れを示す図である。図5、図6に示すように、点線の左側が情報処理装置部100側で実行される更新制御ソフトウェアによる制御の流れを示し、点線の右側が入力デバイス300で実行される起動プログラム群やアプリケーションによる制御の流れを示している。
なお、この明細書において起動プログラム群とは、起動プログラムの他、更新プログラムや復旧プログラムをも含む意味である。また、図7は、図5、図6の処理が行われる場合の不揮発性メモリ313の状態を示す図である。また、入力デバイス300は正常に動作可能な状態になっているものとする。すなわち、入力デバイス300には、図7(A)に示すように、既に正常に起動しているアプリケーションを含むファームウェアが搭載されており、起動フラグと更新確定フラグは共に「オン」になっているものとする。
タブレット型情報端末1に電源が投入されると、表示デバイス200や入力デバイス300にも電源が供給される。入力デバイス300では、CPU311により起動プログラム群格納領域31に格納されている起動プログラムを呼び出し(ステップS1)、起動プログラムを実行する(ステップS2)。CPU311は、起動プログラムの機能により、ユーザ領域32の起動フラグ領域32Bと更新確定フラグ領域32Cのフラグ情報を確認し、アプリケーション領域32Aのアプリケーションを呼び出して(ステップS3)、当該アプリケーションを実行する(ステップS4)。
すなわち、図7(A)において、点線で囲んで示したように、まず、CPU311において起動プログラムが実行され、当該起動プログラムに機能により、CPU311においてアプリケーションを実行する。上述もしたように、現時点の実行対象のアプリケーションは正常に動作しているものであり、起動フラグも更新確定フラグも共に「オン」になっているので、起動プログラムを実行したCPU311は、アプリケーションを実行するのである。これにより、図7(A)において2重線で囲んで示したように、アプリケーションを実行したCPU311が制御の主体となる。
この後、情報処理装置部100のCPU102でアプリケーションの更新制御ソフトウェアが実行され、入力デバイス300のアプリケーションの更新コマンドが、入力デバイス300に送信されてきたとする(ステップS5)。なお、この例においては、初めてアプリケーションの更新が行われる場合であり、図7(A)に示すように、CPU311においてアプリケーションが実行された時点においては、アプリケーションバックアップ領域33には、何も格納されていない状態であるものとする。
情報処理装置部100のCPU102で実行された更新制御ソフトウェアからの更新開始コマンドは、入力デバイス300のアプリケーションを実行しているCPU311により受信される。アプリケーションを実行しているCPU311は、更新開始コマンドに応じて、起動プログラム群格納領域31に格納されている更新プログラムを呼び出して(ステップS6)、CPU311で当該更新プログラムを実行する(ステップS7)。
CPU311で実行される更新プログラムは、アプリケーションを更新するために、情報処理装置部100との間で通信を行えるようにする通信処理機能を備えるものである。更新プログラムを実行したCPU311は、図7(B)に示すように、アプリケーション領域32Aに格納されているアプリケーション(旧アプリケーション)を、アプリケーションバックアップ領域33に退避させる(ステップS8)。この後、更新プログラムを実行したCPU311は、図7(C)に示すように、ユーザ領域32に記憶されている情報を全て消去する(ステップS9)。
ユーザ領域32を消去した後においては、情報処理装置部100から更新データ、すなわち、新アプリケーションが提供される(ステップS10)。更新プログラムを実行しているCPU311は、当該新アプリケーションを受信し、図7(D)に示すように、アプリケーション起動対象領域であるアプリケーション領域32Aに新アプリケーションを書き込む(ステップS11)。このステップS11までの処理が完了した状態では、起動フラグ領域32Bの更新フラグと更新確定フラグ領域32Cの更新確定フラグとは、いずれも「オフ」の状態になっている。
情報処理装置部100からは、更新データ(新アプリケーション)の提供が完了すると、リセットコマンド(ソフトウェアリセット)が送信されて来る(ステップS12)。リセットコマンドを受信したCPU11は、更新プログラムに替えて、起動プログラム群格納領域31から起動プログラムを呼び出して(ステップS13)、当該起動プログラムを実行する(ステップS14)。
起動プログラムを実行したCPU311は、起動フラグと更新確定フラグとが共に「オフ」の状態であるので、起動対象の新アプリケーションは最初の起動(初回起動)であると判別する。この場合、起動プログラムを実行したCPU311は、新アプリケーションを呼び出して(ステップS15)、新アプリケーションを実行するようにすると共に(ステップS16)、起動フラグ領域32Bの起動フラグを「オン」にする(ステップS17)。ここでは、新アプリケーションの起動と起動フラグを「オン」にする処理を一連の処理として説明したが、まず、起動フラグを「オン」にした後に、新アプリケーションを実行するようにしてももちろんよい。
このように、リセットコマンド受信後においては、図7(E)において点線で囲んで示したように、まず、起動プログラムがCPU311で起動される。この後、起動プログラムの機能により、アプリケーションが読み出されてCPU311で実行され、図7(E)において実線の2重線で囲んで示したように、アプリケーションを実行したCPU311が制御の主体となる。
この後、CPU311で実行された新アプリケーションによって機能するようにされた入力デバイス300を通じて、使用者(ユーザ)からのタッチ操作(Tc1)を受け付ける。入力デバイス300では、CPU311で実行された新アプリケーションが機能してタッチ入力処理を実行し(ステップS18)、使用者によるタッチ位置を検出して、これを操作情報としてI/Oポート120を通じて情報処理装置部100に供給する(ステップS19)。
情報処理装置部100で実行されている更新制御ソフトウェアは、入力デバイス300からの情報に基づき、入力デバイス300が正常に動作したことを確認する処理を行う(ステップS20)。正常動作が確認できたときには、情報処理装置部100で実行されている更新制御ソフトウェアは、更新確定コマンドを形成し、これをI/Oポート120を通じて入力デバイス300に提供する(ステップS21)。
新アプリケーションを実行しているCPU311は、情報処理装置部100からの更新確定コマンドを受信すると、新アプリケーションに替えて、起動プログラム群格納領域31の更新プログラムを呼び出して(ステップS22)、実行する(ステップS23)。更新プログラムを実行したCPU311は、図7(F)に示すように、更新確定フラグ領域32Cの更新確定フラグを「オン」にする(ステップS24)。
この後、更新確定コマンドを送信した情報処理装置部100からは、リセットコマンド(ソフトウェアリセット)が送信されて来る(ステップS25)。このため、リセットコマンドを受信したCPU11は、図5のステップS1〜ステップS4に示したように、CPU311で実行される起動プログラムの機能により、新アプリケーションが呼び出され実行されることになる。この場合には、正常に動作することが確認された新アプリケーションを実行することができる。
このように、入力デバイス300のアプリケーションを更新することにより、更新前のアプリケーション(旧アプリケーション)から更新後のアプリケーション(新アプリケーション)に変わっても、新アプリケーションが正常に機能したとする。この場合には、新アプリケーションに応じて機能する入力デバイス300が、タブレット型情報端末1の入力装置として適切に機能することになる。
そして、更新した新アプリケーションが正常に機能した場合、起動フラグと更新確定フラグとは共に「オン」となり、起動した新アプリケーションが正常に動作していることが示されるので、アプリケーションの復旧処理は必要ないと判別できる。これに対して、起動フラグが「オン」で、更新確定フラグが「オフ」の場合には、更新した新アプリケーションを起動したにもかかわらず、正常に動作していないことが示されるので、アプリケーションの復旧処理が必要であると判別可能となる。
[アプリケーションの更新処理(新アプリケーションが正常に動作しない場合)]
次に、入力デバイス300で実行されるアプリケーションの更新を行って、更新したアプリケーション(新アプリケーション)が正常に動作しない場合について説明する。図8は、タブレット型情報端末1で入力デバイス300のアプリケーションの更新処理が行われる場合の処理の流れを示す図である。この図8もまた、図5、図6に示した場合と同様に、点線の左側が情報処理装置部100側で実行されるアプリケーションの更新制御ソフトウェアによる制御の流れを示し、点線の右側が入力デバイス300で実行される起動プログラム群やアプリケーションによる制御の流れを示している。また、図9は、図8の処理が行われる場合の不揮発性メモリ313の状態を示す図である。
次に、入力デバイス300で実行されるアプリケーションの更新を行って、更新したアプリケーション(新アプリケーション)が正常に動作しない場合について説明する。図8は、タブレット型情報端末1で入力デバイス300のアプリケーションの更新処理が行われる場合の処理の流れを示す図である。この図8もまた、図5、図6に示した場合と同様に、点線の左側が情報処理装置部100側で実行されるアプリケーションの更新制御ソフトウェアによる制御の流れを示し、点線の右側が入力デバイス300で実行される起動プログラム群やアプリケーションによる制御の流れを示している。また、図9は、図8の処理が行われる場合の不揮発性メモリ313の状態を示す図である。
アプリケーションを更新し、新アプリケーションが正常に動作するか否かは、新アプリケーションをアプリケーション領域32Aに書き込んで実際に実行してみないと分からない。このため、更新前のアプリケーション(新アプリケーション)が不具合を有するものであっても、図8に示すように、図5、図6に示したステップS1〜ステップS17の各処理は、図5、図6を用いて説明したように行われる。従って、図5、図6に示したステップS1〜ステップS17までの処理により、入力デバイス300の不揮発性メモリ313の状態は、図7(E)に示し、また、図9(E)にも示す状態となる。図7(E)と図9(E)とは不揮発性メモリ313の同じ状態を示している。
すなわち、図5、図6の場合と同様にステップS1〜ステップS17までの処理により、更新前のアプリケーション(旧アプリケーション)はアプリケーションバックアップ領域33に退避された状態となる(図9(E))。また、更新後のアプリケーション(新アプリケーション)はアプリケーション領域32Aに格納された状態となる(図9(E))。
さらに、アプリケーション領域32Aに格納された新アプリケーションが、起動プログラムを実行しているCPU311により呼び出されて実行される。すなわち、新アプリケーションがCPU311で実行され、新アプリケーションを起動したことを示す情報が起動プログラムにより起動フラグ領域32Bに格納された状態となる(図9(E))。
アプリケーション領域32Aに格納された新アプリケーションがCPU311で実行されることにより、図9(G)において2重線で囲んで示したように、制御の主体が新アプリケーションソフトウェアを実行したCPU311に移行する。この後、図9(G)において、網掛けをして示したように、新アプリケーションに異常があり、CPU311で実行された新アプリケーションがCPU311上で動作し続けるが、正常な動作ができなくなったとする(ステップS31)。この場合、使用者からのタッチ操作も受け付けられず、タッチ操作(Tc2)は不可となる。
従って、入力デバイス300からはアプリケーションソフトウェアの機能により検出される操作情報が情報処理装置部100に送信されない。また、情報処理装置部100から更新確定コマンドが送信されて来ることもないので、図9(G)に示すように、更新確定フラグ領域32Cに、新アプリケーションが正常に動作したことを示す情報も更新されない。
情報処理装置部100のCPU102により実行されている更新制御ソフトウェアは、予め決められた所定時間内に、アプリケーションを更新した入力デバイス300から操作情報を受信することができないためにタイムアウトとなる(ステップS32)。そこで、更新制御ソフトウェアは、ファームウェアの再起動を指示するリセットコマンドを、I/Oポート120を通じて入力デバイス300に送信する(ステップS33)。しかし、本来は機能しているべき新アプリケーションが機能していないので、当該リセットコマンドはエラーとなり、起動プログラムを通じて新アプリケーションを再起動させることができない。
このため、情報処理装置部100のCPU102により実行されている更新制御ソフトウェアは処理を中断させることになる(ステップS34)。この場合、入力デバイス300が正常に機能しないため、入力デバイス300が唯一の入力装置あるタブレット型情報端末1は全く操作できなくなる。
そこで、タブレット型情報端末1のユーザは、入力デバイス300の再起動を試みる。例えば、タブレット型情報端末1の主電源断/再投入操作(ハードリセット)(Tc3)を行う。電源が再投入されたタブレット型情報端末1では、情報処理装置部100、表示デバイス200、入力デバイス300の電源が投入される。この場合、入力デバイス300では、CPU311により、起動プログラム群格納領域31の起動プログラムが呼び出され(ステップS35)、CPU311により実行される(ステップS36)。
これにより、起動プログラムを実行したCPU311は、起動状態として、ユーザ領域32の起動フラグ領域32Bの起動フラグと更新確定フラグ領域32Cの更新確定フラグとを参照し、アプリケーションが実行可能か(復旧処理が必要か)を判別する。この時点の不揮発性メモリ313の状態は、図9(H)に示す状態となる。CPU311で起動プログラムが実行されていることを除けば、図9(G)に示した状態と同じである。
すなわち、ユーザ領域32の起動フラグ領域32Bの起動フラグは「オン」であるが、更新確定フラグ領域32Cの更新確定フラグは「オフ」である。この状態は、図4に示した(b)に対応する状態であり、アプリケーションの復旧処理を実行する必要があると判別できる。このため、起動プログラムが実行されているCPU311は、復旧プログラムを呼び出し(ステップS37)、復旧プログラムを実行して(ステップS38)、アプリケーションの復旧処理を行う。
これにより、図9(I)において、2重線で囲んで示したように、復旧プログラムを実行したCPU311が制御の主体となる。復旧プログラムを実行したCPU311は、図9(I)に示したように、アプリケーションバックアップ領域33に退避(バックアップ)してある更新前のアプリケーション(旧アプリケーション)を、ユーザ領域32のアプリケーション領域32Aに書き込む。当該旧アプリケーションは、正常に動作していた実績のあるものである。次に、復旧プログラムを実行したCPU311は、起動フラグ領域32Bの起動フラグと更新確定フラグ領域32Cの更新確定フラグとを共に「オン」にする。
この後、復旧プログラムを実行しているCPU311は、図9(J)に示すように、アプリケーション領域32Aに戻した(復旧した)旧アプリケーションを呼び出して(ステップS39)、実行する(ステップS40)。これにより、タブレット型情報端末1の入力デバイス300は、正常に動作していた旧アプリケーションによりタッチ入力処理を行うことができ、タブレット型情報端末1の入力装置として正常に機能する。
このようにして、更新後のアプリケーション(新アプリケーション)に不具合があり、正常に動作しない場合であっても、入力デバイス300のCPU311は、復旧プログラムを実行することにより、自発的にアプリケーションの復旧処理を行い、タブレット型情報端末1が全く機能しなくなる状態を回避できる。
[アプリケーションの更新未完了の場合]
上述した実施の形態では、正常に更新が完了した新アプリケーションに不具合があって新アプリケーションが正常に機能しなかった場合について説明した。しかし、新アプリケーションが正常に機能しないのは、新アプリケーションの全部がアプリケーション領域32Aに書き込まれなかった場合にも発生する。例えば、新アプリケーションのアプリケーション領域32Aへの書き込み処理中に、タブレット型情報端末1の主電源が何らかの原因で落ちてしまった場合には、新アプリケーションのアプリケーション領域32Aへの書き込みが完了しない状態となってしまう。この場合にも新アプリケーションは正常に機能しない。
上述した実施の形態では、正常に更新が完了した新アプリケーションに不具合があって新アプリケーションが正常に機能しなかった場合について説明した。しかし、新アプリケーションが正常に機能しないのは、新アプリケーションの全部がアプリケーション領域32Aに書き込まれなかった場合にも発生する。例えば、新アプリケーションのアプリケーション領域32Aへの書き込み処理中に、タブレット型情報端末1の主電源が何らかの原因で落ちてしまった場合には、新アプリケーションのアプリケーション領域32Aへの書き込みが完了しない状態となってしまう。この場合にも新アプリケーションは正常に機能しない。
そこで、起動プログラムを実行しているCPU311は、起動プログラムの機能により、アプリケーションのアプリケーション領域32Aの書き込みの状態を判別する。起動プログラムを実行しているCPU311が、アプリケーションのアプリケーション領域32Aへの書き込みが不完全であると判別した時には、CPU311は起動プログラムに替えて復旧プログラムを実行し、上述したアプリケーションの復旧処理を行う。この後、CPU311は、起動プログラムを実行してアプリケーションの起動処理を行う。これにより、アプリケーションのアプリケーション領域32Aの書き込みが不完全である場合についても、入力デバイス300が機能しなくなる状態を回避できる。
図10は、アプリケーションのアプリケーション領域32Aへの書き込みが不完全か否かを判別する手法の一例について説明するための図である。図10に示すように、ユーザ領域32のアプリケーション領域32Aには、アプリケーション領域32Aの先頭(上端部)〜末尾(下端部)に向って、アプリケーションが書き込まれる。なお、アプリケーションの書き込み前には、アプリケーション領域32Aの全体が初期化された状態になっている。
アプリケーション領域32Aにアプリケーションを書き込む場合、図10(A)に示すように、最初に、アプリケーション領域32Aの先頭部分に予め決められた特定のデータ列を書き込んだ後にアプリケーションを書き込む。そして、アプリケーションの全部を正常に書き込み終えた場合に、起動プログラムは、アプリケーション領域32Aの末尾部分に先頭部分に書き込んだ特定のデータ列をコピーする。
このようにしておけば、アプリケーション領域32Aの先頭部分と末尾部分に同じ特定のデータ列が存在するか否かに応じて、アプリケーションがアプリケーション領域32Aに適切に書き込まれたか否かを判別できる。すなわち、図10(B)に示すように、ユーザ領域32には、何のデータも書き込まれていない状態から、アプリケーション領域32Aにアプリケーションを書き込む処理を開始し、図10(C)に示すように、アプリケーションの書き込みが途中で中断してしまったとする。この場合には、アプリケーション領域32Aの末尾部分には、同先頭部分と同じ特定のデータ列は存在しないので、アプリケーションはアプリケーション領域32Aに正常に書き込まれていないと判別できる。
これに対して、図10(B)に示すように、ユーザ領域32には、何のデータも書き込まれていない状態から、アプリケーション領域32Aにアプリケーションを書き込む処理を開始し、図10(D)に示すように、アプリケーションの書き込みが最後まで終了したとする。この場合には、アプリケーション領域32Aの先頭部分と末尾部分には同じ特定のデータ列が存在するので、アプリケーションは正常に書き込まれたと判別できる。そして、図10(C)の状態にあるときには、アプリケーションバックアップ領域33に格納されてアプリケーションを、アプリケーション領域32Aに復旧する処理を行うことになる。
これにより、更新後のアプリケーション(新アプリケーション)が、アプリケーション領域32Aに正常に書き込まれなかったときにも、これを入力デバイス300側で自動的に復旧できる。
なお、図10を用いて説明したアプリケーションのアプリケーション領域32Aへの書き込みが正常に終了したか否かの判別の仕方はあくまでも一例である。例えば、最終アドレスが消去状態ではなく、データが書き込まれているか否かによりアプリケーションの書き込みが完了しているか否かを簡易的に判別する手法を用いることもできる。また、新アプリケーションの書き込み前と書き込み後のいわゆるチェックサムを用いて、新アプリケーションの書き込みの正確性をチェックする方式を用いてもよい。この他にも、冗長検査、パリティチェック、ハミングコードチェック、CRC(Cyclic Redundancy Check)などの従来からの誤り検出の手法や、これらの改良手法、あるいは新たに考案されたチェック方式などを用いることももちろん可能である。
[アプリケーションの起動処理(復旧処理を含む)]
次に、この実施の形態の入力デバイス300のCPU311で実行される起動プログラムと復旧プログラムにより行われるアプリケーションの起動処理(復旧処理を含む)について、図11のフローチャートを参照して説明する。
次に、この実施の形態の入力デバイス300のCPU311で実行される起動プログラムと復旧プログラムにより行われるアプリケーションの起動処理(復旧処理を含む)について、図11のフローチャートを参照して説明する。
図11は、入力デバイス300のCPU311により実行される起動プログラムと復旧プログラムにより行われるアプリケーションの起動処理(復旧処理を含む)を説明するためのフローチャートである。この図11に示すフローチャートは、図5〜図9を用いて説明した処理の内、アプリケーションの更新処理部分を除き、アプリケーションを起動させる場合の処理に特化して表したものである。
すなわち、電源が投入するようにされたタブレット型情報端末1の入力デバイス300のCPU311は、図11に示す処理を行なう。電源が投入された入力デバイス300においては、CPU311が起動プログラムを実行し、不揮発性メモリ313のアプリケーション領域32Aに、アプリケーションが正常に書き込まれているか否かを判別する(ステップS101)。このステップS101の処理は、起動プログラムの機能により、例えば、図10を用いて説明方法やその他のチェック方法を用いて、アプリケーションの全てが正常にアプリケーション領域32Aに記録されているか否かを確認する処理である。
ステップS101の判別処理において、アプリケーション領域32Aにアプリケーションが正常に書き込まれていると判別したときには、CPU311は、アプリケーションの更新が確定された状態か否かを判別する(ステップS102)。このステップS102の処理は、起動プログラムの機能により、起動フラグ領域32Bの起動フラグと更新確定フラグ領域32Cの更新確定フラグとが共に「オン」になっているか否かを判別する処理である。
ステップS102の判別処理において、起動フラグと更新確定フラグとが共に「オン」となっており(即ち、起動状態が第3の状態(a)であり)、アプリケーションの更新が確定した状態にあると判別したとする。この場合、起動プログラムを実行しているCPU311は、アプリケーション領域32Aに格納されているアプリケーションをCPU311おいて起動させ(ステップS103)、図11に示す処理を終了させる。このステップS103の処理により、起動プログラムが実行されていたCPU311から、アプリケーションが起動されたCPU311が制御を行うことになり、入力デバイス300がタブレット型情報端末1の入力装置として機能する。
また、ステップS102の判別処理において、アプリケーションの更新が確定した状態にはないと判別したとする。この場合、起動プログラムを実行しているCPU311は、アプリケーション領域32Aのアプリケーションは、今回が初回起動か否かを判別する(ステップS104)。すなわち、ステップS104の判別処理は、更新されたアプリケーションが、更新後において1回も起動されていないものか否かを判別する処理である。具体的にステップS104では、起動フラグ領域32Bの起動フラグと更新確定フラグ領域32Cの更新確定フラグとが共に「オフ」になっているか否か(即ち、起動状態が第1の状態(c)であるか否か)を確認する処理である。
ステップS104の判別処理において、起動フラグと更新確定フラグとが共に「オフ」となっており、アプリケーション領域32Aのアプリケーションは今回が初回起動(1回も起動されていないもの)であると判別したとする。この場合、起動プログラムを実行しているCPU311は、起動フラグ領域32Bの起動フラグを「オン」にする(ステップS105)。この後、起動プログラムを実行しているCPU311は、アプリケーション領域32Aに格納されているアプリケーションを起動させる(ステップS106)。
このステップS103の処理により、起動プログラムが実行されていたCPU311から、アプリケーションが起動されたCPU311が制御を行うことになり、入力デバイス300がタブレット型情報端末1の入力装置として機能する。なお、このステップS106においては、起動させたアプリケーションが正常に動作した場合には、上述もしたように、CPU311において実行される更新プログラムにより、更新確定フラグが「オン」にされる。また、起動させたアプリケーションが正常に動作しながった場合には、上述もしたように、更新確定フラグは「オン」にされないので、電源の再立ち上げによるハードウエアリセットにより、アプリケーションの復旧処理が行われることになる。
また、ステップS101の判別処理において、起動プログラムを実行しているCPU311が、アプリケーション領域32Aにアプリケーションが正常に書き込まれていないと判別したとする。この場合、CPU311は復旧プログラムを実行し、アプリケーションの復旧処理を行う(ステップS107)。同様に、ステップS104の判別処理において、起動プログラムを実行しているCPU311が、アプリケーション領域32Aのアプリケーションは起動済みのものであると判別したとする。この場合にも、CPU311は復旧プログラムを実行し、アプリケーションの復旧処理を行う(ステップS107)。
ステップS107において、復旧プログラムを実行したCPU311は、(1)アプリケーションバックアップ領域33に退避した旧アプリケーションを、アプリケーション領域32Aに格納し直す。更に、復旧プログラムを実行したCPU311は、(2)起動フラグ領域32Bの起動フラグを「オン」にし、更新確定フラグ領域32Cの更新確定フラグを「オン」にする。
この後、例えば、情報処理装置部100から提供されるリセットコマンドに応じて、入力デバイス300のCPU311は、起動プログラムを実行し、復旧した旧アプリケーションを起動させることになる。この場合の起動処理は、上述したステップS103のアプリケーションの起動処理の場合と同様の処理となる。
このように、入力デバイス300においては、自機が入力装置として機能するためのアプリケーションを自機の不揮発性メモリ313内に保持させている。この保持されるアプリケーションは、更新の対象となり、更新が正常に終了しなかったり、更新されたアプリケーションが正常に機能しなかったりする場合がある。
しかし、入力デバイス300のCPU311は、起動プログラムの機能により、正常に動作したアプリケーションだけを実行する。そして、入力デバイス300のCPU311は、アプリケーションの更新処理やアプリケーション自体に不具合が生じた場合には、起動プログラムや復旧プログラムの機能により、CPU311が自発的にアプリケーションを復旧させることができる。この復旧処理は、タブレット型情報端末1の電源断と再投入を行ういわゆるハードリセット操作を契機として行うことができる。
[変形例等]
なお、上述したように、アプリケーションは、タッチ処理プログラムと通信処理等プログラムとを含む。そして、上述した実施の形態では、通信処理等プログラムに不具合が生じて情報処理装置部100からの復旧が不能な場合にも、電源のオン/オフ(ハードリセット)を契機として、入力デバイス300のCPU311がアプリケーションの復旧を行うものとして説明した。しかし、これに限るものではない。
なお、上述したように、アプリケーションは、タッチ処理プログラムと通信処理等プログラムとを含む。そして、上述した実施の形態では、通信処理等プログラムに不具合が生じて情報処理装置部100からの復旧が不能な場合にも、電源のオン/オフ(ハードリセット)を契機として、入力デバイス300のCPU311がアプリケーションの復旧を行うものとして説明した。しかし、これに限るものではない。
例えば、アプリケーションの内、タッチ処理プログラムに不具合があり、タッチ位置の検出が不能になっているが、通信処理等プログラムは正常に機能しているとする。この場合には、図8のステップS33において、情報処理装置部100から提供されるリセットコマンドを適切に受信できる。このため、タイムアウトによるリセットコマンドを受信した場合、CPU311は、起動プログラムを呼び出して実行するように、図8のステップS35からの処理を行なうようにすることができる。
この場合には、タブレット型情報端末1の電源のオン/オフといったいわゆるハードリセットを、復旧処理に繋がる起動プログラムの実行の契機としなくてもよい。すなわち、図8のステップS33のリセットコマンド(ソフトリセット)を復旧処理に繋がる起動プログラムの実行の契機とすることができる。
また、上述した実施の形態では、起動プログラムを実行したCPU311は、ユーザ領域32のアプリケーション領域32Aに格納されているアプリケーションを実行するものとして説明した。このため、アプリケーションの復旧処理は、アプリケーションバックアップ領域33に退避した、旧アプリケーションをアプリケーション領域32Aに書き戻す処理を含むものとした。しかし、これに限るものではない。
アプリケーションがいわゆるアドレス依存のないものであり、入力デバイス300のCPU311が、アドレス依存のないプログラムを実行可能なものである場合には、復旧処理としてCPU311が、アプリケーションバックアップ領域33の旧アプリケーションを直接に実行するようにしてもよい。この場合には、旧アプリケーションをアプリケーション領域32Aに書き戻す処理を行う必要がなくなる。
また、上述した実施の形態では、起動プログラムと更新プログラムと復旧プログラムとは、不揮発性メモリ313の更新対象とはならない起動プログラム群格納領域31に格納されているものとして説明したが、これに限るものではない。起動プログラムと更新プログラムと復旧プログラムとは、更新対象とはならないものであるので、入力デバイス300内に設けられる、いわゆるマスクROMに記録しておくようにしてもよい。
また、図11の説明では、第1の状態〜第3の状態の起動状態をS102とS104の順に判定するとしたが、この順は逆順であってもよいし1回の判定で行うものであってもよい。
1…タブレット型情報端末、100…情報処理装置部、101A…送受信アンテナ、101…無線通信部、102…CPU、103…RAM、104…不揮発性メモリ、105…バス、110…I/Oポート、120…I/Oポート、200…表示デバイス、300…タッチ入力デバイス、310…コントローラ、311…CPU、312…RAM、313…不揮発性メモリ、31…起動プログラム群格納領域、31A…起動プログラム領域、31B…更新プログラム領域、31C…復旧プログラム領域、32…ユーザ領域、32A…アプリケーション領域、32B…起動フラグ領域、32C…更新確定フラグ領域、33…アプリケーションバックアップ領域
Claims (19)
- 計算機に対し入力情報を与えるセンサデバイスの制御に用いるセンサコントローラであって、
タッチ入力を受け付けて処理するためのアプリケーションソフトウェア、
起動時に前記アプリケーションソフトウェアの起動状態を確認する起動プログラム、
前記アプリケーションソフトウェアの復旧処理を行う復旧プログラム、
前記起動状態を示す情報、
を保持する不揮発性メモリと、
起動時に、前記起動プログラムを起動し、
前記起動状態が前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、前記復旧プログラムを実行するプロセッサと
を含むセンサコントローラ。 - 請求項1に記載のセンサコントローラであって、
前記不揮発性メモリは、前記起動状態として、前記アプリケーションソフトウェアの起動が1回目か2回目以降のいずれかを示す起動フラグ、及び、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されたか否かを示す更新確定フラグを記憶することを特徴とするセンサコントローラ。 - 請求項1に記載のセンサコントローラであって、
前記起動プログラムと前記復旧プログラムとは、前記不揮発性メモリの更新対象にならない領域に格納されていることを特徴とするセンサコントローラ。 - 請求項1に記載のセンサコントローラであって、
前記不揮発性メモリには、前記起動プログラムと前記復旧プログラムと前記アプリケーションソフトウェアに加えて、新たなアプリケーションソフトウェアの提供を受けて、アプリケーションソフトウェアの更新処理を行う更新プログラムが記憶されることを特徴とするセンサコントローラ。 - 請求項3に記載のセンサコントローラであって、
前記起動プログラムと前記復旧プログラムと前記更新プログラムとは、前記不揮発性メモリの更新対象にならない領域に格納されていることを特徴とするセンサコントローラ。 - 請求項1に記載のセンサコントローラであって、
前記不揮発性メモリの所定領域には、過去に正常に動作していた旧アプリケーションソフトウェアが保持されており、
前記プロセッサは、前記復旧プログラムの機能により、前記復旧処理として、前記所定領域に保持されている、前記旧アプリケーションソフトウェアを起動対象となるようにし、前記起動状態を、アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、アプリケーションソフトウェアによりタッチ入力が正常に処理されたことを示す状態にする
ことを特徴とするセンサコントローラ。 - 請求項1に記載のセンサコントローラであって、
前記不揮発性メモリの所定領域には、過去に正常に動作していた旧アプリケーションソフトウェアが保持されており、
前記プロセッサは、前記起動プログラムの機能により、前記不揮発性メモリのアプリケーション起動対象領域に格納された前記アプリケーションソフトウェアを実行するようにしており、
前記プロセッサは、前記復旧プログラムの機能により、前記復旧処理として、前記所定領域に保持されている、過去に正常に動作していた前記旧アプリケーションソフトウェアを、前記アプリケーション起動対象領域に移行すると共に、前記起動状態を、前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されたことを示す状態にする
ことを特徴とするセンサコントローラ。 - 請求項1から請求項7のいずれかに記載のセンサコントローラに対して、指示体による接触入力を受けるタッチセンサが接続されてなるセンサデバイス。
- 請求項1から請求項7のいずれかに記載のセンサコントローラに対して、指示体による接触入力を受けるタッチセンサが接続されてなるセンサデバイスが搭載されて構成される電子機器。
- 計算機に対し入力情報を与えるセンサデバイスの制御に用いるセンサコントローラであって、
前記計算機に対して前記入力情報を与えるアプリケーションソフトウェア、
前記アプリケーションソフトウェアの起動状態を判定する起動プログラム、
前記アプリケーションソフトウェアを復旧する復旧処理を行う復旧プログラム、
前記起動状態として、
前記アプリケーションソフトウェアの起動が1回目である第1の状態、
前記アプリケーションソフトウェアの起動が2回目以降であって、かつ、
前回の起動において正常動作をしたことを示す情報が存在しない第2の状態、
前記アプリケーションソフトウェア起動が2回目以降であって、かつ、
以前の起動において正常動作をしたことを示す情報が存在する第3の状態、
の3つの状態のいずれのいずれの状態であるかを区別する情報、
を保持する不揮発性メモリと、
起動時に前記起動プログラムを起動して前記判定を実行し、
前記起動状態が第2の状態を示す場合に前記復旧プログラムを実行する、
プロセッサと、
を含む、センサコントローラ。 - 前記不揮発性メモリは、更に、前記アプリケーションプログラムを更新する更新プログラムを含み、
前記プロセッサは、
前記更新プログラムの実行時に、
前記起動状態を前記第1の状態に設定する
請求10記載のセンサコントローラ。 - 前記プロセッサは、
前記計算機に対して前記入力情報を与えるアプリケーションソフトウェアの消去にともない、前記状態情報を前記第1の状態に変更する
請求項11に記載のセンサコントローラ。 - 前記プロセッサは、
前記起動時に、前記起動状態が前記第1の状態である場合に前記アプリケーションソフトウェアプログラムを実行し、
前記入力情報に対する応答を前記計算機より受信したことにより前記アプリケーションソフトウェアが正常動作したことを検出した場合に、前記起動状態を前記第1の状態から前記第3の状態に変更する、
請求項11記載のセンサコントローラ。 - 前記復旧処理プログラムは、前記復旧処理にともない、前記第2の状態を前記第3の状態に変更する、
請求項10記載のセンサコントローラ。 - 前記第1の状態、前記第2状態、及び前記第3状態の3つの状態は、前記更新プログラムの実行にともない前記第1の状態に変更される2つのフラグで表される、
請求項11記載のセンサコントローラ。 - 前記第3状態は、前記第1の状態を経由せずには前記第2の状態には変更できず、前記第1の状態にのみ変更可能な状態である
請求項15に記載のセンサコントローラ。 - 計算機に対し入力情報を与えるセンサデバイスの制御に用いるセンサコントローラにおけるアプリケーションソフトウェア復旧方法であって、
前記センサコントローラは、タッチ入力を受け付けて処理するためのアプリケーションソフトウェア、電源立ち上げ時に前記アプリケーションソフトウェアの起動状態を確認する起動プログラム、前記アプリケーションソフトウェアの復旧処理を行う復旧プログラム、及び、前記起動状態として、前記アプリケーションソフトウェアの起動が1回目か2回目以降のいずれかを示す起動フラグ、及び、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されたか否かを示す更新確定フラグ、を記憶する不揮発性メモリと、
前記起動プログラムと、前記復旧プログラムと、前記アプリケーションソフトウェアを実行するプロセッサとを備えており、
前記プロセッサが、
電源立ち上げ時に、前記起動プログラムを起動する起動工程と、
前記起動プログラムの機能により、前記起動状態を確認する確認工程と、
前記起動プログラムの機能により、前記確認工程での確認結果が、前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されていないことを示す場合に、前記復旧プログラムを実行する復旧工程と
を有することを特徴とするアプリケーションソフトウェア復旧方法。 - 請求項17に記載のアプリケーションソフトウェア復旧方法であって、
前記不揮発性メモリの所定領域には、過去に正常に動作していた旧アプリケーションソフトウェアが保持されており、
前記復旧工程においては、前記復旧プログラムの機能により、前記復旧処理として、前記所定領域に保持されている、前記旧アプリケーションソフトウェアを起動対象となるようにし、前記起動状態を、アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、アプリケーションソフトウェアによりタッチ入力が正常に処理されたことを示す状態にする
ことを特徴とするアプリケーションソフトウェア復旧方法。 - 請求項17に記載のアプリケーションソフトウェア復旧方法であって、
前記不揮発性メモリの所定領域には、過去に正常に動作していた旧アプリケーションソフトウェアが保持されており、
前記プロセッサは、前記起動プログラムの機能により、前記不揮発性メモリのアプリケーション起動対象領域に格納された前記アプリケーションソフトウェアを実行するようにしており、
前記復旧工程においては、前記復旧プログラムの機能により、前記復旧処理として、前記所定領域に保持されている、過去に正常に動作していた前記旧アプリケーションソフトウェアを、前記アプリケーション起動対象領域に移行すると共に、前記起動状態を、前記アプリケーションソフトウェアの起動が2回目以降の起動であることを示し、かつ、過去の起動時に前記アプリケーションソフトウェアによりタッチ入力が正常に処理されたことを示す状態にする
ことを特徴とするアプリケーションソフトウェア復旧方法。
Priority Applications (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018373A JP2015146102A (ja) | 2014-02-03 | 2014-02-03 | センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 |
US14/574,048 US9916029B2 (en) | 2014-02-03 | 2014-12-17 | Sensor controller, sensor device including sensor controller, electronic apparatus equipped with sensor device, and application software recovery method |
CN201510006910.5A CN104820606A (zh) | 2014-02-03 | 2015-01-07 | 传感器控制器、传感器设备、电子设备及应用软件的恢复方法 |
EP15152378.4A EP2902902A1 (en) | 2014-02-03 | 2015-01-23 | Sensor controller, sensor device including sensor controller, electric apparatus equipped with sensor device, and application software recovery method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014018373A JP2015146102A (ja) | 2014-02-03 | 2014-02-03 | センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2015146102A true JP2015146102A (ja) | 2015-08-13 |
Family
ID=52396540
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014018373A Withdrawn JP2015146102A (ja) | 2014-02-03 | 2014-02-03 | センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9916029B2 (ja) |
EP (1) | EP2902902A1 (ja) |
JP (1) | JP2015146102A (ja) |
CN (1) | CN104820606A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017228077A (ja) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | 電子機器、ファームウェアアップデート方法およびコンピュータプログラム |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0228559A1 (de) * | 1985-12-17 | 1987-07-15 | BBC Brown Boveri AG | Fehlertolerante Mehrrechneranordnung |
JP2990181B1 (ja) * | 1998-09-28 | 1999-12-13 | 日本電気アイシーマイコンシステム株式会社 | フラッシュメモリ、フラッシュメモリを備えたマイクロコンピュータおよびフラッシュメモリへのプログラム格納方法 |
US20060259207A1 (en) * | 2005-04-20 | 2006-11-16 | Denso Corporation | Electronic control system for automobile |
JP5113700B2 (ja) * | 2008-09-24 | 2013-01-09 | 株式会社日立ソリューションズ | ファームウェア更新装置及び方法 |
US9104468B2 (en) * | 2010-02-17 | 2015-08-11 | Sony Corporation | Terminal apparatus and method of controlling terminal apparatus with multi-tasking features |
US8869138B2 (en) | 2011-11-11 | 2014-10-21 | Wyse Technology L.L.C. | Robust firmware update with recovery logic |
JP5849449B2 (ja) | 2011-06-15 | 2016-01-27 | 日本電気株式会社 | 情報処理装置およびその制御方法とプログラム |
US8949664B2 (en) * | 2011-11-18 | 2015-02-03 | Nokia Corporation | Method and apparatus for providing information consistency in distributed computing environments |
KR101296869B1 (ko) | 2012-02-23 | 2013-08-14 | 주식회사 팬택 | 터치 기반으로 동작되는 휴대 단말 및 그 동작 방법 |
JP5910413B2 (ja) * | 2012-08-21 | 2016-04-27 | 富士通株式会社 | 情報処理装置、起動プログラム、および起動方法 |
-
2014
- 2014-02-03 JP JP2014018373A patent/JP2015146102A/ja not_active Withdrawn
- 2014-12-17 US US14/574,048 patent/US9916029B2/en active Active
-
2015
- 2015-01-07 CN CN201510006910.5A patent/CN104820606A/zh active Pending
- 2015-01-23 EP EP15152378.4A patent/EP2902902A1/en not_active Withdrawn
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017228077A (ja) * | 2016-06-22 | 2017-12-28 | 富士通株式会社 | 電子機器、ファームウェアアップデート方法およびコンピュータプログラム |
Also Published As
Publication number | Publication date |
---|---|
US20150220203A1 (en) | 2015-08-06 |
CN104820606A (zh) | 2015-08-05 |
US9916029B2 (en) | 2018-03-13 |
EP2902902A1 (en) | 2015-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI515660B (zh) | 韌體變量更新方法 | |
US10552263B2 (en) | System running method and intelligent terminal | |
WO2020062887A1 (zh) | 基于闪存微控制器的固件升级方法和系统及闪存微控制器 | |
TW200847021A (en) | Automatic backup, restore and update BIOS computer system | |
CN101505331A (zh) | 升级智能手机系统软件的方法和装置 | |
US20140258699A1 (en) | Boot fault tolerant device and method thereof | |
JP2009271737A (ja) | 情報処理装置 | |
JP2015146102A (ja) | センサコントローラ、センサコントローラを備えたセンサデバイス、センサデバイスが搭載された電子機器およびアプリケーションソフトウェアの復旧方法 | |
EP3291092B1 (en) | Data recovery method, device and terminal | |
US11249661B2 (en) | Information processing apparatus, control method, and program | |
CN113778485A (zh) | 电子芯片的系统运行方法、装置、电子芯片和存储介质 | |
CN111143125B (zh) | 一种mce错误处理方法、装置及电子设备和存储介质 | |
CN114035813A (zh) | 一种升级方法、装置、设备及存储介质 | |
JP6264948B2 (ja) | 情報処理装置、ハードウェア試験制御方法およびプログラム | |
US10592329B2 (en) | Method and electronic device for continuing executing procedure being aborted from physical address where error occurs | |
CN106611124A (zh) | 计算机装置及其开机方法 | |
US20230350666A1 (en) | Systems and methods for executing firmware upgrades | |
KR100402516B1 (ko) | 내장형 마이크로 컨트롤러 유닛에서 프로그램 코드를갱신하는 방법 | |
CN115599417A (zh) | 电子设备的mcu固件更新方法 | |
JP2010231489A (ja) | マイクロコード書き換え方法 | |
JP2005228225A (ja) | メモリカードアダプタ | |
KR20050021685A (ko) | 이동통신 단말기에서 부팅 방법 | |
CN117714281A (zh) | 一种交换机固件的升级方法、装置及相关产品 | |
JP2011198375A (ja) | 携帯可能電子装置及び携帯可能電子装置の制御方法 | |
JP2013105338A (ja) | 情報処理装置、情報処理プログラム及び組み込みシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20161107 |
|
A761 | Written withdrawal of application |
Free format text: JAPANESE INTERMEDIATE CODE: A761 Effective date: 20161228 |