(57)【要約】【課題】電源オンによる情報処理装置の起動時に、情報処理装置の動作モードを電源オフモードから別の動作モードに遷移させる。【解決手段】端末（１）は、電源オフモードにおいて電源オン操作が受付けられたとき、並行して動作を開始するメインコアブロック（３０）およびサブコアブロック（４０）と、を備え、メインコアブロック（３０）は、サブコアブロック（４０）が出力する所定情報から、端末（１）の動作モードを決定する手段と、端末（１）の動作モードを、電源オフモードから決定された動作モードへ遷移させるための手段と、を含み、サブコアブロック（４０）は、電源オン操作が受付けられたとき、端末（１）に接続された機器の出力から、所定情報を取得する手段と、取得された所定情報を出力する手段と、を含む。【選択図】図３
2014078191.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置であって、
前記情報処理装置の電源オン操作を受付ける操作受付手段と、
前記情報処理装置の電源オフモードにおいて前記電源オン操作が受付けられたとき、並行して動作を開始する第１のプロセッサユニットおよび第２のプロセッサユニットと、を備え、
前記第１のプロセッサユニットは、
前記第２のプロセッサユニットが出力する所定情報から、前記情報処理装置の動作モードを決定する手段と、
前記情報処理装置の動作モードを、前記電源オフモードから決定された前記動作モードへ遷移させるための手段と、を含み、
前記第２のプロセッサユニットは、
前記電源オン操作が受付けられたとき、前記情報処理装置に接続された機器の出力から、前記所定情報を取得する手段と、
取得された前記所定情報を出力する手段と、を含む、情報処理装置。
【請求項２】
前記第１のプロセッサユニットおよび前記第２のプロセッサユニットによりアクセスされる記憶部を、さらに備え、
前記所定情報を出力する手段は、取得した前記所定情報を前記記憶部に書込む手段を有し、
前記動作モードを決定する手段は、前記記憶部の前記所定情報を読出し、前記情報処理装置の動作モードを決定する読出決定手段を有する、請求項１に記載の情報処理装置。
【請求項３】
前記第２のプロセッサユニットは、
前記情報処理装置に接続された機器の出力から、その後に出力される前記所定情報が有効であるか否かを通知するための通知データを取得し、前記記憶部に書込む手段を、含み、
前記読出決定手段は、前記記憶部の前記通知データが有効を示すとき、前記記憶部から所定情報を読出し、前記情報処理装置の動作モードを決定する、請求項２に記載の情報処理装置。
【請求項４】
前記情報処理装置に接続された機器は、ユーザ操作を受付けるためのタッチパネルを含む、請求項１から３のいずれかに記載の情報処理装置。
【請求項５】
前記情報処理装置に接続された機器は、前記情報処理装置の筐体の姿勢を検出するための検出部を含む、請求項１から４のいずれかに記載の情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は情報処理装置に関し、特に、複数のＣＰＵ（central Processing Unit）コアを内蔵する情報処理装置に関する。
【背景技術】
【０００２】
コンピュータ等の情報処理装置について、簡単な操作で所望するソフトウェアを起動する方法が提案されている。
【０００３】
たとえば、特許文献１（特開２００９−１０４４１６号公報）では、少なくとも１つのキーを操作しながら、電源スイッチを操作して電子機器の電源をオンした場合、通常モード以外の動作モードで起動する。
【０００４】
また、特許文献２（特開２０１０−８６３２７号公報）では、キー操作ではなく、タッチパネルを操作して、情報処理装置の電源投入による起動後に動作している起動制御プログラムによって、数多くあるアプリケーションソフトウェアから動作させるべきアプリソフトウェアを選択する。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−１０４４１６号公報
【特許文献２】特開２０１０−８６３２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
電源オンして機器を起動したときに、開発時のプログラム書き換えモード、生産工程作業用生産モード、問題発生時のデバッグモード、通常起動モードなど様々な動作モードのうちから所望の動作モードを起動させたいとのユーザ要求がある。つまり、一般的には、電源オンしたときは機器の初期化処理が完了した後に、ＯＳ（Operating System）が起動されることになるから、電源オンからＯＳ起動までの期間は、キー操作など外部操作により割込みによるＯＳのスレッド処理などは受付けられない。キー操作など外部操作により割り当てられている信号線の変化を直接読み取り判断する必要がある。ただし、タッチパネルなど内部にファームウエアが組み込まれているデバイスにおいては、電源オンからＯＳ起動までの期間においてファームウエアが動作し、外部操作により割り当てられている信号線の変化を直接読み取りが可能とならないケースがあり、そのため、ユーザは所望の動作モードを起動させるためには、ＯＳが起動してから外部操作をする必要があり、操作がわずらわしい。
【０００７】
特許文献１では、電源スイッチを操作するときに操作される少なくとも１つのキーにより動作モードの種類を選択する。携帯型電話機などの携帯型端末、とりわけスマートフォン（多機能携帯型電話機）においては、装備されているキーの数が減り、電源ＯＮ／ＯＦＦのためのキーのみを搭載する機種が今後主流となると予想される。このような端末では、ユーザはキーに変わりタッチパネルなど他のデバイスを操作することにより指示を入力することになるが、特許文献１の構成を適用しても、電源スイッチの操作のみでは起動時の動作モードを選択することができない。
【０００８】
これに対し、特許文献２では、キーではなくタッチパネルを利用して数多く存在するアプリケーションソフトウェアから目的のアプリケーションソフトウェアを選択するが、この選択は機器の電源オン時に実行されるのではなく、既に機器が起動後においてタッチパネル操作から起動制御プログラムが目的のアプリケーションソフトウェアを選択しているに過ぎない。
【０００９】
本発明の目的は、電源オンによる情報処理装置の起動時に、情報処理装置の動作モードを電源オフモードから別の動作モードに遷移させることができる情報処理装置を提供することである。
【課題を解決するための手段】
【００１０】
この発明のある局面に従う情報処理装置は、当該情報処理装置の電源オン操作を受付ける操作受付手段と、情報処理装置の電源オフモードにおいて電源オン操作が受付けられたとき、並行して動作を開始する第１のプロセッサユニットおよび第２のプロセッサユニットと、を備え、第１のプロセッサユニットは、第２のプロセッサユニットが出力する所定情報から、情報処理装置の動作モードを決定する手段と、情報処理装置の動作モードを、電源オフモードから決定された動作モードへ遷移させるための手段と、を含み、第２のプロセッサユニットは、電源オン操作が受付けられたとき、情報処理装置に接続された機器の出力から、所定情報を取得する手段と、取得された所定情報を出力する手段と、を含む。
【００１１】
好ましくは、第１のプロセッサユニットおよび第２のプロセッサユニットによりアクセスされる記憶部を、さらに備え、所定情報を出力する手段は、取得した所定情報を記憶部に書込む手段を有し、動作モードを決定する手段は、記憶部の所定情報を読出し、情報処理装置の動作モードを決定する読出決定手段を有する。
【００１２】
好ましくは、第２のプロセッサユニットは、情報処理装置に接続された機器の出力から、その後に出力される所定情報が有効であるか否かを通知するための通知データを取得し、記憶部に書込む手段を、含み、読出決定手段は、記憶部の通知データが有効を示すとき、記憶部から所定情報を読出し、情報処理装置の動作モードを決定する。
【００１３】
好ましくは、情報処理装置に接続された機器は、ユーザ操作を受付けるためのタッチパネルを含む。
【００１４】
好ましくは、情報処理装置に接続された機器は、情報処理装置の筐体の姿勢を検出するための検出部を含む。
【００１５】
この発明の他の局面に従う情報処理装置の制御方法が提供される情報処理装置は、情報処理装置の電源オフモードにおいて電源オン操作が受付けられたとき、並行して動作を開始する第１のプロセッサユニットおよび第２のプロセッサユニットと、を備える。
【００１６】
制御方法は、当該情報処理装置の電源オン操作を受付けるステップと、第１のプロセッサユニットが、第２のプロセッサユニットが出力する所定情報から、情報処理装置の動作モードを決定するステップと、情報処理装置の動作モードを、電源オフモードから決定された動作モードへ遷移させるためのステップと、を含み、第２のプロセッサユニットは、電源オン操作が受付けられたとき、情報処理装置に接続された機器の出力から、所定情報を取得するステップと、取得された所定情報を出力するステップと、を含む。
【発明の効果】
【００１７】
本発明によれば、電源オンによる情報処理装置の起動時に、取得する所定情報から決定した動作モードに遷移させる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施の形態に係る携帯型情報処理端末の外観を示す図である。
【図２】本発明の実施の形態に係る携帯型情報処理端末の構成図である。
【図３】本実施の形態に係る複合機能チップ１０の内部構成図である。
【図４】図３に示される各部の接続関係を模式的に示す図である。
【図５】本発明の実施の形態に係るメインコアブロック起動処理のフローチャートである。
【図６】本発明の実施の形態に係るメイン／サブコアリンクブロック起動処理のフローチャートである。
【図７】本発明の実施の形態に係るサブコアブロック起動処理フローチャートである。
【図８】本発明の実施の形態に係る端末１のメモリマップを示す図である。
【図９】図８のメイン／サブコアリンクブロックエリアのアクセス権限種別を示した図である。
【発明を実施するための形態】
【００１９】
以下、本発明の実施の形態について図面を参照し詳細に説明する。なお、同一の構成要素には各図において同一の符号を付し、詳細な説明は繰返さない。
【００２０】
本実施の形態においての情報処理装置では、タッチパネルを有する携帯型情報処理端末を想定する。携帯型情報処理端末として、ノートブック型パーソナルコンピュータ、携帯型電話機、スマートフォン、ＰＤＡ（Personal  Digital  Assistant）などを適用することができる。また、情報処理装置は携帯型に限定されず、据え置き型であってもよい。
【００２１】
本実施の形態では、メインＣＰＵ（Central Processing Unit）コアとサブＣＰＵコアを内蔵する情報処理装置において、情報処理装置への電源投入時に、メインＣＰＵコアとサブＣＰＵコアとが通信することにより、サブＣＰＵコアが制御するデバイスが利用可能状態となった以降にデバイスからの入力情報をメインＣＰＵコアに与えて、メインＣＰＵコアは与えられる入力情報に従って、動作モードを選択し、情報処理装置を選択した動作モードに遷移させる。これにより、電源オンによる情報処理装置の起動後には、ユーザの特別な操作を要することなく情報処理装置の動作モードをユーザ所望（ユーザ選択）の動作モードに遷移させる（切替える）ことができる。
【００２２】
なお、本実施の形態では、２個のＣＰＵコアを有するとしているが、３個以上のＣＰＵコアを有し、処理（負荷）を分担するとしてもよい。
【００２３】
ここで本実施の形態で用いる用語を定義する。まず『非ＯＳ状態』とは、情報処理装置が電源オンされて実際にＯＳ（Operating System）が起動されるまでの状態（期間）を示す。つまり、電源オンされると各回路に電源が供給開始されるとともに、予め定められた記憶領域に格納されたＯＳがＣＰＵにより実行開始されるまでの状態を示す。
【００２４】
（装置構成）
図１は本発明の実施の形態に係る携帯型情報処理端末の外観を示す図である。図２は、本発明の実施の形態に係る携帯型情報処理端末の構成図である。
【００２５】
図１を参照して、携帯型情報処理端末（以下、端末と称す）１は、図１（Ａ）に示すように筐体の主表面にタッチパネル１５を備える。また、図１（Ｂ）と（Ｃ）に示すように、筐体の側面において端末１の電源オン／オフをするために操作される電源キー１２、外部機器を接続するための端子１１および集音のためのマイク（マイクロフォン）１７を備える。また、筐体の主表面において、タッチパネル１５の情報入力エリア１５１と、スピーカ１６が備えられる。情報入力エリア１５１は、ユーザのタッチ操作を受付けて操作に従う情報（指示を含む）を入力するためのエリアである。情報入力エリア１５１内には、表示エリア１５２とタッチパネル特定入力エリア１５３とが含まれる。表示エリア１５２は、ＬＣＤ（Liquid  Crystal  Display）パネルに相当する。筐体の主表面に対する背面には、図示しないがＣＣＤ（Charge Coupled Device）カメラを備える。
【００２６】
タッチパネル１５は、本実施の形態では、周知の抵抗膜方式を採用するが、これに限定されず、たとえば周知の静電容量方式、または光センサ方式であってもよい。
【００２７】
タッチパネル１５と表示エリア１５２の表示部とは一体的に構成された表示一体型入力装置に相当する。ＬＣＤパネルの表示面上にはタッチパネル１５が載置される。ユーザはＬＣＤパネルによる表示画像を透明部材からなるタッチパネル１５を介して外部から視認することができる。
【００２８】
ここでは、タッチパネル特定入力エリア１５３には通話モードの開始／終了、電子メールの送信／受信のメールモードなどの各種動作モードを起動するために、ユーザが操作するスイッチが示される。このスイッチはタッチパネル１５上に予め印刷されたものであってもよく、またはＬＣＤパネルにより表示される画像であってもよい。
【００２９】
表示エリア１５２には本実施の形態では、上記のＬＣＤパネルを適用するが、これに限定されず、有機ＥＬディスプレイ（organic  electroluminescence  display）、ＦＥＤ（Field  Emission  Display：電界放出型ディスプレイ）、電子ペーパーなどを適用してもよい。
【００３０】
図２を参照して、端末１は、複合機能チップ１０、および電源キー１２からの操作信号に基づき、図示しない電源部（バッテリなど）から端末１の複合機能チップ１０を含む各部への電源供給／停止を制御するための電源制御モジュール１８を備える。
【００３１】
さらに、端末１は複合機能チップ１０に関連して、スピーカ１６およびマイク１７とこれらを制御する回路およびファームウェアなどからなるマイク／スピーカモジュール２０、複合機能チップ１０の外部メモリである外部ＲＡＭ（Random Access Memory）２１および不揮発性メモリである外部Flash ROM（Read Only Memory）／ｅＭＭＣ（登録商標：Embedded MultiMediaCardの略）２２、ＣＣＤカメラおよびこれを制御する回路およびファームウェアなどからなるカメラモジュール２３、外部ストレージＩ／Ｆ（Interfaceの略）モジュール２４、外部機器と複合機能チップ１０とのデータ授受をＵＳＢ（Universal Serial Bus）またはＩｒＤＡ（Infrared Data Association）に従い制御するための回路およびファームウェアなどからなる外部接続Ｉ／Ｆ（Interface）モジュール２５を備える。さらに、通話など無線通信を制御するための回路およびファームウェアなどからなるＲＦ（Radio Frequency）モジュール２８、ＬＣＤパネルによる画像表示を制御するための回路およびファームウェアなどからなる表示モジュール２７、センサモジュール２６、タッチパネル１５を制御するためのタッチパネルモジュール２９を備える。タッチパネルモジュール２９は、キーの代用としてユーザにより操作されたタッチパネル１５のタッチ操作などの操作内容を受付けるための回路およびファームウェアなどからなる。
【００３２】
本実施の形態では、センサモジュール２６には、加速度センサ、ジャイロセンサおよび地磁気センサなどと、これらを制御するための回路およびファームウェアなどを含む。
【００３３】
外部FlashROM/eMMC２２には、端末１を起動するための機器起動プログラム２２１（後述する）及びＯＳ２２２を含む各種プログラムが格納されており、これらプログラムの実行時には、プログラムは外部FlashROM/eMMC２２から読出されて外部ＲＡＭ２１に格納される。
【００３４】
電源制御モジュール１８は、電源オフ時に電源キー１２の電源オン操作信号によって起動されると、各部に電源を供給開始し、電源オン時に電源キー１２の電源オフ操作信号を入力すると、各部への電源を供給を停止するよう動作する。
【００３５】
外部ストレージＩ／Ｆモジュール２４は、市販のＳＤ（Secure Digital memory card）など外部の記憶媒体をマスストレージとしてアクセスする機能を有する。
【００３６】
図３は、本実施の形態に係る複合機能チップ１０の内部構成図である。図４は、図３に示される各部の接続関係を模式的に示す図である。図３および図４を参照して、複合機能チップ１０は、複合機能チップ１０全体を制御するメインコアブロック３０、主に複合機能チップ１０に接続される各種デバイスを制御するサブコアブロック４０、メインコアブロック３０およびサブコアブロック４０を連携して動作させるためのメイン／サブコアリンクブロック５０、端子部Ｔ１を介し各種デバイスとデータを入出力しながら各種デバイスを制御するデバイス制御ブロック６０、電源制御モジュール１８と端子部Ｔ２を介しデータを入出力し電源制御モジュール１８を制御する電源制御ブロック７０、および表示モジュール２７と端子部Ｔ３を介しデータを入出力し表示モジュール２７を制御するための表示制御ブロック８０を備える。複合機能チップ１０の各部はバス６を介し相互にデータ転送可能なように接続される。
【００３７】
デバイス制御ブロック６０は、外部ストレージＩ／Ｆモジュール２４および外部接続Ｉ／Ｆモジュール２５に関連の通信制御のためのＵＳＢ通信デバイスを制御するブロック（図中は、ＵＳＢと略す）６１、撮像デバイスであるＣＣＤカメラの撮像動作の制御および撮像画像データ処理をするブロック（図中はCameraと略す）６２、各部間で処理の同期を取るためのクロックを出力するタイマ等のクロックデバイスの分周比などを制御するブロック（図中はClockと略す）６３、およびその他のデバイスを制御するブロック（図中はOthersと略す）６４を含む。
【００３８】
ブロック６４により制御されるその他のデバイスには、センサモジュール２６、タッチパネルモジュール２９およびマイク／スピーカモジュール２０の各種デバイスが含まれる。ブロック６４はタッチパネルモジュール２９からの出力（操作内容など）を入力し、タッチダウン／タッチアップの検出、タッチされた軌跡の検出など操作内容を検出し出力する。出力された操作内容は、バス６を経由し、サブコアブロック４０に与えられる。
【００３９】
メイン／サブコアリンクブロック５０は、メインコアブロック３０により制御されて、サブコアブロック４０からのデータをメインコアブロック３０へ転送する。
【００４０】
バス６は、システムバス６ａとメモリバス６ｂを含む。システムバス６ａは各ブロック間の相互連携データを複合機能チップ１０内部でやり取りを行いメモリバス６ｂを通じ外部とのデータ通信を制御する。メモリバス６ｂはシステムバス６ａを介して各ブロックのデータについて複合機能チップ１０外部へアクセスするのを可能にする。
【００４１】
電源制御ブロック７０は、電源制御モジュール１８を、複合機能チップ１０を含む外部周辺チップ（図示せず）の省電力を実現するように制御する。表示制御ブロック８０は、表示モジュール２７を画面表示の高速化など各種の表示態様を実現するように制御する。
【００４２】
本実施の形態では、複合機能チップ１０は端末１のマルチプロセッサプに相当し、メインコアブロック３０とサブコアブロック４０は、当該マルチプロセッサが有する並行して動作する異なるプロセッサユニット（処理ユニット）に相当する。
【００４３】
メインコアブロック３０は、メインＣＰＵコア３１、ＲＡＭ３２、ＲＯＭ（Read Only Memory）３３およびキャッシュ（キャッシュメモリの略）３４を含む。ＲＯＭ３３には、後述するメインコアプログラム３３１、コアリンクプログラム３３２を含むプログラムが予め格納されている。サブコアブロック４０は、サブＣＰＵコア４１、ＲＡＭ４２およびＲＯＭ（Read Only Memory）４３を含む。ＲＯＭ４３には、後述するサブコアプログラム４３１およびデバイス制御ブロック６０を介して各種のデバイスを制御するためのデバイス制御プログラム４３２を含むプログラムが予め格納されている。
【００４４】
複合機能チップ１０のメインコアブロック３０およびサブコアブロック４０を除く部分は、回路、またはソフトウェア、または回路とソフトウェアの組合わせにより実現される。
【００４５】
（動作モードの種類）
本実施の形態に係る端末１は複数種類の動作モードを有する。本実施の形態では、動作モードには、上述した通話モード、メールモードの他に、たとえば、（１）電源オンして端末１を起動する通常モード、ソフトウエア書換えを実行し（２−１）端末１を出荷するまでの、開発期間に使用されるソフトウエア書換えモードおよび（２−２）ＵＳＢケーブルで端末１とコンピュータ等の外部機器を接続してコンピュータから端末１の所定記憶領域にソフトウエアを書き込むための専用モード、端末１の製造時に使用されるモードとして（３−１）端末１を製造する際に使用される生産工程モードおよび（３−２）生産ラインで端末１が正常に動作するかを確認するための専用モード、販売後の端末１をメンテナンスするために（４−１）端末１に格納されている所定データ（電話帳などのユーザデータを含む）をバックアップするためのモードおよび（４−２）不具合発生の原因を診断するためのサービスモード、などが含まれる。これらは例示であり、他の種類の動作モードが含まれてもよい。
【００４６】
また、ここでは説明のために、電源キー１２がオフ操作などされて、端末１の電源がオフされた状態を“電源オフモード”と称する。なお、電源オフモードであっても、電源キー１２の操作を受付けることができるように、電源制御モジュール１８およびブロック６３のタイマなどには補助電源（図示せず）から電力が供給されて、動作していると想定する。
【００４７】
（処理フローチャートの概要）
図５は、本発明の実施の形態に係るメインコアブロック起動処理のフローチャートである。図６は、本発明の実施の形態に係るメイン／サブコアリンクブロック起動処理のフローチャートである。図７は、本発明の実施の形態に係るサブコアブロック起動処理フローチャートである。図５と図６のフローチャートは、予めメインコアプログラム３３１およびコアリンクプログラム３３２としてＲＯＭ３３に格納されて、メインＣＰＵコア３１によりＲＯＭ３３から読出されて実行される。図６のフローチャートは、予めサブコアプログラム４３１としてＲＯＭ４３に格納されて、サブＣＰＵコア４１によりＲＯＭ４３から読出されて実行される。
【００４８】
以下には、電源オフモードにおいて端末１の電源キー１２が電源オン操作された場合に、サブＣＰＵコア４１が制御するデバイスが利用可能状態となった以降にデバイスからの情報（本実施の形態の場合は、タッチパネル１５の操作内容）をメインＣＰＵコア３１に与えて、メインＣＰＵコア３１は与えられる情報に従って、動作モードを選択し、端末１を電源オフモードから選択された動作モードに遷移させる処理を説明する。
【００４９】
ここでは、当該デバイスとして、タッチパネル１５を想定するが、これに限定されず、センサモジュール２６などの他のデバイスであってもよい。
【００５０】
（メモリマップと参照データ）
上記のフローチャートに従う処理において参照されるデータと、それが格納される記憶領域を以下に説明する。
【００５１】
図８は、本発明の実施の形態に係る端末１のメモリマップを示す図である。図９は、図８のメイン／サブコアリンクブロックエリアのアクセス権限種別を示した図である。
【００５２】
以下に図８と図９を参照してメイン／サブコアリンクブロック５０による、メインコアブロック３０とサブコアブロック４０を連携動作させるためのリンク処理を説明する。
【００５３】
図８を参照して、メモリマップは、ＬＣＤパネルの画面サイズに相当する記憶領域を有し、メインコアブロック３０から表示すべき画像データを書込み、表示モジュール２７が表示にための読出す表示制御ブロックエリア、および電源制御のためのデータが格納される電源制御ブロックエリアを有する。さらに、デバイス制御ブロック６０が各種デバイスを制御するためのデータが格納されるデバイス制御ブロックエリア、外部ＲＡＭ２１に対応する外部ＲＡＭエリア、メインコアブロック３０とサブコアブロック４０を連携動作させるためのデータなどが格納されるメイン／サブコアリンクブロックエリア１００、サブコアブロック４０のＲＡＭ４２に対応する記憶エリアであるサブコア内部ＲＡＭエリア、およびメインコアブロック３０のＲＡＭ３２の記憶エリアに対応するメインコア内部ＲＡＭエリアを有する。
【００５４】
図８のメイン／サブコアリンクブロックエリア１００に関するアクセス権限の詳細が図９に示される。図９を参照してメイン／サブコアリンクブロックエリア１００は、メインコアブロック３０からデータの読出が可能であって且つサブコアブロック４０からデータの書込が可能な領域１０１と、メインコアブロック３０からデータの読出しおよび書込みが可能な領域１０２とを含む。
【００５５】
メインコアブロック３０のＲＯＭ３３に格納されているメインコアプログラム３３１によるメイン／サブコアリンクブロック５０の初期化処理は、メインＣＰＵコア３１が図９の領域１０２の予め定めたアドレス領域に、初期化を指示するための初期化コマンド２００を書込むことにより開始される。コアリンクプログラム３３２は、領域１０２の予め定めたアドレス領域から初期化コマンド２００を読出し、読出した初期化コマンド２００を実行する。これにより、初期化コマンド２００に従って、サブコアブロック４０のサブＣＰＵコア４１に対し初期化を通知する。サブＣＰＵコア４１はサブコアプログラム４３１をキックして、サブコアプログラム４３１に従う処理が開始される。
【００５６】
本実施の形態で、“キック”とはプログラムを起動し実行可能状態にすることを意味する。
【００５７】
サブコアプログラム４３１によりブロック６４およびタッチパネルモジュール２９を介して、タッチパネル１５がリセットされ、タッチパネルモジュール２９が内蔵するファームウエアが動作し、タッチパネル１５の初期化処理が可能かどうかが判断される。
【００５８】
ここで“タッチパネル１５の初期化処理”とは、タッチパネルモジュール２９およびブロック６４内のタッチパネル１５の制御プログラムのリセット処理を言う。このリセット処理により、以降、タッチパネル１５上がタッチ操作されたときに、そのタッチ位置を、表示モジュール２７のＬＣＤパネルに表示する場合に、実際にタッチ位置と当該表示位置と一致させることができる。
【００５９】
また、“タッチパネル１５の初期化処理が可能”か否かは、タッチパネル１５の専用外部端子（図示せず）から複合機能チップ１０に出力される信号（HIGH又はLOW）に基づき判定する。具体的には、タッチパネル１５に電源が供給開始されるとき、タッチパネルモジュール２９に組込まれているファームウエアが動作することにより、タッチパネル１５の内部状態を複合機能チップ１０など外部から制御可能状態に遷移させる。制御可能状態に遷移すると、専用外部端子からの出力信号が変化（HIGH→LOWまたはLOW→HIGH）する。この出力信号の変化から“タッチパネル１５の初期化処理が可能”か否を判定することができる。
【００６０】
タッチパネル１５の初期化処理が可能でないと判定される場合は、可能状態となるまで待機する。タッチパネル１５の初期化処理が可能と判定された後は、ブロック６４のタッチパネルの制御ブロックおよびタッチパネルモジュール２９を介して、タッチパネル１５の初期化処理を実施し、その後、タッチパネル１５の操作内容を検出するなどのタッチパネル制御処理が開始される。
【００６１】
その後、タッチパネル１５が操作による入力を受付可能となったか否かを判定する。タッチパネル１５の初期化処理が終了したとき、“タッチパネル１５が入力受付可能”であると判定される。
【００６２】
サブＣＰＵコア４１は、タッチパネル１５が入力受付可能と判定すると、図９の領域１０１の予め定めたアドレス領域に、入力受付可能を通知するための通知データ２０１を書込む。メインＣＰＵコア３１は、領域１０１から通知データ２０１を読出し、通知データ２０１からタッチパネル１５の入力可能状態を判断する。
【００６３】
通知データ２０１は、タッチパネル１５が利用可能になった、すなわちその後、タッチパネル１５で検出される操作内容が有効な情報であることをメインコアブロック３０に通知するためのデータである。
【００６４】
その後、サブＣＰＵコア４１は、タッチパネル１５が操作されたときに検出される操作内容を示す操作データ２０２を、ブロック６４およびタッチパネルモジュール２９を介して入力し、領域１０１の予め定めたアドレス領域に書込む。
【００６５】
メインコアブロック３０のメインＣＰＵコア３１は、領域１０１から操作データ２０２を読出し、読出した操作データ２０２に基づき、端末１が電源オン操作されて起動した場合における、起動後の動作モードの種類を決定する。
【００６６】
（処理フローチャートの詳細）
図５〜図７のフローチャートに従い、図８と図９のメモリマップを参照しながら電源オフモードにおける端末１の起動処理を説明する。
【００６７】
・サブコアブロック４０の起動処理
まず、端末１が電源オフモードにおいて、ユーザは電源キー１２をオン操作するとともに、タッチパネル１５の特定入力エリア１５３などの特定エリアをタッチする（ステップＳ３）。特定エリアは、端末１の動作モードの種類を指定するための操作を受付けるためのエリアである。
【００６８】
電源制御モジュール１８は、オン操作された電源キー１２からの出力により起動する。起動すると、複合機能チップ１０および各部に電源供給を開始する。複合機能チップ１０内の電源制御ブロック７０は電源部(図示せず）からの電力制御を行い各ブロックに供給開始することにより、メインコアブロック３０が起動する。
【００６９】
メインコアブロック３０が起動すると、メインＣＰＵコア３１は、メインコアブロック３０内のＲＯＭ３３に格納されているメインコアプログラム３３１を実行開始する（ステップＳ５）。メインコアプログラム３３１の実行により、複合機能チップ１０の初期化処理が行われる。この初期化処理では、メインコアブロック３０およびサブコアブロック４０がアクセスするメモリが初期化され、メイン／サブコアリンクブロック５０および外部FlashROM/eMMC２２も同時に初期化され、メイン／サブコアリンクブロック５０を起動させる（ステップＳ７）。メイン／サブコアリンクブロック５０を起動させるために、ステップＳ７の処理では、上述した初期化コマンド２００が領域１０２の書き込まれる。
【００７０】
メイン／サブコアリンクブロック５０の起動では、ＲＯＭ３３のコアリンクプログラム３３２（図６参照）が実行開始されるが、詳細は後述する。
【００７１】
その後、メインＣＰＵコア３１は、メインコアプログラム３３１によるメインコアブロック起動処理を終了し、外部FlashROM/eMMC２２に予め格納されている機器起動プログラム２２１を読出し、外部FlashROM/eMMC２２から外部ＲＡＭ２１に書込む。以後、メインＣＰＵコア３１は外部FlashROM/eMMC２２から外部ＲＡＭ２１に転送された機器起動プログラム２２１を実行する（ステップＳ９）。これにより、端末１全体の電源オンによる起動時に限定された機能を利用するために、複合機能チップ１０について再度初期化を行い、図２の各モジュールを制御可能な状態とする（ステップＳ１１）。
【００７２】
メインＣＰＵコア３１は、電源オンによる端末１起動後の動作モードを選択的に決定するために、サブコアブロック４０が“タッチパネル１５の入力受付可能”な状態であるか否かを、領域１０２の通知データ２０１を読出し判定する（ステップＳ１３、ステップＳ１５）。
【００７３】
読出した通知データ２０１に基づき“タッチパネル１５の入力受付可能”でないと判定する間は（ステップＳ１５でＮＯ）、予め定めた時間待機し（ステップＳ１７）、再度ステップＳ１３に戻り、領域１０２から通知データ２０１を読出し、判定する。
【００７４】
このように、通知データ２０１に基づき、“タッチパネル１５の入力受付可能”な状態が検出されるまで、機器起動プログラム２２１は待機処理を実行する。
【００７５】
読出した通知データ２０１に基づき“タッチパネル１５の入力受付可能”な状態であると判定すると（ステップＳ１５でＹＥＳ）、その後は、メインＣＰＵコア３１は、メインコアブロック３０とサブコアブロック４０を連携動作させるためのリンクデータである操作データ２０２を領域１０１から読出す（ステップＳ１９）。
【００７６】
メインＣＰＵコア３１は、読出した操作データ２０２に基づき、処理の分岐条件として動作モードの種類を選択的に決定する（ステップＳ２１）。
【００７７】
動作モードの種類決定のために、機器起動プログラム２２１には、操作データ２０２の値に基づき、上記した（動作モードの種類）のいずれかの動作モードのための専用プログラムに分岐（jump）するような命令コードが記載される。メインＣＰＵコア３１は、当該分岐命令コードを実行することにより、対応の専用プログラムをキックし、端末１の動作モードを、電源オフモードから操作データ２０２に基づく動作モードに遷移させる（ステップＳ２３）。
【００７８】
または、テーブルの検索により動作モードの種類を決定してもよい。具体的には、ＲＯＭ３３の予め定めた記憶領域に、操作データ２０２が採り得る値のそれぞれに対応して、上記の（動作モードの種類）のそれぞれを示す種類データが登録されたテーブルを格納しておき、メインＣＰＵコア３１は、領域１０１から読出した操作データ２０２の値に基づきテーブルを検索することにより、対応する動作モードの種類データを読出す。これにより、動作モードの種類を選択的に決定する（ステップＳ２１）。メインＣＰＵコア３１は、決定した動作モードに対応付けされたアプリケーションプログラムをキックし、端末１の動作モードを、電源オフモードから操作データ２０２に基づく動作モードに遷移させる（ステップＳ２３）。なお、動作モードの決定方法はこれらに限定されるものではない。
【００７９】
以上で、非ＯＳ状態における電源オフモードからの端末１の起動処理が終了する。起動処理の終了時には、複合機能チップ１０は、外部FlashROM/eMMC２２からＯＳ２２２を読出し、ＯＳ２２２のプログラムを実行開始する。したがって、以降は選択された動作モードの専用プログラムは、ＯＳ２２２の制御のもとに、たとえば各デバイスからの入力を操作データ２０２として受付けながら、受付けた操作データ２０２に基づき実行される。
【００８０】
このように端末１の動作モードを、電源オフモードから、電源キー１２のオン操作時にユーザがタッチパネル１５の操作で選択した動作モードへ遷移（切替）させることができる。
【００８１】
・メイン/サブコアリンクブロック５０の起動処理
メインＣＰＵコア３１は、領域１０２の初期化コマンド２００に基づき、メイン／サブコアリンクブロック５０を初期化するとともに、図６のコアリンクプログラム３３２をキックする。これにより、ＲＯＭ３３から当該プログラムが読出された実行開始される（ステップＳ３１、Ｓ３３）。プログラム実行開始後、当該プログラムの命令を実行することにより、サブＣＰＵコア４１は、ＲＯＭ４３のサブコアプログラム４３１をキックする（ステップＳ３３）。サブコアプログラム４３１によるサブコアブロック起動処理（図７参照）は後述する。
【００８２】
メインＣＰＵコア３１は、サブコアブロック４０からメイン／サブコアリンクブロック５０へデータが入力されるのを待ち（ステップＳ２５）、データが入力されると（ステップＳ３７でＹＥＳ）、入力されたデータを、領域１０１の予め定めたアドレス領域に格納する（ステップＳ３９）。入力されて格納されるデータは、操作データ２０２である。
【００８３】
ステップＳ３５〜Ｓ３７の処理は、操作データ２０２が入力される間は繰返し実行される。
【００８４】
・サブコアブロック４０の起動処理
サブコアブロック４０のＣＰＵコア４１は、サブコアプログラム４３１がキックされるまではサブコアプログラム４３１を実行待ち状態に設定し（ステップＳ５１）、キックされたか否かを判定し（ステップＳ５３）、キックされないと判定すると（ステップＳ５３でＮＯ）、ステップＳ５１に戻り、キックされたと判定すると（ステップＳ５３でＹＥＳ）、サブＣＰＵコア４１はＲＯＭ４３からサブコアプログラム４３１を読出し起動（実行開始）する（ステップＳ５５）。
【００８５】
サブコアプログラム４３１は、タッチパネル１５をリセットしタッチパネルモジュール２９のファームウエアを動作させ、“タッチパネル１５の初期化処理が可能”かどうかを判断し（ステップＳ５７）、可能でないと判断する場合は（ステップＳ５７でＮＯ）、可能となるまで時間待ちする（ステップＳ５９→ステップＳ５７）。
【００８６】
“タッチパネル１５の初期化処理が可能”と判断すると（ステップＳ５７でＹＥＳ）、初期化処理を実施し、タッチパネル制御処理を開始する（ステップＳ６１）。
【００８７】
“タッチパネル１５の入力受付け可能”となった時点で、その旨をメイン/サブコアリンクブロック５０に通知し、入力受付け可能を示す通知データ２０１を領域１０１に書込む（ステップＳ６３）。
【００８８】
その後は、タッチパネル１５からの入力待ち状態へと遷移し、タッチパネル１５からの入力を待ち（ステップＳ６５）、入力がないと判定すると（ステップＳ６７でＹＥＳ）、“タッチパネル１５の入力受付け可能”ではない、すなわち入力受付け不可能状態であることをメイン／サブコアリンクブロック５０に通知する。これにより領域１０１の通知データ２０１は“入力を受付け不可能”を示す。
【００８９】
タッチパネル１５から操作内容を示す入力があると判定すると（ステップＳ６７でＹＥＳ）、入力に基づく操作データ２０２をメイン/サブコアリンクブロック５０に出力する（ステップＳ６９）。操作データ２０２は領域１０１に書き込まれる。
【００９０】
操作データ２０２を格納後は、再度タッチパネル１５から入力できる状態に設定する（ステップＳ７１）。ステップＳ７１では、次のタッチ操作を検出できるような処理が行われる。すなわち、タッチパネル１５がタッチ操作されると、タッチ位置周辺のデータがタッチパネル１５内部に一時的に保存されて、保存されたデータが割込み通知信号により複合機能チップ１０に通知され、複合機能チップ１０がタッチパネル１５からの入力データとして取得する。したがって、ステップＳ７１では、次のタッチ操作を検出できるように、割込み通知信号を非通知状態に遷移させて、タッチパネル１５から次のタッチ操作のタッチ位置の入力処理を可能とする状態へと遷移させるための処理を実行する。
【００９１】
ステップＳ７１の処理後は、入力待ち状態（ステップＳ６５）へと遷移する。
本実施の形態によれば、電源オフモードにおいて電源オン操作された時にメインコアブロック３０とサブコアブロック４０が並行して別々に処理を実行することにより、メインＣＰＵコア３１が非ＯＳ状態での起動処理中にメイン／サブコアリンクブロック５０がサブＣＰＵコア４１とのリンク処理を行う。起動処理によりサブＣＰＵコア４１が制御するデバイスが利用可能状態（タッチパネル１５が入力受付可能）となった以降にデバイスからの入力情報である操作データ２０２をメイン／サブコアリンクブロック５０介してメインＣＰＵコア３１が取得する。メインＣＰＵコア３１は取得した操作データ２０２から分岐条件を取得し、端末１を電源オフモードから分岐条件が示す目的の動作モードへと移行させる。
【００９２】
（変形例）
本実施の形態では、電源キー１２を操作したときに電源オフモードから遷移させる動作モードを決定するためにサブコアブロック４０は、端末１に接続される周辺機器であるデバイスのうちタッチパネル１５からの入力情報を参照したが、入力情報の取得先はタッチパネル１５に限定されない。たとえば、サブコアブロック４０は、動作モードを決定するための情報を取得するための取得部として機能するが、情報の取得先はタッチパネル１５の他にセンサモジュール２６の加速度センサ、ジャイロセンサ、地磁気センサなど端末装置１の姿勢情報を検出するデバイスを用いてもよい。サブＣＰＵコア４１は、取得部が取得した情報を入力し、入力情報が示す端末１の姿勢（筐体が向く方角、傾きの大きさなど）に基づき、動作モードを選択的に決定するとしてもよい。また、マイク／スピーカモジュール２０からの集音した音声から、音声認識し、認識結果が示すユーザの発話内容などから動作モードを選択的に決定するとしてもよい。
【００９３】
また、タッチパネル１５、センサモジュール２６およびマイク／スピーカモジュール２０などからの入力情報を２つ以上組合わせて、組合わせから動作モードを選択的に決定するとしてもよい。
【００９４】
今回開示された実施の形態はすべての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味および範囲内でのすべての変更が含まれることが意図される。
【符号の説明】
【００９５】
１  端末、１０  複合機能チップ、１２  電源キー、１５  タッチパネル、３０  メインコアブロック、４０  サブコアブロック、５０  メイン／サブコアリンクブロック、１００  サブコアリンクブロックエリア、１０１，１０２  領域、２００  初期化コマンド、２０１  通知データ、２０２  操作データ、２２１  機器起動プログラム、３３１  メインコアプログラム、３３２  コアリンクプログラム、４３１  サブコアプログラム、４３２  デバイス制御プログラム。
【図１】
2014078191.tif 000003
【図２】
2014078191.tif 000004
【図３】
2014078191.tif 000005
【図４】
2014078191.tif 000006
【図５】
2014078191.tif 000007
【図６】
2014078191.tif 000008
【図７】
2014078191.tif 000009
【図８】
2014078191.tif 000010
【図９】
2014078191.tif 000011