(57)【特許請求の範囲】
【請求項１】
ファームウェアを記憶して格納する不揮発性メモリと、
バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサと、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、外部から入力する入力手段と、
前記入力手段により入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理手段とを備え、
前記転送処理手段は、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式切換手段と、
前記プロセッサからデータ転送に応答して返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式切換手段の動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式切換手段の動作を設定する切換制御手段とを備える、
ことを特徴とする携帯端末装置。
【請求項２】
前記プロセッサは、前記転送処理手段がデータを転送することで前記不揮発性メモリにおける記憶内容の書換が行われるより前、及び当該書換が行われた後に、前記不揮発性メモリに格納されているファームウェアを実行する、
ことを特徴とする請求項１に記載の携帯端末装置。
【請求項３】
前記プロセッサは、
複数の入出力ピンと、
前記不揮発性メモリに格納されているファームウェアを実行するコア・ロジックと、
前記複数の入出力ピンと前記コア・ロジックとの間に挿入されてチェーン状に連結された複数のセルと、
前記複数のセルを制御して、バウンダリ・スキャンにより前記不揮発メモリに書き込むデータを転送させるコントローラとを備え、
前記コントローラは、前記転送処理手段によりバウンダリ・スキャンに適合した形式のデータが転送されると、バウンダリ・スキャンのための制御処理を実行して、前記不揮発性メモリに転送データを書き込むことにより、前記不揮発性メモリに格納されているファームウェアを更新する、
ことを特徴とする請求項１または２に記載の携帯端末装置。
【請求項４】
携帯端末装置に内蔵された不揮発性メモリにおける記憶データを書き換えるための記憶データ更新方法であって、
データをシフトさせるシフト・レジスタとして機能するべく複数の入出力ピンとコア・ロジックとの間に挿入されてチェーン状に連結された複数のセルを備えて前記携帯端末装置に内蔵されているプロセッサが、前記不揮発性メモリにおける記憶データ書換用のプログラムを実行して、前記不揮発性メモリにおける記憶データを書き換える第１のデータ書換ステップと、
前記第１のデータ書換ステップにて前記プロセッサが記憶データ書換用のプログラムを実行することにより前記不揮発性メモリに書き込むためのデータを含んだシリアル・データを、前記プロセッサに転送するデータ転送ステップと、
前記データ転送ステップにおけるシリアル・データの転送に応答して、前記プロセッサから確認を通知するための信号が返送されたか否かを判別する判別ステップと、
前記判別ステップにて確認を通知するための信号が返送されていないと判別した場合に、前記プロセッサが前記複数のセルを用いて前記不揮発性メモリに書き込むためのデータを含んだ信号を、前記プロセッサに入力する信号入力ステップと、
前記信号入力ステップにて前記プロセッサに入力された信号に従って、前記複数のセルの間でデータをシフトさせ、前記複数の入出力ピンのうちで前記不揮発性メモリに結合された入出力ピンからデータを出力することにより、前記不揮発性メモリにおける記憶データを書き換える第２のデータ書換ステップとを備える、
ことを特徴とする記憶データ更新方法。
【請求項５】
ファームウェアを記憶して格納する不揮発性メモリと、バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサとを備える携帯端末装置において、前記不揮発性メモリに格納されているファームウェアを更新するためのファームウェア更新方法であって、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、前記携帯端末装置の外部から入力する入力ステップと、
前記入力ステップにて入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理ステップとを備え、
前記転送処理ステップは、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式変換ステップと、
前記プロセッサから返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定する切換制御ステップとを備える、
ことを特徴とするファームウェア更新方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、ファームウェアといった内部プログラムを更新することができる携帯端末装置に係り、特に、内部プログラムを確実に更新可能とする携帯端末装置に関する。
【０００２】
【従来の技術】
例えば携帯電話機等の携帯端末装置において、ファームウェアといった内部プログラムを更新可能とするため、図８に例示するような構成を有するものが知られている。
【０００３】
図８に示す構成を有する携帯端末装置では、例えばパーソナルコンピュータといった外部のシステムと結合可能なシリアル入力端子５４から、不揮発性メモリ６４に記憶されて格納されているファームウェアを更新するためのアップデート用のプログラムを含んだデータが入力される。この際、構成管理用のＣＰＵ６０は、シリアル入力端子５４から入力されたデータを、ターゲットとなるＣＰＵ６１に転送し、不揮発性メモリ６４における記憶内容の書換を可能とする。
ターゲットとなるＣＰＵ６１は、アップデート用のプログラムをＲＡＭ６３に展開して実行するなどして、ファームウェアの更新を可能とする。
【０００４】
【発明が解決しようとする課題】
上記従来技術では、ファームウェアの更新中に、例えばアップデート用のプログラムに誤りがある場合や電源が瞬断された場合等の、不具合が生じた場合、ファームウェアを更新できなくなることがあった。
すなわち、例えば、図８に示す不揮発性メモリ６４における記憶内容の書換中に不具合が生じると、ＲＡＭ６３に展開されていたアップデート用のプログラムやデータが消失し、以後、不揮発性メモリ６４への書込ができなくなることがあった。
こうした不具合が生じた場合には、携帯端末装置自体を解体し、不揮発性メモリ６４を交換するなどの作業が必要となり、ファームウェアといった内部プログラムの更新が困難になるという問題があった。
【０００５】
この発明は、上記実状に鑑みてなされたものであり、ファームウェアといった内部プログラムを確実に更新することができる携帯端末装置を、提供することを目的とする。
【０００６】
【課題を解決するための手段】
上記目的を達成するため、この発明の第１の観点に係る携帯端末装置は、
ファームウェアを記憶して格納する不揮発性メモリと、
バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサと、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、外部から入力する入力手段と、
前記入力手段により入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理手段とを備え、
前記転送処理手段は、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式切換手段と、
前記プロセッサからデータ転送に応答して返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式切換手段の動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式切換手段の動作を設定する切換制御手段とを備える、
ことを特徴とする。
【０００７】
この発明によれば、転送処理手段は、プロセッサに転送するデータを、プロセッサの動作状態に応じて、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えることができる。
これにより、プロセッサがファームウェアを更新するためのプログラムが実行できない場合であっても、バウンダリ・スキャンにより、不揮発性メモリに格納されているファームウェアを更新することができる。すなわち、ファームウェアを確実に更新することができる。
【００１０】
また、前記プロセッサは、前記転送処理手段がデータを転送することで前記不揮発性メモリにおける記憶内容の書換が行われるより前、及び当該書換が行われた後に、前記不揮発性メモリに格納されているファームウェアを実行することが望ましい。
【００１１】
より詳細には、前記プロセッサは、
複数の入出力ピンと、
前記不揮発性メモリに格納されているファームウェアを実行するコア・ロジックと、
前記複数の入出力ピンと前記コア・ロジックとの間に挿入されてチェーン状に連結された複数のセルと、
前記複数のセルを制御して、バウンダリ・スキャンにより前記不揮発メモリに書き込むデータを転送させるコントローラとを備え、
前記コントローラは、前記転送処理手段によりバウンダリ・スキャンに適合した形式のデータが転送されると、バウンダリ・スキャンのための制御処理を実行して、前記不揮発性メモリに転送データを書き込むことにより、前記不揮発性メモリに格納されているファームウェアを更新することが望ましい。
【００１２】
また、この発明の第２の観点に係る記憶データ更新方法は、
携帯端末装置に内蔵された不揮発性メモリにおける記憶データを書き換えるための方法であって、
データをシフトさせるシフト・レジスタとして機能するべく複数の入出力ピンとコア・ロジックとの間に挿入されてチェーン状に連結された複数のセルを備えて前記携帯端末装置に内蔵されているプロセッサが、前記不揮発性メモリにおける記憶データ書換用のプログラムを実行して、前記不揮発性メモリにおける記憶データを書き換える第１のデータ書換ステップと、
前記第１のデータ書換ステップにて前記プロセッサが記憶データ書換用のプログラムを実行することにより前記不揮発性メモリに書き込むためのデータを含んだシリアル・データを、前記プロセッサに転送するデータ転送ステップと、
前記データ転送ステップにおけるシリアル・データの転送に応答して、前記プロセッサから確認を通知するための信号が返送されたか否かを判別する判別ステップと、
前記判別ステップにて確認を通知するための信号が返送されていないと判別した場合に、前記プロセッサが前記複数のセルを用いて前記不揮発性メモリに書き込むためのデータを含んだ信号を、前記プロセッサに入力する信号入力ステップと、
前記信号入力ステップにて前記プロセッサに入力された信号に従って、前記複数のセルの間でデータをシフトさせ、前記複数の入出力ピンのうちで前記不揮発性メモリに結合された入出力ピンからデータを出力することにより、前記不揮発性メモリにおける記憶データを書き換える第２のデータ書換ステップとを備える、
ことを特徴とする。
【００１３】
この発明によれば、判別ステップにてデータ転送ステップにおけるシリアル・データの転送に応答してプロセッサから確認を通知するための信号が返送されていないと判別した場合に、プロセッサが複数のセルを用いて不揮発性メモリに書き込むためのデータを含んだ信号を、プロセッサに入力する。
これにより、プロセッサが記憶データ書換用のプログラムを実行できない場合であっても、バウンダリ・スキャンにより不揮発性メモリにおける記憶データを書き換えることができる。このようにすれば、不揮発性メモリに記憶されて格納されているファームウェアの更新を、確実に行うことができる。
【００１４】
この発明の第３の観点に係るファームウェア更新方法は、
ファームウェアを記憶して格納する不揮発性メモリと、バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサとを備える携帯端末装置において、前記不揮発性メモリに格納されているファームウェアを更新するためのファームウェア更新方法であって、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、前記携帯端末装置の外部から入力する入力ステップと、
前記入力ステップにて入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理ステップとを備え、
前記転送処理ステップは、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式変換ステップと、
前記プロセッサから返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定する切換制御ステップとを備える、
ことを特徴とする。
【００１７】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態に係る携帯端末装置について詳細に説明する。
【００１８】
図１は、この発明の実施の形態に係る携帯端末装置１００の構成を示す図である。
この携帯端末装置１００は、例えば無線信号を送受信して通信を可能とする携帯電話機等であり、図１に示すように、アンテナ１と、送受信処理部２と、制御処理部３と、シリアル線５を介して制御処理部３に結合されたシリアル入力端子４とを備えて構成される。
【００１９】
送受信処理部２は、アンテナ１を用いて送受信する無線信号の変調・復調といった処理を実行して、通信を可能とするためのものである。
【００２０】
制御処理部３は、この携帯端末装置１００全体の動作を制御するためのものであり、例えば図２に示すように、第１及び第２のＣＰＵ（Central Processing Unit）１０、１１と、メモリ１２と、ＲＡＭ（Random Access Memory）１３と、不揮発性メモリ１４と、プロトコル変換器１５とを備えている。
【００２１】
第１のＣＰＵ１０は、例えば図示せぬディスプレイやキーパッド等を使ったＭＭＩ（Man-Machine Interface）を実現するための処理等を実行する構成管理用のプロセッサである。
また、第１のＣＰＵ１０は、シリアル線５を介してシリアル入力端子４から入力されたシリアル・データを、プロトコル変換器１５を介して第２のＣＰＵ１１に転送する。
【００２２】
第２のＣＰＵ１１は、不揮発性メモリ１４に格納されているファームウェアといった内部プログラムを実行し、例えば通信プロトコルに従ったデータ変換処理等を実行するプロセッサである。
ここで、第２のＣＰＵ１１は、例えば図３に示すように、複数の入出力ピン２０Ａ、２０Ｂ、…、２０Ｌそれぞれに対応して結合された複数のバウンダリ・スキャン・セル２１Ａ、２１Ｂ、…、２１Ｌと、ＴＡＰ（Test Access Port）コントローラ２２と、ファームウェア等を実行するプロセッサ本体として機能するコア・ロジック２３とを備えている。すなわち、第２のＣＰＵ１１は、例えばＩＥＥＥ（Institute of Electrical and Electronic Engineers）１１４９．１の標準規格となっているバウンダリ・スキャン方式であるＪＴＡＧ（Joint Test Action Group）に適合したバウンダリ・スキャン・アーキテクチャを有している。なお、入出力ピンの個数とバウンダリ・スキャン・セルの個数は、第２のＣＰＵ１１の仕様に応じて任意に設定可能である。
【００２３】
複数の入出力ピン２０Ａ、２０Ｂ、…、２０Ｌは、第２のＣＰＵ１１にデータ信号や制御信号を入力し、あるいは、第２のＣＰＵ１１からデータ信号や制御信号を出力するためのものである。
ここで、入出力ピン２０Ａは、第２のＣＰＵ１１に、プロトコル変換器１５から供給されたＴＤＩ（Test Data Input）信号を入力するためのものである。また、入出力ピン２０Ｌは、第２のＣＰＵ１１から、ＴＤＯ（Test Data Output）信号を出力するためのものである。
また、例えば、入出力ピン２０Ｉ、２０Ｊ、２０Ｋは、不揮発性メモリ１４に結合され、ＪＴＡＧを使用した場合に、ＴＤＩ信号を用いて第１のＣＰＵ１０から転送されたデータを、不揮発性メモリ１４に書込可能とする。ここで、入出力ピン２０Ｉ、２０Ｊ、２０Ｋと不揮発性メモリ１４との間を結合する信号線には、アドレスバスとデータバスとが含まれている。
【００２４】
複数のバウンダリ・スキャン・セル２１Ａ、２１Ｂ、…、２１Ｌは、複数の入出力ピン２０Ａ、２０Ｂ、…、２０Ｌと、コア・ロジック２３との間に挿入されたセルである。ここで、複数のバウンダリ・スキャン・セル２１Ａ、２１Ｂ、…、２１Ｌは、例えば、入出力ピン２０Ａに対応して結合されたバウンダリ・スキャン・セル２１Ａから、入出力ピン２０Ｌに対応して結合されたバウンダリ・スキャン・セル２１Ｌに向けて、データをシフトさせるシフト・レジスタ（一般に、バウンダリ・スキャン・レジスタと称する）として機能するべく、チェーン状に連結されている。
【００２５】
ＴＡＰコントローラ２２は、複数のバウンダリ・スキャン・セル２１Ａ、２１Ｂ、…、２１Ｌを制御して、コア・ロジック２３の検証動作や、ＪＴＡＧを使って不揮発性メモリ１４に書き込むデータを転送する書込データ転送動作等を実行するためのものである。
ここで、ＴＡＰコントローラ２２は、第１のＣＰＵ１０の制御によりプロトコル変換器１５から供給されたＴＭＳ（Test Mode Select）信号やＴＣＫ（Test Clock）信号、ｎＴＲＳＴ（Test Reset）信号に従って、不揮発性メモリ１４への書込データ転送動作を実行する。なお、ｎＴＲＳＴ信号は、オプションの信号であり、その使用／不使用は任意に選択可能である。
【００２６】
図２に示すメモリ１２は、第１のＣＰＵ１０が実行するプログラムやデータ等を記憶するためのものである。
【００２７】
ＲＡＭ１３は、第２のＣＰＵ１１が実行するプログラムを展開し、データを一時記憶するためのものである。
【００２８】
不揮発性メモリ１４は、例えばフラッシュＥＥＰＲＯＭ（Electronically Erasable and Programmable Read Only Memory）といった、不揮発性の書換可能なメモリであり、第２のＣＰＵ１１が実行するファームウェアといった内部プログラム等を記憶して格納するためのものである。
【００２９】
プロトコル変換器１５は、第１のＣＰＵ１０から第２のＣＰＵ１１に転送されるデータの形式を切り換えるためのものであり、シリアル解析部１６と、プロトコル変換処理部１７とを備えている。
【００３０】
シリアル解析部１６は、第１のＣＰＵ１０から送られたシリアル・データを解析し、パス切換やシリアル・インタフェースを使ったデータ転送を実行するためのものである。
すなわち、シリアル解析部１６は、第１のＣＰＵ１０から受けた制御命令に従ってパス切換を実行し、シリアル・インタフェースを使ったデータ転送と、ＪＴＡＧ用のインタフェースを使ったデータ転送とを切り換える。
この際、シリアル解析部１６は、シリアル・インタフェースを使ったデータ転送を実行する場合、第１のＣＰＵ１０から受けた転送データを、シリアル線１８を介して第２のＣＰＵ１１に送る。他方、シリアル解析部１６は、ＪＴＡＧ用のインタフェースを使ったデータ転送を実行する場合、第１のＣＰＵ１０から受けた転送データを、プロトコル変換処理部１７に送る。
【００３１】
プロトコル変換処理部１７は、シリアル解析部１６から受けたシリアル・データを、ＪＴＡＧ用のバウンダリ・スキャン方式に適合した信号に変換し、第２のＣＰＵ１１に転送するためのものである。
すなわち、プロトコル変換処理部１７は、シリアル解析部１６から受けたシリアル・データに基づいて、ＴＤＩ信号と、ＴＭＳ信号と、ＴＣＫ信号とを生成し、ＪＴＡＧ用のインタフェースを介して第２のＣＰＵ１１に入力する。
【００３２】
シリアル入力端子４は、シリアル線５を介して、制御処理部３が備える第１のＣＰＵ１０に結合され、例えばパーソナルコンピュータといった外部のシステムと結合して、ファームウェア等のプログラムをアップデートするためのデータを、この携帯端末装置１００に入力する。
【００３３】
以下に、この発明の実施の形態に係る携帯端末装置１００の動作を説明する。
この携帯端末装置１００は、例えばパーソナルコンピュータといった外部のシステムをシリアル入力端子４に結合することで、不揮発性メモリ１４に格納されているファームウェア等の内部プログラムを書き換えるためのアップデート用のプログラム等を取り込み可能である。
【００３４】
この際、シリアル入力端子４は、外部から入力されたデータを、シリアル線５を介して第１のＣＰＵ１０に送る。
【００３５】
例えば、第１のＣＰＵ１０がシリアル入力端子４からファームウェアを更新するためのデータを受けると、図４に例示する処理シーケンスに従って、不揮発性メモリ１４へのデータ転送動作を制御する。
【００３６】
すなわち、第１のＣＰＵ１０は、シリアル入力端子４からファームウェア交信用のデータを受けると、プロトコル変換器１５を介して、第２のＣＰＵ１１にファームウェアの更新要求を送信する（ステップＳ１）。
【００３７】
ここで、第２のＣＰＵ１１は、ＲＡＭ１３にファームウェアをアップデートするためのプログラムを展開して不揮発性メモリ１４における記憶内容の書換が可能である場合に、確認を通知するためのＡＣＫ（ACKnowledgement）信号を、第１のＣＰＵ１０に返送する（ステップＳ２）。
【００３８】
第１のＣＰＵ１０は、第２のＣＰＵ１１から送られたＡＣＫ信号を受けると、プロトコル変換器１５を制御してシリアル・インタフェースを使ったデータ転送を可能に設定し、ファームウェアをアップデートするためのデータ転送動作を開始する（ステップＳ３）。
【００３９】
この際、プロトコル変換器１５は、シリアル解析部１６が第１のＣＰＵ１０から受けたシリアル・データを解析した結果に従って、第１のＣＰＵ１０からの転送データを、シリアル線１８を介して第２のＣＰＵ１１に送る。
これにより、第２のＣＰＵ１１が実行するアップデート用のプログラムに適合した形式で、不揮発性メモリ１４における記憶内容を書き換えるためのデータを転送することができる。
【００４０】
第２のＣＰＵ１１は、第１のＣＰＵ１０からの転送データを受けて、ＲＡＭ１３にアップデート用のプログラムを展開し、不揮発性メモリ１４における記憶内容を書き換える（ステップＳ４）。
また、第２のＣＰＵ１１は、アップデート用のプログラムを実行中、例えば第１のＣＰＵ１０から転送された所定量のデータの受取が完了したタイミングといった、所定のタイミングが到来するごとに、データ転送に応答するためのＡＣＫ信号を第１のＣＰＵ１０に送る。
【００４１】
ここで、第１のＣＰＵ１０は、例えば第２のＣＰＵ１１が実行するアップデート用のプログラムに誤りがあったり、電源が瞬断されたりするといった、不具合が発生すると、第２のＣＰＵ１１からのＡＣＫ信号を受信できなくなる（ステップＳ５）。
【００４２】
この場合、第１のＣＰＵ１０は、出力切換命令をプロトコル変換器１５に送り（ステップＳ６）、ＪＴＡＧを使ったデータ転送動作に切り換える。
ここで、プロトコル変換器１５は、シリアル解析部１６が第１のＣＰＵ１０から受けるシリアル・データのフォーマットにより、出力切換命令を特定してパス切換を実行する。これにより、シリアル解析部１６は、シリアル・データの出力先を、シリアル線１８からプロトコル変換処理部１７に切り換える。
【００４３】
こののち、第１のＣＰＵ１０は、ＪＴＡＧを使って不揮発性メモリ１４に書き込むためのデータを含んだシリアル・データを、プロトコル変換器１５に送り、ファームウェアをアップデートするためのデータ転送動作を再開する（ステップＳ７）。
【００４４】
この際、プロトコル変換処理部１７は、シリアル解析部１６からシリアル・データを受けると、ＪＴＡＧ用のインタフェースを介して第２のＣＰＵ１１にデータを転送するためのＴＤＩ信号やＴＭＳ信号を抽出する。プロトコル変換処理部１７は、抽出したＴＤＩ信号やＴＭＳ信号を、ＴＡＰコントローラ２２の動作タイミングを規定するＴＣＫ信号とともに、第２のＣＰＵ１１に送る。
これにより、ＪＴＡＧを使ったバウンダリ・スキャンに適合した形式で、不揮発性メモリ１４における記憶内容を書き換えるためのデータを転送することができる。
【００４５】
第２のＣＰＵ１１は、ＴＭＳ信号やＴＣＫ信号といった、ＴＡＰコントローラ２２が受信する制御信号に従って、入出力ピン２０Ａから入力されたＴＤＩ信号を取り込み、バウンダリ・スキャン・セル２１Ａに記憶させる。
【００４６】
ＴＡＰコントローラ２２は、バウンダリ・スキャン・セル２１Ａから、バウンダリ・スキャン・セル２１Ｌに向けて、記憶データをシフトさせ、入出力ピン２０ＬからＴＤＯ信号の出力を可能とする。
【００４７】
ここで、ＴＡＰコントローラ２２は、バウンダリ・スキャン・セル２１Ｉ、２１Ｊ、２１Ｋの記憶データが入れ替わるごとに不揮発性メモリ１４へ出力させるといった、バウンダリ・スキャンのための制御処理を実行する。これにより、ＴＡＰコントローラ２２は、アドレスバスとデータバスとを制御して、転送データを不揮発性メモリ１４に書込可能とする（ステップＳ８）。
この制御処理は、ＲＡＭ１３に展開したアップデート用のプログラムやデータが消失した場合や、コア・ロジック２３の動作が停止している場合であっても実行可能であり、不揮発性メモリ１４における記憶内容を確実に書き換えることができる。
これにより、例えばアップデート用のプログラムに誤りがあった場合や、電源が瞬断された場合等の、不具合が生じた場合であっても、ファームウェアといった内部プログラムを確実に更新することができる。
【００４８】
また、第１のＣＰＵ１０は、上記ステップＳ２にて、第２のＣＰＵ１１から返送されるＡＣＫ信号を受信できなかった場合、処理を上記ステップＳ６にジャンプすることで、直ちにＪＴＡＧを使ったデータ転送動作を実行する。
これにより、アップデート用のプログラムを実行不可能であった場合にも、ＪＴＡＧを使ったデータ転送動作により不揮発性メモリ１４の記憶内容を書き換えることができる。
【００４９】
このように、第１のＣＰＵ１０及びプロトコル変換器１５は、ＡＣＫ信号を返送可能な状態にあるか否かという第２のＣＰＵ１１の動作状態に応じて、第２のＣＰＵ１１に転送するデータの形式を、アップデート用のプログラムに適合した形式と、ＪＴＡＧを使ったバウンダリ・スキャンに適合した形式とで切り換えることができる。
これにより、第２のＣＰＵ１１がアップデート用のプログラムを実行できない状態にある場合でも、ＪＴＡＧを使ったバウンダリ・スキャンにより、不揮発性メモリ１４における記憶内容を書き換えることができ、ファームウェアを確実に更新することができる。
【００５０】
次に、図５に示すフローチャートを参照して、図４に示す処理シーケンスにおけるステップＳ３からステップＳ７にて、第１のＣＰＵ１０が実行するデータ転送動作について、より詳細に説明する。
【００５１】
第１のＣＰＵ１０は、図４に示す処理シーケンスにおけるステップＳ３にて、ファームウェアを更新するためのデータ転送動作を開始すると、プロトコル変換器１５を介して第２のＣＰＵ１１に転送するデータを送出する（ステップＳ１０）。このデータは、第２のＣＰＵ１１にシリアル・データとして入力するためのデータであり、プロトコル変換器１５からシリアル線１８を介して、第２のＣＰＵ１１に転送される。
【００５２】
この際、第１のＣＰＵ１０は、第２のＣＰＵ１１からの確認を通知するＡＣＫ信号を受信したか否かを判別する（ステップＳ１１）。
【００５３】
第１のＣＰＵ１０は、ＡＣＫ信号を受信したと判別すると（ステップＳ１１にてＹＥＳ）、データ転送が終了したか否かを判別する（ステップＳ１２）。
第１のＣＰＵ１０は、データ転送が終了したと判別すると（ステップＳ１２にてＹＥＳ）、ファームウェアを更新するためのデータ転送動作を停止する。
一方、第１のＣＰＵ１０は、データ転送が終了していないと判別すると（ステップＳ１２にてＮＯ）、処理を上記ステップＳ１０にリターンして、データの送出を継続する。
【００５４】
また、第１のＣＰＵ１０は、上記ステップＳ１１にて、ＡＣＫ信号を受信していないと判別すると（ステップＳ１１にてＮＯ）、シリアル・インタフェースを用いたデータ転送からＪＴＡＧ用のインタフェースを用いたデータ転送に切り換えるための出力切換命令を、プロトコル変換器１５に送る（ステップＳ１３）。
【００５５】
こののち、第１のＣＰＵ１０は、ＪＴＡＧを使うデータ転送に適合するフォーマットに従って構成したシリアル・データを、プロトコル変換器１５に送出する（ステップＳ１４）。こうしてＪＴＡＧを使ったデータ転送が終了すると、ファームウェアを更新するためのデータ転送動作を終了する。
【００５６】
このように、例えばアップデート用のプログラムに誤りがあった場合や、電源が瞬断された場合のような、不具合が生じた場合に、ＪＴＡＧといったバウンダリ・スキャン方式を使って不揮発性メモリ１４における記憶内容を書換可能とすることで、ファームウェア等の内部プログラムを確実に更新することができる。
【００５７】
例えば携帯電話機といった携帯端末装置１００は、サイズの小型化等に伴って、筐体外部に設置可能なコネクタが非常に限定されたものとなる。また、通常のコネクタは、複数の役割を担うものであるため、ファームウェアを更新するためのみに使用する専用線を別途設けることは、困難である。そこで、シリアル入力端子４を用いてアップグレード用のプログラムを含んだデータをこの携帯端末装置１００に入力して実行する。
この際、不具合が生じた場合であっても、ＪＴＡＧを使って不揮発性メモリ１４へのデータ書込を実行することで、ファームウェアを確実に更新することができる。
【００５８】
以上説明したように、この発明によれば、アップグレード用のプログラムを実行することによる不揮発性メモリ１４における記憶内容の書換中に、不具合が生じた場合、ＪＴＡＧを使ったデータ転送動作に切り換えて不揮発性メモリ１４における記憶内容の書換を継続することができる。また、アップグレード用のプログラムが実行不可能な場合にも、ＪＴＡＧを使ったデータ転送動作により不揮発性メモリ１４における記憶内容を書き換えることができる。
これにより、ファームウェアといった内部プログラムを確実に更新することができる。
【００５９】
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。
例えば、上記実施の形態では、プロトコル変換器１５を設けるものとして説明したが、これに限定されず、第１のＣＰＵ１０が、プロトコル変換器１５と実質的に同一の機能を含むようにしてもよい。
この場合、例えば図６に示すように、第１のＣＰＵ１０と第２のＣＰＵ１１との間を、シリアル・インタフェース及びＪＴＡＧ用のインタフェースを介して結合し、第１のＣＰＵ１０が実行するプログラムの制御に従って、シリアル・インタフェースを用いたデータ転送動作と、ＪＴＡＧ用のインタフェースを用いたデータ転送動作とを切り換えるようにすればよい。
【００６０】
また、上記実施の形態では、携帯端末装置１００が構成管理用の第１のＣＰＵ１０及びメモリ１２を備えるものとして説明したが、これに限定されず、例えば図７に示すように、シリアル入力端子４とプロトコル変換器１５との間を、シリアル線５を介して結合するようにしてもよい。この場合、シリアル入力端子４に結合される外部のシステムが、上記実施の形態における第１のＣＰＵ１０と実質的に同一の機能を含むことで、シリアル・インタフェースを用いたデータ転送動作と、ＪＴＡＧ用のインタフェースを用いたデータ転送動作とを切り換えることができる。プロトコル変換器１５は、シリアル入力端子４から入力されたデータに含まれる出力切換命令等の制御信号に従って、パス切換を実行する。
【００６１】
【発明の効果】
以上の説明のように、この発明によれば、ファームウェアを更新するためのプログラムが実行不能となった場合に、ＪＴＡＧと称されるバウンダリ・スキャン方式を使って、不揮発性メモリにおける記憶内容を書き換えることができる。
これにより、ファームウェアといった内部プログラムを確実に更新することが可能となる。
【図面の簡単な説明】
【図１】この発明の実施の形態に係る携帯端末装置の構成を示す図である。
【図２】制御処理部の構成を示す図である。
【図３】第２のＣＰＵの構成を示す図である。
【図４】この発明の実施の形態に係る携帯端末装置の動作を説明するための処理シーケンスである。
【図５】第１のＣＰＵの動作を説明するためのフローチャートである。
【図６】この発明の実施の形態に係る携帯端末装置の変形例を示す図である。
【図７】この発明の実施の形態に係る携帯端末装置の変形例を示す図である。
【図８】従来の携帯端末装置の構成を示す図である。
【符号の説明】
１、５１    アンテナ
２、５２    送受信処理部
３、５３    制御処理部
４、５４    シリアル入力端子
５、１８    シリアル線
１０、１１、６０、６１    ＣＰＵ
１２、６２    メモリ
１３、６３    ＲＡＭ
１４、６４    不揮発性メモリ
１５    プロトコル変換器
１６    シリアル解析部
１７    プロトコル変換処理部
２０Ａ〜２０Ｌ    入出力ピン
２１Ａ〜２１Ｌ    バウンダリ・スキャン・セル
２２    ＴＡＰコントローラ
２３    コア・ロジック
１００    携帯端末装置
【図１】
0003762643.tif 000002
【図２】
0003762643.tif 000003
【図３】
0003762643.tif 000004
【図４】
0003762643.tif 000005
【図５】
0003762643.tif 000006
【図６】
0003762643.tif 000007
【図７】
0003762643.tif 000008
【図８】
0003762643.tif 000009