JP2009140398A - External memory, portable terminal device, loading method of program, and software loading program - Google Patents

External memory, portable terminal device, loading method of program, and software loading program Download PDF

Info

Publication number
JP2009140398A
JP2009140398A JP2007318328A JP2007318328A JP2009140398A JP 2009140398 A JP2009140398 A JP 2009140398A JP 2007318328 A JP2007318328 A JP 2007318328A JP 2007318328 A JP2007318328 A JP 2007318328A JP 2009140398 A JP2009140398 A JP 2009140398A
Authority
JP
Japan
Prior art keywords
program
information
external memory
memory
current time
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.)
Pending
Application number
JP2007318328A
Other languages
Japanese (ja)
Inventor
Katsumi Aoyanagi
勝己 青柳
Nobuyuki Kawada
暢之 川田
Tomohiro Ichikawa
知宏 市川
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.)
Sony Corp
Original Assignee
Sony Ericsson Mobile Communications Japan Inc
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 Sony Ericsson Mobile Communications Japan Inc filed Critical Sony Ericsson Mobile Communications Japan Inc
Priority to JP2007318328A priority Critical patent/JP2009140398A/en
Publication of JP2009140398A publication Critical patent/JP2009140398A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To prevent, in the event of leak of an external memory storing a program for loading (software loading) to a memory in a cellular phone, unauthorized software loading using the leaked external memory by a third person as much as possible. <P>SOLUTION: To the external memory storing the program for software loading, expiration date information, showing the period that allows software loading of the program stored in the external memory is attached. When software loading is performed from the external memory, the cellular phone acquires a current time clocked by RTC, and executes software loading, only when the date of the acquired current time lies within the expiration date attached to the external memory. According to this, even if the external memory is leaked, the executable period of software loading using the external memory can be limited within the expiration date, and a trouble, such as unauthorized execution of software loading by a third person can be prevented, as much as possible. <P>COPYRIGHT: (C)2009,JPO&INPIT

Description

本発明は、外部メモリに記憶された所定のプログラムを、例えば携帯電話機、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)等の携帯機器に対してロードする際に用いて好適な外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラムに関し、特に、外部メモリに記憶されているプログラムのロードを許可する期間を示す有効期間を設定しておき、この有効期間の経過後は、上記プログラムのロードを拒否することで、当該外部メモリが流出した際に、第三者により不正に上記プログラムのロードが行われる不都合を極力防止した外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラムに関する。   The present invention is used when a predetermined program stored in an external memory is loaded into a mobile device such as a mobile phone, a PHS phone (PHS: Personal Handyphone System), or a PDA device (PDA: Personal Digital Assistant). In particular, an external memory, a portable terminal device, a program loading method, and a software load program, in particular, an effective period indicating a period during which loading of a program stored in the external memory is permitted is set, and this effective period After the elapse of time, the external memory, the portable terminal device, and the program that prevent the inconvenience that the program is loaded illegally by a third party when the external memory is leaked by refusing to load the program And a software loading program.

従来、ソフトウェアプログラムの不正使用を防止する技術として、特開2004−102335号公報(特許文献1)に開示されたソフトウェアのライセンス管理方法が知られている。このソフトウェアのライセンス管理方法の場合、メディアに格納されたインストーラ作成ソフトウェアを実行したユーザ装置は、パッケージソフトウェアのインストールを行う際に、各メディア毎のインストールの管理を行っている販売元サーバに対してインストーラのダウンロード要求を行う。   Conventionally, a software license management method disclosed in Japanese Patent Application Laid-Open No. 2004-102335 (Patent Document 1) is known as a technique for preventing unauthorized use of a software program. In the case of this software license management method, the user device that has executed the installer creation software stored on the media, when installing the package software, to the selling server that manages the installation of each media. Make a download request for the installer.

販売元サーバは、このダウンロード要求がなされると、現在、このダウンロード要求がなされているユーザ装置に対して、パッケージソフトウェアのインストールを行う際に必要となるインストーラが既に配信済みであるか否かを判別する。このインストーラは、一つのメディアに対して一つのインストーラ等のように、各メディア毎に関連付けされており、販売元サーバは、そのメディアに対するインストーラの配信を行っていないものと判別した場合に、上記ユーザ装置に対してインストーラを配信する。ユーザ装置は、この販売元サーバから配信されたインストーラを用いて、メディアに格納されているパッケージソフトウェアをインストールする。   When this download request is made, the selling server determines whether or not the installer required for installing the package software has already been distributed to the user device that is currently making the download request. Determine. This installer is associated with each medium, such as one installer for one medium. When the distributor server determines that the installer is not distributed to the medium, The installer is distributed to the user device. The user device installs the package software stored in the medium using the installer distributed from the vendor server.

販売元サーバは、このインストーラを配信したメディアを、上記パッケージソフトウェアのインストールが完了したメディアとして管理し、以後、当該メディアに対するインストーラの配信要求がなされた場合には、この配信要求を拒否する。これにより、一方のユーザ装置でパッケージソフトウェアのインストールがなされたメディアを、他方のユーザ装置に装着し、この他方のユーザ装置から販売元サーバに対してインストーラのダウンロード要求がなされた場合でも、当該メディアに対するインストーラは配信済みであることから、上記他方のユーザ装置に対するインストーラの配信を拒否することができ、ソフトウェアプログラムの不正使用を防止することができる。   The selling server manages the media that has distributed the installer as the media for which the installation of the package software has been completed, and rejects the distribution request when an installer distribution request is made for the media thereafter. As a result, even when the media on which the package software is installed on one user device is mounted on the other user device, and the installer download request is made from the other user device to the selling server, the media Since the installer has been distributed, the distribution of the installer to the other user device can be rejected, and unauthorized use of the software program can be prevented.

ここで、今日において広く普及している携帯電話機は、工場から出荷される際に、USBケーブル等を介して接続されたパーソナルコンピュータ装置から、例えば通信プログラム等の所定のソフトウェアプログラムがロード(=ソフトロード)された後に出荷されるのが一般的であったが、近年においては、外部メモリ装着部を有する携帯電話機も多いため、上記所定のソフトウェアプログラムを記憶させた外部メモリ100を上記外部メモリ装着部に装着し、この装着した外部メモリからソフトロードを行うことが多くなってきている。   Here, when mobile phones that are widely used today are shipped from a factory, a predetermined software program such as a communication program is loaded from a personal computer connected via a USB cable or the like (= software However, in recent years, since many mobile phones have an external memory mounting unit, the external memory 100 storing the predetermined software program is mounted on the external memory. In many cases, a software load is performed from the external memory that is mounted on the external memory.

この外部メモリを用いたソフトロードを、NANDブート方式で動作する携帯電話機に基づいて説明する。なお、このNANDブート方式は、図8に示すように内部のNANDメモリ101に格納したプログラムを、ブート時にSDRAM102上に展開して実行する動作方式であり、CDMA通信方式で通信を行う携帯電話機に多く用いられている。   The software load using the external memory will be described based on a mobile phone operating in the NAND boot system. This NAND boot method is an operation method in which a program stored in the internal NAND memory 101 is expanded and executed on the SDRAM 102 at the time of booting as shown in FIG. 8, and is applied to a mobile phone that performs communication by the CDMA communication method. Many are used.

まず、携帯電話機に内蔵されたNANDメモリ101は、図9に示すようにブートプログラムが記憶されたブートプログラム格納領域110と、外部メモリからロードされたプログラムコードが格納されるプログラムコード格納領域111と、ソフトロードを実行するためのブートローダプログラムが格納されたブートローダ領域112と、ユーザデータ領域103とを有している。   First, as shown in FIG. 9, the NAND memory 101 built in the mobile phone includes a boot program storage area 110 in which a boot program is stored, and a program code storage area 111 in which a program code loaded from an external memory is stored. And a boot loader area 112 in which a boot loader program for executing a software load is stored, and a user data area 103.

また、外部メモリには、図10に示すようにソフトロードを実行制御するためのソフトロード実行プログラム(Progrun)と、ソフトロード実行用のシーケンスファイルと、ロードするプログラムコード(Rombuild.bin)と、同じくロードする文字フォントデータ等の固定データ(Font.bin)とが記憶されている。   Further, in the external memory, as shown in FIG. 10, a software load execution program (Progrun) for controlling execution of software load, a sequence file for executing software load, a program code (Rombuild.bin) to be loaded, Similarly, fixed data (Font.bin) such as character font data to be loaded is stored.

図11のフローチャートは、ソフトロード時におけるユーザ(携帯電話機の生産者)の操作、及び携帯電話機の制御部の動作の流れを示している。ソフトロードを行う場合、携帯電話機の生産者は、この図11のフローチャートのステップS101に示すように、上記ソフトロード実行プログラム(Progrun)やロードするプログラムコード(Rombuild.bin)等が記憶された外部メモリを携帯電話機の外部メモリ装着部に装着し、ソフトロードの実行を指定するための所定のキーを押圧操作した状態で電源の投入操作を行う。   The flowchart of FIG. 11 shows the flow of the operation of the user (mobile phone producer) and the operation of the control unit of the mobile phone during soft loading. When performing soft loading, as shown in step S101 of the flowchart of FIG. 11, the producer of the mobile phone externally stores the software loading execution program (Progrun), the program code to be loaded (Rombuild.bin), and the like. A memory is mounted on the external memory mounting portion of the mobile phone, and a power-on operation is performed in a state where a predetermined key for designating execution of soft loading is pressed.

携帯電話機の制御部は、この所定のキーが押圧操作された状態における電源の投入操作を検出すると、ソフトロードの実行が指定されたものと認識し、ステップS102において、外部メモリ装着部に外部メモリが装着済みであることを確認した後、NANDメモリ101のブートローダ格納領域112に格納されているブートローダプログラムの読み込みを行う。
制御部は、このブートローダプログラムの読み込むことでブートローダとして機能し、ステップS103において、図10に示す外部メモリからソフトロード実行プログラム(Progrun)を読み込み、このソフトロード実行プログラム(Progrun)を図8に示すSDRAM102に展開して実行する。そして、ステップS104において、図10に示すシーケンスファイルに記述されているコマンドに従って、外部メモリに記憶されているプログラムコード(Rombuild.bin)及び固定データ(Font.bin)をNANDメモリ101のプログラム格納領域111にロードする。これにより、外部メモリを用いたソフトロードが終了する。なお、制御部は、このようなソフトロードが終了した際に、表示部に対して当該ソフトロードの終了メッセージを表示する等の終了通知を行う。
When the control unit of the cellular phone detects a power-on operation in a state where the predetermined key is pressed, it recognizes that execution of the soft load is designated, and in step S102, the external memory mounting unit stores the external memory. Then, the boot loader program stored in the boot loader storage area 112 of the NAND memory 101 is read.
The control unit functions as a boot loader by reading this boot loader program. In step S103, the control unit reads the software load execution program (Progrun) from the external memory shown in FIG. 10, and this software load execution program (Progrun) is shown in FIG. The data is expanded on the SDRAM 102 and executed. In step S104, the program code (Rombuild.bin) and fixed data (Font.bin) stored in the external memory are stored in the program storage area of the NAND memory 101 in accordance with the commands described in the sequence file shown in FIG. 111 is loaded. Thereby, the software load using the external memory is completed. Note that when such software loading is completed, the control unit notifies the display unit of completion such as displaying a software loading completion message.

特開2004−102335号公報(第14頁〜第16頁、図4、図7)JP-A-2004-102335 (pages 14 to 16, FIGS. 4 and 7)

しかし、外部メモリは取り扱いが容易であり、また、この外部メモリを用いてソフトロードを行うことで、上述のパーソナルコンピュータ装置やUSBケーブル等のソフトロード環境を不要とすることができるのであるが、上記取り扱いが容易であるが故に、紛失や盗難等により、簡単に第三者の手に渡るおそれがある。このような外部メモリの流出があると、携帯電話機に対する管理義務や製造責任を負うことの無い第三者が、簡単に不正なソフトロードを実行可能となり、好ましいことではない。   However, the external memory is easy to handle, and by using this external memory for software loading, it is possible to eliminate the need for a software loading environment such as the above personal computer device or USB cable. Since it is easy to handle, there is a risk that it may easily reach a third party due to loss or theft. Such an outflow of external memory is not preferable because a third party who does not have a management duty or manufacturing responsibility for the mobile phone can easily execute an illegal software load.

本発明は、上述の課題に鑑みてなされたものであり、ソフトロード用の外部メモリが第三者の手に渡った場合でも、該第三者による不正なソフトロードを極力防止することができるような外部メモリ、携帯端末装置、プログラムのロード方法、及びソフトロードプログラムの提供を目的とする。   The present invention has been made in view of the above-mentioned problems, and even when an external memory for software loading reaches a third party's hand, unauthorized software loading by the third party can be prevented as much as possible. An object of the present invention is to provide such an external memory, a portable terminal device, a program loading method, and a software loading program.

本発明に係る外部メモリは、所定の機器のメモリ装着部に対して着脱自在とされた外部メモリであって、
上記機器内のメモリにロードするためのプログラムと、
上記機器内のメモリに対する上記プログラムのロードを実行するように、該機器の制御手段を機能させるためのロード実行制御プログラムと、
上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、
上記プログラムのロードを許可する期間を示す有効期間情報とを記憶しておき、
上記ロード実行制御プログラムが、
上記機器の計時手段から現在時刻情報を取得するプログラムと、
上記取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記機器内のメモリに対する上記プログラムのロードを実行するように上記機器の制御手段を機能させるプログラムと、
上記取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記機器内のメモリに対する上記プログラムのロードの実行を拒否するように上記機器の制御手段を機能させるプログラムとを備えることで上述の課題を解決する。
An external memory according to the present invention is an external memory that is detachable from a memory mounting portion of a predetermined device,
A program for loading into the memory in the device;
A load execution control program for causing the control means of the device to function so as to load the program to the memory in the device;
Time stamp information that is time information in which the program is stored;
The effective period information indicating the period during which the program is allowed to be loaded is stored,
The load execution control program is
A program for acquiring current time information from the time measuring means of the device;
When the current time indicated by the acquired current time information is within the validity period indicated by the time stamp information and the validity period information, the program is loaded to the memory in the device. A program for causing the control means of the device to function;
When the current time indicated by the acquired current time information is outside the valid period indicated by the time stamp information and the valid period information, the execution of loading the program to the memory in the device is rejected. The above-mentioned problems are solved by providing a program for causing the control means of the device to function.

また、本発明に係る携帯端末装置は、上述の課題を解決するための手段として、
当該携帯電話機の内部に設けられたメモリと、
上記メモリにロードするためのプログラムと、上記メモリに対する上記プログラムのロードの実行を制御するためのロード実行制御プログラムと、上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、上記プログラムのロードを許可する期間を示す有効期間情報とが記憶された外部メモリが装着されるメモリ装着部と、
計時を行う計時手段と、
上記外部メモリに記憶されている上記ロード実行制御プログラムに基づいて動作することで、上記計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記外部メモリに記憶されている上記プログラムを、当該携帯電話機の内部に設けられた上記メモリにロードし、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記内部のメモリに対する上記プログラムのロードを拒否する制御手段と
を有する。
Moreover, the portable terminal device according to the present invention is a means for solving the above-described problems.
A memory provided inside the mobile phone;
A program for loading into the memory, a load execution control program for controlling execution of loading of the program into the memory, time stamp information which is time information storing the program, and loading of the program A memory mounting unit in which an external memory storing valid period information indicating a permitted period is mounted;
A time measuring means for measuring time;
By operating based on the load execution control program stored in the external memory, current time information is acquired from the time measuring means, and the current time indicated by the acquired current time information is stored in the external memory. The program stored in the external memory is loaded into the memory provided in the mobile phone when it is within the valid period indicated by the time stamp information and the valid period information. When the current time indicated by the current time information acquired from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information, the loading of the program to the internal memory is rejected. And control means.

また、本発明に係るプログラムのロード方法は、所定の機器のメモリ装着部に装着された外部メモリに記憶されているプログラムを、該機器の内部に設けられたメモリにロードするためのプログラムのロード方法であって、
上記内部のメモリにロードするためのプログラムと、上記メモリに対する上記プログラムのロードの実行を制御するためのロード実行制御プログラムと、上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、上記プログラムのロードを許可する期間を示す有効期間情報とを上記外部メモリに記憶しておき、
制御手段が、上記外部メモリに記憶されている上記ロード実行制御プログラムに基づいて動作することで、計時を行う計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記外部メモリに記憶されている上記プログラムを上記内部のメモリにロードし、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記内部のメモリに対する上記プログラムのロードを拒否することで上述の課題を解決する。
In addition, the program loading method according to the present invention is a program loading method for loading a program stored in an external memory mounted in a memory mounting section of a predetermined device into a memory provided in the device. A method,
A program for loading into the internal memory, a load execution control program for controlling execution of loading of the program into the memory, time stamp information which is time information storing the program, and Valid period information indicating a period during which loading is permitted is stored in the external memory,
The control means operates based on the load execution control program stored in the external memory, thereby acquiring current time information from the time measuring means for measuring time, and the current time indicated by the acquired current time information is When the time stamp information stored in the external memory and the effective period indicated by the effective period information are within the effective period, the program stored in the external memory is loaded into the internal memory, and By rejecting loading of the program to the internal memory when the current time indicated by the current time information acquired from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information. Solve the above problems.

また、本発明に係るソフトロードプログラムは、所定の機器のメモリ装着部に対して着脱自在とされた外部メモリに記憶されているロード対象プログラムを、上記機器の内部に設けられたメモリにロードするためのソフトロードプログラムであって、
上記機器の計時手段から現在時刻情報を取得する現在時刻取得手段としてコンピュータを機能させ、
コンピュータを上記現在時刻取得手段として機能させることで、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている、上記外部メモリに対して上記ロード対象プログラムを記憶させた時間情報であるタイムスタンプ情報、及び上記ロード対象プログラムのロードを許可する期間を示す有効期間情報で示される有効期間内であった場合に、上記機器内のメモリに対する上記ロード対象プログラムのロードを実行し、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記機器内のメモリに対する上記ロード対象プログラムのロードの実行を拒否する制御手段としてコンピュータを機能させることで上述の課題を解決する。
The software load program according to the present invention loads a load target program stored in an external memory that is detachable from a memory mounting portion of a predetermined device into a memory provided in the device. A software loading program for
The computer functions as current time acquisition means for acquiring current time information from the time measuring means of the device,
By causing the computer to function as the current time acquisition unit, the current time indicated by the current time information acquired from the time measurement unit is stored in the external memory, and the load target program is stored in the external memory. When the load target program is loaded into the memory in the device when it is within the valid period indicated by the time stamp information that is the time information and the valid period information indicating the period during which the loading of the load target program is permitted When the current time indicated by the current time information acquired from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information, the load target for the memory in the device is executed. By causing the computer to function as a control means that rejects execution of program loading To solve the problems of the predicate.

このような本発明は、外部メモリに対して有効期間を設定し、計時手段から取得した現在時刻の日付が、外部メモリに設定されている有効期間である場合のみ、該外部メモリに記憶されているプログラムを、機器内部のメモリにロードする。これにより、外部メモリが第三者の手に渡った場合でも、上記有効期間により、プログラムのロードが可能な期間を制限することができ、該第三者による不正なソフトロードを極力防止することができる。   In the present invention, an effective period is set for the external memory, and only when the date of the current time acquired from the time measuring means is the effective period set in the external memory, it is stored in the external memory. Load the current program into the internal memory of the device. As a result, even if the external memory is in the hands of a third party, the period during which the program can be loaded can be limited by the valid period, and unauthorized software loading by the third party can be prevented as much as possible. Can do.

本発明は、ソフトロード用の外部メモリが第三者の手に渡った場合でも、該第三者による不正なソフトロードを極力防止することができる。   The present invention can prevent unauthorized software loading by a third party as much as possible even when the external memory for software loading reaches a third party.

本発明は、CDMA通信方式(CDMA:Code Division Multiple Access)に対応して無線通信を行う携帯電話機に適用することができる。
The present invention can be applied to a mobile phone that performs wireless communication in accordance with a CDMA communication system (CDMA: Code Division Multiple Access).

[携帯電話機の構成]
この本発明を適用した実施の形態となる携帯電話機は、図1に示すように無線基地局との間で上記CDMA通信方式に基づく音声通話、テレビ電話通話、電子メール、Webデータ(Web:World Wide Web)等の無線通信を行うアンテナ1及び通信回路2と、操作メニュー、電子メール、画像(静止画像及び動画像)等を表示するための表示部3と、所望のメニューの選択操作や後述するソフトロードの実行指定操作や所定のパスワードの入力操作等を行うための操作部4と、受話音声等を出力するためのスピーカ部5と、送話音声等を集音するためのマイクロホン部6と、所望の被写体の静止画像や動画像を撮像するためのカメラ部7と、発着信等を光でユーザに通知するための発光部8(LED:Light Emitting Diode)とを有している。
[Configuration of mobile phone]
As shown in FIG. 1, a cellular phone according to an embodiment to which the present invention is applied includes a voice call, videophone call, e-mail, Web data (Web: World) based on the CDMA communication method with a radio base station. Antenna 1 and communication circuit 2 for performing wireless communication such as Wide Web), a display unit 3 for displaying operation menus, e-mails, images (still images and moving images), etc. An operation unit 4 for performing a software load execution designation operation and a predetermined password input operation, a speaker unit 5 for outputting received voices, and a microphone unit 6 for collecting transmitted voices. And a camera unit 7 for capturing a still image or a moving image of a desired subject, and a light emitting unit 8 (LED: Light Emitting Diode) for notifying the user of incoming / outgoing calls or the like with light.

また、この携帯電話機は、当該携帯電話機の筐体を振動させて発着信等をユーザに通知するためのバイブレーションユニット9と、内蔵電池である二次電池11や図示しないバッテリから供給される電源で動作して現在時刻をカウントするRTC10(Real Time Clock)と、ソフトロード時に外部メモリ14からのCDMA通信プログラムや各種アプリケーションプログラム等がロードされるNANDメモリ12(NAND:NOT-AND)と、プログラム実行時において、NANDメモリ12から読み出された所定のプログラム等が展開されるSDRAM13(Synchronous Dynamic Random Access Memory)と、ソフトロード制御用のプログラムやロードするプログラムコード等が記憶された外部メモリ14が装着される外部メモリインターフェイス15(外部メモリIF)と、上記ソフトロード制御の他、当該携帯電話機全体の動作を制御する制御部16とを有している。   In addition, this mobile phone is provided with a vibration unit 9 for vibrating the casing of the mobile phone to notify the user of incoming / outgoing calls, etc., and a power source supplied from a secondary battery 11 which is a built-in battery or a battery (not shown). RTC 10 (Real Time Clock) that operates and counts the current time, NAND memory 12 (NAND: NOT-AND) in which a CDMA communication program and various application programs from the external memory 14 are loaded when software is loaded, and program execution At the time, an SDRAM 13 (Synchronous Dynamic Random Access Memory) in which a predetermined program read from the NAND memory 12 is developed and an external memory 14 in which a program for software load control and a program code to be loaded are stored are mounted. External memory interface 15 (external memory IF If, in addition to the software load control, and a control unit 16 for controlling the operation of the entire mobile phone.

すなわち、この実施の形態の携帯電話機は、図8を用いて説明したNANDブート方式で動作するようになっており、ソフトロードによりNANDメモリ12に格納した各種プログラムを、ブート時にSDRAM13上に展開して実行するようになっている。
That is, the mobile phone of this embodiment is operated by the NAND boot system described with reference to FIG. 8, and various programs stored in the NAND memory 12 by software loading are expanded on the SDRAM 13 at the time of booting. To run.

〔NANDメモリの構成〕
NANDメモリ12は、図9を用いて説明したようにブートプログラムが格納されたブートプログラム格納領域(110)と、プログラム格納領域(111)と、ソフトロードを実行するためのブートローダプログラムが格納されたブートローダ領域(112)と、ユーザデータ領域(113)とを有している。
[Configuration of NAND memory]
As described with reference to FIG. 9, the NAND memory 12 stores a boot program storage area (110) in which a boot program is stored, a program storage area (111), and a boot loader program for executing software loading. It has a boot loader area (112) and a user data area (113).

プログラム格納領域は、後述するソフトロードにより外部メモリ14からロードされたCDMA通信プログラムの他、例えば電子メールの作成や送受信を制御するための電子メール管理プログラム、カメラ部7の撮像制御を行うカメラ制御プログラム、ユーザのスケジュールが登録されたスケジュール帳の管理を行うためのスケジュール帳管理プログラム、電話帳の管理を行うための電話帳管理プログラム、音楽コンテンツの再生を行うための音楽プレーヤプログラム、所望のWebページの閲覧を行うためのWebブラウジングプログラム等の各種アプリケーションプログラム等が格納される領域となっている。   The program storage area includes, for example, an e-mail management program for controlling creation and transmission / reception of e-mail, and camera control for performing imaging control of the camera unit 7 in addition to a CDMA communication program loaded from the external memory 14 by software loading described later. Program, schedule book management program for managing a schedule book in which a user's schedule is registered, a phone book management program for managing a phone book, a music player program for playing music content, and a desired Web This is an area for storing various application programs such as a web browsing program for browsing a page.

また、ユーザデータ領域は、当該携帯電話機のユーザのスケジュールが登録されるスケジュール帳、ユーザの知人や友人等のユーザ名、静止画像(顔写真等)、住所、電話番号、電子メールアドレス、生年月日等が登録された電話帳、音楽プレーヤプログラムに基づいて再生される音楽コンテンツ、カメラ制御プログラムのビューワ機能に基づいて再生される静止画像コンテンツ及び動画像コンテンツ、送受信された電子メールコンテンツ、電話及び電子メールの発着信履歴等が記憶される領域となっている。
The user data area includes a schedule book in which the schedule of the user of the mobile phone is registered, a user name such as a user's acquaintance or friend, a still image (face photo, etc.), an address, a telephone number, an e-mail address, a date of birth Phone book in which the date is registered, music content reproduced based on the music player program, still image content and moving image content reproduced based on the viewer function of the camera control program, transmitted / received e-mail content, telephone and This is an area in which the history of incoming and outgoing e-mails is stored.

〔外部メモリの構成〕
外部メモリ14には、図2に示すようにソフトロードを実行制御するためのソフトロード実行プログラム(Progrun)と、ソフトロード実行用のシーケンスファイルと、ロードする上記CDMA通信プログラムやカメラ制御プログラム等のプログラムコード(Rombuild.bin)と、同じくロードする文字フォントデータ等の固定データ(Font.bin)とが記憶されている。また、この外部メモリ14には、上記プログラムコード(Rombuild.bin)や固定データ(Font.bin)を当該外部メモリ14に記憶させた際にパーソナルコンピュータ装置等から付された時刻情報であるタイムスタンプ情報と、当該外部メモリ14を用いたソフトロードを許可する期間を示す有効期間情報と、この有効期間情報が有効であるか或いは無効であるかを示す有効/無効情報と、当該外部メモリ14の固有の識別情報(外部メモリID)とが記憶されている。
[Configuration of external memory]
As shown in FIG. 2, the external memory 14 includes a software load execution program (Progrun) for controlling execution of software load, a sequence file for executing software load, and the CDMA communication program and camera control program to be loaded. Program code (Rombuild.bin) and fixed data (Font.bin) such as character font data to be loaded are stored. The external memory 14 also includes a time stamp which is time information given from a personal computer device or the like when the program code (Rombuild.bin) or fixed data (Font.bin) is stored in the external memory 14. Information, valid period information indicating a period during which soft loading using the external memory 14 is permitted, valid / invalid information indicating whether the valid period information is valid or invalid, and the external memory 14 Unique identification information (external memory ID) is stored.

上記ソフトロード実行プログラム(Progrun)、上記プログラムコード(Rombuild.bin)及び上記固定データ(Font.bin)に対しては、例えばMD5(Message Digest Algorithm 5)等のハッシュ関数が付加されたうえで、パーソナルコンピュータ装置から外部メモリ14に書き込まれるようになっている。   A hash function such as MD5 (Message Digest Algorithm 5) is added to the software load execution program (Progrun), the program code (Rombuild.bin), and the fixed data (Font.bin). The data is written to the external memory 14 from the personal computer device.

具体的には、上記ソフトロード実行プログラム(Progrun)、上記プログラムコード(Rombuild.bin)及び上記固定データ(Font.bin)を外部メモリ14に書き込む際、図3に示すようにパーソナルコンピュータ装置21は、上記ソフトロード実行プログラム(Progrun)に対応するハッシュ関数、上記プログラムコード(Rombuild.bin)に対応するハッシュ関数、及び上記固定データ(Font.bin)に対応するハッシュ関数をそれぞれ計算し、上記ソフトロード実行プログラム(Progrun)に対応するハッシュ関数を該ソフトロード実行プログラム(Progrun)に付加し、上記プログラムコード(Rombuild.bin)に対応するハッシュ関数を該プログラムコード(Rombuild.bin)に付加し、上記固定データ(Font.bin)に対応するハッシュ関数を該固定データ(Font.bin)に付加したうえで外部メモリ14に書き込む。   Specifically, when the software load execution program (Progrun), the program code (Rombuild.bin), and the fixed data (Font.bin) are written to the external memory 14, the personal computer device 21 is configured as shown in FIG. , A hash function corresponding to the software load execution program (Progrun), a hash function corresponding to the program code (Rombuild.bin), and a hash function corresponding to the fixed data (Font.bin) are calculated respectively. A hash function corresponding to the load execution program (Progrun) is added to the soft load execution program (Progrun), a hash function corresponding to the program code (Rombuild.bin) is added to the program code (Rombuild.bin), After adding a hash function corresponding to the fixed data (Font.bin) to the fixed data (Font.bin) Write to the external memory 14.

パーソナルコンピュータ装置は、外部メモリ14に対してソフトロード実行プログラム(Progrun)、プログラムコード(Rombuild.bin)及び固定データ(Font.bin)の書き込みを行うと、該ソフトロード実行プログラム(Progrun)やプログラムコード(Rombuild.bin)に付した各ハッシュ関数に基づいて、この外部メモリ14に書き込んだ上記プログラムコード等の内容と、パーソナルコンピュータ装置側に記憶されている上記プログラムコード等の内容との整合性のチェックを行う。   When the personal computer device writes the software load execution program (Progrun), program code (Rombuild.bin), and fixed data (Font.bin) to the external memory 14, the software load execution program (Progrun) and program Consistency between the contents of the program code written in the external memory 14 based on each hash function attached to the code (Rombuild.bin) and the contents of the program code stored on the personal computer device side Perform the check.

当該携帯電話機の制御部16は、ソフトロード時にソフトロード実行プログラム(Progrun)、プログラムコード(Rombuild.bin)、固定データ(Font.bin)を外部メモリ14から読み込んだ際に、各プログラムやデータに付されているハッシュ関数を分離すると共に、当該ハッシュ関数を分離した後のソフトロード実行プログラム(Progrun)、プログラムコード(Rombuild.bin)、固定データ(Font.bin)に基づいて、新たにハッシュ関数をそれぞれ計算する。そして、この新たに計算した各ハッシュ関数と、上記ソフトロード実行プログラム(Progrun)やプログラムコード(Rombuild.bin)等から分離した各ハッシュ関数とをそれぞれ比較し、両者がそれぞれ同じ値であった場合に、外部メモリ14から当該携帯電話機のNANDメモリ12に対するソフトロードを実行する。   The control unit 16 of the mobile phone reads each program and data when a software load execution program (Progrun), a program code (Rombuild.bin), and fixed data (Font.bin) are read from the external memory 14 at the time of software loading. In addition to separating the attached hash function, a new hash function is created based on the software load execution program (Progrun), program code (Rombuild.bin), and fixed data (Font.bin) after separating the hash function. Respectively. When each of these newly calculated hash functions is compared with each hash function separated from the soft load execution program (Progrun), program code (Rombuild.bin), etc. In addition, a soft load from the external memory 14 to the NAND memory 12 of the mobile phone is executed.

また、当該携帯電話機の制御部16は、NANDメモリ12に対してソフトロード実行プログラム(Progrun)、プログラムコード(Rombuild.bin)及び固定データ(Font.bin)のロードを行うと、該ソフトロード実行プログラム(Progrun)やプログラムコード(Rombuild.bin)に付した各ハッシュ関数に基づいて、このNANDメモリ12にロードした上記プログラムコード等の内容と、外部メモリ14側に記憶されている上記プログラムコード等の内容との整合性のチェックを行う。   In addition, when the control unit 16 of the mobile phone loads the software load execution program (Progrun), the program code (Rombuild.bin), and the fixed data (Font.bin) to the NAND memory 12, the software load execution is performed. Based on each hash function attached to the program (Progrun) and the program code (Rombuild.bin), the contents of the program code and the like loaded into the NAND memory 12, the program code stored in the external memory 14 side, etc. Check the consistency with the contents of.

ここで、上記ソフトロード実行プログラム(Progrun)は、外部メモリ14に記憶されているプログラムコード(Rombuild.bin)や固定データ(Font.bin)を当該携帯電話機のNANDメモリ12にソフトロード制御するための重要なプログラムとなっている。このため、このソフトロード実行プログラム(Progrun)には、上記ハッシュ関数の他、図4に示すように所定のパスワードが付加されている。このパスワードは、例えば当該携帯電話機の生産者等の当該外部メモリ14を正当に用いる権限を有する者のみが知り得るパスワードとなっている。後述するが、制御部16は、ソフトロードを実行する前に、このパスワードの入力を求め、当該入力されたパスワードが、ソフトロード実行プログラム(Progrun)に付されているパスワードと一致しない場合は、ソフトロードの実行を拒否するようになっている。これにより、上記重要なプログラムであるソフトロード実行プログラム(Progrun)を、第三者が不正に実行することを防止可能となっている。
Here, the software load execution program (Progrun) performs software load control of program code (Rombuild.bin) and fixed data (Font.bin) stored in the external memory 14 to the NAND memory 12 of the mobile phone. It has become an important program. For this reason, in addition to the hash function, a predetermined password is added to the software load execution program (Progrun) as shown in FIG. This password is a password that only a person who has the authority to use the external memory 14 right, such as the producer of the mobile phone, can know. As will be described later, the control unit 16 asks for the input of this password before executing the software load. If the input password does not match the password assigned to the software load execution program (Progrun), The execution of soft load is refused. Thereby, it is possible to prevent a third party from executing the software load execution program (Progrun), which is the important program, illegally.

[ソフトロード動作]
次に、当該実施の形態の携帯電話機における外部メモリ14を用いたソフトロード動作を説明する。
[Soft load operation]
Next, a soft load operation using the external memory 14 in the mobile phone according to the embodiment will be described.

〔ブート時の動作〕
まず、図5のフローチャートに、当該実施の形態の携帯電話機におけるブート時の処理の流れを示す。この携帯電話機の制御部16は、メイン電源の投入操作を検出すると、このフローチャートの処理を開始し、ステップS1において、図1に示すRTC10に設定されている現在時刻情報の読み取りを行い、ステップS2において、このRTC10に設定されている現在時刻は不定値であるか否かを判別する。
[Operation at boot]
First, the flowchart of FIG. 5 shows a flow of processing at the time of booting in the mobile phone of the present embodiment. When detecting the main power-on operation, the control unit 16 of the mobile phone starts the processing of this flowchart, reads the current time information set in the RTC 10 shown in FIG. 1 in step S1, and performs step S2. It is determined whether or not the current time set in the RTC 10 is an indefinite value.

RTC10に設定されている現在時刻が不定値であるものと判別した場合(=RTC10に現在時刻が設定されていない場合)、制御部16は、ステップS3に処理を進め、協定世界時刻である「1980年1月6日00時00分00秒」を現在時刻としてRTC10に設定し、ステップS4に処理を進める。   When it is determined that the current time set in the RTC 10 is an indefinite value (= when the current time is not set in the RTC 10), the control unit 16 proceeds with the process to step S3, which is the coordinated universal time “ “January 6, 1980 00:00:00” is set as the current time in the RTC 10, and the process proceeds to step S4.

このようなステップS1〜ステップS3の処理を詳細に説明すると、まず、RTC10に現在時刻を設定するためには、メイン電源が投入された際に、当該携帯電話機のコミュニケーションネットワークにエアー接続を図り、シンクチャンネルメッセージ等を受信してシステムタイムを検出して設定することが必要となる。   The processing in steps S1 to S3 will be described in detail. First, in order to set the current time in the RTC 10, when the main power is turned on, an air connection is made to the communication network of the mobile phone, It is necessary to detect and set the system time by receiving a sync channel message or the like.

しかし、ソフトロード前の当該携帯電話機に対して、必ずしもRTC10に現在時刻が設定されているとは限らない。このようなことから、RTC10に現在時刻が設定されていない場合、制御部16は、上記ステップS2において、RTC10に設定されている現在時刻は不定値であるものと判別することとなる。そして、RTC10に設定されている現在時刻が不定値であるものと判別した場合、制御部16は、上記ステップS3において、現在時刻から大きく遡った過去の時刻を現在時刻としてRTC10に設定する。   However, the current time is not necessarily set in the RTC 10 for the mobile phone before soft loading. For this reason, when the current time is not set in the RTC 10, the control unit 16 determines in step S2 that the current time set in the RTC 10 is an indefinite value. If it is determined that the current time set in the RTC 10 is an indefinite value, the control unit 16 sets, in the above-described step S3, the past time that is far back from the current time as the current time in the RTC 10.

すなわち、このブート時における真の現在時刻が、例えば2007年9月20日であった場合、制御部16は、この2007年9月20日よりも大きく遡った過去の時刻である「1980年1月6日00時00分00秒」を現在時刻としてRTC10に設定する。この不定値であった場合にRTC10に設定する時刻は、真の現在時刻から大きく離れた過去の時刻(=ユーザにより設定されるとは考え難い時刻)であれば、どのような時刻を設定してもよいのであるが、当該実施の形態の携帯電話機の場合、上記協定世界時刻である「1980年1月6日00時00分00秒」を現在時刻としてRTC10に設定するようになっている。   In other words, when the true current time at the time of booting is, for example, September 20, 2007, the control unit 16 is a past time that is far back from September 20, 2007, “1980 1 “Month 6th 00:00:00” is set in the RTC 10 as the current time. If it is this indefinite value, the time set in the RTC 10 is any past time that is far from the true current time (= a time that is unlikely to be set by the user). However, in the case of the mobile phone of the embodiment, the coordinated universal time “January 6, 1980 00:00:00” is set in the RTC 10 as the current time. .

これにより、ソフトロード前であるがために、一度もコミュニケーションネットワークにエアー接続を図っていない場合でも(=システムタイムを取得できない場合でも)、当該携帯電話機のRTC10は上記「1980年1月6日00時00分00秒」から計時を開始することとなる。RTC10は、図1に示すように当該携帯電話機に内蔵されている二次電池11で動作可能となっており、バッテリが取り外された場合でも計時動作を続行可能となっているため、当該携帯電話機の2回目以降のブート時には、制御部16は、上記ステップS2において、RTC10に現在時刻が設定済みであるものと判別し、処理をステップS4に進めることとなる。   As a result, even if the air connection to the communication network has never been attempted (= even when the system time cannot be acquired) because it was before soft loading, the RTC 10 of the mobile phone described above “January 6, 1980” The clocking starts from “00:00:00”. As shown in FIG. 1, the RTC 10 can be operated with the secondary battery 11 built in the mobile phone, and can continue counting even when the battery is removed. During the second and subsequent boots, the control unit 16 determines that the current time has already been set in the RTC 10 in step S2, and advances the processing to step S4.

なお、RTC10に対しては、通常、ユーザが手動で所望の時刻を設定可能となっているが、ユーザが上記協定世界時刻等の現在の日付から20年以上も過去の日付をRTC10に手動で設定するということは考え難い。このため、当該実施の形態の携帯電話機の場合、ユーザが手動で設定可能な日付を制限しており、制御部16は、例えば2000年以前の日付の時刻がユーザによりRTC10に対して設定操作された場合、この設定を拒否する。このため、RTC10に対する上記協定世界時刻の設定は、制御部16がシステムとして動作することでのみ可能ということとなる。これにより、外部メモリ14の不正使用を意図したRTC10の時刻の書き換えを防止することができる。   In general, the user can manually set a desired time for the RTC 10, but the user can manually set a date in the past 20 years or more from the current date such as the coordinated universal time to the RTC 10 manually. It is hard to think about setting. For this reason, in the case of the mobile phone according to the embodiment, the date that can be manually set by the user is limited, and the control unit 16 sets the time of the date before 2000, for example, to the RTC 10 by the user. If this happens, reject this setting. For this reason, the setting of the coordinated universal time for the RTC 10 is possible only when the control unit 16 operates as a system. As a result, rewriting of the time of the RTC 10 intended for unauthorized use of the external memory 14 can be prevented.

次に、ステップS4に処理を進めると、制御部16は、外部メモリIF15に対する外部メモリ14の装着の有無を検出して処理をステップS5に進め、このステップS5において、外部メモリIF15に外部メモリ14が装着されているか否かを判別する。そして、外部メモリIF15に外部メモリ14が装着されていないものと判別した場合、外部メモリ14を用いたソフトロードを行うことができないため、当該ソフトロード制御を終了する。   Next, when the process proceeds to step S4, the control unit 16 detects whether or not the external memory 14 is attached to the external memory IF 15, and proceeds to step S5. In step S5, the control unit 16 transfers the external memory 14 to the external memory IF 15. It is determined whether or not is attached. When it is determined that the external memory 14 is not attached to the external memory IF 15, the software load control is terminated because the software load using the external memory 14 cannot be performed.

これに対して、外部メモリIF15に外部メモリ14が装着されているものと判別した場合、制御部16は、処理をステップS6に進めて操作部4の操作状態を検出し、ステップS7において、ソフトロードの実行を指定するための所定のキー操作がなされているか否かを判別する。そして、所定のキー操作を検出しない場合には、ユーザによりソフトロードの実行が指定されていないことを意味するため、制御部16は、そのまま当該ソフトロード制御を終了し、所定のキー操作を検出した場合には、ソフトロードを実行すべく、処理を図6のフローチャートのステップS11へ進める。
On the other hand, if it is determined that the external memory 14 is attached to the external memory IF 15, the control unit 16 proceeds to step S6 to detect the operation state of the operation unit 4, and in step S7, the software It is determined whether or not a predetermined key operation for designating execution of loading is performed. If the predetermined key operation is not detected, it means that the execution of the software load is not specified by the user. Therefore, the control unit 16 ends the soft load control as it is and detects the predetermined key operation. If so, the process proceeds to step S11 in the flowchart of FIG. 6 to execute soft loading.

〔ブートローダプログラムに基づく動作〕
次に、上記図5のフローチャートのステップS6及びステップS7において、ソフトロードの実行を指定する所定のキー操作を検出することで、処理を図6のフローチャートのステップS11に進めると、制御部16は、NANDメモリ12に記憶されているブートローダプログラム(図9参照)に基づいてブートローダとして機能し、外部メモリ14を初期化してステップS12に処理を進める。
[Operation based on boot loader program]
Next, in step S6 and step S7 in the flowchart of FIG. 5 described above, by detecting a predetermined key operation that designates execution of soft loading, the process proceeds to step S11 in the flowchart of FIG. Then, it functions as a boot loader based on the boot loader program (see FIG. 9) stored in the NAND memory 12, initializes the external memory 14, and advances the process to step S12.

ステップS12では、ブートローダとして機能する制御部16が外部メモリ14にアクセスし、ステップS13において、該外部メモリ14に上記ソフトロード実行プログラム(Progrun)が記憶されているか否かを判別する。外部メモリ14に上記ソフトロード実行プログラム(Progrun)が記憶されていない場合はソフトロードを行うことができないため、制御部16は、表示部3にエラーメッセージを表示して当該ソフトロード制御を終了する。   In step S12, the control unit 16 functioning as a boot loader accesses the external memory 14, and in step S13, it is determined whether or not the soft load execution program (Progrun) is stored in the external memory 14. Since the software load cannot be performed when the software load execution program (Progrun) is not stored in the external memory 14, the control unit 16 displays an error message on the display unit 3 and ends the software load control. .

これに対して、外部メモリ14に上記ソフトロード実行プログラム(Progrun)が記憶されている場合、制御部16は、外部メモリ14にアクセスし、図2に示す上記プログラムコード(Rombuild.bin)や固定データ(Font.bin)を当該外部メモリ14に記憶させた際にパーソナルコンピュータ装置21から付された時刻情報であるタイムスタンプ情報、当該外部メモリ14を用いたソフトロードを許可する期間を示す有効期間情報、及びこの有効期間情報が有効であるか或いは無効であるかを示す有効/無効情報を読み出すと共に、ステップS15において、当該外部メモリ14に固有に付されている外部メモリIDを読み出してステップS16に処理を進める。   On the other hand, when the soft load execution program (Progrun) is stored in the external memory 14, the control unit 16 accesses the external memory 14, and the program code (Rombuild.bin) shown in FIG. Time stamp information, which is time information given from the personal computer device 21 when data (Font.bin) is stored in the external memory 14, and an effective period indicating a period during which soft loading using the external memory 14 is permitted Information and valid / invalid information indicating whether this valid period information is valid or invalid are read out, and in step S15, an external memory ID uniquely assigned to the external memory 14 is read out, and step S16 is performed. Proceed with the process.

当該携帯電話機に内蔵されているNANDメモリ12には、ソフトロードに用いられる各外部メモリの外部メモリIDがリスト化されて記憶されている(外部メモリIDリスト)。このため、制御部16は、ステップS16に処理を進めると、上記ステップS14の処理で取得した外部メモリ14の外部メモリIDに基づいて上記外部メモリIDリストを参照し、該外部メモリ14の外部メモリIDが上記外部メモリIDリストに存在するか否かを判別する。   In the NAND memory 12 built in the mobile phone, the external memory IDs of the external memories used for soft loading are listed and stored (external memory ID list). Therefore, when the process proceeds to step S16, the control unit 16 refers to the external memory ID list based on the external memory ID of the external memory 14 acquired in the process of step S14, and external memory of the external memory 14 It is determined whether or not an ID exists in the external memory ID list.

外部メモリ14の外部メモリIDが上記外部メモリIDリストに存在する場合、制御部16は、処理をステップS18に進めて、該外部メモリIDリストを更新処理し、外部メモリ14の外部メモリIDが上記外部メモリIDリストに存在しない場合は、処理をステップS17に進め、後述する理由により、RTC10に対して、再度、上記協定世界時刻を設定する(=設定時刻のリセット)。   When the external memory ID of the external memory 14 exists in the external memory ID list, the control unit 16 advances the process to step S18 to update the external memory ID list, and the external memory ID of the external memory 14 is If it does not exist in the external memory ID list, the process proceeds to step S17, and the above universal time is set again for the RTC 10 (= reset of the set time) for the reason described later.

次に、制御部16は、ステップS19及びステップS20において、上記ステップS14で外部メモリ14から取得したタイムスタンプ情報、有効期間情報、及び有効/無効情報に基づいて、この外部メモリ14を用いたソフトロードの実行の是非を判別する。そして、後述する外部メモリ14の有効期間の経過等の理由でソフトロードの実行を拒否する場合には、表示部3にエラーメッセージを表示して当該ソフトロード制御を終了する。   Next, in step S19 and step S20, the control unit 16 uses the external memory 14 based on the time stamp information, valid period information, and valid / invalid information acquired from the external memory 14 in step S14. Determine whether the load is right or wrong. If the execution of the software load is rejected due to elapse of the effective period of the external memory 14 described later, an error message is displayed on the display unit 3 and the software load control is terminated.

また、有効/無効情報が有効期間の無効を示すことで、外部メモリ14に設定された有効期間が解除されている場合や、有効/無効情報が有効期間の有効を示しているが、RTC10から取得された現在時刻の日付が、外部メモリ14に設定された有効期間内であった場合、制御部16は、ソフトロードを実行してもよいものと判別し、ステップS21及びステップS22において、図4に示したMD5等のハッシュ値に基づいて、外部メモリ14に記憶されているソフトロード実行プログラム(Progrun)のチェックを行うと共に、ステップS23及びステップS24において、表示部3にパスワードの入力画面を表示し、ユーザに対してパスワードの入力を求める。この入力されたパスワードが、図4を用いて説明したようにソフトロード実行プログラム(Progrun)に付されているパスワードと一致した場合、制御部16は、外部メモリ14に記憶されているソフトロード実行プログラム(Progrun)をSDRAM13上に展開して実行し、外部メモリ14に記憶されているソフトロード実行用のシーケンスファイルに従って、プログラムコード(Rombuild.bin)及び固定データ(Font.bin)をNANDメモリ12のプログラムコード格納領域(図9の符号111)にロードして、図5及び図6の各フローチャートに示すソフトロード制御を終了する。   Further, when the valid / invalid information indicates that the valid period is invalid, the valid period set in the external memory 14 is canceled, or when the valid / invalid information indicates the valid period, the RTC 10 When the acquired date of the current time is within the valid period set in the external memory 14, the control unit 16 determines that the soft load may be executed, and in steps S21 and S22, 4 checks the software load execution program (Progrun) stored in the external memory 14 based on the hash value such as MD5 shown in FIG. 4, and displays a password input screen on the display unit 3 in steps S23 and S24. Display and prompt the user for a password. When the input password matches the password assigned to the software load execution program (Progrun) as described with reference to FIG. 4, the control unit 16 executes the software load stored in the external memory 14. The program (Progrun) is developed on the SDRAM 13 and executed, and the program code (Rombuild.bin) and the fixed data (Font.bin) are stored in the NAND memory 12 according to the sequence file for executing the software load stored in the external memory 14. Are loaded into the program code storage area (reference numeral 111 in FIG. 9), and the soft load control shown in the flowcharts of FIGS. 5 and 6 is terminated.

このような外部メモリ14に設定された有効期間に基づくソフトロード制御を詳細に説明すると(主に、ステップS14〜ステップS20の各処理)、制御部16は、「RTCに協定世界時刻よりも大きく離れた日付が設定されている場合」と「RTCに協定世界時刻近辺の日付が設定されている場合」とで、その処理を異にする。
The soft load control based on the effective period set in the external memory 14 will be described in detail (mainly, each process in steps S14 to S20). The processing is different between “when a distant date is set” and “when a date near Coordinated Universal Time is set in the RTC”.

〔RTCに協定世界時刻よりも大きく離れた日付が設定されている場合〕
上述のように、携帯電話機は、一度でもコミュニケーションネットワークにエアー接続を図ると、当該携帯電話機のRTC10に対して正確な現在時刻であるシステムタイムの設定がなされ、該RTC10は、バッテリが取り外された場合でも上記二次電池11から供給される電力により正確な計時動作を行う。このため、RTC10に対して上記協定世界時刻を設定した場合でも、コミュニケーションネットワークに対するエアー接続後は、RTC10に対して正確な現在時刻が設定されることとなるため(=協定世界時刻が正確な現在時刻に設定し直されるため)、該RTC10から取得される現在時刻は、上記協定世界時刻から例えば27年間経過した日付の時刻等のように、該協定世界時刻から大きく離れた日付の時刻となる。
[When RTC is set to a date that is far away from Coordinated Universal Time]
As described above, when the cellular phone is once connected to the communication network by air, the system time which is the correct current time is set for the RTC 10 of the cellular phone, and the battery is removed from the RTC 10. Even in such a case, an accurate timing operation is performed by the electric power supplied from the secondary battery 11. For this reason, even when the above-mentioned coordinated universal time is set for the RTC 10, the accurate current time is set for the RTC 10 after the air connection to the communication network (= the coordinated universal time is the exact current time). Therefore, the current time acquired from the RTC 10 is a time of a date far from the coordinated universal time, such as a date of 27 years after the coordinated universal time. .

制御部16は、RTC10から取得した現在時刻が、このように協定世界時刻から大きく離れた日付の時刻であった場合、この携帯電話機は、コミュニケーションネットワークに対するエアー接続により、現在の正確な時刻が設定されているものと認識する。そして、この場合、外部メモリ14から読み込んだタイムスタンプ情報で示される日付に、有効期間情報で示される日付を加算処理して外部メモリ14の有効期間を算出し、RTC10から取得した現在時刻が、この有効期間内であった場合に、上述のソフトロードを実行制御する。   When the current time acquired from the RTC 10 is a date with a date far from the coordinated universal time, the control unit 16 sets the current accurate time by air connection to the communication network. It is recognized that In this case, the date indicated by the valid period information is added to the date indicated by the time stamp information read from the external memory 14 to calculate the valid period of the external memory 14, and the current time acquired from the RTC 10 is When it is within this valid period, the above-described soft load is controlled to be executed.

具体的には、RTC10から取得した現在時刻が、協定世界時刻から大きく離れた日付の時刻であった場合において、外部メモリ14から読み込んだタイムスタンプ情報が例えば「2007年9月18日」の日付であり、該外部メモリ14から読み込んだ有効期間情報が「7日間」の有効期間を示していた場合、制御部16は、「2007年9月18日〜2007年9月24日(計7日間)」を、その外部メモリ14を用いたソフトロードが許可されている期間として認識する。そして、RTC10から現在時刻を取得し、この現在時刻が「2007年9月18日〜2007年9月24日」の有効期間内であった場合にのみ、上述のソフトロードを実行制御する。   Specifically, when the current time acquired from the RTC 10 is a time that is far from the coordinated universal time, the time stamp information read from the external memory 14 is, for example, the date “September 18, 2007”. If the effective period information read from the external memory 14 indicates an effective period of “7 days”, the control unit 16 reads “September 18, 2007 to September 24, 2007 (total 7 days ) ”Is recognized as a period during which soft loading using the external memory 14 is permitted. Then, the current time is acquired from the RTC 10, and execution control of the above-described soft load is performed only when the current time is within the effective period of “September 18, 2007 to September 24, 2007”.

これにより、外部メモリ14が、当該外部メモリ14を正当に用いる権限の無い第三者の手に渡ることで、当該外部メモリ14を用いた不正なソフトロードを行おうとした場合でも、大抵の場合、この不正なソフトロードを行おうとしている携帯電話機は、工場出荷後の、RTC10に対してシステムタイムが設定された携帯電話機であり、協定世界時刻から大きく離れた日付の時刻がRTC10に設定されているため、外部メモリ14の有効期間経過後はソフトロードの実行を拒否することができ、不正なソフトロードが可能な期間を極短期間に抑えることができる(上述の例の場合、最大でも7日間に抑えることができる。)。
As a result, even if the external memory 14 tries to perform an unauthorized software load using the external memory 14 by passing it to a third party who is not authorized to use the external memory 14 properly, The mobile phone that is trying to perform this unauthorized software load is a mobile phone that has a system time set for the RTC 10 after shipment from the factory, and the time of the date far away from the coordinated universal time is set in the RTC 10. Therefore, after the effective period of the external memory 14 elapses, the execution of the software load can be rejected, and the period during which the illegal software load can be performed can be suppressed to an extremely short time (in the above example, at most) It can be reduced to 7 days.)

〔RTCに協定世界時刻近辺の日付が設定されている場合〕
次に、RTC10に対して協定世界時刻近辺の日付の時刻が設定されている場合、これは、コミュニケーションネットワークに対して一度もエアー接続がなされていないことを意味するため、制御部16は、外部メモリ14から読み込んだタイムスタンプ情報は用いずに有効期間情報のみを用い、上記協定世界時刻の日付から上記有効期間情報で示される有効期間に対応する日付までの期間を、その外部メモリ14を用いたソフトロードが許可された期間として認識する。
[When a date near Coordinated Universal Time is set in RTC]
Next, when the time of the date near the Coordinated Universal Time is set for the RTC 10, this means that the air connection has never been made to the communication network. Only the validity period information is used without using the time stamp information read from the memory 14, and the period from the date of the coordinated universal time to the date corresponding to the validity period indicated by the validity period information is used for the external memory 14. Recognize that the soft load was permitted.

具体的には、RTC10に対して協定世界時刻近辺の日付の時刻が設定されている場合において、外部メモリ14から読み込んだ有効期間情報が7日間であった場合、制御部16は、1980年1月6日(協定世界時刻)から1980年1月12日までの期間を、その外部メモリ14を用いたソフトロードが許可されている期間として認識する。そして、RTC10から取得した現在時刻が、この「1980年1月6日〜1980年1月12日」の期間内の日付の時刻であった場合は、上述のソフトロードを実行制御する。   Specifically, when the time of the date near the Coordinated Universal Time is set for the RTC 10 and the validity period information read from the external memory 14 is 7 days, the control unit 16 The period from the 6th of the month (Coordinated Universal Time) to the 12th January 1980 is recognized as a period during which soft loading using the external memory 14 is permitted. When the current time acquired from the RTC 10 is the time of a date within the period “January 6, 1980 to January 12, 1980”, execution control of the above-described soft load is performed.

ここで、当該携帯電話機は、上述のようにメイン電源が投入された際に、RTC10に対して協定世界時刻が設定されるのであるが(図5のフローチャートのステップS3参照)、RTC10は、この時刻設定直後から計時を開始する。このため、例えばソフトロード対象となるプログラムコードの変更作業、通信試験の結果待ち、設置部品の変更作業等により日にちが経過すると、ソフトロードを行う際に、外部メモリ14の有効期間を経過した日付の時刻がRTC10から取得される不都合が生ずることが考えられる。   Here, when the main power supply is turned on as described above, the mobile phone is set with the coordinated universal time for the RTC 10 (see step S3 in the flowchart of FIG. 5). Start timing immediately after setting the time. For this reason, for example, when the date has passed due to a program code change work to be soft-loaded, a result of a communication test, an installation part change work, etc., the date when the effective period of the external memory 14 has passed when performing soft load It is conceivable that the inconvenience of acquiring the time from the RTC 10 occurs.

すなわち、ソフトロードを行う携帯電話機に対してメイン電源を投入すると、RTC10に対して1980年1月6日の協定世界時刻が設定されるのであるが、実際にソフトロードを実施するまでの間に、ソフトロード対象となるプログラムコードの変更作業等により例えば15日間が経過してしまい、この時点におけるRTC10の現在時刻が1980年1月21日であった場合、上記有効期間が「1980年1月6日〜1980年1月12日」に設定されている外部メモリ14を用いたソフトロードは、該外部メモリ14の有効期間が経過していることから、拒否されることとなる。   In other words, when the main power supply is turned on to the mobile phone that performs soft loading, the coordinated universal time of January 6, 1980 is set for the RTC 10, but before the actual soft loading is performed. If, for example, 15 days have elapsed since the program code to be soft-loaded is changed, and the current time of the RTC 10 is January 21, 1980, the validity period is “January 1980”. The software load using the external memory 14 set to “6th to January 12, 1980” is rejected because the validity period of the external memory 14 has passed.

しかし、ソフトロードを正当に行う権限を有する者に対しては、このような有効期間を経過した外部メモリ14を用いた場合でもソフトロードを実行可能とすることが好ましい。このため、RTC10に協定世界時刻近辺の日付が設定されている場合において、RTC10から取得した日付の時刻が、外部メモリ14の有効期間を経過している場合、制御部16は、直ちにソフトロードを拒否することはせずに、図6のフローチャートのステップS15及びステップS16に示したように、外部メモリ14から外部メモリIDを取得し、この外部メモリIDが、NANDメモリ12に記憶されている外部メモリIDリストに存在するか否かを判別する。   However, it is preferable that software load can be executed even for a person who has the authority to perform software load properly even when the external memory 14 having passed such a valid period is used. For this reason, when a date near the coordinated universal time is set in the RTC 10 and the time of the date acquired from the RTC 10 has passed the effective period of the external memory 14, the control unit 16 immediately performs a soft load. Without rejecting, the external memory ID is acquired from the external memory 14 and the external memory ID is stored in the NAND memory 12 as shown in Step S15 and Step S16 of the flowchart of FIG. It is determined whether or not it exists in the memory ID list.

外部メモリ14から取得した外部メモリIDが、外部メモリIDリストに存在するということは、この外部メモリ14を第三者が不正に用いてソフトロードを実行しようとしている可能性が高い。このため、制御部16は、上述の有効期間の経過を理由にソフトロードを拒否する。   If the external memory ID acquired from the external memory 14 exists in the external memory ID list, there is a high possibility that a third party illegally uses the external memory 14 to execute a software load. For this reason, the control part 16 refuses a soft load on the reason for progress of the above-mentioned effective period.

これに対して、外部メモリ14から取得した外部メモリIDが、外部メモリIDリストに存在しないということは、この外部メモリ14に記憶されているプログラムコード等は新規に開発されたプログラムコード等であり、正当権利者がソフトロードを実行しようとしている可能性が高い。このため、制御部16は、RTC10に対して、再度、上記協定世界時刻を設定する(=設定時刻のリセット)。これにより、RTC10は、上記「1980年1月6日00時00分00秒」の協定世界時刻から再度計時を開始することとなり、制御部16は、外部メモリ14に設定された有効期間内の日付の時刻を上記RTC10から取得してソフトロードを実行することができる。
On the other hand, the fact that the external memory ID acquired from the external memory 14 does not exist in the external memory ID list means that the program code stored in the external memory 14 is a newly developed program code or the like. It is highly likely that the rightful owner is trying to perform a soft load. For this reason, the control unit 16 sets the coordinated universal time again for the RTC 10 (= reset of the set time). As a result, the RTC 10 starts measuring time again from the coordinated universal time of “January 6, 1980 00:00:00”, and the control unit 16 is within the valid period set in the external memory 14. The time of date can be acquired from the RTC 10 and the software load can be executed.

〔外部メモリに長期間の有効期間が設定されている場合〕
次に、ここまでは、外部メモリ14に対して7日間等の短めの有効期間が設定されている例を用いて説明を行ってきたが、外部メモリ14に対して例えば1年間等の長めの有効期間を設定する場合も有り得る。ただ、このように外部メモリ14に対して長めの有効期間を設定すると、当該有効期間の間に、いくつかの新しいプログラムコード等が開発され、ソフトロードの対象となるプログラムがバージョンアップすることが考えられる。そして、プログラムのバージョンアップがなされた場合には、最新バージョンのプログラムをソフトロードすることが好ましい。
[When a long-term validity period is set in the external memory]
Next, so far, the description has been made using an example in which a short effective period such as 7 days is set for the external memory 14, but a long period such as one year is set for the external memory 14. It is possible to set an effective period. However, if a long effective period is set for the external memory 14 in this way, several new program codes and the like are developed during the effective period, and the program to be soft loaded may be upgraded. Conceivable. When the version of the program is upgraded, it is preferable to soft load the latest version of the program.

このため、当該実施の形態の携帯電話機の場合、過去にソフトロードが実行されたNANDメモリ12に対して、再度、ソフトロードを行う場合、このソフトロード済みのプログラムのバージョン番号と、新たにソフトロードを行うプログラムのバージョン番号とを比較し、この新たにソフトロードを行うプログラムのバージョン番号の方が新しいバージョン番号である場合に、ソフトロードを実行するようになっている。   For this reason, in the case of the mobile phone according to the embodiment, when the software load is performed again on the NAND memory 12 that has been previously loaded with software, the version number of the already loaded program and the new software load The version number of the program to be loaded is compared, and when the version number of the program to be newly loaded is a newer version number, the software load is executed.

図7のフローチャートに、このバージョン番号に基づくソフトロードの実行動作の流れを示す。なお、この図7のフローチャートは、図6のフローチャートを簡略的に図示したフローチャートとなっており、図6のフローチャートに示した各処理に、ステップS31〜ステップS33の各処理が追加されたものとなっている。また、この図7のフローチャートでは、図6のフローチャートに示した処理と同じ処理を行うステップに、同じステップ番号を付している。このため、この図7のフローチャートの説明において、図6のフローチャートと同じステップ番号が付してあるステップの処理の説明は、図6のフローチャートの説明を参照いただき、重複した説明は省略する。   The flowchart of FIG. 7 shows the flow of the software load execution operation based on this version number. Note that the flowchart of FIG. 7 is a flowchart schematically showing the flowchart of FIG. 6, and that each process of steps S31 to S33 is added to each process shown in the flowchart of FIG. 6. It has become. In the flowchart of FIG. 7, the same step numbers are assigned to the steps that perform the same processes as those shown in the flowchart of FIG. For this reason, in the description of the flowchart of FIG. 7, the description of the processing of the step having the same step number as that of the flowchart of FIG. 6 is referred to the description of the flowchart of FIG.

図7のフローチャートにおいて、NANDメモリ12上にソフトロード実行プログラム(Progrun)が記憶されていることを確認すると、制御部16は、ステップS31に処理を進め、外部メモリ14に記憶されているプログラムのバージョン番号を取得する。また、ステップS32において、NANDメモリ12にソフトロード済みのプログラムのバージョン番号を取得する。   In the flowchart of FIG. 7, when it is confirmed that the software load execution program (Progrun) is stored in the NAND memory 12, the control unit 16 advances the process to step S <b> 31 and stores the program stored in the external memory 14. Get the version number. In step S32, the version number of the program already loaded in the NAND memory 12 is acquired.

そして、制御部16は、ステップS32において、両者を比較し、外部メモリ14に記憶されているプログラムのバージョン番号の方が、NANDメモリ12にソフトロード済みのプログラムのバージョン番号よりも新しいバージョン番号である場合に、ソフトロードの実行制御を行う。これにより、外部メモリ14に対して長めの有効期間が設定されている場合でも、常に最新バージョンのプログラムをソフトロードすることを可能とすることができる。
In step S 32, the control unit 16 compares the two, and the version number of the program stored in the external memory 14 is a newer version number than the version number of the program already loaded in the NAND memory 12. In some cases, execution control of soft load is performed. As a result, even when a long valid period is set for the external memory 14, it is possible to always soft-load the latest version of the program.

[実施の形態の効果]
以上の説明から明らかなように、この実施の形態の携帯電話機は、外部メモリ14に対して有効期間を設定し、RTC10から取得した現在時刻の日付が、外部メモリ14に設定されている有効期間である場合のみ、該外部メモリ14に記憶されているプログラムコード等を携帯電話機内のNANDメモリ12にソフトロードする。
[Effect of the embodiment]
As is clear from the above description, the mobile phone of this embodiment sets an effective period for the external memory 14, and the date of the current time acquired from the RTC 10 is the effective period set in the external memory 14. Only when it is, the program code stored in the external memory 14 is soft-loaded into the NAND memory 12 in the mobile phone.

ソフトロード用の外部メモリ14は、その取り扱いが容易であるため、プログラム開発に関与する様々な場所に配布される。このため、各場所に配布された全ての外部メモリ14を厳重に管理することは困難となるが、当該実施の形態の携帯電話機で使用される外部メモリ14の場合、ソフトロードを許可する有効期間が設定されているため、当該外部メモリ14の管理を容易化することができる。また、ソフトロード用の外部メモリ14が第三者の手に渡った場合でも、上記有効期間により、その使用を制限することができるため、セキュリティーの向上を図ることができる。   Since the external memory 14 for software loading is easy to handle, it is distributed to various places involved in program development. For this reason, it is difficult to strictly manage all the external memories 14 distributed to each location. However, in the case of the external memories 14 used in the mobile phone according to the embodiment, an effective period for permitting soft loading. Is set, the management of the external memory 14 can be facilitated. Further, even when the external memory 14 for software loading is in the hands of a third party, its use can be limited by the above-mentioned effective period, so that security can be improved.

また、例えば開発途中のプログラムが記憶された外部メモリ14が流出した場合、このような開発途中のプログラムは不具合を含んでいる場合が多く、第三者がソフトロードを行うと、場合によってはネットワークに影響を及ぼす恐れがある。しかし、このような開発途中のプログラムのバージョンは、完成したプログラムのバージョンよりも古いバージョンとなり、大抵の場合、この古いバージョンのプログラムが記憶された外部メモリの有効期間は経過しているため、開発途中のプログラムが記憶された外部メモリが流出した場合でも、これを用いたソフトロードを略々実行不可とすることができる。   Further, for example, when the external memory 14 storing a program under development is leaked, such a program under development often includes a defect. May affect However, the version of the program under development is older than the version of the completed program, and in most cases, the validity period of the external memory in which the old version of the program is stored has passed. Even when an external memory in which an intermediate program is stored leaks, software loading using this can be substantially disabled.

また、ソフトロードを行う際に、外部メモリ14に記憶されているプログラムのバージョンと、携帯電話機内にソフトロード済みのプログラムのバージョンとを比較し、外部メモリ14に記憶されているプログラムのバージョンの方が新しい場合にソフトロードを実行することで、上記開発途中のプログラムがソフトロードされる不都合を防止可能となるが、当該実施の形態の携帯電話機に用いられる外部メモリ14の場合、前述のように古いバージョンのプログラムが記憶された外部メモリは、大抵の場合、その有効期間が経過したものとなるため、上記バージョンを比較する処理を行わなくても、上記開発途中のプログラムがソフトロードされる不都合を略々防止することができる。このため、外部メモリ14を用いたソフトロードの一連の処理から、上記バージョンを比較する処理を省略することができ、該外部メモリ14を用いたソフトロードシーケンスを簡略化することができる。   Further, when performing software loading, the version of the program stored in the external memory 14 is compared with the version of the program already loaded in the mobile phone, and the version of the program stored in the external memory 14 is compared. When the software load is executed when it is newer, it is possible to prevent the inconvenience that the program under development is soft loaded. However, in the case of the external memory 14 used in the mobile phone according to the embodiment, as described above. In most cases, the external memory in which the old version of the program is stored is the one whose validity period has expired. Therefore, the program under development is soft-loaded without performing the process of comparing the versions. Inconvenience can be substantially prevented. For this reason, the process of comparing the above versions can be omitted from a series of processes of software loading using the external memory 14, and the software loading sequence using the external memory 14 can be simplified.

また、これとは反対に、外部メモリ14に対して長期間の有効期間を付した場合には、ソフトロード前に、上記バージョンを比較する処理を実行することで、常に最新バージョンのソフトロードを可能とすることができる。   On the other hand, when a long period of validity is given to the external memory 14, the latest version of the software load is always executed by executing the process of comparing the versions before the software load. Can be possible.

また、例えば製品管理が十分に実施されており、盗難等の心配が少ない場所で外部メモリ14を用いる場合には、外部メモリ14に設定された有効期間を有効/無効情報で解除することで、有効期間が付された外部メモリ14を用いながらにして、従前どおりの自由なソフトロードを可能とすることができる。
Further, for example, when the external memory 14 is used in a place where product management is sufficiently performed and there is little concern about theft, the valid period set in the external memory 14 is canceled with the valid / invalid information, While using the external memory 14 with a valid period, it is possible to perform free soft loading as before.

[変形例]
上述の実施の形態の説明では、ソフトロードの対象が携帯電話機であることとしたが、外部メモリの装着部とタイマを備えた機器であれば、PHS電話機(PHS:Personal Handyphone System)、PDA装置(PDA:Personal Digital Assistant)、携帯ゲーム機、ノート型のパーソナルコンピュータ装置等の他の機器をソフトロードの対象としてもよい。いずれの場合でも、上述と同じ効果を得ることができる。
[Modification]
In the description of the above-described embodiment, the target of the software load is a mobile phone. Other devices such as a PDA (Personal Digital Assistant), a portable game machine, and a notebook personal computer device may be subjected to software loading. In either case, the same effect as described above can be obtained.

最後に、上述の実施の形態は、本発明の一例である。このため、本発明は上述の実施の形態に限定されることはなく、本発明に係る技術的思想を逸脱しない範囲であれば、設計等に応じて種々の変更が可能であることは勿論であることを付け加えておく。   Finally, the above-described embodiment is an example of the present invention. For this reason, the present invention is not limited to the above-described embodiment, and various modifications can be made according to the design and the like as long as they do not depart from the technical idea of the present invention. I add that there is something.

本発明を適用した実施の形態となる携帯電話機のブロック図である。1 is a block diagram of a mobile phone according to an embodiment to which the present invention is applied. 実施の形態の携帯電話機に対して着脱自在の外部メモリに記憶されているソフトロード用の各種データを説明するための図である。It is a figure for demonstrating the various data for software loading memorize | stored in the external memory which can be attached or detached with respect to the mobile telephone of embodiment. 実施の形態の携帯電話機に対して着脱自在の外部メモリに記憶されているソフトロード用のデータに対してハッシュ関数が付される様子を示す図である。It is a figure which shows a mode that a hash function is attached | subjected with respect to the data for soft loading memorize | stored in the external memory which can be attached or detached with respect to the mobile telephone of embodiment. 実施の形態の携帯電話機に対して着脱自在の外部メモリに記憶されているソフトロード実行プログラムに対して付されているハッシュ関数及びパスワードを説明するための図である。It is a figure for demonstrating the hash function and password which are attached | subjected with respect to the soft load execution program memorize | stored in the external memory removable with respect to the mobile telephone of embodiment. 実施の形態の携帯電話機におけるブート時の処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process at the time of booting in the mobile telephone of embodiment. 実施の形態の携帯電話機内のNANDメモリに記憶されているブートローダプログラムに基づく処理の流れを示すフローチャートである。It is a flowchart which shows the flow of the process based on the boot loader program memorize | stored in the NAND memory in the mobile telephone of embodiment. 実施の形態の携帯電話機において、NANDメモリに記憶済みのソフトウェアプログラムが、外部メモリに記憶されているソフトウェアプログラムよりも古いソフトウェアプログラムであった場合に、ソフトロードを実行する処理の流れを示すフローチャートである。6 is a flowchart showing a flow of processing for executing a software load when the software program stored in the NAND memory is an older software program than the software program stored in the external memory in the cellular phone according to the embodiment. is there. NANDブート方式におけるプログラム実行処理を説明するための図である。It is a figure for demonstrating the program execution process in a NAND boot system. NANDメモリに記憶されているデータの種類を説明するための図である。It is a figure for demonstrating the kind of data memorize | stored in NAND memory. 従来のソフトロード用の外部メモリに記憶されているプログラム及びデータを説明するための図である。It is a figure for demonstrating the program and data which are memorize | stored in the external memory for the conventional soft load. 外部メモリを用いて行う従来のソフトロードの流れを説明するためのフローチャートである。It is a flowchart for demonstrating the flow of the conventional soft load performed using an external memory.

符号の説明Explanation of symbols

1 アンテナ、2 通信回路、3 表示部、4 操作部、5 スピーカ部、6 マイクロホン部、7 カメラ部、8 発光部(LED)、9 バイブレーションユニット、10 RTC(タイマ)、11 携帯電話機に内蔵されている二次電池、12 NANDメモリ、13 SDRAM、14 外部メモリ、15 外部メモリインターフェイス(外部メモリIF)、16 制御部   1 antenna, 2 communication circuit, 3 display unit, 4 operation unit, 5 speaker unit, 6 microphone unit, 7 camera unit, 8 light emitting unit (LED), 9 vibration unit, 10 RTC (timer), 11 built in mobile phone Secondary battery, 12 NAND memory, 13 SDRAM, 14 external memory, 15 external memory interface (external memory IF), 16 control unit

Claims (9)

所定の機器のメモリ装着部に対して着脱自在とされた外部メモリであって、
上記機器内のメモリにロードするためのプログラムと、
上記機器内のメモリに対する上記プログラムのロードを実行するように、該機器の制御手段を機能させるためのロード実行制御プログラムと、
上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、
上記プログラムのロードを許可する期間を示す有効期間情報とが記憶されており、
上記ロード実行制御プログラムは、
上記機器の計時手段から現在時刻情報を取得するプログラムと、
上記取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記機器内のメモリに対する上記プログラムのロードを実行するように上記機器の制御手段を機能させるプログラムと、
上記取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記機器内のメモリに対する上記プログラムのロードの実行を拒否するように上記機器の制御手段を機能させるプログラムとを含むこと
を特徴とする外部メモリ。
An external memory that is detachable from a memory mounting portion of a predetermined device,
A program for loading into the memory in the device;
A load execution control program for causing the control means of the device to function so as to load the program to the memory in the device;
Time stamp information that is time information in which the program is stored;
Valid period information indicating a period during which the program is allowed to be loaded is stored,
The load execution control program is
A program for acquiring current time information from the time measuring means of the device;
When the current time indicated by the acquired current time information is within the validity period indicated by the time stamp information and the validity period information, the program is loaded to the memory in the device. A program for causing the control means of the device to function;
When the current time indicated by the acquired current time information is outside the valid period indicated by the time stamp information and the valid period information, the execution of loading the program to the memory in the device is rejected. And an external memory including a program for causing the control means of the device to function.
請求項1に記載の外部メモリであって、
上記有効期間情報の有効或いは無効を示す有効/無効情報が記憶されており、
上記ロード実行制御プログラムは、
上記有効/無効情報が上記有効期間情報の無効を示す場合、上記計時手段から取得した現在時刻が、上記有効期間情報で示される有効期間内であるか否かの確認処理を行うことなく、上記機器内のメモリに対する上記プログラムのロードを実行するように上記機器の制御手段を機能させるプログラムと、
上記有効/無効情報が上記有効期間情報の有効を示す場合、上記計時手段から取得した現在時刻が、上記有効期間情報で示される有効期間内であるか否かの確認処理の結果に応じて、上記機器内のメモリに対する上記プログラムのロードの実行、或いは該ロードの拒否を行うように上記機器の制御手段を機能させるプログラムとを含むこと
を特徴とする外部メモリ。
The external memory according to claim 1,
Valid / invalid information indicating validity or invalidity of the validity period information is stored,
The load execution control program is
When the validity / invalidity information indicates invalidity of the validity period information, the current time acquired from the time measuring means is not checked for whether or not the current time is within the validity period indicated by the validity period information. A program for causing the control means of the device to function to load the program to the memory in the device;
When the valid / invalid information indicates the validity of the valid period information, according to the result of the confirmation process as to whether or not the current time acquired from the time measuring means is within the valid period indicated by the valid period information, An external memory comprising: a program that causes the control means of the device to function so as to execute loading of the program to the memory in the device or to reject the loading.
請求項1又は請求項2に記載の外部メモリであって、
固有の識別情報が記憶されており、
上記ロード実行制御プログラムは、
上記識別情報を取得するように上記機器の制御手段を機能させるプログラムと、
上記機器内に設けられており、上記プログラムのロードに用いられる各外部メモリの識別情報がリスト化されて記憶された外部メモリ識別情報リストを、上記取得した識別情報に基づいて参照することで、上記取得した識別情報が上記外部メモリ識別情報リストに存在するか否かを判別するように上記機器の制御手段を機能させるプログラムと、
上記取得した識別情報が上記外部メモリ識別情報リストに存在しない場合に、上記機器の計時手段に対して、現在時刻の日付よりも大きく過去に遡った所定の日付の時間情報を設定するように上記機器の制御手段を機能させるプログラムと、
上記機器の計時手段に対して設定された上記所定の日付の時間情報と上記有効期間情報とを加算処理することで、上記プログラムのロードを許可する新たな有効期間を算出するように上記機器の制御手段を機能させるプログラムと、
上記所定の日付の時間情報が設定された上記機器の計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記新たに算出した有効期間内であった場合に、上記機器内のメモリに対する上記プログラムのロードを実行するように上記機器の制御手段を機能させるプログラムとを含むこと
を特徴とする外部メモリ。
The external memory according to claim 1 or 2,
Unique identification information is stored,
The load execution control program is
A program for causing the control means of the device to function so as to acquire the identification information;
By referring to the external memory identification information list provided in the device and stored in a list of identification information of each external memory used for loading the program, based on the acquired identification information, A program for causing the control means of the device to function to determine whether or not the acquired identification information exists in the external memory identification information list;
When the acquired identification information does not exist in the external memory identification information list, the time information of the predetermined date that is larger than the date of the current time and goes back in the past is set for the time measuring means of the device. A program for causing the control means of the device to function;
By adding the time information of the predetermined date set for the time measuring means of the device and the validity period information, the device is configured so as to calculate a new validity period that permits the loading of the program. A program for causing the control means to function;
When the current time information is acquired from the time measuring means of the device in which the time information of the predetermined date is set, and the current time indicated by the acquired current time information is within the newly calculated effective period And an external memory comprising: a program that causes the control means of the device to function so as to load the program to the memory in the device.
請求項1又は請求項2に記載の外部メモリであって、
上記ロードするプログラムのバージョン情報が記憶されており、
上記ロード実行制御プログラムは、
上記機器内のメモリにロード済みのプログラムのバージョン情報を取得するように上記機器の制御手段を機能させるプログラムと、
上記ロードするプログラムのバージョン情報と、上記取得したロード済みのプログラムのバージョン情報とを比較し、上記ロードするプログラムの方が新しいプログラムである場合に、上記機器内のメモリに対する上記プログラムのロードを実行するように上記機器の制御手段を機能させるプログラムとを含むこと
を特徴とする外部メモリ。
The external memory according to claim 1 or 2,
The version information of the program to be loaded is stored,
The load execution control program is
A program for causing the control means of the device to function so as to obtain version information of the program loaded in the memory in the device;
The version information of the program to be loaded is compared with the acquired version information of the loaded program, and when the loaded program is a newer program, the program is loaded into the memory in the device. An external memory comprising: a program that causes the control means of the device to function as described above.
当該携帯電話機の内部に設けられたメモリと、
上記メモリにロードするためのプログラムと、上記メモリに対する上記プログラムのロードの実行を制御するためのロード実行制御プログラムと、上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、上記プログラムのロードを許可する期間を示す有効期間情報とが記憶された外部メモリが装着されるメモリ装着部と、
計時を行う計時手段と、
上記外部メモリに記憶されている上記ロード実行制御プログラムに基づいて動作することで、上記計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記外部メモリに記憶されている上記プログラムを、当該携帯電話機の内部に設けられた上記メモリにロードし、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記内部のメモリに対する上記プログラムのロードを拒否する制御手段と
を有する携帯端末装置。
A memory provided inside the mobile phone;
A program for loading into the memory, a load execution control program for controlling execution of loading of the program into the memory, time stamp information which is time information storing the program, and loading of the program A memory mounting unit in which an external memory storing valid period information indicating a permitted period is mounted;
A time measuring means for measuring time;
By operating based on the load execution control program stored in the external memory, current time information is acquired from the time measuring means, and the current time indicated by the acquired current time information is stored in the external memory. The program stored in the external memory is loaded into the memory provided in the mobile phone when it is within the valid period indicated by the time stamp information and the valid period information. When the current time indicated by the current time information acquired from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information, the loading of the program to the internal memory is rejected. And a portable terminal device.
請求項5に記載の携帯端末装置であって、
無線通信ネットワークを介して無線通信を行うための無線通信手段を有し、
上記制御手段は、上記無線通信ネットワークに対して無線通信回線の接続を図るように上記無線通信手段を制御した際に該無線通信ネットワーク介して取得される現在時刻情報を上記計時手段に設定すること
を特徴とする携帯端末装置。
The mobile terminal device according to claim 5,
Having wireless communication means for performing wireless communication via a wireless communication network;
The control means sets current time information acquired through the wireless communication network when the wireless communication means is controlled to connect a wireless communication line to the wireless communication network in the time measuring means. The portable terminal device characterized by this.
請求項6に記載の携帯端末装置であって、
上記制御手段は、上記無線通信ネットワークに対する無線通信回線の接続を図る機会が無かったことで、上記計時手段に対して現在時刻が未設定の場合、現在時刻の日付よりも大きく過去に遡った所定の日付の時間情報を上記計時手段に設定し、この計時手段に設定した上記所定の日付の時間情報に上記有効期間情報を加算処理することで有効期間を算出すると共に、上記計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記算出した有効期間内であった場合に、上記外部メモリに記憶されている上記プログラムを、当該携帯電話機の内部に設けられた上記メモリにロードし、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記算出した有効期間外であった場合に、上記内部のメモリに対する上記プログラムのロードを拒否すること
を特徴とする携帯端末装置。
The mobile terminal device according to claim 6,
If the current time is not set for the time measuring means because the control means has no opportunity to connect a wireless communication line to the wireless communication network, the control means has a predetermined date that is larger than the date of the current time. The time information of the date is set in the time measuring means, the effective period is calculated by adding the effective period information to the time information of the predetermined date set in the time measuring means, and the current time is calculated from the time measuring means. When the current time indicated by the acquired current time information is within the calculated effective period, the program stored in the external memory is provided in the mobile phone. The internal memory is loaded when the current time indicated by the current time information loaded from the time measuring means is outside the calculated effective period. Mobile terminal device characterized in that it refuses to load the program against.
所定の機器のメモリ装着部に装着された外部メモリに記憶されているプログラムを、該機器の内部に設けられたメモリにロードするためのプログラムのロード方法であって、
上記内部のメモリにロードするためのプログラムと、上記メモリに対する上記プログラムのロードの実行を制御するためのロード実行制御プログラムと、上記プログラムを記憶させた時間情報であるタイムスタンプ情報と、上記プログラムのロードを許可する期間を示す有効期間情報とを上記外部メモリに記憶し、
制御手段が、上記外部メモリに記憶されている上記ロード実行制御プログラムに基づいて動作することで、計時を行う計時手段から現在時刻情報を取得し、この取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている上記タイムスタンプ情報及び上記有効期間情報で示される有効期間内であった場合に、上記外部メモリに記憶されている上記プログラムを上記内部のメモリにロードし、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記内部のメモリに対する上記プログラムのロードを拒否すること
を特徴とするプログラムのロード方法。
A program loading method for loading a program stored in an external memory mounted in a memory mounting unit of a predetermined device into a memory provided in the device,
A program for loading into the internal memory, a load execution control program for controlling execution of loading of the program into the memory, time stamp information which is time information storing the program, and The validity period information indicating the period during which loading is permitted is stored in the external memory,
The control means operates based on the load execution control program stored in the external memory, thereby acquiring current time information from the time measuring means for measuring time, and the current time indicated by the acquired current time information is When the time stamp information stored in the external memory and the valid period indicated by the valid period information are within the valid period, the program stored in the external memory is loaded into the internal memory, and If the current time indicated by the current time information obtained from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information, the loading of the program to the internal memory is rejected. A method for loading a program.
所定の機器のメモリ装着部に対して着脱自在とされた外部メモリに記憶されているロード対象プログラムを、上記機器の内部に設けられたメモリにロードするためのソフトロードプログラムであって、
上記機器の計時手段から現在時刻情報を取得する現在時刻取得手段としてコンピュータを機能させ、
コンピュータを上記現在時刻取得手段として機能させることで、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記外部メモリに記憶されている、上記外部メモリに対して上記ロード対象プログラムを記憶させた時間情報であるタイムスタンプ情報、及び上記ロード対象プログラムのロードを許可する期間を示す有効期間情報で示される有効期間内であった場合に、上記機器内のメモリに対する上記ロード対象プログラムのロードを実行し、上記計時手段から取得した現在時刻情報で示される現在時刻が、上記タイムスタンプ情報及び上記有効期間情報で示される有効期間外であった場合に、上記機器内のメモリに対する上記ロード対象プログラムのロードの実行を拒否する制御手段としてコンピュータを機能させること
を特徴とするソフトロードプログラム。
A software load program for loading a load target program stored in an external memory that is detachable from a memory mounting portion of a predetermined device into a memory provided in the device,
The computer functions as current time acquisition means for acquiring current time information from the time measuring means of the device,
By causing the computer to function as the current time acquisition unit, the current time indicated by the current time information acquired from the time measurement unit is stored in the external memory, and the load target program is stored in the external memory. When the load target program is loaded into the memory in the device when it is within the valid period indicated by the time stamp information that is the time information and the valid period information indicating the period during which the loading of the load target program is permitted When the current time indicated by the current time information acquired from the time measuring means is outside the valid period indicated by the time stamp information and the valid period information, the load target for the memory in the device is executed. To allow the computer to function as a control means to refuse to load the program. A featured software loading program.
JP2007318328A 2007-12-10 2007-12-10 External memory, portable terminal device, loading method of program, and software loading program Pending JP2009140398A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007318328A JP2009140398A (en) 2007-12-10 2007-12-10 External memory, portable terminal device, loading method of program, and software loading program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007318328A JP2009140398A (en) 2007-12-10 2007-12-10 External memory, portable terminal device, loading method of program, and software loading program

Publications (1)

Publication Number Publication Date
JP2009140398A true JP2009140398A (en) 2009-06-25

Family

ID=40870909

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007318328A Pending JP2009140398A (en) 2007-12-10 2007-12-10 External memory, portable terminal device, loading method of program, and software loading program

Country Status (1)

Country Link
JP (1) JP2009140398A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063219A (en) * 2012-09-19 2014-04-10 Nakayo Telecommun Inc Information input device and portable terminal
JP2018142803A (en) * 2017-02-27 2018-09-13 シャープ株式会社 Telephone set and method of controlling telephone set
JP2020087021A (en) * 2018-11-27 2020-06-04 株式会社リコー Information processing device, image forming device and program

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844554A (en) * 1994-07-28 1996-02-16 Hitachi Ltd Installing method
JPH0926875A (en) * 1995-07-11 1997-01-28 Fujitsu Ltd Storage medium equipped with software unauthorized use preventive function, computer and computer system
JPH09200066A (en) * 1996-01-12 1997-07-31 Casio Comput Co Ltd Service information receiver and recording medium
JPH09319573A (en) * 1996-05-28 1997-12-12 Nec Corp Charging system for circulation program, charging method and computer readable medium for storing program for charging circulation program
JP2000047867A (en) * 1998-07-31 2000-02-18 Sony Computer Entertainment Inc Data processing system, method therefor, data processor and method therefor
JP2003228428A (en) * 2002-02-01 2003-08-15 Fujitsu Ltd Apparatus and program for generating license key information using time system common to the world, recording medium with recording program stored making computer control license of software installation using time system common to the world, and recording medium recording program making computer control management of software use term using time system common to the world
JP2006040197A (en) * 2004-07-30 2006-02-09 Mitsubishi Electric Corp Storage device, data management system, and method and program for data invalidation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0844554A (en) * 1994-07-28 1996-02-16 Hitachi Ltd Installing method
JPH0926875A (en) * 1995-07-11 1997-01-28 Fujitsu Ltd Storage medium equipped with software unauthorized use preventive function, computer and computer system
JPH09200066A (en) * 1996-01-12 1997-07-31 Casio Comput Co Ltd Service information receiver and recording medium
JPH09319573A (en) * 1996-05-28 1997-12-12 Nec Corp Charging system for circulation program, charging method and computer readable medium for storing program for charging circulation program
JP2000047867A (en) * 1998-07-31 2000-02-18 Sony Computer Entertainment Inc Data processing system, method therefor, data processor and method therefor
JP2003228428A (en) * 2002-02-01 2003-08-15 Fujitsu Ltd Apparatus and program for generating license key information using time system common to the world, recording medium with recording program stored making computer control license of software installation using time system common to the world, and recording medium recording program making computer control management of software use term using time system common to the world
JP2006040197A (en) * 2004-07-30 2006-02-09 Mitsubishi Electric Corp Storage device, data management system, and method and program for data invalidation

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014063219A (en) * 2012-09-19 2014-04-10 Nakayo Telecommun Inc Information input device and portable terminal
JP2018142803A (en) * 2017-02-27 2018-09-13 シャープ株式会社 Telephone set and method of controlling telephone set
JP2020087021A (en) * 2018-11-27 2020-06-04 株式会社リコー Information processing device, image forming device and program
JP7107188B2 (en) 2018-11-27 2022-07-27 株式会社リコー Information processing device, image forming device and program

Similar Documents

Publication Publication Date Title
JP4711954B2 (en) Wireless communication terminal synchronization method, wireless communication system, wireless communication terminal, and server
CN105094903B (en) The method and device that firmware is upgraded
US8195124B2 (en) Apparatus and methods for managing time sensitive application privileges on a wireless device
US9110679B1 (en) Pre-boot management of drivers and programs
EP1783607A1 (en) Competition solving device
EP2626803A1 (en) Information processing device and method for preventing unauthorized application cooperation
CN105975864A (en) Operation system starting method and device, and terminal
US20110055917A1 (en) Valid access to mobile device application
JP2005079912A (en) Secure data management device
CN103729597A (en) System starting verifying method and device and terminal
US8229505B2 (en) Method and apparatus for storing a software license
CN101132557A (en) Method providing equipment and data safety service for mobile phone users
CN105765533A (en) Method and apparatus for firmware virtualization
JP2009140398A (en) External memory, portable terminal device, loading method of program, and software loading program
CN108260086B (en) Terminal control method based on fence
JP4935574B2 (en) Information communication terminal and content processing method in information communication terminal
CN114048469B (en) Directory operation management method, electronic device and readable storage medium
US20100169812A1 (en) Apparatus and method for providing widget service in portable terminal
JP2010211337A (en) Electronic money batch management system
JP2015207152A (en) Expiration date authentication system, expiration date authentication device, and expiration date authentication method for application
CN111638917A (en) Application start limiting method, device and storage medium
JP2007189375A (en) Function limitation system for mobile terminal
JP2003244065A (en) Program activation method, server apparatus, and terminal
CN107567627B (en) Device with test execution environment
CN110580179A (en) information processing method and device, electronic device and storage medium

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101206

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120419

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20120426

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120627

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120710

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20121106