JP3762643B2 - Mobile terminal device, stored data update method, and firmware update method - Google Patents

Mobile terminal device, stored data update method, and firmware update method Download PDF

Info

Publication number
JP3762643B2
JP3762643B2 JP2001002925A JP2001002925A JP3762643B2 JP 3762643 B2 JP3762643 B2 JP 3762643B2 JP 2001002925 A JP2001002925 A JP 2001002925A JP 2001002925 A JP2001002925 A JP 2001002925A JP 3762643 B2 JP3762643 B2 JP 3762643B2
Authority
JP
Japan
Prior art keywords
data
processor
nonvolatile memory
input
firmware
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.)
Expired - Fee Related
Application number
JP2001002925A
Other languages
Japanese (ja)
Other versions
JP2002208886A (en
Inventor
範夫 村山
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.)
Kenwood KK
Original Assignee
Kenwood KK
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 Kenwood KK filed Critical Kenwood KK
Priority to JP2001002925A priority Critical patent/JP3762643B2/en
Publication of JP2002208886A publication Critical patent/JP2002208886A/en
Application granted granted Critical
Publication of JP3762643B2 publication Critical patent/JP3762643B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Circuits Of Receivers In General (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Telephonic Communication Services (AREA)

Description

【0001】
【発明の属する技術分野】
この発明は、ファームウェアといった内部プログラムを更新することができる携帯端末装置に係り、特に、内部プログラムを確実に更新可能とする携帯端末装置に関する。
【0002】
【従来の技術】
例えば携帯電話機等の携帯端末装置において、ファームウェアといった内部プログラムを更新可能とするため、図8に例示するような構成を有するものが知られている。
【0003】
図8に示す構成を有する携帯端末装置では、例えばパーソナルコンピュータといった外部のシステムと結合可能なシリアル入力端子54から、不揮発性メモリ64に記憶されて格納されているファームウェアを更新するためのアップデート用のプログラムを含んだデータが入力される。この際、構成管理用のCPU60は、シリアル入力端子54から入力されたデータを、ターゲットとなるCPU61に転送し、不揮発性メモリ64における記憶内容の書換を可能とする。
ターゲットとなるCPU61は、アップデート用のプログラムをRAM63に展開して実行するなどして、ファームウェアの更新を可能とする。
【0004】
【発明が解決しようとする課題】
上記従来技術では、ファームウェアの更新中に、例えばアップデート用のプログラムに誤りがある場合や電源が瞬断された場合等の、不具合が生じた場合、ファームウェアを更新できなくなることがあった。
すなわち、例えば、図8に示す不揮発性メモリ64における記憶内容の書換中に不具合が生じると、RAM63に展開されていたアップデート用のプログラムやデータが消失し、以後、不揮発性メモリ64への書込ができなくなることがあった。
こうした不具合が生じた場合には、携帯端末装置自体を解体し、不揮発性メモリ64を交換するなどの作業が必要となり、ファームウェアといった内部プログラムの更新が困難になるという問題があった。
【0005】
この発明は、上記実状に鑑みてなされたものであり、ファームウェアといった内部プログラムを確実に更新することができる携帯端末装置を、提供することを目的とする。
【0006】
【課題を解決するための手段】
上記目的を達成するため、この発明の第1の観点に係る携帯端末装置は、
ファームウェアを記憶して格納する不揮発性メモリと、
バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサと、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、外部から入力する入力手段と、
前記入力手段により入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理手段とを備え、
前記転送処理手段は、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式切換手段と、
前記プロセッサからデータ転送に応答して返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式切換手段の動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式切換手段の動作を設定する切換制御手段とを備える、
ことを特徴とする。
【0007】
この発明によれば、転送処理手段は、プロセッサに転送するデータを、プロセッサの動作状態に応じて、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えることができる。
これにより、プロセッサがファームウェアを更新するためのプログラムが実行できない場合であっても、バウンダリ・スキャンにより、不揮発性メモリに格納されているファームウェアを更新することができる。すなわち、ファームウェアを確実に更新することができる。
【0010】
また、前記プロセッサは、前記転送処理手段がデータを転送することで前記不揮発性メモリにおける記憶内容の書換が行われるより前、及び当該書換が行われた後に、前記不揮発性メモリに格納されているファームウェアを実行することが望ましい。
【0011】
より詳細には、前記プロセッサは、
複数の入出力ピンと、
前記不揮発性メモリに格納されているファームウェアを実行するコア・ロジックと、
前記複数の入出力ピンと前記コア・ロジックとの間に挿入されてチェーン状に連結された複数のセルと、
前記複数のセルを制御して、バウンダリ・スキャンにより前記不揮発メモリに書き込むデータを転送させるコントローラとを備え、
前記コントローラは、前記転送処理手段によりバウンダリ・スキャンに適合した形式のデータが転送されると、バウンダリ・スキャンのための制御処理を実行して、前記不揮発性メモリに転送データを書き込むことにより、前記不揮発性メモリに格納されているファームウェアを更新することが望ましい。
【0012】
また、この発明の第2の観点に係る記憶データ更新方法は、
携帯端末装置に内蔵された不揮発性メモリにおける記憶データを書き換えるための方法であって、
データをシフトさせるシフト・レジスタとして機能するべく複数の入出力ピンとコア・ロジックとの間に挿入されてチェーン状に連結された複数のセルを備えて前記携帯端末装置に内蔵されているプロセッサが、前記不揮発性メモリにおける記憶データ書換用のプログラムを実行して、前記不揮発性メモリにおける記憶データを書き換える第1のデータ書換ステップと、
前記第1のデータ書換ステップにて前記プロセッサが記憶データ書換用のプログラムを実行することにより前記不揮発性メモリに書き込むためのデータを含んだシリアル・データを、前記プロセッサに転送するデータ転送ステップと、
前記データ転送ステップにおけるシリアル・データの転送に応答して、前記プロセッサから確認を通知するための信号が返送されたか否かを判別する判別ステップと、
前記判別ステップにて確認を通知するための信号が返送されていないと判別した場合に、前記プロセッサが前記複数のセルを用いて前記不揮発性メモリに書き込むためのデータを含んだ信号を、前記プロセッサに入力する信号入力ステップと、
前記信号入力ステップにて前記プロセッサに入力された信号に従って、前記複数のセルの間でデータをシフトさせ、前記複数の入出力ピンのうちで前記不揮発性メモリに結合された入出力ピンからデータを出力することにより、前記不揮発性メモリにおける記憶データを書き換える第2のデータ書換ステップとを備える、
ことを特徴とする。
【0013】
この発明によれば、判別ステップにてデータ転送ステップにおけるシリアル・データの転送に応答してプロセッサから確認を通知するための信号が返送されていないと判別した場合に、プロセッサが複数のセルを用いて不揮発性メモリに書き込むためのデータを含んだ信号を、プロセッサに入力する。
これにより、プロセッサが記憶データ書換用のプログラムを実行できない場合であっても、バウンダリ・スキャンにより不揮発性メモリにおける記憶データを書き換えることができる。このようにすれば、不揮発性メモリに記憶されて格納されているファームウェアの更新を、確実に行うことができる。
【0014】
この発明の第3の観点に係るファームウェア更新方法は、
ファームウェアを記憶して格納する不揮発性メモリと、バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサとを備える携帯端末装置において、前記不揮発性メモリに格納されているファームウェアを更新するためのファームウェア更新方法であって、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、前記携帯端末装置の外部から入力する入力ステップと、
前記入力ステップにて入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理ステップとを備え、
前記転送処理ステップは、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式変換ステップと、
前記プロセッサから返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定する切換制御ステップとを備える、
ことを特徴とする。
【0017】
【発明の実施の形態】
以下に、図面を参照して、この発明の実施の形態に係る携帯端末装置について詳細に説明する。
【0018】
図1は、この発明の実施の形態に係る携帯端末装置100の構成を示す図である。
この携帯端末装置100は、例えば無線信号を送受信して通信を可能とする携帯電話機等であり、図1に示すように、アンテナ1と、送受信処理部2と、制御処理部3と、シリアル線5を介して制御処理部3に結合されたシリアル入力端子4とを備えて構成される。
【0019】
送受信処理部2は、アンテナ1を用いて送受信する無線信号の変調・復調といった処理を実行して、通信を可能とするためのものである。
【0020】
制御処理部3は、この携帯端末装置100全体の動作を制御するためのものであり、例えば図2に示すように、第1及び第2のCPU(Central Processing Unit)10、11と、メモリ12と、RAM(Random Access Memory)13と、不揮発性メモリ14と、プロトコル変換器15とを備えている。
【0021】
第1のCPU10は、例えば図示せぬディスプレイやキーパッド等を使ったMMI(Man-Machine Interface)を実現するための処理等を実行する構成管理用のプロセッサである。
また、第1のCPU10は、シリアル線5を介してシリアル入力端子4から入力されたシリアル・データを、プロトコル変換器15を介して第2のCPU11に転送する。
【0022】
第2のCPU11は、不揮発性メモリ14に格納されているファームウェアといった内部プログラムを実行し、例えば通信プロトコルに従ったデータ変換処理等を実行するプロセッサである。
ここで、第2のCPU11は、例えば図3に示すように、複数の入出力ピン20A、20B、…、20Lそれぞれに対応して結合された複数のバウンダリ・スキャン・セル21A、21B、…、21Lと、TAP(Test Access Port)コントローラ22と、ファームウェア等を実行するプロセッサ本体として機能するコア・ロジック23とを備えている。すなわち、第2のCPU11は、例えばIEEE(Institute of Electrical and Electronic Engineers)1149.1の標準規格となっているバウンダリ・スキャン方式であるJTAG(Joint Test Action Group)に適合したバウンダリ・スキャン・アーキテクチャを有している。なお、入出力ピンの個数とバウンダリ・スキャン・セルの個数は、第2のCPU11の仕様に応じて任意に設定可能である。
【0023】
複数の入出力ピン20A、20B、…、20Lは、第2のCPU11にデータ信号や制御信号を入力し、あるいは、第2のCPU11からデータ信号や制御信号を出力するためのものである。
ここで、入出力ピン20Aは、第2のCPU11に、プロトコル変換器15から供給されたTDI(Test Data Input)信号を入力するためのものである。また、入出力ピン20Lは、第2のCPU11から、TDO(Test Data Output)信号を出力するためのものである。
また、例えば、入出力ピン20I、20J、20Kは、不揮発性メモリ14に結合され、JTAGを使用した場合に、TDI信号を用いて第1のCPU10から転送されたデータを、不揮発性メモリ14に書込可能とする。ここで、入出力ピン20I、20J、20Kと不揮発性メモリ14との間を結合する信号線には、アドレスバスとデータバスとが含まれている。
【0024】
複数のバウンダリ・スキャン・セル21A、21B、…、21Lは、複数の入出力ピン20A、20B、…、20Lと、コア・ロジック23との間に挿入されたセルである。ここで、複数のバウンダリ・スキャン・セル21A、21B、…、21Lは、例えば、入出力ピン20Aに対応して結合されたバウンダリ・スキャン・セル21Aから、入出力ピン20Lに対応して結合されたバウンダリ・スキャン・セル21Lに向けて、データをシフトさせるシフト・レジスタ(一般に、バウンダリ・スキャン・レジスタと称する)として機能するべく、チェーン状に連結されている。
【0025】
TAPコントローラ22は、複数のバウンダリ・スキャン・セル21A、21B、…、21Lを制御して、コア・ロジック23の検証動作や、JTAGを使って不揮発性メモリ14に書き込むデータを転送する書込データ転送動作等を実行するためのものである。
ここで、TAPコントローラ22は、第1のCPU10の制御によりプロトコル変換器15から供給されたTMS(Test Mode Select)信号やTCK(Test Clock)信号、nTRST(Test Reset)信号に従って、不揮発性メモリ14への書込データ転送動作を実行する。なお、nTRST信号は、オプションの信号であり、その使用/不使用は任意に選択可能である。
【0026】
図2に示すメモリ12は、第1のCPU10が実行するプログラムやデータ等を記憶するためのものである。
【0027】
RAM13は、第2のCPU11が実行するプログラムを展開し、データを一時記憶するためのものである。
【0028】
不揮発性メモリ14は、例えばフラッシュEEPROM(Electronically Erasable and Programmable Read Only Memory)といった、不揮発性の書換可能なメモリであり、第2のCPU11が実行するファームウェアといった内部プログラム等を記憶して格納するためのものである。
【0029】
プロトコル変換器15は、第1のCPU10から第2のCPU11に転送されるデータの形式を切り換えるためのものであり、シリアル解析部16と、プロトコル変換処理部17とを備えている。
【0030】
シリアル解析部16は、第1のCPU10から送られたシリアル・データを解析し、パス切換やシリアル・インタフェースを使ったデータ転送を実行するためのものである。
すなわち、シリアル解析部16は、第1のCPU10から受けた制御命令に従ってパス切換を実行し、シリアル・インタフェースを使ったデータ転送と、JTAG用のインタフェースを使ったデータ転送とを切り換える。
この際、シリアル解析部16は、シリアル・インタフェースを使ったデータ転送を実行する場合、第1のCPU10から受けた転送データを、シリアル線18を介して第2のCPU11に送る。他方、シリアル解析部16は、JTAG用のインタフェースを使ったデータ転送を実行する場合、第1のCPU10から受けた転送データを、プロトコル変換処理部17に送る。
【0031】
プロトコル変換処理部17は、シリアル解析部16から受けたシリアル・データを、JTAG用のバウンダリ・スキャン方式に適合した信号に変換し、第2のCPU11に転送するためのものである。
すなわち、プロトコル変換処理部17は、シリアル解析部16から受けたシリアル・データに基づいて、TDI信号と、TMS信号と、TCK信号とを生成し、JTAG用のインタフェースを介して第2のCPU11に入力する。
【0032】
シリアル入力端子4は、シリアル線5を介して、制御処理部3が備える第1のCPU10に結合され、例えばパーソナルコンピュータといった外部のシステムと結合して、ファームウェア等のプログラムをアップデートするためのデータを、この携帯端末装置100に入力する。
【0033】
以下に、この発明の実施の形態に係る携帯端末装置100の動作を説明する。
この携帯端末装置100は、例えばパーソナルコンピュータといった外部のシステムをシリアル入力端子4に結合することで、不揮発性メモリ14に格納されているファームウェア等の内部プログラムを書き換えるためのアップデート用のプログラム等を取り込み可能である。
【0034】
この際、シリアル入力端子4は、外部から入力されたデータを、シリアル線5を介して第1のCPU10に送る。
【0035】
例えば、第1のCPU10がシリアル入力端子4からファームウェアを更新するためのデータを受けると、図4に例示する処理シーケンスに従って、不揮発性メモリ14へのデータ転送動作を制御する。
【0036】
すなわち、第1のCPU10は、シリアル入力端子4からファームウェア交信用のデータを受けると、プロトコル変換器15を介して、第2のCPU11にファームウェアの更新要求を送信する(ステップS1)。
【0037】
ここで、第2のCPU11は、RAM13にファームウェアをアップデートするためのプログラムを展開して不揮発性メモリ14における記憶内容の書換が可能である場合に、確認を通知するためのACK(ACKnowledgement)信号を、第1のCPU10に返送する(ステップS2)。
【0038】
第1のCPU10は、第2のCPU11から送られたACK信号を受けると、プロトコル変換器15を制御してシリアル・インタフェースを使ったデータ転送を可能に設定し、ファームウェアをアップデートするためのデータ転送動作を開始する(ステップS3)。
【0039】
この際、プロトコル変換器15は、シリアル解析部16が第1のCPU10から受けたシリアル・データを解析した結果に従って、第1のCPU10からの転送データを、シリアル線18を介して第2のCPU11に送る。
これにより、第2のCPU11が実行するアップデート用のプログラムに適合した形式で、不揮発性メモリ14における記憶内容を書き換えるためのデータを転送することができる。
【0040】
第2のCPU11は、第1のCPU10からの転送データを受けて、RAM13にアップデート用のプログラムを展開し、不揮発性メモリ14における記憶内容を書き換える(ステップS4)。
また、第2のCPU11は、アップデート用のプログラムを実行中、例えば第1のCPU10から転送された所定量のデータの受取が完了したタイミングといった、所定のタイミングが到来するごとに、データ転送に応答するためのACK信号を第1のCPU10に送る。
【0041】
ここで、第1のCPU10は、例えば第2のCPU11が実行するアップデート用のプログラムに誤りがあったり、電源が瞬断されたりするといった、不具合が発生すると、第2のCPU11からのACK信号を受信できなくなる(ステップS5)。
【0042】
この場合、第1のCPU10は、出力切換命令をプロトコル変換器15に送り(ステップS6)、JTAGを使ったデータ転送動作に切り換える。
ここで、プロトコル変換器15は、シリアル解析部16が第1のCPU10から受けるシリアル・データのフォーマットにより、出力切換命令を特定してパス切換を実行する。これにより、シリアル解析部16は、シリアル・データの出力先を、シリアル線18からプロトコル変換処理部17に切り換える。
【0043】
こののち、第1のCPU10は、JTAGを使って不揮発性メモリ14に書き込むためのデータを含んだシリアル・データを、プロトコル変換器15に送り、ファームウェアをアップデートするためのデータ転送動作を再開する(ステップS7)。
【0044】
この際、プロトコル変換処理部17は、シリアル解析部16からシリアル・データを受けると、JTAG用のインタフェースを介して第2のCPU11にデータを転送するためのTDI信号やTMS信号を抽出する。プロトコル変換処理部17は、抽出したTDI信号やTMS信号を、TAPコントローラ22の動作タイミングを規定するTCK信号とともに、第2のCPU11に送る。
これにより、JTAGを使ったバウンダリ・スキャンに適合した形式で、不揮発性メモリ14における記憶内容を書き換えるためのデータを転送することができる。
【0045】
第2のCPU11は、TMS信号やTCK信号といった、TAPコントローラ22が受信する制御信号に従って、入出力ピン20Aから入力されたTDI信号を取り込み、バウンダリ・スキャン・セル21Aに記憶させる。
【0046】
TAPコントローラ22は、バウンダリ・スキャン・セル21Aから、バウンダリ・スキャン・セル21Lに向けて、記憶データをシフトさせ、入出力ピン20LからTDO信号の出力を可能とする。
【0047】
ここで、TAPコントローラ22は、バウンダリ・スキャン・セル21I、21J、21Kの記憶データが入れ替わるごとに不揮発性メモリ14へ出力させるといった、バウンダリ・スキャンのための制御処理を実行する。これにより、TAPコントローラ22は、アドレスバスとデータバスとを制御して、転送データを不揮発性メモリ14に書込可能とする(ステップS8)。
この制御処理は、RAM13に展開したアップデート用のプログラムやデータが消失した場合や、コア・ロジック23の動作が停止している場合であっても実行可能であり、不揮発性メモリ14における記憶内容を確実に書き換えることができる。
これにより、例えばアップデート用のプログラムに誤りがあった場合や、電源が瞬断された場合等の、不具合が生じた場合であっても、ファームウェアといった内部プログラムを確実に更新することができる。
【0048】
また、第1のCPU10は、上記ステップS2にて、第2のCPU11から返送されるACK信号を受信できなかった場合、処理を上記ステップS6にジャンプすることで、直ちにJTAGを使ったデータ転送動作を実行する。
これにより、アップデート用のプログラムを実行不可能であった場合にも、JTAGを使ったデータ転送動作により不揮発性メモリ14の記憶内容を書き換えることができる。
【0049】
このように、第1のCPU10及びプロトコル変換器15は、ACK信号を返送可能な状態にあるか否かという第2のCPU11の動作状態に応じて、第2のCPU11に転送するデータの形式を、アップデート用のプログラムに適合した形式と、JTAGを使ったバウンダリ・スキャンに適合した形式とで切り換えることができる。
これにより、第2のCPU11がアップデート用のプログラムを実行できない状態にある場合でも、JTAGを使ったバウンダリ・スキャンにより、不揮発性メモリ14における記憶内容を書き換えることができ、ファームウェアを確実に更新することができる。
【0050】
次に、図5に示すフローチャートを参照して、図4に示す処理シーケンスにおけるステップS3からステップS7にて、第1のCPU10が実行するデータ転送動作について、より詳細に説明する。
【0051】
第1のCPU10は、図4に示す処理シーケンスにおけるステップS3にて、ファームウェアを更新するためのデータ転送動作を開始すると、プロトコル変換器15を介して第2のCPU11に転送するデータを送出する(ステップS10)。このデータは、第2のCPU11にシリアル・データとして入力するためのデータであり、プロトコル変換器15からシリアル線18を介して、第2のCPU11に転送される。
【0052】
この際、第1のCPU10は、第2のCPU11からの確認を通知するACK信号を受信したか否かを判別する(ステップS11)。
【0053】
第1のCPU10は、ACK信号を受信したと判別すると(ステップS11にてYES)、データ転送が終了したか否かを判別する(ステップS12)。
第1のCPU10は、データ転送が終了したと判別すると(ステップS12にてYES)、ファームウェアを更新するためのデータ転送動作を停止する。
一方、第1のCPU10は、データ転送が終了していないと判別すると(ステップS12にてNO)、処理を上記ステップS10にリターンして、データの送出を継続する。
【0054】
また、第1のCPU10は、上記ステップS11にて、ACK信号を受信していないと判別すると(ステップS11にてNO)、シリアル・インタフェースを用いたデータ転送からJTAG用のインタフェースを用いたデータ転送に切り換えるための出力切換命令を、プロトコル変換器15に送る(ステップS13)。
【0055】
こののち、第1のCPU10は、JTAGを使うデータ転送に適合するフォーマットに従って構成したシリアル・データを、プロトコル変換器15に送出する(ステップS14)。こうしてJTAGを使ったデータ転送が終了すると、ファームウェアを更新するためのデータ転送動作を終了する。
【0056】
このように、例えばアップデート用のプログラムに誤りがあった場合や、電源が瞬断された場合のような、不具合が生じた場合に、JTAGといったバウンダリ・スキャン方式を使って不揮発性メモリ14における記憶内容を書換可能とすることで、ファームウェア等の内部プログラムを確実に更新することができる。
【0057】
例えば携帯電話機といった携帯端末装置100は、サイズの小型化等に伴って、筐体外部に設置可能なコネクタが非常に限定されたものとなる。また、通常のコネクタは、複数の役割を担うものであるため、ファームウェアを更新するためのみに使用する専用線を別途設けることは、困難である。そこで、シリアル入力端子4を用いてアップグレード用のプログラムを含んだデータをこの携帯端末装置100に入力して実行する。
この際、不具合が生じた場合であっても、JTAGを使って不揮発性メモリ14へのデータ書込を実行することで、ファームウェアを確実に更新することができる。
【0058】
以上説明したように、この発明によれば、アップグレード用のプログラムを実行することによる不揮発性メモリ14における記憶内容の書換中に、不具合が生じた場合、JTAGを使ったデータ転送動作に切り換えて不揮発性メモリ14における記憶内容の書換を継続することができる。また、アップグレード用のプログラムが実行不可能な場合にも、JTAGを使ったデータ転送動作により不揮発性メモリ14における記憶内容を書き換えることができる。
これにより、ファームウェアといった内部プログラムを確実に更新することができる。
【0059】
この発明は、上記実施の形態に限定されず、様々な変形及び応用が可能である。
例えば、上記実施の形態では、プロトコル変換器15を設けるものとして説明したが、これに限定されず、第1のCPU10が、プロトコル変換器15と実質的に同一の機能を含むようにしてもよい。
この場合、例えば図6に示すように、第1のCPU10と第2のCPU11との間を、シリアル・インタフェース及びJTAG用のインタフェースを介して結合し、第1のCPU10が実行するプログラムの制御に従って、シリアル・インタフェースを用いたデータ転送動作と、JTAG用のインタフェースを用いたデータ転送動作とを切り換えるようにすればよい。
【0060】
また、上記実施の形態では、携帯端末装置100が構成管理用の第1のCPU10及びメモリ12を備えるものとして説明したが、これに限定されず、例えば図7に示すように、シリアル入力端子4とプロトコル変換器15との間を、シリアル線5を介して結合するようにしてもよい。この場合、シリアル入力端子4に結合される外部のシステムが、上記実施の形態における第1のCPU10と実質的に同一の機能を含むことで、シリアル・インタフェースを用いたデータ転送動作と、JTAG用のインタフェースを用いたデータ転送動作とを切り換えることができる。プロトコル変換器15は、シリアル入力端子4から入力されたデータに含まれる出力切換命令等の制御信号に従って、パス切換を実行する。
【0061】
【発明の効果】
以上の説明のように、この発明によれば、ファームウェアを更新するためのプログラムが実行不能となった場合に、JTAGと称されるバウンダリ・スキャン方式を使って、不揮発性メモリにおける記憶内容を書き換えることができる。
これにより、ファームウェアといった内部プログラムを確実に更新することが可能となる。
【図面の簡単な説明】
【図1】この発明の実施の形態に係る携帯端末装置の構成を示す図である。
【図2】制御処理部の構成を示す図である。
【図3】第2のCPUの構成を示す図である。
【図4】この発明の実施の形態に係る携帯端末装置の動作を説明するための処理シーケンスである。
【図5】第1のCPUの動作を説明するためのフローチャートである。
【図6】この発明の実施の形態に係る携帯端末装置の変形例を示す図である。
【図7】この発明の実施の形態に係る携帯端末装置の変形例を示す図である。
【図8】従来の携帯端末装置の構成を示す図である。
【符号の説明】
1、51 アンテナ
2、52 送受信処理部
3、53 制御処理部
4、54 シリアル入力端子
5、18 シリアル線
10、11、60、61 CPU
12、62 メモリ
13、63 RAM
14、64 不揮発性メモリ
15 プロトコル変換器
16 シリアル解析部
17 プロトコル変換処理部
20A〜20L 入出力ピン
21A〜21L バウンダリ・スキャン・セル
22 TAPコントローラ
23 コア・ロジック
100 携帯端末装置
[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a portable terminal device capable of updating an internal program such as firmware, and more particularly to a portable terminal device capable of reliably updating an internal program.
[0002]
[Prior art]
For example, in a portable terminal device such as a cellular phone, a device having a configuration illustrated in FIG. 8 is known in order to update an internal program such as firmware.
[0003]
In the portable terminal device having the configuration shown in FIG. 8, for updating the firmware stored and stored in the nonvolatile memory 64 from the serial input terminal 54 that can be coupled to an external system such as a personal computer, for example. Data including the program is input. At this time, the configuration management CPU 60 transfers the data input from the serial input terminal 54 to the target CPU 61 and rewrites the storage contents in the nonvolatile memory 64.
The target CPU 61 makes it possible to update the firmware by, for example, developing and executing an update program in the RAM 63.
[0004]
[Problems to be solved by the invention]
In the above prior art, if there is a malfunction during updating the firmware, such as when there is an error in the update program or when the power supply is cut off, the firmware may not be updated.
That is, for example, if a problem occurs during the rewriting of the storage contents in the nonvolatile memory 64 shown in FIG. 8, the update program and data developed in the RAM 63 are lost, and then writing to the nonvolatile memory 64 is performed. There were times when it became impossible.
When such a problem occurs, it is necessary to dismantle the mobile terminal device itself and replace the nonvolatile memory 64, which makes it difficult to update internal programs such as firmware.
[0005]
The present invention has been made in view of the above circumstances, and an object thereof is to provide a portable terminal device that can reliably update an internal program such as firmware.
[0006]
[Means for Solving the Problems]
In order to achieve the above object, a mobile terminal device according to the first aspect of the present invention provides:
Nonvolatile memory for storing and storing firmware;
A processor having a boundary scan architecture and capable of executing a program for updating firmware stored in the nonvolatile memory;
Input means for inputting data including a program for updating firmware stored in the nonvolatile memory from the outside;
Transfer processing means for transferring the data input by the input means to the processor and enabling rewriting of the storage contents in the nonvolatile memory;
The transfer processing means includes
Data format switching means for switching data to be transferred to the processor between a format compatible with a program for updating firmware and a format compatible with boundary scan;
It is determined whether or not a signal notifying a confirmation returned in response to data transfer from the processor has been received, and if it has been received, the format of data to be transferred to the processor is changed to a program for updating firmware. If the operation of the data format switching means is set so as to conform to the format and it is determined that the data is not received, the data format switching is performed so that the format of the data to be transferred to the processor conforms to the boundary scan. Switching control means for setting the operation of the means,
It is characterized by that.
[0007]
According to this invention, the transfer processing means switches the data to be transferred to the processor between a format suitable for the program for updating the firmware and a format suitable for the boundary scan according to the operating state of the processor. Can do.
Thereby, even when the program for updating the firmware by the processor cannot be executed, the firmware stored in the nonvolatile memory can be updated by the boundary scan. That is, the firmware can be reliably updated.
[0010]
In addition, the processor stores the data stored in the nonvolatile memory before and after the rewrite of the storage contents in the nonvolatile memory by transferring the data . It is desirable to run the firmware.
[0011]
More particularly, the processor is
Multiple input / output pins;
Core logic for executing firmware stored in the non-volatile memory; and
A plurality of cells inserted between the plurality of input / output pins and the core logic and connected in a chain;
A controller for controlling the plurality of cells and transferring data to be written to the nonvolatile memory by a boundary scan;
The controller executes control processing for boundary scan when data in a format suitable for boundary scan is transferred by the transfer processing means, and writes the transfer data in the nonvolatile memory, thereby It is desirable to update the firmware stored in the non-volatile memory.
[0012]
The stored data update method according to the second aspect of the present invention is:
A method for rewriting stored data in a nonvolatile memory built in a portable terminal device,
A processor built in the portable terminal device having a plurality of cells inserted in a chain and inserted between a plurality of input / output pins and core logic to function as a shift register for shifting data, A first data rewriting step of executing a program for rewriting stored data in the nonvolatile memory to rewrite the stored data in the nonvolatile memory;
A data transfer step of transferring serial data including data to be written to the nonvolatile memory by the processor executing a program for rewriting stored data in the first data rewriting step, to the processor;
A determination step of determining whether or not a signal for notification of confirmation is returned from the processor in response to the transfer of serial data in the data transfer step;
In the determination step, when it is determined that a signal for notifying confirmation is not returned, the processor includes a signal including data for writing to the nonvolatile memory using the plurality of cells. A signal input step to input to
According to the signal input to the processor in the signal input step, data is shifted between the plurality of cells, and data is input from the input / output pins coupled to the nonvolatile memory among the plurality of input / output pins. A second data rewriting step of rewriting the stored data in the nonvolatile memory by outputting,
It is characterized by that.
[0013]
According to the present invention, the processor uses a plurality of cells when it is determined in the determination step that the signal for notifying the confirmation is not returned from the processor in response to the serial data transfer in the data transfer step. Then, a signal including data to be written in the nonvolatile memory is input to the processor.
Thereby, even when the processor cannot execute the program for rewriting the stored data, the stored data in the nonvolatile memory can be rewritten by the boundary scan. In this way, the firmware stored and stored in the nonvolatile memory can be reliably updated.
[0014]
The firmware update method according to the third aspect of the present invention provides:
In a portable terminal device comprising: a nonvolatile memory for storing and storing firmware; and a processor having a boundary scan architecture and capable of executing a program for updating the firmware stored in the nonvolatile memory. A firmware update method for updating firmware stored in the nonvolatile memory,
An input step of inputting data including a program for updating firmware stored in the nonvolatile memory from the outside of the mobile terminal device;
A transfer processing step of transferring the data input in the input step to the processor to enable rewriting of the storage content in the nonvolatile memory,
The transfer processing step includes:
A data format conversion step of switching data to be transferred to the processor between a format compatible with a program for updating firmware and a format compatible with boundary scan;
It is determined whether or not a signal notifying the confirmation returned from the processor has been received. If it is determined that the signal has been received, the format of the data to be transferred to the processor should be set to a format compatible with the program for updating the firmware. When the operation in the data format conversion step is set and it is determined that the data has not been received, the operation in the data format conversion step is set so that the format of data to be transferred to the processor is a format suitable for boundary scan. A switching control step,
It is characterized by that.
[0017]
DETAILED DESCRIPTION OF THE INVENTION
A mobile terminal device according to an embodiment of the present invention will be described below in detail with reference to the drawings.
[0018]
FIG. 1 is a diagram showing a configuration of a mobile terminal device 100 according to an embodiment of the present invention.
The mobile terminal device 100 is, for example, a mobile phone that can communicate by transmitting and receiving radio signals, and as shown in FIG. 1, an antenna 1, a transmission / reception processing unit 2, a control processing unit 3, and a serial line And a serial input terminal 4 coupled to the control processing unit 3 via 5.
[0019]
The transmission / reception processing unit 2 performs processing such as modulation / demodulation of a radio signal transmitted / received using the antenna 1 to enable communication.
[0020]
The control processing unit 3 is for controlling the operation of the mobile terminal device 100 as a whole. For example, as shown in FIG. 2, first and second CPUs (Central Processing Units) 10 and 11 and a memory 12 are provided. A RAM (Random Access Memory) 13, a nonvolatile memory 14, and a protocol converter 15.
[0021]
The first CPU 10 is a processor for configuration management that executes, for example, processing for realizing an MMI (Man-Machine Interface) using a display, a keypad, etc. (not shown).
The first CPU 10 also transfers serial data input from the serial input terminal 4 via the serial line 5 to the second CPU 11 via the protocol converter 15.
[0022]
The second CPU 11 is a processor that executes an internal program such as firmware stored in the nonvolatile memory 14 and executes, for example, data conversion processing according to a communication protocol.
Here, for example, as shown in FIG. 3, the second CPU 11 has a plurality of boundary scan cells 21A, 21B,..., Which are coupled to the plurality of input / output pins 20A, 20B,. 21L, a TAP (Test Access Port) controller 22, and a core logic 23 that functions as a processor main body that executes firmware and the like. That is, the second CPU 11 has a boundary scan architecture that conforms to JTAG (Joint Test Action Group), which is a boundary scan method that is a standard of IEEE (Institute of Electrical and Electronic Engineers) 1149.1, for example. Have. The number of input / output pins and the number of boundary scan cells can be arbitrarily set according to the specifications of the second CPU 11.
[0023]
The plurality of input / output pins 20A, 20B,..., 20L are for inputting data signals and control signals to the second CPU 11 or for outputting data signals and control signals from the second CPU 11.
Here, the input / output pin 20 </ b> A is used to input a TDI (Test Data Input) signal supplied from the protocol converter 15 to the second CPU 11. The input / output pin 20L is for outputting a TDO (Test Data Output) signal from the second CPU 11.
Further, for example, the input / output pins 20I, 20J, and 20K are coupled to the non-volatile memory 14, and when JTAG is used, the data transferred from the first CPU 10 using the TDI signal is stored in the non-volatile memory 14. Writable. Here, the signal lines connecting the input / output pins 20I, 20J, and 20K and the nonvolatile memory 14 include an address bus and a data bus.
[0024]
The plurality of boundary scan cells 21A, 21B,..., 21L are cells inserted between the plurality of input / output pins 20A, 20B,. Here, the plurality of boundary scan cells 21A, 21B,..., 21L are coupled corresponding to the input / output pin 20L from the boundary scan cell 21A coupled corresponding to the input / output pin 20A, for example. In order to function as a shift register (generally referred to as a boundary scan register) for shifting data toward the boundary scan cell 21L, it is connected in a chain shape.
[0025]
The TAP controller 22 controls the plurality of boundary scan cells 21A, 21B,..., 21L to perform verification operation of the core logic 23 and write data for transferring data to be written to the nonvolatile memory 14 using JTAG. This is for executing a transfer operation or the like.
Here, the TAP controller 22 operates in accordance with the TMS (Test Mode Select) signal, the TCK (Test Clock) signal, and the nTRST (Test Reset) signal supplied from the protocol converter 15 under the control of the first CPU 10. The write data transfer operation to is executed. The nTRST signal is an optional signal, and its use / non-use can be arbitrarily selected.
[0026]
The memory 12 shown in FIG. 2 is for storing programs executed by the first CPU 10, data, and the like.
[0027]
The RAM 13 is for developing a program executed by the second CPU 11 and temporarily storing data.
[0028]
The non-volatile memory 14 is a non-volatile rewritable memory such as a flash EEPROM (Electronically Erasable and Programmable Read Only Memory), for storing and storing an internal program such as firmware executed by the second CPU 11. Is.
[0029]
The protocol converter 15 is for switching the format of data transferred from the first CPU 10 to the second CPU 11, and includes a serial analysis unit 16 and a protocol conversion processing unit 17.
[0030]
The serial analysis unit 16 is for analyzing the serial data sent from the first CPU 10 and executing data transfer using path switching or a serial interface.
That is, the serial analysis unit 16 performs path switching in accordance with the control command received from the first CPU 10 and switches between data transfer using the serial interface and data transfer using the JTAG interface.
At this time, the serial analysis unit 16 sends the transfer data received from the first CPU 10 to the second CPU 11 via the serial line 18 when executing data transfer using the serial interface. On the other hand, the serial analysis unit 16 sends the transfer data received from the first CPU 10 to the protocol conversion processing unit 17 when executing data transfer using the JTAG interface.
[0031]
The protocol conversion processing unit 17 converts the serial data received from the serial analysis unit 16 into a signal that conforms to the JTAG boundary scan method and transfers the signal to the second CPU 11.
That is, the protocol conversion processing unit 17 generates a TDI signal, a TMS signal, and a TCK signal based on the serial data received from the serial analysis unit 16, and sends it to the second CPU 11 through the JTAG interface. input.
[0032]
The serial input terminal 4 is coupled to the first CPU 10 provided in the control processing unit 3 via the serial line 5, and is coupled to an external system such as a personal computer to update data such as firmware. , Input to the portable terminal device 100.
[0033]
The operation of portable terminal device 100 according to the embodiment of the present invention will be described below.
The portable terminal device 100 takes in an update program or the like for rewriting an internal program such as firmware stored in the nonvolatile memory 14 by coupling an external system such as a personal computer to the serial input terminal 4. Is possible.
[0034]
At this time, the serial input terminal 4 sends data input from the outside to the first CPU 10 via the serial line 5.
[0035]
For example, when the first CPU 10 receives data for updating the firmware from the serial input terminal 4, the data transfer operation to the nonvolatile memory 14 is controlled according to the processing sequence illustrated in FIG.
[0036]
That is, when the first CPU 10 receives the firmware exchange data from the serial input terminal 4, it transmits a firmware update request to the second CPU 11 via the protocol converter 15 (step S1).
[0037]
Here, when the second CPU 11 develops a program for updating the firmware in the RAM 13 and can rewrite the storage contents in the nonvolatile memory 14, an ACK (ACKnowledgement) signal for notifying the confirmation is sent. Return to the first CPU 10 (step S2).
[0038]
Upon receiving the ACK signal sent from the second CPU 11, the first CPU 10 controls the protocol converter 15 to enable data transfer using the serial interface, and to transfer data for updating the firmware. The operation is started (step S3).
[0039]
At this time, the protocol converter 15 transfers the transfer data from the first CPU 10 via the serial line 18 to the second CPU 11 according to the result of the serial analysis unit 16 analyzing the serial data received from the first CPU 10. Send to.
Thereby, the data for rewriting the storage contents in the nonvolatile memory 14 can be transferred in a format suitable for the update program executed by the second CPU 11.
[0040]
The second CPU 11 receives the transfer data from the first CPU 10, develops an update program in the RAM 13, and rewrites the storage contents in the nonvolatile memory 14 (step S4).
In addition, the second CPU 11 responds to the data transfer every time a predetermined timing such as a timing at which reception of a predetermined amount of data transferred from the first CPU 10 is completed during execution of the update program. An ACK signal for sending is sent to the first CPU 10.
[0041]
Here, the first CPU 10 receives an ACK signal from the second CPU 11 when a problem such as an error in an update program executed by the second CPU 11 or a power interruption occurs. It becomes impossible to receive (step S5).
[0042]
In this case, the first CPU 10 sends an output switching command to the protocol converter 15 (step S6), and switches to a data transfer operation using JTAG.
Here, the protocol converter 15 performs path switching by specifying an output switching command according to the serial data format received by the serial analysis unit 16 from the first CPU 10. As a result, the serial analysis unit 16 switches the serial data output destination from the serial line 18 to the protocol conversion processing unit 17.
[0043]
Thereafter, the first CPU 10 sends serial data including data to be written to the nonvolatile memory 14 using JTAG to the protocol converter 15 and resumes the data transfer operation for updating the firmware ( Step S7).
[0044]
At this time, when receiving the serial data from the serial analysis unit 16, the protocol conversion processing unit 17 extracts a TDI signal and a TMS signal for transferring the data to the second CPU 11 via the JTAG interface. The protocol conversion processing unit 17 sends the extracted TDI signal and TMS signal to the second CPU 11 together with the TCK signal that defines the operation timing of the TAP controller 22.
As a result, data for rewriting the stored contents in the nonvolatile memory 14 can be transferred in a format suitable for boundary scan using JTAG.
[0045]
The second CPU 11 takes in the TDI signal input from the input / output pin 20A according to the control signal received by the TAP controller 22, such as the TMS signal and the TCK signal, and stores it in the boundary scan cell 21A.
[0046]
The TAP controller 22 shifts the stored data from the boundary scan cell 21A toward the boundary scan cell 21L, and enables the TDO signal to be output from the input / output pin 20L.
[0047]
Here, the TAP controller 22 executes a control process for the boundary scan such that the data is output to the nonvolatile memory 14 every time the data stored in the boundary scan cells 21I, 21J, and 21K is switched. As a result, the TAP controller 22 controls the address bus and the data bus so that the transfer data can be written in the nonvolatile memory 14 (step S8).
This control process can be executed even when the update program or data developed in the RAM 13 is lost or the operation of the core logic 23 is stopped. Can be rewritten reliably.
As a result, for example, even when there is a problem such as when there is an error in the update program or when the power supply is cut off, the internal program such as firmware can be reliably updated.
[0048]
If the first CPU 10 cannot receive the ACK signal sent back from the second CPU 11 in step S2, the first CPU 10 jumps the process to step S6 to immediately perform the data transfer operation using JTAG. Execute.
Thereby, even when the update program cannot be executed, the stored contents of the nonvolatile memory 14 can be rewritten by the data transfer operation using JTAG.
[0049]
As described above, the first CPU 10 and the protocol converter 15 change the format of data to be transferred to the second CPU 11 in accordance with the operation state of the second CPU 11 such as whether or not the ACK signal can be returned. It is possible to switch between a format suitable for the update program and a format suitable for boundary scan using JTAG.
Thereby, even when the second CPU 11 cannot execute the update program, the stored contents in the nonvolatile memory 14 can be rewritten by the boundary scan using the JTAG, and the firmware is surely updated. Can do.
[0050]
Next, the data transfer operation executed by the first CPU 10 in steps S3 to S7 in the processing sequence shown in FIG. 4 will be described in more detail with reference to the flowchart shown in FIG.
[0051]
When the first CPU 10 starts the data transfer operation for updating the firmware in step S3 in the processing sequence shown in FIG. 4, the first CPU 10 sends the data to be transferred to the second CPU 11 via the protocol converter 15 ( Step S10). This data is data to be input as serial data to the second CPU 11, and is transferred from the protocol converter 15 to the second CPU 11 via the serial line 18.
[0052]
At this time, the first CPU 10 determines whether or not an ACK signal notifying the confirmation from the second CPU 11 has been received (step S11).
[0053]
If first CPU 10 determines that an ACK signal has been received (YES in step S11), it determines whether or not the data transfer has ended (step S12).
If first CPU 10 determines that the data transfer has ended (YES in step S12), it stops the data transfer operation for updating the firmware.
On the other hand, if first CPU 10 determines that the data transfer has not ended (NO in step S12), it returns the process to step S10 and continues to send data.
[0054]
If the first CPU 10 determines in step S11 that an ACK signal has not been received (NO in step S11), the first CPU 10 transfers data from the data transfer using the serial interface to the data transfer using the JTAG interface. An output switching command for switching to is sent to the protocol converter 15 (step S13).
[0055]
Thereafter, the first CPU 10 sends serial data configured according to a format compatible with data transfer using JTAG to the protocol converter 15 (step S14). When the data transfer using JTAG is finished in this way, the data transfer operation for updating the firmware is finished.
[0056]
In this way, for example, when there is an error in the update program or when a power failure occurs, such as when the power supply is cut off, the memory in the nonvolatile memory 14 is stored using a boundary scan method such as JTAG. By making the contents rewritable, an internal program such as firmware can be reliably updated.
[0057]
For example, the portable terminal device 100 such as a mobile phone has a very limited number of connectors that can be installed outside the housing as the size of the mobile terminal device 100 is reduced. In addition, since a normal connector plays a plurality of roles, it is difficult to separately provide a dedicated line used only for updating firmware. Therefore, data including an upgrade program is input to the portable terminal device 100 using the serial input terminal 4 and executed.
At this time, even if a problem occurs, the firmware can be reliably updated by executing data writing to the nonvolatile memory 14 using JTAG.
[0058]
As described above, according to the present invention, when a problem occurs during rewriting of the storage contents in the nonvolatile memory 14 by executing the upgrade program, the nonvolatile memory is switched to the data transfer operation using the JTAG. Rewriting of the stored contents in the volatile memory 14 can be continued. Even when the upgrade program cannot be executed, the data stored in the nonvolatile memory 14 can be rewritten by the data transfer operation using JTAG.
Thereby, an internal program such as firmware can be reliably updated.
[0059]
The present invention is not limited to the above embodiment, and various modifications and applications are possible.
For example, in the above embodiment, the protocol converter 15 is described as being provided. However, the present invention is not limited to this, and the first CPU 10 may include substantially the same function as the protocol converter 15.
In this case, for example, as shown in FIG. 6, the first CPU 10 and the second CPU 11 are coupled via a serial interface and an interface for JTAG, and according to control of a program executed by the first CPU 10. The data transfer operation using the serial interface and the data transfer operation using the JTAG interface may be switched.
[0060]
In the above embodiment, the portable terminal device 100 has been described as including the first CPU 10 and the memory 12 for configuration management. However, the present invention is not limited to this, and for example, as shown in FIG. And the protocol converter 15 may be coupled via the serial line 5. In this case, the external system coupled to the serial input terminal 4 includes substantially the same function as that of the first CPU 10 in the above embodiment, so that the data transfer operation using the serial interface and the JTAG The data transfer operation using the interface can be switched. The protocol converter 15 performs path switching in accordance with a control signal such as an output switching command included in data input from the serial input terminal 4.
[0061]
【The invention's effect】
As described above, according to the present invention, when the program for updating the firmware becomes unexecutable, the stored contents in the nonvolatile memory are rewritten using the boundary scan method called JTAG. be able to.
Thereby, it is possible to reliably update the internal program such as firmware.
[Brief description of the drawings]
FIG. 1 is a diagram showing a configuration of a mobile terminal device according to an embodiment of the present invention.
FIG. 2 is a diagram illustrating a configuration of a control processing unit.
FIG. 3 is a diagram illustrating a configuration of a second CPU.
FIG. 4 is a processing sequence for explaining the operation of the mobile terminal device according to the embodiment of the present invention.
FIG. 5 is a flowchart for explaining the operation of the first CPU;
FIG. 6 is a diagram showing a modification of the portable terminal device according to the embodiment of the present invention.
FIG. 7 is a diagram showing a modification of the mobile terminal device according to the embodiment of the present invention.
FIG. 8 is a diagram showing a configuration of a conventional portable terminal device.
[Explanation of symbols]
1, 51 Antenna 2, 52 Transmission / reception processor 3, 53 Control processor 4, 54 Serial input terminal 5, 18 Serial line 10, 11, 60, 61 CPU
12, 62 Memory 13, 63 RAM
14, 64 Non-volatile memory 15 Protocol converter 16 Serial analysis unit 17 Protocol conversion processing unit 20A to 20L Input / output pins 21A to 21L Boundary scan cell 22 TAP controller 23 Core logic 100 Mobile terminal device

Claims (5)

ファームウェアを記憶して格納する不揮発性メモリと、
バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサと、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、外部から入力する入力手段と、
前記入力手段により入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理手段とを備え、
前記転送処理手段は、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式切換手段と、
前記プロセッサからデータ転送に応答して返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式切換手段の動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式切換手段の動作を設定する切換制御手段とを備える、
ことを特徴とする携帯端末装置。
Nonvolatile memory for storing and storing firmware;
A processor having a boundary scan architecture and capable of executing a program for updating firmware stored in the nonvolatile memory;
Input means for inputting data including a program for updating firmware stored in the nonvolatile memory from the outside;
Transfer processing means for transferring the data input by the input means to the processor and enabling rewriting of the storage contents in the nonvolatile memory;
The transfer processing means includes
Data format switching means for switching data to be transferred to the processor between a format compatible with a program for updating firmware and a format compatible with boundary scan;
It is determined whether or not a signal notifying a confirmation returned in response to data transfer from the processor has been received, and if it has been received, the format of data to be transferred to the processor is changed to a program for updating firmware. If the operation of the data format switching means is set so as to conform to the format and it is determined that the data is not received, the data format switching is performed so that the format of the data to be transferred to the processor conforms to the boundary scan. Switching control means for setting the operation of the means,
The portable terminal device characterized by the above-mentioned.
前記プロセッサは、前記転送処理手段がデータを転送することで前記不揮発性メモリにおける記憶内容の書換が行われるより前、及び当該書換が行われた後に、前記不揮発性メモリに格納されているファームウェアを実行する、
ことを特徴とする請求項に記載の携帯端末装置。
The processor stores the firmware stored in the non-volatile memory before and after the rewrite of the stored contents in the non-volatile memory by the transfer processing means transferring data. Execute,
The mobile terminal device according to claim 1 .
前記プロセッサは、
複数の入出力ピンと、
前記不揮発性メモリに格納されているファームウェアを実行するコア・ロジックと、
前記複数の入出力ピンと前記コア・ロジックとの間に挿入されてチェーン状に連結された複数のセルと、
前記複数のセルを制御して、バウンダリ・スキャンにより前記不揮発メモリに書き込むデータを転送させるコントローラとを備え、
前記コントローラは、前記転送処理手段によりバウンダリ・スキャンに適合した形式のデータが転送されると、バウンダリ・スキャンのための制御処理を実行して、前記不揮発性メモリに転送データを書き込むことにより、前記不揮発性メモリに格納されているファームウェアを更新する、
ことを特徴とする請求項1または2に記載の携帯端末装置。
The processor is
Multiple input / output pins;
Core logic for executing firmware stored in the non-volatile memory; and
A plurality of cells inserted between the plurality of input / output pins and the core logic and connected in a chain;
A controller for controlling the plurality of cells and transferring data to be written to the nonvolatile memory by a boundary scan;
The controller executes control processing for boundary scan when data in a format suitable for boundary scan is transferred by the transfer processing means, and writes the transfer data in the nonvolatile memory, thereby Update firmware stored in non-volatile memory,
The portable terminal device according to claim 1 or 2, characterized in that.
携帯端末装置に内蔵された不揮発性メモリにおける記憶データを書き換えるための記憶データ更新方法であって、
データをシフトさせるシフト・レジスタとして機能するべく複数の入出力ピンとコア・ロジックとの間に挿入されてチェーン状に連結された複数のセルを備えて前記携帯端末装置に内蔵されているプロセッサが、前記不揮発性メモリにおける記憶データ書換用のプログラムを実行して、前記不揮発性メモリにおける記憶データを書き換える第1のデータ書換ステップと、
前記第1のデータ書換ステップにて前記プロセッサが記憶データ書換用のプログラムを実行することにより前記不揮発性メモリに書き込むためのデータを含んだシリアル・データを、前記プロセッサに転送するデータ転送ステップと、
前記データ転送ステップにおけるシリアル・データの転送に応答して、前記プロセッサから確認を通知するための信号が返送されたか否かを判別する判別ステップと、
前記判別ステップにて確認を通知するための信号が返送されていないと判別した場合に、前記プロセッサが前記複数のセルを用いて前記不揮発性メモリに書き込むためのデータを含んだ信号を、前記プロセッサに入力する信号入力ステップと、
前記信号入力ステップにて前記プロセッサに入力された信号に従って、前記複数のセルの間でデータをシフトさせ、前記複数の入出力ピンのうちで前記不揮発性メモリに結合された入出力ピンからデータを出力することにより、前記不揮発性メモリにおける記憶データを書き換える第2のデータ書換ステップとを備える、
ことを特徴とする記憶データ更新方法。
A stored data update method for rewriting stored data in a nonvolatile memory built in a portable terminal device,
A processor built in the portable terminal device having a plurality of cells inserted in a chain and inserted between a plurality of input / output pins and core logic to function as a shift register for shifting data, A first data rewriting step of executing a program for rewriting stored data in the nonvolatile memory to rewrite the stored data in the nonvolatile memory;
A data transfer step of transferring serial data including data to be written to the nonvolatile memory by the processor executing a program for rewriting stored data in the first data rewriting step, to the processor;
A determination step of determining whether or not a signal for notification of confirmation is returned from the processor in response to the transfer of serial data in the data transfer step;
In the determination step, when it is determined that a signal for notifying confirmation is not returned, the processor includes a signal including data for writing to the nonvolatile memory using the plurality of cells. A signal input step to input to
According to the signal input to the processor in the signal input step, data is shifted between the plurality of cells, and data is input from the input / output pins coupled to the nonvolatile memory among the plurality of input / output pins. A second data rewriting step of rewriting the stored data in the nonvolatile memory by outputting,
A stored data updating method.
ファームウェアを記憶して格納する不揮発性メモリと、バウンダリ・スキャン・アーキテクチャを有し、前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを実行可能なプロセッサとを備える携帯端末装置において、前記不揮発性メモリに格納されているファームウェアを更新するためのファームウェア更新方法であって、
前記不揮発性メモリに格納されているファームウェアを更新するためのプログラムを含んだデータを、前記携帯端末装置の外部から入力する入力ステップと、
前記入力ステップにて入力されたデータを前記プロセッサに転送して前記不揮発性メモリにおける記憶内容の書換を可能とする転送処理ステップとを備え、
前記転送処理ステップは、
前記プロセッサに転送するデータを、ファームウェアを更新するためのプログラムに適合した形式と、バウンダリ・スキャンに適合した形式とで切り換えるデータ形式変換ステップと、
前記プロセッサから返送される確認を通知する信号を受信したか否かを判別し、受信したと判別すると、前記プロセッサに転送するデータの形式をファームウェアを更新するためのプログラムに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定し、受信していないと判別すると、前記プロセッサに転送するデータの形式をバウンダリ・スキャンに適合した形式とするべく、前記データ形式変換ステップにおける動作を設定する切換制御ステップとを備える、
ことを特徴とするファームウェア更新方法。
In a portable terminal device comprising: a nonvolatile memory for storing and storing firmware; and a processor having a boundary scan architecture and capable of executing a program for updating the firmware stored in the nonvolatile memory. A firmware update method for updating firmware stored in the nonvolatile memory,
An input step of inputting data including a program for updating firmware stored in the nonvolatile memory from the outside of the mobile terminal device;
A transfer processing step of transferring the data input in the input step to the processor to enable rewriting of the storage content in the nonvolatile memory,
The transfer processing step includes:
A data format conversion step of switching data to be transferred to the processor between a format compatible with a program for updating firmware and a format compatible with boundary scan;
It is determined whether or not a signal notifying the confirmation returned from the processor has been received. If it is determined that the signal has been received, the format of the data to be transferred to the processor should be set to a format compatible with the program for updating the firmware. When the operation in the data format conversion step is set and it is determined that the data has not been received, the operation in the data format conversion step is set so that the format of data to be transferred to the processor is a format suitable for boundary scan. A switching control step,
A method for updating firmware.
JP2001002925A 2001-01-10 2001-01-10 Mobile terminal device, stored data update method, and firmware update method Expired - Fee Related JP3762643B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001002925A JP3762643B2 (en) 2001-01-10 2001-01-10 Mobile terminal device, stored data update method, and firmware update method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001002925A JP3762643B2 (en) 2001-01-10 2001-01-10 Mobile terminal device, stored data update method, and firmware update method

Publications (2)

Publication Number Publication Date
JP2002208886A JP2002208886A (en) 2002-07-26
JP3762643B2 true JP3762643B2 (en) 2006-04-05

Family

ID=18871353

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001002925A Expired - Fee Related JP3762643B2 (en) 2001-01-10 2001-01-10 Mobile terminal device, stored data update method, and firmware update method

Country Status (1)

Country Link
JP (1) JP3762643B2 (en)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6973588B2 (en) * 2002-11-27 2005-12-06 Symbol Technologies, Inc. Disaster recovery port in a portable computer
EP1576470A2 (en) * 2002-12-18 2005-09-21 Koninklijke Philips Electronics N.V. Code download in a system having multiple integrated circuits with jtag capability
CN1317639C (en) * 2004-11-18 2007-05-23 华为技术有限公司 Method for upgrading logic device programm in product
CN100337199C (en) * 2004-11-25 2007-09-12 华为技术有限公司 Basic inputting and outputting system and method for upgrading FLASH device
JP4807274B2 (en) * 2007-02-07 2011-11-02 オンキヨー株式会社 Control device having main control unit and sub-control unit
JP4986288B2 (en) * 2007-05-01 2012-07-25 日本システムウエア株式会社 Embedded device, its development system, development program, data transfer method and data structure
JP5167904B2 (en) * 2008-03-28 2013-03-21 富士通株式会社 Scan control method, scan control circuit and apparatus
JP2013250955A (en) * 2012-06-04 2013-12-12 Advantest Corp Hardware device
JP2013250250A (en) 2012-06-04 2013-12-12 Advantest Corp Tester hardware and test system using the same
JP2014235127A (en) 2013-06-04 2014-12-15 株式会社アドバンテスト Test system, control program, and configuration data write method

Also Published As

Publication number Publication date
JP2002208886A (en) 2002-07-26

Similar Documents

Publication Publication Date Title
CN102609286B (en) A kind of FPGA configurator remote update system based on processor control and method thereof
JP3762643B2 (en) Mobile terminal device, stored data update method, and firmware update method
US7856614B2 (en) Programmable system-on-chip apparatus and method for updating firmware
CN110941444B (en) Upgrade configuration logic circuit, method and system and programmable logic device
US20100325623A1 (en) Robot system, robot control device, and software update method of robot system
US7984239B2 (en) Control program download device
US7930535B1 (en) Method and apparatus for loading configuration data
JPH08101751A (en) Pc card and pc card system
CN101853173A (en) Software upgrading method and device of programmable logic device of distributed system
JP2008226083A (en) On-chip debug emulator, debugging method and microcomputer
CN111176702A (en) Firmware upgrading method and device, computer equipment and storage medium
JP2000065899A (en) Semiconductor device, and its data rewriting method
US20100070260A1 (en) Verification device, verifying apparatus and verification system
CN110459260B (en) Automatic test switching device, method and system
US5884074A (en) Microcomputer utilizing flash memory for data storage
CN101770434B (en) Method and system for switching different function units in PCI device
EP3923139B1 (en) Electronic control device and method for using non-volatile memory
CN211015473U (en) Upgrade configuration logic circuit, programmable logic device and upgrade configuration system
CN101490658B (en) Information communication processing device, information communication terminal, information communication system and function switching method
US6598176B1 (en) Apparatus for estimating microcontroller and method thereof
CN210052151U (en) Double-chip program updating device
CN101261585A (en) Method and system for updating microcontroller firmware
CN113342385A (en) Software upgrading method and device and air conditioner control panel
JPH11149376A (en) Boot loader circuit
KR100290280B1 (en) Microcontroller with Programmable Flash Memory

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050221

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050301

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050428

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060104

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060113

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090120

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100120

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110120

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120120

Year of fee payment: 6

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130120

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees