JP2011022880A - Method of verifying program, program verification device, and portable terminal device - Google Patents
Method of verifying program, program verification device, and portable terminal device Download PDFInfo
- Publication number
- JP2011022880A JP2011022880A JP2009168543A JP2009168543A JP2011022880A JP 2011022880 A JP2011022880 A JP 2011022880A JP 2009168543 A JP2009168543 A JP 2009168543A JP 2009168543 A JP2009168543 A JP 2009168543A JP 2011022880 A JP2011022880 A JP 2011022880A
- Authority
- JP
- Japan
- Prior art keywords
- terminal
- cpu
- authentication code
- control unit
- debug mode
- 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
Landscapes
- Debugging And Monitoring (AREA)
Abstract
Description
本発明は、例えば携帯電話機、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)、携帯ゲーム機、ノート型のパーソナルコンピュータ装置等の携帯端末装置の他、あらゆる電子機器に設けられている集積回路の動作検証を行うオンチップ・エミュレータ装置に適用して好適なプログラム検証方法、プログラム検証装置に関する。また、このプログラム検証装置を備えた携帯端末装置に関する。 The present invention can be applied to various electronic devices in addition to portable terminal devices such as cellular phones, PHS phones (PHS: Personal Handyphone System), PDA devices (PDA: Personal Digital Assistant), portable game machines, and notebook personal computer devices. The present invention relates to a program verification method and a program verification apparatus suitable for application to an on-chip emulator device that performs operation verification of an integrated circuit provided. The present invention also relates to a mobile terminal device provided with the program verification device.
従来、DIPパッケージ(DIP:Dual In-line Package)やSOPパッケージ(SOP:Small Outline Package)と呼ばれるICチップが主流の時代には、プリント基板は両面基板となっており、ICチップ(IC:Integrated Circuit:集積回路)の各端子がプリント基板から突出する状態で、該ICチップがプリント基板上に設けられていた。このため、オシロスコープやロジックアナライザ等の測定器のプローブ(針)を上記各端子に接触させて直接的に信号を検出することで、回路開発時のデバッグや出荷時の検査等が可能であった。 Conventionally, when IC chips called DIP package (DIP: Dual In-line Package) and SOP package (SOP: Small Outline Package) have been mainstream, printed circuit boards are double-sided, and IC chips (IC: Integrated The IC chip was provided on the printed circuit board with each terminal of the circuit projecting from the printed circuit board. For this reason, debugging at the time of circuit development, inspection at the time of shipment, etc. were possible by contacting the probe (needle) of a measuring instrument such as an oscilloscope or logic analyzer with the above terminals and directly detecting the signal. .
しかし、半導体技術の進歩によりICチップのピン間隔も狭くなり上記プローブによる検査が困難となった。また、表面実装のBGAパッケージ(BGA:Ball Grid Array)の場合は、プローブによる検査は不可能なものとなった。 However, with the advancement of semiconductor technology, the pin spacing of the IC chip is narrowed, making it difficult to inspect with the probe. In the case of a surface-mounted BGA package (BGA: Ball Grid Array), inspection with a probe is impossible.
このため、検査時に、ICチップ内の各回路を数珠繋ぎにし、内部状態を順番に読み出すバウンダリスキャンテスト(Boundary Scan Test)が行われるようになった。そして、このバウンダリスキャンテストの方式は、ヨーロッパ諸国及びアメリカ合衆国の業界団体(=JTAG:Joint Test Action Group)により「JTAG方式」として統一規格化され、IEEE標準1149.1(IEEE:Institute of Electrical and Electronic Engineers=電気電子技術者協会)として標準化されるに至っている。 For this reason, at the time of inspection, a boundary scan test (Boundary Scan Test) is performed in which each circuit in the IC chip is connected in a row and the internal state is sequentially read. This boundary scan test method has been standardized as a “JTAG method” by industry groups (= JTAG: Joint Test Action Group) in European countries and the United States of America, and IEEE Standard 1149.1 (IEEE: Institute of Electrical and Electronic). Engineers = Association of Electrical and Electronic Engineers).
近年において、このようなJTAG方式は、ソフトウェアプログラムのデバッグが可能なように機能拡張されており、この拡張機能を備えた「JTAG−ICE(ICE:In-Circuit Emulator:登録商標)」と呼ばれるオンチップ・エミュレータを用いて、システムのソフトウェアプログラムのデバッグ等が行われている。 In recent years, such a JTAG system has been expanded so that software programs can be debugged. On-board called “JTAG-ICE (ICE: In-Circuit Emulator: registered trademark)” equipped with this extended function. The system software program is debugged using a chip emulator.
一方、携帯電話機等の携帯端末装置は、年々、機能の多様化及び小型化が進み、内部構造が複雑化すると共に、大規模なソフトウェアプログラムの開発が必要となっている。そして、大規模なソフトウェアプログラムの開発を行うためにも、当該ソフトウェアプログラムのデバッグ時における上記JTAG−ICEの重要性も高まっている。 On the other hand, mobile terminal devices such as mobile phones have been diversified in function and miniaturized year by year, the internal structure has become complicated, and large-scale software programs have to be developed. In order to develop a large-scale software program, the importance of the JTAG-ICE at the time of debugging the software program is also increasing.
このJTAG−ICEを用いてソフトウェアプログラムのデバッグが可能な携帯端末装置には、図5に示すCPU100に、CPUコア101と共に、ソフトウェアプログラムのデバッグ用の4本〜6本の配線を備えたJTAGコントローラ102が設けられている。ソフトウェアプログラムのデバッグ時には、このJTAGコントローラ102の配線を、パーソナルコンピュータ装置104に接続されたJTAG−ICE103に対してパラレル接続する。そして、このJTAG−ICE103を用いて、CPU100の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、ソフトウェアプログラムに基づくCPU100の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
A portable terminal device capable of debugging a software program using this JTAG-ICE includes a JTAG controller including a CPU core 101 and four to six wires for debugging a software program in addition to the CPU core 101 shown in FIG. 102 is provided. When debugging the software program, the wiring of the JTAG
なお、本発明に関連する先行技術としては、特開2006−510980号の公開特許公報(特許文献1)に、単一の集積回路上の複数の試験アクセス・ポート・コントローラにアクセスする方法、及び装置が開示されている。 As prior art related to the present invention, Japanese Patent Application Laid-Open No. 2006-510980 (Patent Document 1) discloses a method of accessing a plurality of test access port controllers on a single integrated circuit, and An apparatus is disclosed.
しかし、従来、JTAG−ICE103を用いて行うソフトウェアプログラムのデバッグには、以下の問題があった。 However, conventionally, there has been the following problem in debugging a software program using JTAG-ICE103.
まず、JTAGコントローラ102に設けられている上記配線とJTAG−ICE103とをライン接続するためには、携帯端末装置の筐体を解体して、CPU100を露出させる必要がある。このため、上記筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう問題がある。この問題は、近年において携帯端末装置の端末形状や内部構造が複雑化したことで、より顕著な問題となっている。
First, in order to make a line connection between the wiring provided in the JTAG
ただ、上記筐体を解体しなければ上記配線とJTAG−ICE103とをライン接続できないということは、上述の問題が生ずる反面、JTAG信号の取り扱いに対して、ある程度のセキュリティ性が確保されていることを意味している。このため、簡単にJTAG信号を取り出せるような構成にしてしまうと、逆にJTAG信号の取り扱いに対するセキュリティ性が確保できないという、新たな問題を生ずる。 However, the fact that the wiring and JTAG-ICE 103 cannot be line-connected without disassembling the housing means that the above-mentioned problems occur, but a certain degree of security is ensured for handling JTAG signals. Means. For this reason, if the configuration is such that the JTAG signal can be easily extracted, there arises a new problem that the security for handling the JTAG signal cannot be secured.
次に、JTAGコントローラ102に設けられている上記配線とJTAG−ICE103とをライン接続するためには、上述のように携帯端末装置の筐体を解体して、CPU100を露出させる必要がある。しかし、携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグもある。このようなバグは、携帯端末装置の筐体を解体してしまっては修正できない問題がある。
Next, in order to make a line connection between the wiring provided in the JTAG
本発明は、上述の課題に鑑みてなされたものであり、携帯端末装置の筐体の解体を必要とすることなく、セキュリティ性を維持した状態でJTAG信号の取り出しを可能とすることができ、これを通じて携帯端末装置が組み上がっている状態でしか発生しないバグや、各携帯端末装置毎に個別に発生するバグの修正も可能とすることができるようなプログラム検証方法、プログラム検証装置、及びこのプログラム検証装置を備えた携帯端末装置の提供を目的とする。 The present invention has been made in view of the above-described problems, and can take out a JTAG signal while maintaining security without requiring disassembly of the casing of the mobile terminal device. Through this, a program verification method, a program verification device, and a program verification method capable of correcting a bug that occurs only when the mobile terminal device is assembled or a bug that occurs individually for each mobile terminal device, and this An object of the present invention is to provide a portable terminal device provided with a program verification device.
本発明に係るプログラム検証方法は、上述の課題を解決するために、
電子機器が備える第1の端子が、該第1の端子に一端が接続されたシリアルラインを介して所定の入力装置から入力されたデバッグモード移行制御信号、及びユニーク認証コードを受信する受信ステップと、
上記受信ステップにおいて上記第1の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のCPU(制御部)が、上記第1の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のCPU(制御部)に設けられている切り替え回路が、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有する。
In order to solve the above-described problem, the program verification method according to the present invention provides:
A receiving step in which a first terminal included in the electronic device receives a debug mode transition control signal and a unique authentication code input from a predetermined input device via a serial line having one end connected to the first terminal; ,
The CPU (control unit) of the electronic device receives the unique authentication code received at the first terminal using the debug mode transition control signal from the input device received at the first terminal in the reception step as a trigger. An authentication step for performing an authentication process for comparing with a regular unique authentication code stored in the memory;
Provided in the CPU (control unit) of the electronic device when an authentication result in which the inputted unique authentication code matches the regular authentication code stored in the memory is obtained in the authentication step. A switching control circuit, a debug control circuit provided in a CPU (control unit) of the electronic device and a predetermined software program via a parallel line having one end connected to a second terminal of the electronic device. And a parallel connection step for parallel connection with a debugger device for performing debugging.
このようなプログラム検証方法は、電子機器が備える第1の端子に一端が接続されたシリアルラインを介して、所定の入力装置からデバッグモード移行制御信号、及びユニーク認証コードを入力されると、このデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する。そして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続することで、上記ソフトウェアプログラムのデバッグを可能とする。 When such a program verification method receives a debug mode transition control signal and a unique authentication code from a predetermined input device via a serial line having one end connected to the first terminal of the electronic device, this program verification method Using the debug mode transition control signal as a trigger, the input unique authentication code is compared with the regular unique authentication code stored in the memory. Then, when an authentication result is obtained in which the input unique authentication code matches the regular authentication code stored in the memory, one end is connected to the second terminal of the electronic device. A debugging control circuit provided in a CPU (control unit) of the electronic device and a debugger device for debugging a predetermined software program are connected in parallel via a line, thereby debugging the software program. Make it possible.
これにより、電子機器が備えている第1の端子及び第2の端子を用いて、該電子機器とデバッガ装置とのパラレル接続を図ることができるため、電子機器の筐体を解体することなく、また、電子機器のCPU(制御部)を露出させることなく、デバッグを行うことを可能とすることができる。そして、電子機器の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。 Thereby, since it is possible to achieve parallel connection between the electronic device and the debugger device using the first terminal and the second terminal provided in the electronic device, without disassembling the housing of the electronic device, Further, debugging can be performed without exposing the CPU (control unit) of the electronic device. And since it is not necessary to disassemble the housing | casing of an electronic device, the inconvenience which damages a housing | casing and another part at the time of the disassembly or reassembly of this housing | casing can be prevented.
また、電子機器の筐体を解体することなくデバッグを行うことを可能とすることができるため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグに対するデバッグも可能とすることができる。 In addition, since debugging can be performed without disassembling the housing of the electronic device, a bug that occurs only when the electronic device is assembled or a bug that occurs individually for each electronic device Debugging can also be enabled.
また、電子機器が備える第1の端子を介してデバッグモード移行制御信号、及び正規のユニーク認証コードが入力された場合のみ、CPU(制御部)がデバッグモードに移行するため、当該携帯電話機のソフトウェアプログラムにデバッグのセキュリティ性を確保可能とすることができる。 In addition, since the CPU (control unit) shifts to the debug mode only when the debug mode shift control signal and the regular unique authentication code are input via the first terminal included in the electronic device, the software of the mobile phone Debug security can be ensured in the program.
本発明は、電子機器の筐体を解体することなく、セキュリティ性を維持した状態でデバッグ信号を取り出し可能とすることができる。このため、電子機器が組み上がっている状態でしか発生しないバグや、各電子機器毎に個別に発生するバグも、デバッグ信号のセキュリティ性を維持した状態で修正可能とすることができる。 The present invention can extract a debug signal while maintaining security without disassembling the housing of the electronic device. Therefore, bugs that occur only when the electronic device is assembled and bugs that occur individually for each electronic device can be corrected while maintaining the security of the debug signal.
本発明は、携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。 The present invention can be applied to a program verification system that verifies a software program of a mobile phone.
[携帯電話機の構成]
まず、この本発明の実施例となるプログラム検証システムでソフトウェアプログラムの検証が行われる携帯電話機のブロック図を図1に示す。
[Configuration of mobile phone]
First, FIG. 1 shows a block diagram of a mobile phone in which a software program is verified by the program verification system according to the embodiment of the present invention.
この図1に示すように、この携帯電話機は、無線基地局との間で音声通話、テレビ電話通話、電子メール、Webデータ(Web:World Wide Web)等の無線通信を行うアンテナ1及び通信回路2と、受話音声等を出力するためのスピーカ部3と、送話音声等を集音するためのマイクロホン部4と、操作メニュー、電子メール、画像(静止画像及び動画像)等を表示するための表示部5と、十字キー、決定キー、数字キー等の複数の操作キーを備えた操作部6と、発着信等をユーザに光で通知するための発光部7(LED:Light Emitting Diode:発光ダイオード)とを有している。
As shown in FIG. 1, this mobile phone includes an
また、この携帯電話機は、所望の被写体の静止画像或いは動画像を撮像するためのカメラ部8と、当該携帯電話機の筐体を振動させて発着信等をユーザに通知するためのバイブレーションユニット9と、現在時刻をカウントするタイマ10と、例えば地上デジタル放送(いわゆる、ワンセグテレビジョン放送)等のテレビジョン放送を受信するためのテレビジョンアンテナ11及びテレビジョンユニット12(TVユニット)と、当該携帯電話機の現在位置の検出を行うGPSアンテナ13(Global Positioning System)及びGPSユニット14とを有している。
The mobile phone includes a
また、この携帯電話機は、イヤホン装置やヘッドホン装置の平型コネクタが接続される音声出力端子15と、例えばSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリが装着される外部メモリ装着部16と、例えばUSB(Universal Serial Bus)やUART(Universal Asynchronous Receiver Transmitter)等のシステムコネクタ部17と、上記無線基地局を介した無線通信処理を行うためのコミュニケーションプログラムや各種アプリケーションプログラムの他、これら各アプリケーションプログラムで取り扱われる各種データ等が記憶されたメモリ18と、当該携帯電話機全体の動作を制御するCPU19(制御部)とを有している。
In addition, this mobile phone is equipped with an
メモリ18には、上記コミュニケーションプログラムの他、カメラ部8の撮像制御を行うと共に、撮像した静止画像や動画像のビューア機能も備えたカメラ制御プログラムと、電子メールの作成や送受信を制御するための電子メール管理プログラムと、ユーザのスケジュールが登録されたスケジュール帳の管理を行うためのスケジュール帳管理プログラムと、コミュニケーションネットワークやインターネット等の所定のネットワーク上に設けられたサーバ装置上で公開されているWebページを閲覧するためのWebブラウジングプログラムと、電話帳の管理を行うための電話帳管理プログラムと、音楽コンテンツの再生を行うための音楽プレーヤプログラムと、TVユニット12によるテレビジョン放送の選局制御を行うためのTVアプリケーションプログラムとが記憶されている。
In addition to the communication program, the
また、メモリ18には、ユーザの所望のスケジュールが登録されるスケジュール帳と、ユーザの知人や友人等のユーザ名、静止画像(顔写真等)、住所、電話番号、電子メールアドレス、生年月日等が登録された電話帳と、音楽プレーヤプログラムに基づいて再生される音楽データと、カメラ制御プログラムのビューワ機能に基づいて再生される静止画像データ及び動画像データと、送受信された電子メールデータと、電話及び電子メールの発着信履歴等が記憶されている。
In addition, the
[プログラム検証システム]
次に、このような携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムのブロック図を図2に示す。
[Program verification system]
Next, FIG. 2 shows a block diagram of a program verification system for verifying the software program of such a mobile phone.
この図2に示すように、プログラム検証システムは、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のオンチップ・エミュレータであるデバッガ装置31を携帯電話機の外部メモリ装着部16にパラレル接続し、このデバッガ装置31をパーソナルコンピュータ装置32に接続すると共に、携帯電話機の音声出力端子15とパーソナルコンピュータ装置32とをシリアル接続することで構成されている。
As shown in FIG. 2, in the program verification system, a
詳細に説明すると、携帯電話機のCPU19は、図2に示すようにCPUコア22と共に、JTAG拡張方式に基づいてソフトウェアプログラムのデバッグ制御を行うJTAGコントローラ23(デバッグ制御回路)と、当該携帯電話機のシステムのブートプログラムの他、当該携帯電話機の製造業者の固有の認証コード(ユニーク認証コード)が記憶されたROM21(Read Only Memory)と、デバッグ時に、外部メモリ装着部16を介してJTAGコントローラ23とデバッガ装置31とを接続する切り替え回路24とを有している。
More specifically, the
切り替え回路24は、第1の切り替えスイッチ25及び第2の切り替えスイッチ26を有している。第1の切り替えスイッチ25の被選択端子25aはJTAGコントローラ23に接続されており、また、第1の切り替えスイッチ25の被選択端子25bはCPUコア22に接続されている。また、第1の切り替えスイッチ25の選択端子25cは、第2の切り替えスイッチ26の選択端子26cに接続されている。
The
第2の切り替えスイッチ26の被選択端子26aは、平型コネクタとなっている音声出力端子の空き端子(リザーブ端子)に接続されている。また、この第2の切り替えスイッチ26の被選択端子26bは外部メモリ装着部16に接続されている。
The selected terminal 26a of the
後述するが、切り替え回路24の各切り替えスイッチ25,26は、通常時には、音声出力端子15とCPUコア22とを接続するように切り替え制御されており、デバッガ時となると、JTAGコントローラ23と外部メモリ装着部16とを接続するように切り替え制御される。
As will be described later, the changeover switches 25 and 26 of the
[プログラム検証システムのプログラム検証動作]
このようなプログラム検証システムで携帯電話機のソフトウェアプログラムの検証を行う場合、まず、一端が平型コネクタの形状となっているシリアルデータラインを携帯電話機の音声出力端子15に装着すると共に、このシリアルデータラインの他端をパーソナルコンピュータ装置32に接続する。
[Program verification operation of program verification system]
When verifying a software program of a mobile phone with such a program verification system, first, a serial data line having one end of a flat connector shape is attached to the
また、一端がSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリの形状となっているパラレルデータラインを携帯電話機の外部メモリ装着部16に装着すると共に、このパラレルデータラインの他端をJTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31に接続する。
In addition, a parallel data line having one end in the form of a card type semiconductor memory such as an SD memory card (registered trademark) or a memory stick (registered trademark) is mounted on the external
そして、携帯電話機の起動時に、パーソナルコンピュータ装置32からハイレベル(H)の制御信号であるデバッグモード移行制御信号を携帯電話機に供給する。これにより、携帯電話機のCPU19が通常のブートモードからデバッグモードに移行し、所望のソフトウェアプログラムの検証が可能となる。
When the mobile phone is activated, a debug mode shift control signal, which is a high-level (H) control signal, is supplied from the
図3のフローチャートに、携帯電話機のCPU19がデバッグモードに移行するまでの流れを示す。携帯電話機のCPU19のCPUコア22は、当該携帯電話機のメイン電源の投入を検出することで、当該携帯電話機のシステムの起動時となった際に、図1及び図2に示すROMに記憶されているブートプログラムに基づいて、この図3のフローチャートに示す処理を開始する。
The flowchart in FIG. 3 shows a flow until the
まず、ステップS1では、CPUコア22が、図2に示す音声出力端子15に供給されている信号レベルを検出する。そして、CPUコア22は、ステップS2において、この音声出力端子15に供給されている信号レベルはハイレベルであるか否かを判別し、ハイレベルであるものと判別した場合には処理をステップS3に進め、ローレベルであるものと判別した場合には処理をステップS9に進める。
First, in step S1, the
具体的には、CPUコア22は、後述するデバッグモード時以外の通常時には、選択端子25cで被選択端子25bを選択し、選択端子26cで被選択端子26aを選択するように、第1及び第2の切り替えスイッチ25,26を切り替え制御している。このため、上記通常時には、切り替え回路24及び音声出力端子15を介して、CPU19のCPUコア22とパーソナルコンピュータ装置32とがシリアル接続された状態となっている。
Specifically, the
ソフトウェアプログラムの検証を行う検証者は、携帯電話機のメイン電源を投入した際に、パーソナルコンピュータ装置32を介して上記ハイレベル(H)のデバッグモード移行制御信号を携帯電話機に供給する。これにより、上記ハイレベル(H)のデバッグモード移行制御信号は、携帯電話機の音声出力端子15及び切り替え回路24を順に介して、CPU19のCPUコア22に供給される。
A verifier who verifies the software program supplies the high-level (H) debug mode shift control signal to the mobile phone via the
ステップS1及びステップS2では、CPUコア22が、このハイレベル(H)のデバッグモード移行制御信号が音声出力端子15に供給されているか否かを判別しており、ハイレベル(H)のデバッグモード移行制御信号が音声出力端子15に供給されているものと判別した際に、処理をステップS23に進める。
In step S1 and step S2, the
なお、ハイレベル(H)のデバッグモード移行制御信号が供給されていない場合には、音声出力端子15の信号レベルはローレベル(L)となる。このため、CPUコア22は、音声出力端子15の信号レベルがローレベル(L)であるものと判別した場合には、ステップS9において、通常のブート処理を行う。
When the high-level (H) debug mode transition control signal is not supplied, the signal level of the
次に、このプログラム検証システムの場合、ソフトウェアプログラムの検証を行う検証者は、上述のハイレベル(H)のデバッグモード移行制御信号を供給してから例えば15秒等の所定時間以内に、パーソナルコンピュータ装置32から携帯電話機に対して、当該携帯電話機の製造業者の固有の認証コード(ユニーク認証コード)を供給するようになっている。このユニーク認証コードは、音声出力端子15及び切り替え回路24を順に介して、CPU19のCPUコア22に供給され、CPUコア22は、この供給されたユニーク認証コードを、ROM21に記憶されている正規のユニーク認証コードに基づいて、認証処理する。
Next, in the case of this program verification system, the verifier who verifies the software program supplies the personal computer within a predetermined time such as 15 seconds after supplying the high-level (H) debug mode transition control signal. The
このため、CPUコア22は、ステップS3に処理を進めるとタイマ10からの計時情報に基づいて、上記15秒等の所定時間のカウントを開始する。そして、ステップS4において、上述のハイレベル(H)のデバッグモード移行制御信号が供給されてから上記15秒等の所定時間が経過したか否かを判別し、該所定時間が経過していないものと判別した場合にはステップS5において、上記ユニーク認証コードの供給がなされたか否かを判別する。
For this reason, when the
上記所定時間が経過するまでの間に上記ユニーク認証コードが供給されなかった場合、CPUコア22は、処理をステップS9に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル(H)のデバッグモード移行制御信号の供給を行った場合でも、この不正ユーザは、正規のユニーク認証コードを知り得ないことから、上記所定時間以内にユニーク認証コードの供給を行うことができず、CPUコア22が後述するデバッグモードに移行することはないため、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
If the unique authentication code is not supplied before the predetermined time has elapsed, the
これに対して、上記所定時間が経過するまでの間に上記ユニーク認証コードが供給された場合には、CPUコア22は処理をステップS6に進め、この供給されたユニーク認証コードと、ROM21に記憶されている正規のユニーク認証コードとに基づいて、ユニーク認証コードの認証処理を行い、ステップS7において、供給されたユニーク認証コードと、ROM21に記憶されている正規のユニーク認証コードとが一致したか否かを判別し(=認証OKか否か)、上記両者が一致したものと判別した場合にはステップS8に処理を進めデバッグモードに移行する。
On the other hand, if the unique authentication code is supplied before the predetermined time elapses, the
また、CPUコア22は、上記両者が一致しないものと判別した場合には、パーソナルコンピュータ装置32からユニーク認証コードの供給を行ったユーザは、上述の不正ユーザである可能性が高いため、処理をステップS9に進め、通常のブート処理を行う。これにより、携帯電話機の製造業者以外の不正ユーザがソフトウェアプログラムの改竄等の目的で、上記ハイレベル(H)のデバッグモード移行制御信号の供給を行い、上記所定時間以内に適当なユニーク認証コードの供給を行った場合でも、この不正ユーザにより供給された適当なユニーク認証コードが、ROM21に記憶されている正規のユニーク認証コードと一致する可能性は非常に低いため、CPUコア22がデバッグモードに移行することはなく、不正ユーザによるソフトウェアプログラムの改竄等を防止することができる。
If the
次に、CPUコア22は、デバッグモードに移行すると、選択端子25cで被選択端子25aを選択し、選択端子26cで被選択端子26bを選択するように、第1及び第2の切り替えスイッチ25,26を切り替え制御する。これにより、このデバッグモード時には、切り替え回路24及び外部メモリ装着部16を介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とがパラレル接続された状態となる。
Next, when entering the debug mode, the
ソフトウェアプログラムの検証を行う検証者は、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とがパラレル接続されたデバッグモードにおいて、CPUコア22の動作を任意のタイミングで停止させたり、レジスタやメモリの内容を読み書きすることで、所望のソフトウェアプログラムに基づくCPUコア22の動作を検証し、該ソフトウェアプログラムのデバッグを行う。
The verifier who verifies the software program has the
[実施例の効果]
以上の説明から明らかなように、この実施例のプログラム検証システムは、CPUコア22が通常時である場合には、CPUコア22と音声出力端子15とを接続するように切り替え回路24を切り替え制御しておき、平型コネクタの形状の端子を有するシリアルラインが音声出力端子15に装着され、この音声出力端子15を介してパーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号が供給され、なおかつ、正規のユニーク認証コードが供給された際に、CPUコア22がデバッグモードに移行するようになっている。
[Effect of Example]
As is apparent from the above description, the program verification system of this embodiment controls the switching
そして、デバッグモードに移行した際には、CPU19のJTAGコントローラ23と、外部メモリ装着部16とを接続するように切り替え回路24を切り替え制御し、外部メモリ装着部16に装着された、一端がSDメモリカード(登録商標)やメモリースティック(登録商標)等のカード型半導体メモリの形状となっているパラレルデータラインを介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続して、検査対象となっているソフトウェアプログラムのデバッグを行う。
When the debug mode is entered, the switching
これにより、携帯電話機の音声出力端子15に対して、平型コネクタの形状の端子を有するシリアルラインを接続し、外部メモリ装着部16に対して、一端がカード型半導体メモリの形状となっているパラレルデータラインを接続するだけでデバッグを行うことができる。従って、携帯電話機の筐体を解体することなく、また、CPU19を露出させることなく、デバッグを行うことを可能とすることができる。そして、携帯電話機の筐体を解体する必要がないため、該筐体の解体時や再組み立て時に、筐体や他の部分を破損させてしまう不都合を防止することができる。近年においては、携帯電話機の端末形状や内部構造が複雑化しているため、この筐体の解体やCPU19の露出を不要とすることができるという効果は、非常に大きな効果となる。
As a result, a serial line having a flat connector shape terminal is connected to the
また、携帯電話機の筐体を解体することなくデバッグを行うことを可能とすることができるため、携帯電話機が組み上がっている状態でしか発生しないバグや、各携帯電話機毎に個別に発生するバグに対するデバッグも可能とすることができる。 In addition, since debugging can be performed without dismantling the mobile phone casing, bugs that occur only when the mobile phone is assembled or bugs that occur individually for each mobile phone Debugging can also be enabled.
また、音声出力端子15を介してパーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号が供給し、なおかつ、所定時間以内に正規のユニーク認証コードを供給した際にのみ、CPUコア22がデバッグモードに移行するようになっている。このため、このような時間的制約、及び正規のユニーク認証コードの入力を必要とする構成により、JTAG信号の取り扱いに対して、強固なセキュリティ性を確保することができる。
The
[変形例]
次に、上述の実施例のプログラム検証システムは、携帯電話機の音声出力端子15に存在するリザーブ端子を介してハイレベル(H)のデバッグモード移行制御信号、及び正規のユニーク認証コードをCPUコア22に供給し、外部メモリ装着部16を介してCPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続する構成であったが、この実施例の変形例となるプログラム検証システムは、図4に示すように携帯電話機の例えばUSB(Universal Serial Bus)やUART(Universal Asynchronous Receiver Transmitter)等のシステムコネクタ部17が備えるリザーブ端子を、シリアル端子17a、パラレル端子17bとし、シリアル端子17aをパーソナルコンピュータ装置32に接続し、パラレル端子17bをJTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31に接続したものである。
[Modification]
Next, in the program verification system of the above-described embodiment, the
この変形例のプログラム検証システムも、上述の実施例のプログラム検証システムと同様であり、通常時には、CPUコア22が、当該CPUコア22と、システムコネクタ部17のシリアル端子17aとを接続するように切り替え回路24を切り替え制御しておく。
The program verification system of this modified example is also the same as the program verification system of the above-described embodiment, and the
所望のソフトウェアプログラムの検証を行う場合、検証者は、パーソナルコンピュータ装置32からハイレベル(H)のデバッグモード移行制御信号を供給すると共に、所定時間内に正規のユニーク認証コードを供給する。これにより、CPUコア22がデバッグモードに移行する。
When verifying a desired software program, the verifier supplies a high-level (H) debug mode transition control signal from the
CPU19のCPUコア22は、デバッグモードに移行すると、JTAGコントローラ23と、パラレル端子17bとを接続するように切り替え回路24を切り替え制御し、このシステムコネクタ部17を介して、CPU19のJTAGコントローラ23と、JTAG−ICE(ICE:In-Circuit Emulator:登録商標)等のデバッガ装置31とを接続する。これにより、検査対象となっているソフトウェアプログラムのデバッグが可能となり、上述の実施例のプログラム検証システムと同じ効果を得ることができる。
When the
[他の変形例]
上述の実施例及び実施例の変形例の説明では、本発明を携帯電話機のソフトウェアプログラムの検証を行うプログラム検証システムに適用することとしたが、本発明は、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)、携帯ゲーム機、ノート型やデスクトップ型のパーソナルコンピュータ装置等のあらゆる電子機器のソフトウェアプログラムの検証を行うプログラム検証システムに適用することができる。
[Other variations]
In the above description of the embodiment and the modification of the embodiment, the present invention is applied to a program verification system that verifies a software program of a mobile phone. The present invention can be applied to a program verification system for verifying software programs of all electronic devices such as PDA devices (PDA: Personal Digital Assistant), portable game machines, notebook type and desktop type personal computer devices.
最後に、上述の実施例及び実施例の変形例は、本発明の一例である。このため、本発明は上述のこれらの例に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。 Finally, the above-described embodiments and modifications of the embodiments are examples of the present invention. For this reason, the present invention is not limited to the above-described examples, and various modifications can be made according to the design and the like as long as they do not depart from the technical idea according to the present invention. I add that there is something.
1 携帯電話機のアンテナ、2 通信回路、3 スピーカ部、4 マイクロホン部、5 表示部、6 操作部、7 発光部(LED)、8 カメラ部、9 バイブレーションユニット、10 タイマ、11 テレビジョンアンテナ、12 テレビジョンユニット(TVユニット)、13 GPSアンテナ、14 GPSユニット、15 音声出力端子、16 外部メモリ装着部、17 システムコネクタ部、17a システムコネクタ部のシリアル端子、17b システムコネクタ部のパラレル端子、18 メモリ、19 CPU、21 CPUのROM、22 CPUのCPUコア、23 CPUのJTAGコントローラ、24 CPUの切り替え回路、25 切り替え回路の第1の切り替えスイッチ、26 切り替え回路の第2の切り替えスイッチ、31 デバッガ装置(JTAG−ICE)、32 パーソナルコンピュータ装置
DESCRIPTION OF
Claims (4)
上記受信ステップにおいて上記第1の端子で受信した上記入力装置からのデバッグモード移行制御信号をトリガとして、上記電子機器のCPU(制御部)が、上記第1の端子で受信した上記ユニーク認証コードと、メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証ステップと、
上記認証ステップにおいて、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に、上記電子機器のCPU(制御部)に設けられている切り替え回路が、電子機器が備える第2の端子に一端が接続されたパラレルラインを介して、該電子機器のCPU(制御部)に設けられているデバッグ制御回路と、所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置とをパラレル接続するパラレル接続ステップと
を有するプログラム検証方法。 A receiving step in which a first terminal included in the electronic device receives a debug mode transition control signal and a unique authentication code input from a predetermined input device via a serial line having one end connected to the first terminal; ,
The CPU (control unit) of the electronic device receives the unique authentication code received at the first terminal using the debug mode transition control signal from the input device received at the first terminal in the reception step as a trigger. An authentication step for performing an authentication process for comparing with a regular unique authentication code stored in the memory;
Provided in the CPU (control unit) of the electronic device when an authentication result in which the inputted unique authentication code matches the regular authentication code stored in the memory is obtained in the authentication step. A switching control circuit, a debug control circuit provided in a CPU (control unit) of the electronic device and a predetermined software program via a parallel line having one end connected to a second terminal of the electronic device. A program verification method comprising: a parallel connection step of connecting a debugger device for performing debugging in parallel.
請求項1に記載のプログラム検証方法。 The authentication step includes a time-out step for determining whether or not the unique authentication code has been input within a predetermined time after the debug mode transition control signal is supplied from the input device. The program verification method according to claim 1, wherein the control unit performs the authentication process in the authentication step only when the unique authentication code is input within the predetermined time.
電子機器が備える第2の端子に一端が接続され、他端が所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置に接続されたパラレルラインと、
上記電子機器のCPU(制御部)に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記電子機器のCPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記電子機器のCPU(制御部)に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
正規のユニーク認証コードが記憶されたメモリと、
上記電子機器のCPU(制御部)に設けられ、上記通常時に、上記第1の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、該入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとを比較し、該両者が一致する認証結果が得られた際に上記デバッグモードに移行し、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記デバッグ制御回路とをパラレル接続するように、上記切り替え回路を切り替え制御して、上記所定のソフトウェアプログラムのデバッグを行うCPUコアと
を有するプログラム検証装置。 A serial line having one end connected to the first terminal of the electronic device and the other end connected to a predetermined input device;
A parallel line having one end connected to the second terminal of the electronic device and the other end connected to a debugger device for debugging a predetermined software program;
Provided in the CPU (control unit) of the electronic device and connected to the CPU core of the CPU (control unit) of the electronic device and the predetermined input device in a normal time other than the debug mode for debugging the software program. The first terminal is serially connected, and in the debug mode, the second terminal to which a debugger device for debugging the predetermined software program is connected, and the CPU (control unit) of the electronic device. A switching circuit for connecting in parallel with the debug control circuit provided in
A memory storing a regular unique authentication code;
Provided in the CPU (control unit) of the electronic device, and at the normal time, triggered by a debug mode transition control signal supplied from the input device via the first terminal, the input unique authentication code, A debugger device for comparing with a regular authentication code stored in the memory and shifting to the debug mode when an authentication result matching the two is obtained and debugging the predetermined software program A program verification apparatus comprising: a CPU core that performs switching control of the switching circuit to debug the predetermined software program so that the connected second terminal and the debug control circuit are connected in parallel.
所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が、パラレルラインを介して接続される第2の端子と、
正規のユニーク認証コードが記憶されたメモリと、
CPU(制御部)に設けられ、上記第1の端子を介して上記入力装置から供給されるデバッグモード移行制御信号をトリガとして、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規のユニーク認証コードとを比較する認証処理を行う認証処理部と、
上記CPU(制御部)に設けられ、上記ソフトウェアプログラムのデバッグを行うデバッグモード時以外の通常時には、上記CPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続し、上記デバッグモード時には、上記所定のソフトウェアプログラムのデバッグを行うためのデバッガ装置が接続された上記第2の端子と、上記CPU(制御部)に設けられているデバッグ制御回路とをパラレル接続する切り替え回路と、
上記通常時には、上記CPU(制御部)のCPUコアと、上記所定の入力装置に接続された上記第1の端子とをシリアル接続するように、上記切り替え回路を切り替え制御し、上記通常時に、上記認証処理部が上記認証処理を行うことで、上記入力されたユニーク認証コードと、上記メモリに記憶されている正規の認証コードとが一致する認証結果が得られた際に上記デバッグモードに移行し、上記第2の端子に一端が接続されたパラレルラインを介して、上記CPU(制御部)に設けられているデバッグ制御回路と、上記デバッガ装置とをパラレル接続するように上記切り替え回路を切り替え制御する切り替え制御部と
を有する携帯端末装置。 A first terminal to which a debug mode transition control signal from a predetermined input device and a unique authentication code are input via a serial line;
A debugger device for debugging a predetermined software program, a second terminal connected via a parallel line;
A memory storing a regular unique authentication code;
Provided in the CPU (control unit) and triggered by a debug mode transition control signal supplied from the input device via the first terminal, the input unique authentication code and the normal stored in the memory An authentication processing unit that performs an authentication process for comparing the unique authentication code of
The CPU (control unit) and the first terminal connected to the CPU core of the CPU (control unit) and the predetermined input device in a normal time other than the debug mode for debugging the software program And in the debug mode, the second terminal to which a debugger device for debugging the predetermined software program is connected, and a debug control circuit provided in the CPU (control unit) A switching circuit for parallel connection,
In the normal time, the switching circuit is controlled to be serially connected to the CPU core of the CPU (control unit) and the first terminal connected to the predetermined input device. When the authentication processing unit performs the authentication process, the authentication mode shifts to the debug mode when an authentication result is obtained in which the input unique authentication code matches the normal authentication code stored in the memory. The switching circuit is switched and controlled so that the debug control circuit provided in the CPU (control unit) and the debugger device are connected in parallel via a parallel line having one end connected to the second terminal. A mobile terminal device having a switching control unit.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009168543A JP2011022880A (en) | 2009-07-17 | 2009-07-17 | Method of verifying program, program verification device, and portable terminal device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2009168543A JP2011022880A (en) | 2009-07-17 | 2009-07-17 | Method of verifying program, program verification device, and portable terminal device |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2011022880A true JP2011022880A (en) | 2011-02-03 |
Family
ID=43632888
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2009168543A Withdrawn JP2011022880A (en) | 2009-07-17 | 2009-07-17 | Method of verifying program, program verification device, and portable terminal device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2011022880A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101280698B1 (en) | 2011-12-21 | 2013-07-01 | 현대위아 주식회사 | Apparatus for embedded software installment |
US8561170B2 (en) | 2010-12-02 | 2013-10-15 | Kabushiki Kaisha Toshiba | Processor and semiconductor device |
JP2022050944A (en) * | 2020-09-18 | 2022-03-31 | 株式会社東芝 | Semiconductor device and system including the same |
-
2009
- 2009-07-17 JP JP2009168543A patent/JP2011022880A/en not_active Withdrawn
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8561170B2 (en) | 2010-12-02 | 2013-10-15 | Kabushiki Kaisha Toshiba | Processor and semiconductor device |
KR101280698B1 (en) | 2011-12-21 | 2013-07-01 | 현대위아 주식회사 | Apparatus for embedded software installment |
JP2022050944A (en) * | 2020-09-18 | 2022-03-31 | 株式会社東芝 | Semiconductor device and system including the same |
JP7404205B2 (en) | 2020-09-18 | 2023-12-25 | 株式会社東芝 | Semiconductor devices and systems including them |
US12047504B2 (en) | 2020-09-18 | 2024-07-23 | Kabushiki Kaisha Toshiba | Semiconductor device including a normal mode, a debug mode, and a key |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11874759B2 (en) | Recording processor instruction execution cycle and non-cycle count trace events | |
US7526679B2 (en) | Apparatus for developing and verifying system-on-chip for internet phone | |
US8254908B2 (en) | Server and method for remotely testing electronic devices | |
TWI650565B (en) | An integrated circuit (IC) connected to a flip-flop connected to a flip-flop in a scan chain, a method of operating the IC, and a device having the IC by using a Joint Test Action Group (JTAG) interface | |
US8484524B2 (en) | Integrated circuit with self-test feature for validating functionality of external interfaces | |
US20080120058A1 (en) | Multi-cpu mobile terminal and multi-cpu test system and method | |
US9684578B2 (en) | Embedded universal serial bus (USB) debug (EUD) for multi-interfaced debugging in electronic systems | |
US20110239196A1 (en) | Micro-Task Pipeline Visualization | |
KR100941563B1 (en) | On the fly configuration of electronic device with attachable sub-modules | |
CN108415741A (en) | Object serialization and unserializing method and relevant apparatus | |
US20060149879A1 (en) | Mini pci module having antenna pin set for electrically connecting to an antenna set | |
JP2011022880A (en) | Method of verifying program, program verification device, and portable terminal device | |
JP2009165679A (en) | Game system | |
KR20090025530A (en) | Subscriber identify module card and terminal connectable of the same | |
CN107608923B (en) | Test processing method and related product | |
CN108833033A (en) | RF calibration determination method for parameter, device, storage medium and mobile terminal | |
CN114090355A (en) | Method, system, device and storage medium for post-silicon testing | |
US9386253B2 (en) | Electronic television comprising mobile phone apparatus | |
US20050099832A1 (en) | System and method for securing an integrated circuit as against subsequent reprogramming | |
TW201310251A (en) | Testing system and method having wireless data transmission capability | |
CN106897045B (en) | Audio frequency playing method, device and computer equipment | |
KR100889065B1 (en) | Method For Testing Reliability Of Portable Terminal And Portable Terminal For Providing Reliability Test Information | |
KR100816239B1 (en) | Portable terminal having testing interface | |
JP5329743B2 (en) | Semiconductor integrated circuit device | |
CN110633192B (en) | Test method, test device, terminal equipment and computer readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20120424 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20120426 |
|
A300 | Application deemed to be withdrawn because no request for examination was validly filed |
Free format text: JAPANESE INTERMEDIATE CODE: A300 Effective date: 20121002 |