JP2007052518A - Information processor, method, and program - Google Patents

Information processor, method, and program Download PDF

Info

Publication number
JP2007052518A
JP2007052518A JP2005235641A JP2005235641A JP2007052518A JP 2007052518 A JP2007052518 A JP 2007052518A JP 2005235641 A JP2005235641 A JP 2005235641A JP 2005235641 A JP2005235641 A JP 2005235641A JP 2007052518 A JP2007052518 A JP 2007052518A
Authority
JP
Japan
Prior art keywords
software
program
storage medium
general
information processing
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
JP2005235641A
Other languages
Japanese (ja)
Inventor
Masaki Hirose
正樹 広瀬
Shiro Hagiwara
史郎 萩原
Shoji Nakamura
昭次 中村
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 Corp
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 Corp filed Critical Sony Corp
Priority to JP2005235641A priority Critical patent/JP2007052518A/en
Publication of JP2007052518A publication Critical patent/JP2007052518A/en
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

<P>PROBLEM TO BE SOLVED: To perform software updating processing with high versatility in an information processor to be incorporated into another device and used. <P>SOLUTION: A FTP (file transfer protocol) daemon 41 acquires a software package obtained by summarizing a plurality of pieces of software from another device, and holds it in a RAM. A software package expansion processing section 42 expands the software package on the RAM. A shell script execution section 43 executes, one line at a time, the description of the shell script included in a file expanded and obtained by the software package expansion processing section 42, thus makes a ROM writing control section 44 perform writing into a known ROM for a general-purpose platform, and makes an update program execution section 45 perform writing into an unknown ROM for the general-purpose platform by executing an update program included in the software package. <P>COPYRIGHT: (C)2007,JPO&INPIT

Description

本発明は、情報処理装置および方法、並びにプログラムに関し、特に、より汎用性の高いソフトウェア更新処理を行うことができるようにする情報処理装置および方法、並びにプログラムに関する。   The present invention relates to an information processing apparatus and method, and a program, and more particularly, to an information processing apparatus and method, and a program capable of performing a more versatile software update process.

従来、製品に組み込まれたソフトウェアを後から更新する方法として、イーサネット(登録商標)などのネットワークを介してファームウェアの転送を行い、転送されたファームウェアをフラッシュメモリやハードディスク等の記録媒体に記録するという方法がある(例えば、特許文献1参照)。   Conventionally, as a method of updating software incorporated in a product later, firmware is transferred via a network such as Ethernet (registered trademark), and the transferred firmware is recorded on a recording medium such as a flash memory or a hard disk. There exists a method (for example, refer patent document 1).

このような場合、ファームウェアの転送を行うプログラムと、ファームウェアを記録媒体に記録するプログラムは、予め(例えば、工場出荷時に)その製品に組み込まれている。   In such a case, a program for transferring firmware and a program for recording firmware on a recording medium are incorporated in the product in advance (for example, at the time of factory shipment).

ところで、製品に組み込むソフトウェアの肥大化に伴い、ハードウェアだけでなくソフトウェアの共通化も行われ始めている。例えば、小型のCPU(Central Processing Unit)基板にさまざまな製品で共通利用されるソフトウェアを組み込んだ汎用のプラットフォーム(汎用のハードウェアおよびソフトウェアを含む構成)を共通開発し、これをさまざまな製品に組み込むことによって、各製品のハードウェアやソフトウェアの開発コストの低減や、開発期間の短縮を図る方法がある。   By the way, with the enlargement of the software embedded in products, not only hardware but also software sharing has begun. For example, a general-purpose platform (configuration that includes general-purpose hardware and software) that incorporates software commonly used in various products on a small CPU (Central Processing Unit) board is commonly developed and incorporated into various products. Thus, there are methods for reducing the development cost of hardware and software of each product and shortening the development period.

上述したようなソフトウェアを後から更新する方法(ソフトウェア更新機能)は、各装置において求められることであるので、このソフトウェア更新機能に関する開発コストの低減や開発期間の短縮を実現するために、上述した汎用のプラットフォームの共通ソフトウェアとして組み込まれることが望ましい。   Since the method for updating the software as described above (software update function) is required in each apparatus, in order to reduce the development cost and shorten the development period related to the software update function, It is desirable to be incorporated as common software for general-purpose platforms.

特開2005−11209号公報JP 2005-11209 A

しかしながら、汎用のプラットフォームが組み込まれる各製品は、一般的に製品固有の記憶媒体(フラッシュメモリ等)を有するが、通常、汎用のプラットフォームは、そのプラットフォームが組み込まれる各製品よりも前に開発される。従って、この製品固有の記憶媒体が、プラットフォームにとって未知の構成である場合がある。   However, each product in which a general-purpose platform is incorporated generally has a product-specific storage medium (flash memory, etc.), but a general-purpose platform is usually developed before each product in which the platform is incorporated. . Therefore, this product-specific storage medium may have an unknown configuration for the platform.

このような場合、汎用のプラットフォームに共通ソフトウェアとして組み込まれたソフトウェア更新プログラムは、上述したような、汎用のプラットフォームにとって未知の、製品固有の記憶媒体を把握していないので、その記憶媒体に記憶されるソフトウェアの更新処理を行うことができない恐れがあった。つまり、このような製品固有の記憶媒体に記憶されるソフトウェアを更新するためには、専用のソフトウェア更新プログラムを製品毎に開発する必要があった。   In such a case, the software update program incorporated as the common software in the general-purpose platform does not grasp the product-specific storage medium unknown to the general-purpose platform as described above, and is stored in the storage medium. There was a possibility that the software update process could not be performed. That is, in order to update the software stored in such a product-specific storage medium, it is necessary to develop a dedicated software update program for each product.

本発明はこのような状況に鑑みてなされたものであり、より汎用性の高いソフトウェア更新処理を行うことができるようにするものである。   The present invention has been made in view of such a situation, and makes it possible to perform software update processing with higher versatility.

本発明の一側面の情報処理装置は、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得する取得手段と、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段とを備える。   An information processing apparatus according to an aspect of the present invention is an information processing apparatus that is used by being incorporated in another apparatus and that provides a predetermined function to the other apparatus that is an installation destination. A rewritable storage medium having a configuration other than the information processing apparatus, and the first software written in the first storage medium having a configuration unknown to the information processing apparatus together with the first software An acquisition unit that acquires a program for writing to a medium from outside the other device, and the program execution that executes the program acquired by the acquisition unit and writes the first software to the first storage medium Means.

ソフトウェアの書き込み手順を指定するシェルスクリプトを実行するシェルスクリプト実行手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。   Shell script execution means for executing a shell script for specifying a software writing procedure is further provided, wherein the acquisition means further acquires the shell script together with the first software and the program, and the shell script execution means includes: The shell script acquired by the acquisition unit is executed, and the program execution unit executes the program according to a description of the shell script executed by the shell script execution unit, and the first software is installed in the first software. One storage medium can be written.

前記情報処理装置にとって既知の構成として、書き換え可能な第2の記憶媒体を有し、前記第2の記憶媒体にソフトウェアを書き込む書き込み手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェアをさらに取得し、前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込むようにすることができる。   As a configuration known to the information processing apparatus, the information processing apparatus further includes a rewritable second storage medium, and further includes a writing unit that writes software to the second storage medium, and the acquisition unit includes the first software and the Along with the program, second software to be written to the second storage medium may be further acquired, and the writing means may write the second software to the second storage medium.

前記第2の記憶媒体の記憶領域は、汎用の機能を提供するソフトウェアを記憶する共通機能用記憶領域と、前記他の装置固有の機能を提供するソフトウェアを記憶する固有機能用記憶領域とが互いに異なる領域として形成されるようにすることができる。   The storage area of the second storage medium includes a common function storage area that stores software that provides general-purpose functions and a unique function storage area that stores software that provides functions unique to the other apparatus. It can be formed as different regions.

複数のファイルがアーカイブされて1つにまとめられたファイルを展開する展開手段をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージとして取得し、前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離するようにすることができる。   The image processing apparatus further includes expansion means for expanding a plurality of files archived into a single file, and the acquisition means acquires the first software and the program as one archived software package. Then, the expansion unit can expand the software package acquired by the acquisition unit and separate the first software and the program.

暗号化されたファイルを所定の方式で復号する復号手段をさらに備え、前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラムを取得し、前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。   The apparatus further comprises decryption means for decrypting the encrypted file by a predetermined method, wherein the acquisition means acquires the first software and the program encrypted, and the decryption means is acquired by the acquisition means. Further, the encrypted first software and the program are decrypted by a predetermined method, and the program execution means executes the program decrypted by the decryption means, and the decrypted by the decryption means One software can be written in the first storage medium.

前記取得手段による暗号化されていない平文の前記第1のソフトウェアおよび前記プログラムの取得を許可するかの設定を保持する設定保持手段と、前記設定保持手段により保持されている前記設定を確認する設定確認手段とをさらに備えるようにすることができる。   Setting holding means for holding whether to allow acquisition of the first software and the program in plain text not encrypted by the obtaining means, and setting for confirming the setting held by the setting holding means And a confirmation unit.

本発明の一側面の情報処理方法は、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置の情報処理方法であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むステップを含む。   An information processing method according to one aspect of the present invention is an information processing method for an information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus as an installation destination. The device is a rewritable storage medium having a configuration other than the information processing device, and the first software is written together with the first software written to the first storage medium having an unknown configuration to the information processing device. A step of acquiring a program for writing to the first storage medium from outside the other device, executing the program acquired by the acquisition means, and writing the first software to the first storage medium; including.

本発明の一側面のプログラムは、他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する処理をコンピュータに行わせるプログラムであって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むステップを含む。   A program according to an aspect of the present invention is a program that is used by being incorporated in another device, and that causes a computer to perform a process of providing a predetermined function to the other device that is the installation destination. Is a rewritable storage medium having a configuration other than the information processing apparatus, and the first software is written to the first storage medium having a configuration unknown to the information processing apparatus together with the first software. A program for writing to the other storage medium is acquired from outside the other device, the program acquired by the acquisition means is executed, and the first software is written to the first storage medium. .

本発明の一側面においては、他の装置が情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、第1のソフトウェアを第1の記憶媒体に書き込むためのプログラムが、他の装置の外部より取得され、その取得されたプログラムが実行されて、第1のソフトウェアが第1の記憶媒体に書き込まれる。   In one aspect of the present invention, the rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that writes to the first storage medium that is an unknown configuration for the information processing apparatus, A program for writing the first software to the first storage medium is acquired from the outside of the other device, the acquired program is executed, and the first software is written to the first storage medium.

本発明の一側面によれば、ソフトウェアを更新することができる。特に、より汎用性の高いソフトウェア更新処理を行うことができる。   According to one aspect of the present invention, software can be updated. In particular, a more versatile software update process can be performed.

以下に本発明の実施の形態を説明するが、本明細書に記載の発明と、発明の実施の形態との対応関係を例示すると、次のようになる。この記載は、請求項に記載されている発明をサポートする実施の形態が本明細書に記載されていることを確認するためのものである。従って、発明の実施の形態中には記載されているが、発明に対応するものとして、ここには記載されていない実施の形態があったとしても、そのことは、その実施の形態が、その発明に対応するものではないことを意味するものではない。逆に、実施の形態が発明に対応するものとしてここに記載されていたとしても、そのことは、その実施の形態が、その発明以外の発明には対応しないものであることを意味するものでもない。   Embodiments of the present invention will be described below. The correspondence relationship between the invention described in this specification and the embodiments of the invention is exemplified as follows. This description is intended to assure that embodiments supporting the claimed invention are described in this specification. Therefore, although there is an embodiment which is described in the embodiment of the invention but is not described here as corresponding to the invention, it means that the embodiment is not It does not mean that it does not correspond to the invention. Conversely, even if an embodiment is described herein as corresponding to an invention, that means that the embodiment does not correspond to an invention other than the invention. Absent.

さらに、この記載は、本明細書に記載されている発明の全てを意味するものではない。換言すれば、この記載は、本明細書に記載されている発明であって、この出願では請求されていない発明の存在、すなわち、将来、分割出願されたり、補正により追加されたりする発明の存在を否定するものではない。   Further, this description does not mean all the inventions described in this specification. In other words, this description is an invention described in the present specification and is not claimed in this application, that is, an invention that will be filed in the future or added by amendment. Is not to deny.

本発明の一側面の情報処理装置は、他の装置(例えば、図4の画像処理装置)に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置(例えば、図1の汎用プラットフォーム)であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体(例えば、図5のROM)に書き込む第1のソフトウェア(例えば、図6のイメージデータ)とともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラム(例えば、図6の更新プログラム)を、前記他の装置の外部より取得する取得手段(例えば、図3のFTPデーモン)と、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段(例えば、図3の更新プログラム実行部)とを備える。   An information processing apparatus according to an aspect of the present invention is used by being incorporated in another apparatus (for example, the image processing apparatus in FIG. 4), and provides a predetermined function to the other apparatus at the incorporation destination. (For example, the general-purpose platform in FIG. 1), which is a rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and a first storage medium that is unknown to the information processing apparatus A program (for example, the update program of FIG. 6) for writing the first software to the first storage medium together with the first software (for example, the image data of FIG. 6) to be written to (for example, the ROM of FIG. 5) ) Is acquired from outside the other device (for example, FTP daemon in FIG. 3), and the program acquired by the acquisition unit is executed, and the first Program executing means for writing software to said first storage medium (e.g., the update execution unit of FIG. 3) and a.

ソフトウェアの書き込み手順を指定するシェルスクリプト(例えば、図6のシェルスクリプト)を実行するシェルスクリプト実行手段(例えば、図3のシェルスクリプト実行部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。   Shell script execution means (for example, the shell script execution unit of FIG. 3) for executing a shell script (for example, the shell script of FIG. 6) for specifying a software writing procedure is further provided, and the acquisition means includes the first software The shell script is further acquired together with the program, the shell script execution means executes the shell script acquired by the acquisition means, and the program execution means is executed by the shell script execution means. The program can be executed in accordance with the description of the shell script, and the first software can be written to the first storage medium.

前記情報処理装置にとって既知の構成として、書き換え可能な第2の記憶媒体(例えば、図1のROM)を有し、前記第2の記憶媒体にソフトウェアを書き込む書き込み手段(例えば、図3のROM書き込み制御部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェア(例えば、図6のイメージデータ)をさらに取得し、前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込むようにすることができる。   As a configuration known to the information processing apparatus, a rewritable second storage medium (for example, ROM in FIG. 1) is provided, and writing means for writing software into the second storage medium (for example, ROM writing in FIG. 3) And the acquisition means further acquires second software (for example, image data in FIG. 6) to be written to the second storage medium together with the first software and the program. The means can write the second software in the second storage medium.

前記第2の記憶媒体の記憶領域は、汎用の機能を提供するソフトウェアを記憶する共通機能用記憶領域(例えば、図2の製品共通機能格納領域)と、前記他の装置固有の機能を提供するソフトウェアを記憶する固有機能用記憶領域(例えば、図2の製品固有機能格納領域)とが互いに異なる領域として形成されるようにすることができる。   The storage area of the second storage medium provides a common function storage area (for example, the product common function storage area of FIG. 2) for storing software that provides general-purpose functions, and functions unique to the other devices. The unique function storage area for storing software (for example, the product unique function storage area in FIG. 2) may be formed as different areas.

複数のファイルがアーカイブされて1つにまとめられたファイルを展開する展開手段(例えば、図3のソフトウェアパッケージ展開処理部)をさらに備え、前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージ(例えば、図6のソフトウェアパッケージ)として取得し、前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離するようにすることができる。   The image processing apparatus further includes expansion means (for example, a software package expansion processing unit in FIG. 3) that expands a plurality of files archived into one, and the acquisition means includes the first software and the program, Obtained as one software package archived and collected (for example, the software package of FIG. 6), and the expansion means expands the software package acquired by the acquisition means, and the first software and the program Can be separated.

暗号化されたファイルを所定の方式で復号する復号手段(例えば、図22の復号処理部)をさらに備え、前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラム(例えば、図19の暗号文ソフトウェアパッケージ)を取得し、前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込むようにすることができる。   Decryption means (for example, the decryption processing unit in FIG. 22) for decrypting the encrypted file by a predetermined method is further provided, and the acquisition means includes the encrypted first software and the program (for example, FIG. 19). The ciphertext software package), and the decrypting means decrypts the encrypted first software and the program obtained by the obtaining means by a predetermined method. The program decrypted by the decrypting means may be executed, and the first software decrypted by the decrypting means may be written to the first storage medium.

前記取得手段による暗号化されていない平文の前記第1のソフトウェアおよび前記プログラム(例えば、図19の平文ソフトウェアパッケージ)の取得を許可するかの設定を保持する設定保持手段(例えば、図20の設定値格納領域)と、前記設定保持手段により保持されている前記設定を確認する設定確認手段(例えば、図22の設定確認部)とをさらに備えるようにすることができる。   A setting holding unit (for example, the setting of FIG. 20) that holds a setting as to whether or not to acquire the unencrypted plaintext first software and the program (for example, the plaintext software package of FIG. 19) by the acquiring unit. A value storage area) and setting confirmation means (for example, a setting confirmation unit in FIG. 22) for confirming the setting held by the setting holding means.

本発明の一側面の情報処理方法またはプログラムは、他の装置(例えば、図4の画像処理装置)に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置(例えば、図1の汎用プラットフォーム)の情報処理方法であって、前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体(例えば、図5のROM)に書き込む第1のソフトウェア(例えば、図6のイメージデータ)とともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラム(例えば、図6の更新プログラム)を、前記他の装置の外部より取得し(例えば、図9のステップS31)、前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む(例えば、図9のステップS35)ステップを含む。   The information processing method or program according to one aspect of the present invention is used by being incorporated in another apparatus (for example, the image processing apparatus in FIG. 4), and provides a predetermined function to the other apparatus to be incorporated. An information processing method of a processing device (for example, the general-purpose platform in FIG. 1), which is a rewritable storage medium that the other device has as a configuration other than the information processing device, and has a configuration unknown to the information processing device A program for writing the first software to the first storage medium together with first software (for example, image data of FIG. 6) to be written to a certain first storage medium (for example, the ROM of FIG. 5). The update program in FIG. 6 is acquired from outside the other device (for example, step S31 in FIG. 9), and the program acquired by the acquisition unit is acquired. Run the beam, writing the first software to said first storage medium (e.g., step S35 in FIG. 9) comprising the steps.

以下、本発明の実施の形態について図を参照して説明する。   Hereinafter, embodiments of the present invention will be described with reference to the drawings.

図1は、本発明を適用した汎用プラットフォームの一実施形態に係る構成例を示す図である。   FIG. 1 is a diagram illustrating a configuration example according to an embodiment of a general-purpose platform to which the present invention is applied.

図1において、汎用プラットフォーム1は、何らかの製品に組み込まれて使用されるユニットであり、汎用のハードウェアおよびソフトウェアにより構成され、例えば、通信機能や制御機能等、所定の汎用の機能をその製品に提供するプラットフォームである。つまり、この汎用プラットフォーム1が組み込まれた製品は、互いに異なる装置であっても、同じ機能を有する。   In FIG. 1, a general-purpose platform 1 is a unit that is used by being incorporated in some product, and is configured by general-purpose hardware and software. For example, a predetermined general-purpose function such as a communication function and a control function is included in the product. It is a platform to provide. That is, a product in which the general-purpose platform 1 is incorporated has the same function even if they are different devices.

図1に示されるように、汎用プラットフォーム1は、バス10を介して互いに接続されるCPU(Central Processing Unit)11、ROM(Read Only Memory)12、RAM(Random Access Memory)13、およびイーサネット(登録商標)I/F(InterFace)14を有する。   As shown in FIG. 1, the general-purpose platform 1 includes a CPU (Central Processing Unit) 11, a ROM (Read Only Memory) 12, a RAM (Random Access Memory) 13, and an Ethernet (registered) connected to each other via a bus 10. Trademark) I / F (InterFace) 14

バス10は、例えばPCI(Peripheral Components Interconnec)等の所定の規格のバスであり、CPU11、ROM12、RAM13、およびイーサネット(登録商標)I/F14の間で授受される情報を伝送する。また、バス10は、汎用プラットフォーム1の外部の構成(汎用プラットフォーム1が組み込まれた製品固有の構成)とも接続され、それらの製品固有の構成と、CPU11、ROM12、RAM13、およびイーサネット(登録商標)I/F14との間で授受される情報も伝送する。   The bus 10 is a bus of a predetermined standard such as PCI (Peripheral Components Interconnect), and transmits information exchanged between the CPU 11, the ROM 12, the RAM 13, and the Ethernet (registered trademark) I / F 14. The bus 10 is also connected to an external configuration of the general-purpose platform 1 (a configuration unique to a product in which the general-purpose platform 1 is incorporated), the configuration specific to the product, the CPU 11, the ROM 12, the RAM 13, and the Ethernet (registered trademark). Information exchanged with the I / F 14 is also transmitted.

CPU11は、例えば、ROM12に記憶され、RAM13にロードされたプログラム等を実行することにより、各部の動作を制御する処理部である。ROM12は、例えばフラッシュメモリ等の不揮発性の書き換え可能な記憶媒体であり、プラットフォームとして構成され、製品共通の機能を提供する共通ソフトウェア(プログラムやデータ等)を記録する。また、ROM12は、各製品固有の機能を提供する製品固有のソフトウェア(プログラムやデータ等)も記録する。ROM12の詳細な構成については後述する。   The CPU 11 is a processing unit that controls the operation of each unit by executing, for example, a program stored in the ROM 12 and loaded into the RAM 13. The ROM 12 is a non-volatile rewritable storage medium such as a flash memory, and is configured as a platform and records common software (programs, data, and the like) that provides functions common to products. The ROM 12 also records product-specific software (programs, data, etc.) that provide functions specific to each product. The detailed configuration of the ROM 12 will be described later.

RAM13は、揮発性の半導体メモリにより構成される揮発性の記憶媒体である。例えば、RAM13は、CPU11に制御され、ROM12より読み出されたソフトウェア(プログラムやデータ等)を一時的に保持し、必要に応じてCPU11等に保持している情報を提供する。イーサネット(登録商標)I/F14は、例えばイーサネット(登録商標)やインターネット等のネットワークを介して外部の装置(汎用プラットフォーム1が組み込まれている製品とネットワークを介して接続される装置)と通信処理を行い、その外部の装置と情報の授受を行う。例えば、イーサネット(登録商標)I/F14は、ROM12に記憶されているソフトウェアの更新データを外部の装置より取得し、バス10を介して、それをRAM13に保持させる。CPU11は、そのRAM13に保持されている更新データを用いてROM12に記録されているソフトウェアを更新する。   The RAM 13 is a volatile storage medium configured by a volatile semiconductor memory. For example, the RAM 13 is controlled by the CPU 11, temporarily holds software (programs, data, and the like) read from the ROM 12, and provides information held in the CPU 11 and the like as necessary. The Ethernet (registered trademark) I / F 14 communicates with an external device (a device connected with a product incorporating the general-purpose platform 1 via a network) via a network such as Ethernet (registered trademark) or the Internet. To exchange information with external devices. For example, the Ethernet (registered trademark) I / F 14 obtains software update data stored in the ROM 12 from an external device, and stores it in the RAM 13 via the bus 10. The CPU 11 updates the software recorded in the ROM 12 using the update data held in the RAM 13.

なお、この汎用プラットフォーム1は、物理的に1つのユニットとして構成されるようにしてもよいが、複数のユニットとして構成されるようにしてもよく、各部の関係が図1に示される構成と実質的に同等となるのであれば、物理的な構成はどのようなものであってもよい。また、汎用プラットフォーム1が提供する汎用な機能は1つだけでなく、複数であってももちろんよい。   The general-purpose platform 1 may be physically configured as a single unit, but may be configured as a plurality of units, and the relationship between the components is substantially the same as the configuration illustrated in FIG. As long as they are equivalent to each other, any physical configuration may be used. Of course, the general-purpose platform 1 provides not only one general-purpose function but also a plurality of general-purpose functions.

この汎用プラットフォーム1が組み込まれる製品としては、例えば、AV機器、パーソナルコンピュータ、冷蔵庫、若しくは洗濯機等の各種家庭電化製品、放送設備や交通管理システム等を構成する装置、または、自動車や飛行機等に組み込まれる電子制御装置等、様々な電子機器が考えられる。つまり、電子回路により制御や処理を行うものであればどのようなものであってもよい。   Examples of products in which the general-purpose platform 1 is incorporated include various home appliances such as AV equipment, personal computers, refrigerators, and washing machines, devices constituting broadcasting facilities and traffic management systems, automobiles, airplanes, and the like. Various electronic devices such as an electronic control device to be incorporated can be considered. In other words, any device may be used as long as control and processing are performed by an electronic circuit.

この汎用プラットフォーム1の開発方法としては様々な場合が考えられるが、ここでは、本発明に関する説明に限定するために、便宜上、汎用プラットフォーム1の開発においては、組み込み先となる製品の構成や機能(特に製品特有の機能)を特定しないものとする。   There are various possible development methods for the general-purpose platform 1, but here, for the sake of convenience, in the development of the general-purpose platform 1, in order to limit the description to the present invention, the configuration and function ( In particular, product specific functions) shall not be specified.

つまり、汎用プラットフォーム1のROM12は、後述するように、組み込み先の製品固有の機能を実現するためのソフトウェアを記憶することも可能であるが、汎用プラットフォーム1の開発時においては、ROM12にそのようなソフトウェアを記憶する記憶領域を設けるだけで、そのようなソフトウェア自体は開発しないものとする(組み込み先製品固有のソフトウェアはその製品の開発時に開発するものとする)。   That is, as will be described later, the ROM 12 of the general-purpose platform 1 can store software for realizing functions specific to the product of the installation destination. However, when the general-purpose platform 1 is developed, the ROM 12 does not store such software. However, such software itself is not developed (software specific to an embedded product is developed when the product is developed).

汎用プラットフォーム1の組み込み先の製品の開発者は、その製品の開発時において、既に開発済みの汎用プラットフォーム1を用いることにより、その汎用の機能に関する開発を省略することができる。すなわち、製品の開発者は、汎用プラットフォーム1を製品に組み込むことにより、開発コストの低減や開発期間の短縮を実現する。   A developer of a product into which the general-purpose platform 1 is incorporated can omit development related to the general-purpose functions by using the already-developed general-purpose platform 1 when developing the product. In other words, the product developer incorporates the general-purpose platform 1 into the product, thereby reducing the development cost and the development period.

このとき、組み込み先の製品の開発者は、上述したように開発した製品固有のソフトウェアを製品固有のROMに記憶させることもできるが、ROM12に記憶させることもできる。   At this time, the developer of the product at the installation destination can store the product-specific software developed as described above in the product-specific ROM, but can also store it in the ROM 12.

なお、汎用プラットフォーム1の開発者と、汎用プラットフォーム1を組み込む製品の開発者とが同一人物であってももちろんよいが、ここでは説明の便宜上、それらが互いに異なるものとして説明する。   Of course, the developer of the general-purpose platform 1 and the developer of the product incorporating the general-purpose platform 1 may be the same person, but here, for convenience of explanation, they will be described as being different from each other.

また、図1に示される汎用プラットフォーム1は、汎用の機能として、例えば、イーサネット(登録商標)I/F14を利用した、組み込み先の製品の外部の装置との通信機能、並びに、ROM12や組み込み先の製品固有のROMに情報を書き込む機能を提供する。すなわち、汎用プラットフォーム1は、例えば、組み込み先の製品の外部の装置よりソフトウェアを取得し、そのソフトウェアを用いて、各ROMが記憶するソフトウェアを更新することができる。   In addition, the general-purpose platform 1 shown in FIG. 1 has, as general-purpose functions, for example, a communication function with an external device of a built-in product using the Ethernet (registered trademark) I / F 14, a ROM 12, and a built-in destination. Provides a function to write information to the product-specific ROM. That is, for example, the general-purpose platform 1 can acquire software from an external device of the product of the installation destination, and update the software stored in each ROM using the software.

次に、このような機能を提供するためのソフトウェアが記憶されるROM12の記憶領域の構成について説明する。図2は、ROM12の記憶領域の構成例を示す模式図である。   Next, the configuration of the storage area of the ROM 12 that stores software for providing such functions will be described. FIG. 2 is a schematic diagram illustrating a configuration example of the storage area of the ROM 12.

図2において、ROM12の記憶領域は、オペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域23を有する。   In FIG. 2, the storage area of the ROM 12 has an operating system storage area 21, a product common function storage area 22, and a product specific function storage area 23.

オペレーティングシステム格納領域21は、例えばLinux(登録商標)等のオペレーティングシステム(オペレーティングシステムとして構成されるソフトウェア)を格納する。製品共通機能格納領域22は、汎用プラットフォーム1が組み込まれる、さまざまな製品に共通に利用される(共通の機能を提供する)ソフトウェア(プログラムやデータ等)を格納する。   The operating system storage area 21 stores an operating system (software configured as an operating system) such as Linux (registered trademark). The product common function storage area 22 stores software (programs, data, etc.) commonly used (providing common functions) for various products in which the general-purpose platform 1 is incorporated.

製品共通機能格納領域22は、FTP(File Transfer Protocol)サーバプログラム31、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35を有する。   The product common function storage area 22 includes an FTP (File Transfer Protocol) server program 31, a deployment processing program 32, a shell script execution program 33, a general-purpose installation program 34, and a setting value 35.

FTPサーバプログラム31は、CPU11により実行されるプログラムである。CPU11は、このFTPサーバプログラム31を実行することにより、イーサネット(登録商標)I/F14を制御し、FTPを利用したファイル転送サービスを提供するFTPサーバ機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を制御し、このFTPサーバ機能を利用して、ROM12に記憶されているソフトウェアを更新するための情報を外部の装置より受け付ける。   The FTP server program 31 is a program executed by the CPU 11. The CPU 11 executes the FTP server program 31 to control the Ethernet (registered trademark) I / F 14 and realize an FTP server function for providing a file transfer service using FTP. For example, the CPU 11 controls the Ethernet (registered trademark) I / F 14 and uses this FTP server function to receive information for updating software stored in the ROM 12 from an external device.

展開処理プログラム32は、CPU11により実行されるプログラムである。CPU11は、この展開処理プログラム32を実行することにより、アーカイブされて1つのファイルにまとめられた複数のソフトウェアを展開(分離)する展開処理機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を介して取得した、複数のソフトウェアがアーカイブされて1つのファイルにまとめられたソフトウェアパッケージを、この展開処理機能を用いて展開し、分離された各ソフトウェアを互いに異なるファイルとしてRAM13に保持させる。   The expansion processing program 32 is a program executed by the CPU 11. The CPU 11 executes the development processing program 32 to realize a development processing function for developing (separating) a plurality of software archived and collected into one file. For example, the CPU 11 uses the expansion processing function to expand a software package obtained through the Ethernet (registered trademark) I / F 14 and archived into a single file and separated. Each software is held in the RAM 13 as different files.

シェルスクリプト実行プログラム33は、CPU11により実行されるプログラムである。CPU11は、このシェルスクリプト実行プログラム33を実行することにより、RAM13に保持されているシェルスクリプトの記述を1行ずつ実行するシェルスクリプト実行機能を実現する。例えば、CPU11は、このシェルスクリプト実行機能を利用して、ソフトウェア更新方法が記載されたシェルスクリプトに従って、ソフトウェア更新プログラムを実行する。   The shell script execution program 33 is a program executed by the CPU 11. The CPU 11 implements a shell script execution function for executing the description of the shell script held in the RAM 13 line by line by executing the shell script execution program 33. For example, the CPU 11 uses this shell script execution function to execute a software update program according to a shell script that describes a software update method.

汎用インストールプログラム34は、CPU11により実行されるプログラムである。CPU11は、この汎用インストールプログラム34を実行することにより、ROM12に各種ソフトウェアをインストールする、汎用インストール機能を実現する。ROM12は、汎用プラットフォーム1を構成する記憶媒体であり、汎用プラットフォーム1(汎用プラットフォーム1の開発者)にとって既知である。つまり、汎用インストールプログラム34は、汎用プラットフォーム1の開発時に既知のROM12に対する書き込み処理を実現するプログラムである。換言すると、ROM12が汎用プラットフォーム1の開発時において既知であるので、汎用プラットフォーム1の開発者は、そのROM12にソフトウェアを書き込む処理を行う汎用インストールプログラム34を、汎用プラットフォーム1の開発時に作成可能することができる。例えば、CPU11は、この汎用インストールプログラム34を実行することにより、ROM12に記憶されている各種ソフトウェアを更新する。   The general installation program 34 is a program executed by the CPU 11. The CPU 11 implements a general-purpose installation function for installing various software in the ROM 12 by executing the general-purpose installation program 34. The ROM 12 is a storage medium constituting the general-purpose platform 1 and is known to the general-purpose platform 1 (developer of the general-purpose platform 1). That is, the general-purpose installation program 34 is a program that realizes a writing process to the known ROM 12 when the general-purpose platform 1 is developed. In other words, since the ROM 12 is known when the general-purpose platform 1 is developed, the developer of the general-purpose platform 1 can create a general-purpose installation program 34 that performs a process of writing software in the ROM 12 when the general-purpose platform 1 is developed. Can do. For example, the CPU 11 updates the various software stored in the ROM 12 by executing the general installation program 34.

設定値35は、各種ソフトウェア(例えば上述したプログラム)の実行時に利用される設定値を含む。この設定値35は、例えば各種ソフトウェアの実行時等、必要に応じて参照される。   The setting value 35 includes a setting value used when executing various software (for example, the above-described program). The set value 35 is referred to as necessary, for example, when various software is executed.

製品固有機能格納領域23は、その製品のみで利用される(製品特有の機能を提供する)ソフトウェア(プログラムやデータ等)を格納する。従って、汎用プラットフォーム1の開発時に組み込み先となる製品が特定されていない場合、この製品固有機能格納領域23は空き領域となる。   The product-specific function storage area 23 stores software (programs, data, etc.) used only by the product (providing product-specific functions). Therefore, when a product to be incorporated is not specified at the time of development of the general-purpose platform 1, the product-specific function storage area 23 is an empty area.

CPU11は、これらの領域に格納されるソフトウェア(プログラムやデータ等)をRAM13にロードし、実行することにより、各種の機能を実現する。次に、このようにプログラムを実行することによりCPU11が有する機能について説明する。図3は、図2に示される各種プログラムを実行することにより、CPU11が有する機能を示す機能ブロックの構成例を示す図である。   The CPU 11 implements various functions by loading software (programs, data, etc.) stored in these areas into the RAM 13 and executing it. Next, functions that the CPU 11 has by executing the program in this way will be described. FIG. 3 is a diagram illustrating a configuration example of functional blocks indicating functions of the CPU 11 by executing the various programs illustrated in FIG.

図3に示されるように、CPU11は、図2のFTPサーバプログラム31、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35をRAM13にロードして実行することにより、機能ブロックである、FTPデーモン41、ソフトウェアパッケージ展開処理部42、シェルスクリプト実行部43、ROM書き込み制御部44、および更新プログラム実行部45を有する。   As shown in FIG. 3, the CPU 11 loads the FTP server program 31, the expansion processing program 32, the shell script execution program 33, the general-purpose installation program 34, and the setting value 35 of FIG. It has an FTP daemon 41, a software package development processing unit 42, a shell script execution unit 43, a ROM write control unit 44, and an update program execution unit 45, which are functional blocks.

FTPデーモン41は、CPU11が、FTPサーバプログラム31を実行することにより得られる機能を示す機能ブロックである。FTPデーモン41は、イーサネット(登録商標)I/F14を制御して、FTPサーバとしての機能を提供する。FTPデーモン41は、例えば、イーサネット(登録商標)I/F14を制御し、他の装置からのFTPによるファイル転送を受け付け、複数のソフトウェアをまとめたソフトウェアパッケージを取得する。FTPデーモン41は、その取得したソフトウェアパッケージをRAM13に保持させ、処理をソフトウェアパッケージ展開処理部42に渡す。   The FTP daemon 41 is a functional block indicating functions obtained by the CPU 11 executing the FTP server program 31. The FTP daemon 41 controls the Ethernet (registered trademark) I / F 14 and provides a function as an FTP server. The FTP daemon 41 controls, for example, the Ethernet (registered trademark) I / F 14, receives a file transfer by FTP from another apparatus, and acquires a software package in which a plurality of pieces of software are collected. The FTP daemon 41 holds the acquired software package in the RAM 13 and passes the processing to the software package development processing unit 42.

ソフトウェアパッケージ展開処理部42は、CPU11が、展開処理プログラム32を実行することにより得られる機能を示す機能ブロックである。ソフトウェアパッケージ展開処理部42は、アーカイブされて1つのファイル(ソフトウェアパッケージ)にまとめられた複数のソフトウェア(プログラムやデータ等)を展開し、それぞれを互いに異なるファイルとしてRAM13に保持させる。例えば、ソフトウェアパッケージ展開処理部42は、FTPデーモン41が取得したソフトウェアパッケージをRAM13上で展開し、処理をシェルスクリプト実行部43に渡す。   The software package development processing unit 42 is a functional block indicating functions obtained by the CPU 11 executing the development processing program 32. The software package development processing unit 42 develops a plurality of software (programs, data, and the like) that have been archived and collected into one file (software package), and stores them in the RAM 13 as different files. For example, the software package development processing unit 42 develops the software package acquired by the FTP daemon 41 on the RAM 13 and passes the processing to the shell script execution unit 43.

シェルスクリプト実行部43は、CPU11が、シェルスクリプト実行プログラム33を実行することにより得られる機能を示す機能ブロックである。シェルスクリプト実行部43は、RAM13に保持されているシェルスクリプトの記述を1行ずつ実行する。シェルスクリプトは、複数の処理をまとめて行う(バッチ処理)ときにその手順を示す記述により構成されるファイルであり、オペレーティングシステムのシェルが直接解釈することにより処理される。シェルスクリプト実行部43は、例えば、ソフトウェアパッケージ展開処理部42により展開されて得られたファイルに含まれるシェルスクリプトの記述を1行ずつ実行することにより、ROM書き込み制御部44や更新プログラム実行部45を必要に応じて制御し、複数の処理を連続して実行させる。   The shell script execution unit 43 is a functional block showing functions obtained by the CPU 11 executing the shell script execution program 33. The shell script execution unit 43 executes the description of the shell script held in the RAM 13 line by line. The shell script is a file composed of a description indicating the procedure when a plurality of processes are performed together (batch process), and is processed by being directly interpreted by the shell of the operating system. For example, the shell script execution unit 43 executes the description of the shell script included in the file obtained by the development by the software package development processing unit 42 line by line, so that the ROM write control unit 44 and the update program execution unit 45 are executed. Is controlled as necessary, and a plurality of processes are executed continuously.

ROM書き込み制御部44は、CPU11が、汎用インストールプログラム34を実行することにより得られる機能を示す機能ブロックである。ROM書き込み制御部44は、ROM12へのソフトウェアの書き込みに関する制御処理を行う。例えば、ROM書き込み制御部44は、シェルスクリプト実行部43に制御され、ROM12やRAM13を制御し、シェルスクリプトの記述により指定されたソフトウェアをROM12に書き込む。   The ROM write control unit 44 is a functional block indicating functions obtained by the CPU 11 executing the general installation program 34. The ROM writing control unit 44 performs control processing related to writing of software to the ROM 12. For example, the ROM write control unit 44 is controlled by the shell script execution unit 43 to control the ROM 12 and the RAM 13, and writes the software designated by the description of the shell script to the ROM 12.

更新プログラム実行部45は、CPU11が実行するオペレーティングシステムの機能を示す機能ブロックである。更新プログラム実行部45は、RAM13に保持されている、ソフトウェア更新用のプログラムである更新プログラムを実行する。例えば、更新プログラム実行部45は、シェルスクリプト実行部43に制御され、RAM13に保持されている、シェルスクリプトの記述により指定された更新プログラムを実行し、その更新プログラムに対応するROM(例えば、ROM13以外の、製品固有のROM)に記憶されている、シェルスクリプトの記述により指定されたソフトウェアを更新する。   The update program execution unit 45 is a functional block indicating the function of the operating system executed by the CPU 11. The update program execution unit 45 executes an update program that is stored in the RAM 13 and is a software update program. For example, the update program execution unit 45 executes the update program designated by the description of the shell script, which is controlled by the shell script execution unit 43 and held in the RAM 13, and corresponds to the update program (for example, the ROM 13). The software specified by the description of the shell script stored in the product-specific ROM is updated.

この更新プログラムは、汎用プラットフォーム1の組み込み先の製品の開発時に作成されるソフトウェアであり、汎用プラットフォーム1の開発時において未知であった製品固有のROM(汎用プラットフォーム1にとって未知のROM)の情報を有し、その未知のROMに対する書き込みを実現するためのプログラムである。   This update program is software created at the time of development of the product into which the general-purpose platform 1 is embedded, and information on product-specific ROM (unknown ROM for the general-purpose platform 1) that was unknown at the time of development of the general-purpose platform 1 And a program for realizing writing to the unknown ROM.

つまり、汎用プラットフォーム1のCPU11は、汎用プラットフォーム1にとって既知のROM13に対する書き込みを、汎用インストールプログラム34を実行することにより実現し(ROM書き込み制御部44により行い)、汎用プラットフォーム1にとって未知のROM(製品固有のROM)に対する書き込みを、更新プログラムを実行することにより実現する(更新プログラム実行部45により行う)。   That is, the CPU 11 of the general-purpose platform 1 realizes writing to the ROM 13 known to the general-purpose platform 1 by executing the general-purpose installation program 34 (performed by the ROM write control unit 44), and the ROM (product that is unknown to the general-purpose platform 1) Writing to the unique ROM) is realized by executing the update program (performed by the update program execution unit 45).

CPU11は、ROM12の各プログラムを実行することにより、上述したような機能を実現する。なお、設定部35は、上述した各処理を行う際に適宜参照される。また、図3に示されるような各機能ブロックの一部または全部をハードウェアにより実現するようにしてももちろん良い。   The CPU 11 implements the functions as described above by executing each program in the ROM 12. Note that the setting unit 35 is appropriately referred to when performing the above-described processes. Of course, some or all of the functional blocks shown in FIG. 3 may be realized by hardware.

次に、上述した汎用プラットフォームの具体的な使用例について説明する。   Next, a specific usage example of the above-described general-purpose platform will be described.

図4は、汎用プラットフォーム1の具体的な使用例を示す図である。   FIG. 4 is a diagram illustrating a specific usage example of the general-purpose platform 1.

図4において、汎用プラットフォーム1は、画像処理装置51に組み込まれている。汎用プラットフォーム1は、ネットワーク50を介してパーソナルコンピュータ52および画像提供装置53に接続されており、画像処理装置51において、他の装置との通信に関する処理を行う。例えば、汎用プラットフォーム1は、ネットワーク50を介して画像提供装置53と通信を行い、画像提供装置53より、画像処理装置51において処理する画像データを取得する。   In FIG. 4, the general-purpose platform 1 is incorporated in an image processing device 51. The general-purpose platform 1 is connected to the personal computer 52 and the image providing device 53 via the network 50, and the image processing device 51 performs processing related to communication with other devices. For example, the general-purpose platform 1 communicates with the image providing apparatus 53 via the network 50 and acquires image data to be processed by the image processing apparatus 51 from the image providing apparatus 53.

また、例えば、汎用プラットフォーム1は、ネットワーク50を介してパーソナルコンピュータ52と通信を行い、パーソナルコンピュータ52より、画像処理装置51のソフトウェア(ファームウェア)を更新するためのソフトウェアパッケージを取得し、そのソフトウェアパッケージを用いて画像処理装置51が有するソフトウェアを更新する処理を行う。   For example, the general-purpose platform 1 communicates with the personal computer 52 via the network 50, acquires a software package for updating software (firmware) of the image processing apparatus 51 from the personal computer 52, and the software package Is used to update the software included in the image processing apparatus 51.

つまり、画像処理装置51は、ソフトウェア(ファームウェア)の更新が可能であり、その機能は、汎用プラットフォーム1が提供する。このとき、汎用プラットフォーム1は、上述したハードウェアやソフトウェアを有しており、既知のROM12に記憶されるソフトウェアだけでなく、画像処理装置51固有のROMに記憶されるソフトウェアも更新することができる。以下において、その具体的な例を説明する。   That is, the image processing apparatus 51 can update software (firmware), and the function is provided by the general-purpose platform 1. At this time, the general-purpose platform 1 has the hardware and software described above, and can update not only the software stored in the known ROM 12 but also the software stored in the ROM unique to the image processing apparatus 51. . A specific example will be described below.

図5は、画像処理装置51の内部の構成例を示すブロック図である。   FIG. 5 is a block diagram illustrating an internal configuration example of the image processing apparatus 51.

図5に示されるように、画像処理装置51は、汎用プラットフォーム1の他にデコーダユニット60を有する。デコーダユニット60は、画像処理装置51固有のデコーダ機能を実現するユニットであり、汎用プラットフォーム1が画像提供装置53より取得する画像データに対してデコード処理を行う。デコーダユニット60は、FPGA(Field Programmable Gate Array)61、デコーダ62、RAM63、およびROM64を有している。   As shown in FIG. 5, the image processing apparatus 51 includes a decoder unit 60 in addition to the general-purpose platform 1. The decoder unit 60 is a unit that realizes a decoder function unique to the image processing apparatus 51, and performs decoding processing on image data acquired by the general-purpose platform 1 from the image providing apparatus 53. The decoder unit 60 includes an FPGA (Field Programmable Gate Array) 61, a decoder 62, a RAM 63, and a ROM 64.

FPGA61は、例えば、ROM64に記憶されているソフトウェアをRAM63にロードして実行することにより、デコーダ62、RAM63、およびROM64の各部を制御する等、各種の処理を実現する処理部である。例えば、FPGA61は、汎用プラットフォーム1のバス10に接続され、このバス10を介してイーサネット(登録商標)I/F14から供給される画像データをデコーダ62に供給する。   The FPGA 61 is a processing unit that implements various processes such as controlling the respective units of the decoder 62, the RAM 63, and the ROM 64 by loading the software stored in the ROM 64 into the RAM 63 and executing the software. For example, the FPGA 61 is connected to the bus 10 of the general-purpose platform 1, and supplies image data supplied from the Ethernet (registered trademark) I / F 14 to the decoder 62 via the bus 10.

デコーダ62は、FPGA61に制御され、所定の方式で符号化された画像データを復号する処理部である。例えば、デコーダ62は、FPGA61より供給される画像データを復号し、それを画像処理装置51の外部に出力する。   The decoder 62 is a processing unit that is controlled by the FPGA 61 and decodes image data encoded by a predetermined method. For example, the decoder 62 decodes the image data supplied from the FPGA 61 and outputs it to the outside of the image processing device 51.

RAM63は、FPGA61より供給されるソフトウェア(プログラムやデータ)を一時的に保持する。ROM64は、FPGA61に制御され、FPGA61により実行されるプログラムや、その際に必要なデータ等を含む、画像処理装置51固有の機能を実現するためのソフトウェア(例えば、デコーダ62におけるデコード処理を制御するプログラム)を記憶する。   The RAM 63 temporarily holds software (programs and data) supplied from the FPGA 61. The ROM 64 is controlled by the FPGA 61, and controls software for realizing functions unique to the image processing device 51, including programs executed by the FPGA 61 and data necessary at that time (for example, decoding processing in the decoder 62. Program).

汎用プラットフォーム1のCPU11は、汎用プラットフォーム1のROM12に記憶されるソフトウェアだけでなく、画像処理装置51固有のROMであり、汎用プラットフォーム1にとって未知のROM64に記憶されるソフトウェアの更新も行う。   The CPU 11 of the general-purpose platform 1 updates not only the software stored in the ROM 12 of the general-purpose platform 1 but also the ROM unique to the image processing apparatus 51 and updates the software stored in the ROM 64 unknown to the general-purpose platform 1.

図6は、パーソナルコンピュータ52より供給されるソフトウェアパッケージの構成例を示す模式図である。   FIG. 6 is a schematic diagram illustrating a configuration example of a software package supplied from the personal computer 52.

図6において、ソフトウェアパッケージ70は、ROM12およびROM64に記憶されているソフトウェアを更新するためのプログラムやデータである、シェルスクリプト71、更新プログラム72、イメージデータ73、およびイメージデータ74がアーカイブされたファイルである。   In FIG. 6, a software package 70 is a file in which a shell script 71, an update program 72, image data 73, and image data 74, which are programs and data for updating software stored in the ROM 12 and the ROM 64, are archived. It is.

シェルスクリプト71(update.sh)は、後述するように、ROM12およびROM64の更新手順を示す記述により構成されるスクリプトファイルである。更新プログラム72(fpga_update)は、画像処理装置51固有の構成であり、FPGA61の制御下にあるROM64に記憶されるソフトウェアを更新する処理を行うプログラムファイルである。イメージデータ73(app.image)は、ROM12に書き込まれるソフトウェアである。イメージデータ74(fpga.image)は、ROM64に書き込まれるソフトウェアである。   As will be described later, the shell script 71 (update.sh) is a script file configured by a description indicating the update procedure of the ROM 12 and the ROM 64. The update program 72 (fpga_update) is a configuration unique to the image processing apparatus 51, and is a program file that performs processing for updating software stored in the ROM 64 under the control of the FPGA 61. Image data 73 (app.image) is software written in the ROM 12. Image data 74 (fpga.image) is software written in the ROM 64.

CPU11は、このような構成のソフトウェアパッケージ70を取得し、展開して各ファイルを復元すると、シェルスクリプト71の記述に従って、イメージデータ73をROM12に書き込んだり、更新プログラム72を実行してイメージデータ74をROM64に書き込んだりする。   When the CPU 11 acquires the software package 70 having such a configuration, expands it, and restores each file, the CPU 11 writes the image data 73 to the ROM 12 or executes the update program 72 according to the description of the shell script 71 to execute the image data 74. Is written in ROM64.

これらのソフトウェアのうち、少なくともシェルスクリプト71、更新プログラム72、およびイメージデータ74は、画像処理装置51固有の構成であるデコーダユニット60の構成が既知の状態で(例えば、画像処理装置51開発後に)作成されたものである。もちろん、イメージデータ73も、例えば、製品固有機能格納領域23に記憶される画像処理装置51固有のソフトウェアであるような場合、画像処理装置51固有の構成であるデコーダユニット60の構成が既知である必要がある場合もあるが、いずれにせよ、汎用プラットフォーム1の開発時においては、図2に示されるように、図6に示される構成のソフトウェアパッケージ70を処理することができるような構成が用意されるのみであり、図6に示されるソフトウェアパッケージ70(およびソフトウェアパッケージ70を構成する各ファイル)自体は作成されていない。   Among these softwares, at least the shell script 71, the update program 72, and the image data 74 are in a state in which the configuration of the decoder unit 60 that is a configuration unique to the image processing device 51 is known (for example, after the development of the image processing device 51). It has been created. Of course, when the image data 73 is, for example, software unique to the image processing device 51 stored in the product-specific function storage area 23, the configuration of the decoder unit 60 that is a configuration unique to the image processing device 51 is known. In any case, at the time of development of the general-purpose platform 1, as shown in FIG. 2, a configuration capable of processing the software package 70 having the configuration shown in FIG. 6 is prepared. The software package 70 shown in FIG. 6 (and each file constituting the software package 70) itself is not created.

つまり、汎用プラットフォーム1は、図6に示されるような、画像処理装置51固有の構成を踏まえて作成されたソフトウェアパッケージ70を処理することにより、汎用プラットフォーム1にとって未知のROM64に対しても書き込み処理を行うことができる。すなわち、汎用プラットフォーム1は、上述した構成を有することにより、より汎用性の高いソフトウェア更新処理を行うことができる。   In other words, the general-purpose platform 1 processes the software package 70 created based on the configuration unique to the image processing apparatus 51 as shown in FIG. It can be performed. That is, the general-purpose platform 1 can perform software update processing with higher versatility by having the above-described configuration.

より具体的には、汎用プラットフォーム1のCPU11は、予め用意された汎用インストールプログラム34を用いて、既知のROM12にイメージデータ73を書き込むことができるだけでなく、イメージデータ74とともに供給される更新プログラム72を実行することにより、汎用プラットフォーム1にとって未知のROM64にイメージデータ74を書き込むこともできる。さらに、CPU11がこれらの処理を連続して実行するための、シェルスクリプト71が用意されているので、汎用プラットフォーム1は、キーボードやディスプレイ等、ユーザによる操作を受け付けるための構成を必要とせずに、上述した書き込み処理(ソフトウェア更新処理)を実行することができる。   More specifically, the CPU 11 of the general-purpose platform 1 can not only write the image data 73 to the known ROM 12 by using a general-purpose installation program 34 prepared in advance, but also an update program 72 supplied together with the image data 74. By executing the above, the image data 74 can be written in the ROM 64 unknown to the general-purpose platform 1. Furthermore, since the shell script 71 for the CPU 11 to continuously execute these processes is prepared, the general-purpose platform 1 does not require a configuration for receiving a user operation such as a keyboard and a display. The write process (software update process) described above can be executed.

なお、図6において示されるソフトウェアパッケージ70の構成は、あくまでも一例であり、これ以外のどのような構成であってももちろんよい。例えば、ROM64のソフトウェアのみを更新する場合、イメージデータ73は省略することができるし、ROM12のソフトウェアのみを更新する場合、更新プログラム72やイメージデータ74は省略することができる。   Note that the configuration of the software package 70 shown in FIG. 6 is merely an example, and any other configuration may be used. For example, when only the software in the ROM 64 is updated, the image data 73 can be omitted. When only the software in the ROM 12 is updated, the update program 72 and the image data 74 can be omitted.

ソフトウェア更新の流れをさらに具体的に説明するために、次に、シェルスクリプトの記述の例を説明する。図7は、図6のシェルスクリプト71(update.sh)の記述例を示す模式図である。   In order to describe the flow of software update more specifically, an example of description of a shell script will be described next. FIG. 7 is a schematic diagram showing a description example of the shell script 71 (update.sh) in FIG.

図7において、シェルスクリプト71の1行目には、「#!/bin/sh」と記述されており、このファイルがシェルスクリプトであることが示されている。シェルスクリプト実行部43は、このシェルスクリプト71の各行の記述を上から順に実行する。つまり、CPU11は、シェルスクリプト実行プログラム33を実行し、シェルスクリプト71の記述に従った制御処理を行う。   In FIG. 7, “#! / Bin / sh” is described in the first line of the shell script 71, indicating that this file is a shell script. The shell script execution unit 43 executes the description of each line of the shell script 71 in order from the top. That is, the CPU 11 executes the shell script execution program 33 and performs control processing according to the description of the shell script 71.

シェルスクリプト71の2行目には「update app.image」と記述されており、「update」というプログラムを「app.image」という引数つきで実行せよという指示が示されている。シェルスクリプト実行部43は、この記述に基づいて、ROM書き込み制御部44に「update」処理を実行させ、イメージデータ73(app.image)をROM12に書き込ませる。つまり、CPU11は、この記述に基づいて、汎用インストールプログラム34を実行し、「update」コマンドに対応する処理を実行し、イメージデータ73(app.image)をROM12に書き込む。   The second line of the shell script 71 describes “update app.image” and indicates an instruction to execute the program “update” with an argument “app.image”. Based on this description, the shell script execution unit 43 causes the ROM write control unit 44 to execute “update” processing, and causes the image data 73 (app.image) to be written to the ROM 12. That is, the CPU 11 executes the general installation program 34 based on this description, executes processing corresponding to the “update” command, and writes the image data 73 (app.image) to the ROM 12.

シェルスクリプト71の3行目には「fpga_update fpga.image」と記述されており、「fpga_update」、すなわち更新プログラム72を「fpga.image」という引数つきで実行せよという指示が示されている。シェルスクリプト実行部43は、この記述に基づいて、更新プログラム実行部45に「fpga_update」処理を実行させ、イメージデータ74(fpga.image)をROM64に書き込ませる。更新プログラム72には、画像処理装置51特有の構成であるROM64にソフトウェアを書き込むための処理が含まれている。つまり、CPU11は、シェルスクリプト71の3行目の記述に基づいて、更新プログラム72(fpga_update)を実行することにより、イメージデータ74(fpga.image)を、プラットフォーム1の開発時に想定されていない(プラットフォーム1にとって未知である)ROM64に書き込む。   The third line of the shell script 71 describes “fpga_update fpga.image”, which indicates “fpga_update”, that is, an instruction to execute the update program 72 with an argument “fpga.image”. Based on this description, the shell script execution unit 43 causes the update program execution unit 45 to execute the “fpga_update” process and write the image data 74 (fpga.image) into the ROM 64. The update program 72 includes a process for writing software in the ROM 64 which is a configuration unique to the image processing apparatus 51. That is, the CPU 11 executes the update program 72 (fpga_update) based on the description in the third line of the shell script 71, so that the image data 74 (fpga.image) is not assumed when the platform 1 is developed ( Write to ROM 64 (unknown to platform 1).

なお、図7において示されるシェルスクリプト71の記述は、あくまでも一例であり、これ以外のどのような記述であってももちろんよい。例えば、コマンド名や、引数の種類や記述方式などは、予め定められており、CPU11が処理可能であるならば、どのようなものであってもよい。   Note that the description of the shell script 71 shown in FIG. 7 is merely an example, and any other description may be used. For example, the command name, the type of argument, the description method, and the like are determined in advance and may be anything as long as the CPU 11 can process them.

次に、図4に示される構成例について、画像処理装置51のソフトウェア更新処理の具体的な流れの例を、図8のフローチャートを参照して説明する。   Next, an example of a specific flow of software update processing of the image processing apparatus 51 will be described with reference to the flowchart of FIG.

ROM12およびROM64に記憶されているソフトウェアを更新するためのソフトウェアパッケージ70は、図4に示されるように、パーソナルコンピュータ52よりネットワーク50を介して供給される。つまり、パーソナルコンピュータ52は、汎用プラットフォーム1のFTPデーモン41が提供するFTPサーバ機能を利用して、ソフトウェアパッケージを汎用プラットフォーム1にFTP転送する。FTPデーモン41は、予め固有のアドレス(例えばIPアドレスやMACアドレス等)を有している。パーソナルコンピュータ52は、図8のステップS11において、そのアドレスに対してFTP開始コマンド(例えば、「ftp」コマンドや「open」コマンド)を送信し、画像処理装置51(汎用プラットフォーム1)と、FTPファイル転送処理を行うための通信の接続を確立する。この処理に対して、FTPデーモン41は、ステップS21の処理を行い、接続を確立するための応答処理を行う。   A software package 70 for updating software stored in the ROM 12 and the ROM 64 is supplied from the personal computer 52 via the network 50 as shown in FIG. That is, the personal computer 52 uses the FTP server function provided by the FTP daemon 41 of the general purpose platform 1 to FTP transfer the software package to the general purpose platform 1. The FTP daemon 41 has a unique address (for example, an IP address or a MAC address) in advance. In step S11 of FIG. 8, the personal computer 52 transmits an FTP start command (for example, “ftp” command or “open” command) to the address, and the image processing apparatus 51 (general platform 1) and the FTP file are transmitted. Establish a communication connection for transfer processing. In response to this process, the FTP daemon 41 performs the process of step S21 and performs a response process for establishing a connection.

FTP接続が確立すると、パーソナルコンピュータ52は、次に、ステップS12において、汎用プラットフォーム1に対して、ファイル転送を要求する転送要求コマンド(例えば「put」コマンド)を送信し、ソフトウェアパッケージ70を汎用プラットフォーム1に送信(転送)する。   When the FTP connection is established, the personal computer 52 next transmits a transfer request command (for example, “put” command) for requesting file transfer to the general-purpose platform 1 in step S12, and the software package 70 is transferred to the general-purpose platform. 1 (transfer) to 1.

この送信処理に対して、画像処理装置51は、ステップS22において、インストール処理を実行する。   In response to this transmission process, the image processing apparatus 51 executes an installation process in step S22.

次に、図8のステップS22において実行されるインストール処理の詳細な流れの例について、図9のフローチャートを参照して説明する。なお、ここでは、図6に示される構成のソフトウェアパッケージ70を受信する場合について説明する。このとき、ソフトウェアパッケージ70に含まれるシェルスクリプト71には、図7に示されるスクリプトが記述されている。   Next, an example of a detailed flow of the installation process executed in step S22 of FIG. 8 will be described with reference to the flowchart of FIG. Here, a case where the software package 70 having the configuration shown in FIG. 6 is received will be described. At this time, the script shown in FIG. 7 is described in the shell script 71 included in the software package 70.

汎用プラットフォーム1のFTPデーモン41は、パーソナルコンピュータ52より「put」コマンドを受け取ると、ステップS31において、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージ70の受信処理を行う。パーソナルコンピュータ52より供給されたソフトウェアパッケージ70を取得すると、FTPデーモン41は、それをRAM13に保持させ、処理をステップS32に進める。ステップS32において、ソフトウェアパッケージ展開処理部42は、RAM13が保持しているソフトウェアパッケージ70を展開し、シェルスクリプト71、更新プログラム72、イメージデータ73、およびイメージデータ74を復元し、それらを互いに異なるファイルとしてRAM13に保持させる。ソフトウェアパッケージを展開させると、ソフトウェアパッケージ展開処理部42は、処理をステップS33に進める。   When the FTP daemon 41 of the general-purpose platform 1 receives the “put” command from the personal computer 52, it controls the Ethernet (registered trademark) I / F 14 and performs reception processing of the software package 70 in step S 31. When acquiring the software package 70 supplied from the personal computer 52, the FTP daemon 41 causes the RAM 13 to store the software package 70, and the process proceeds to step S32. In step S32, the software package expansion processing unit 42 expands the software package 70 held in the RAM 13, restores the shell script 71, the update program 72, the image data 73, and the image data 74, and stores them in different files. As shown in FIG. When the software package is expanded, the software package expansion processing unit 42 advances the process to step S33.

シェルスクリプト実行部43は、ステップS33において、そのRAM13に保持されたシェルスクリプト71を実行する。図7に示されるように、シェルスクリプト71の2行目には、ROM12への書き込みが指示されている。従って、ROM書き込み制御部44は、ステップS34において、シェルスクリプト71の2行目の記述(update app.image)を実行するシェルスクリプト実行部43に制御され、イメージデータ73をROM12に書き込む。また、図7に示されるように、シェルスクリプト71の3行目には、更新プログラム72の実行(ROM64への書き込み)が指示されている。従って、更新プログラム実行部45は、ステップS35において、シェルスクリプト71の3行目の記述(fpga_update fpga.image)を実行するシェルスクリプト実行部43に制御され、イメージデータ74をFPGA61のROM64に書き込む。ステップS35の処理を終了し、シェルスクリプトの実行が終了すると、シェルスクリプト実行部43は、インストール処理を終了する。   The shell script execution unit 43 executes the shell script 71 held in the RAM 13 in step S33. As shown in FIG. 7, the second line of the shell script 71 is instructed to write to the ROM 12. Accordingly, the ROM write control unit 44 is controlled by the shell script execution unit 43 that executes the description (update app.image) on the second line of the shell script 71 in step S34, and writes the image data 73 into the ROM 12. As shown in FIG. 7, execution of the update program 72 (writing to the ROM 64) is instructed on the third line of the shell script 71. Accordingly, the update program execution unit 45 is controlled by the shell script execution unit 43 that executes the description (fpga_update fpga.image) on the third line of the shell script 71 in step S35, and writes the image data 74 into the ROM 64 of the FPGA 61. When the process of step S35 is finished and the execution of the shell script is finished, the shell script execution unit 43 finishes the installation process.

以上のように、汎用プラットフォーム1は、画像処理装置51のソフトウェアを更新するソフトウェアとともに、そのソフトウェアを、画像処理装置51の所定のROMに書き込むための更新プログラムを取得し、その更新プログラムを用いてソフトウェアの更新を行うことができるので、汎用プラットフォーム1が組み込まれた製品固有の、汎用プラットフォーム1にとって未知のROMに記憶されるソフトウェアを更新することができる。つまり、汎用プラットフォーム1は、上述した構成を有し、上述した処理を実行することにより、どのような構成の製品に組み込まれても、その製品固有のROMに記憶されるソフトウェアを更新することができる。すなわち、汎用プラットフォーム1は、より汎用性の高いソフトウェア更新処理を行うことができる。   As described above, the general-purpose platform 1 acquires the update program for writing the software in the predetermined ROM of the image processing apparatus 51 together with the software for updating the software of the image processing apparatus 51, and uses the update program. Since the software can be updated, the software stored in the ROM that is unique to the product in which the general-purpose platform 1 is incorporated and is unknown to the general-purpose platform 1 can be updated. That is, the general-purpose platform 1 has the above-described configuration, and by executing the above-described processing, the software stored in the ROM unique to the product can be updated regardless of the configuration of the product. it can. That is, the general-purpose platform 1 can perform software update processing with higher versatility.

その際、汎用プラットフォーム1は、シェルスクリプト71を用いて複数の処理を連続して実行するので、ユーザによる指示を必要とせずに、上述した一連の書き込み処理(ソフトウェア更新処理)を連続して実行することができる。従って、ソフトウェア更新処理の流れをシェルスクリプトの記述により制御することができるので、ソフトウェアパッケージの開発も容易になるし、ソフトウェア更新処理を行うユーザも、その更新作業が容易になる。   At that time, the general-purpose platform 1 continuously executes a plurality of processes using the shell script 71, so that the series of write processes (software update processes) described above are continuously executed without requiring a user instruction. can do. Accordingly, since the flow of the software update process can be controlled by the description of the shell script, the development of the software package is facilitated, and the user who performs the software update process can easily perform the update work.

なお、一般的に、汎用プラットフォーム1は、様々な製品に組み込まれることが想定されるので、例えば組み込み先の製品の製造コストを低減させるためにも、その構成は必要最小限であることが望ましい。汎用プラットフォーム1は、上述したようにシェルスクリプト71を用いることにより、キーボードやディスプレイ等の、ユーザによる操作を受け付けるための構成が不要になるので、ソフトウェア更新のための構成の増加を抑制することができる。   In general, since the general-purpose platform 1 is assumed to be incorporated into various products, for example, it is desirable that the configuration be the minimum necessary in order to reduce the manufacturing cost of the product of the incorporation destination. . Since the general-purpose platform 1 uses the shell script 71 as described above, a configuration for accepting an operation by a user such as a keyboard and a display becomes unnecessary, so that an increase in the configuration for software update can be suppressed. it can.

また、汎用プラットフォーム1は、イーサネット(登録商標)I/F14を有し、ネットワーク50を介して組み込み先の製品(画像処理装置51)以外の装置(パーソナルコンピュータ52)から上述したソフトウェアパッケージ71を取得することができるので、組み込み先の製品がキーボードやディスプレイ等の操作受付に関する構成を有していない場合であっても、ソフトウェア更新作業を行うユーザが、例えば、そのソフトウェア更新のためだけにノート型パーソナルコンピュータをその製品にUSB(Universal Serial Bus)ケーブル等を用いて接続し、そのノート型パーソナルコンピュータを操作する等の煩雑な作業を必要とせずに、容易にソフトウェアの更新を行うことができる。   Further, the general-purpose platform 1 has the Ethernet (registered trademark) I / F 14 and acquires the above-described software package 71 from a device (personal computer 52) other than the product (image processing device 51) of the installation destination via the network 50. Therefore, even if the product of the installation destination does not have a configuration related to operation reception such as a keyboard or a display, the user who performs software update work, for example, only for the software update Software can be easily updated without connecting a personal computer to the product using a USB (Universal Serial Bus) cable or the like and operating a notebook personal computer.

さらに、汎用プラットフォーム1は、FTPサーバプログラム31を有しており、それを実行することにより、FTPデーモン41としての機能も有するので、ソフトウェア更新作業を行うユーザは、ネットワーク50を介して汎用プラットフォーム1に接続されるパーソナルコンピュータ52を操作し、上述したソフトウェアパッケージ70を汎用プラットフォーム1にFTP転送するだけで、容易に画像処理装置51のソフトウェアの更新を行うことができる。   Furthermore, the general-purpose platform 1 has the FTP server program 31, and has a function as the FTP daemon 41 by executing the FTP server program 31. The software of the image processing apparatus 51 can be easily updated simply by operating the personal computer 52 connected to the computer and FTP-transferring the software package 70 described above to the general-purpose platform 1.

なお、図2に示されるように、ROM12は、製品共通機能格納領域22と、製品固有機能格納領域23を互いに異なる領域として有している。つまり、ROM12は、汎用なソフトウェアと、製品固有のソフトウェアを互いに異なる領域に記憶する。従って、例えば、製品固有のソフトウェアの更新において、更新処理が失敗して終了したり、ソフトウェアの更新先をROM12とROM64とで誤ったり等の不具合が発生しても、ソフトウェア更新を行うプログラムが記憶される製品共通機能格納領域22の情報は破壊されないので、CPU11は、再度更新処理を行うことができる。つまり、汎用プラットフォーム1は、より確実に正しいソフトウェア更新処理を行うことができる。   As shown in FIG. 2, the ROM 12 has a product common function storage area 22 and a product specific function storage area 23 as different areas. That is, the ROM 12 stores general-purpose software and product-specific software in different areas. Therefore, for example, even in the case of a product-specific software update, even if a failure such as the update process fails and ends, or the software update destination is incorrect between the ROM 12 and the ROM 64, a program that performs software update is stored. Since the information in the product common function storage area 22 is not destroyed, the CPU 11 can perform the update process again. That is, the general-purpose platform 1 can perform correct software update processing more reliably.

なお、以上においては、ROM(フラッシュメモリ等の不揮発性記憶媒体)に記憶されるソフトウェアを更新する場合について説明したが、これに限らず、例えば、ROMにソフトウェアを新たに書き込む場合や、ROMに記憶されるソフトウェアを削除する場合も同様である。つまり、汎用プラットフォーム1は、組み込み先の製品の構成を踏まえて作成されたプログラムを実行し、汎用プラットフォーム1にとって未知の、組み込み先の製品固有のROMに対するソフトウェアの書き込み、削除、および更新を行うことができる。   In the above, the case where the software stored in the ROM (nonvolatile storage medium such as a flash memory) is updated has been described. However, the present invention is not limited to this. For example, when software is newly written to the ROM, The same applies when deleting stored software. In other words, the general-purpose platform 1 executes a program created based on the configuration of the product at the installation destination, and writes, deletes, and updates software to the ROM specific to the installation-target product that is unknown to the general-purpose platform 1. Can do.

以上においては、汎用プラットフォーム1がFTPを用いてソフトウェアパッケージ70を取得するように説明したが、このファイル転送のプロトコルは何であってもよい。例えば、HTTP(HyperText Transfer Protocol)を利用してファイル転送が行われるようにしてもよい。   In the above description, it has been described that the general-purpose platform 1 acquires the software package 70 using FTP, but any file transfer protocol may be used. For example, file transfer may be performed using HTTP (HyperText Transfer Protocol).

また、このファイル転送(ソフトウェアパッケージの授受)の際に、汎用プラットフォーム1が、送信元を認証する認証処理を行うようにしてもよい。   Further, at the time of this file transfer (software package exchange), the general-purpose platform 1 may perform an authentication process for authenticating the transmission source.

以下に、図10乃至図15を参照して、汎用プラットフォーム1が、HTTPを用いてファイル転送を行い、さらに、ファイル転送の際に認証処理を行う例について説明する。   Hereinafter, an example in which the general-purpose platform 1 performs file transfer using HTTP and performs authentication processing at the time of file transfer will be described with reference to FIGS. 10 to 15.

図10は、その場合の、ROM12の記憶領域の構成例を示す模式図である。   FIG. 10 is a schematic diagram showing a configuration example of the storage area of the ROM 12 in that case.

図10に示されるように、この場合のROM12も、図2の場合と同様に、オペレーティングシステム格納領域21、製品共通機能格納領域22、および、製品固有機能格納領域23を有し、製品共通機能格納領域22に、展開処理プログラム32、シェルスクリプト実行プログラム33、汎用インストールプログラム34、および設定値35を記憶する。ただし、図10の場合のROM12は、図2の場合と異なり、製品共通機能格納領域22に、図2に示されるFTPサーバプログラム31の代わりに、HTTPサーバプログラム81および認証処理プログラム82を記憶する。   As shown in FIG. 10, the ROM 12 in this case also has an operating system storage area 21, a product common function storage area 22, and a product specific function storage area 23, as in the case of FIG. In the storage area 22, an expansion processing program 32, a shell script execution program 33, a general installation program 34, and a setting value 35 are stored. However, unlike the case of FIG. 2, the ROM 12 in the case of FIG. 10 stores the HTTP server program 81 and the authentication processing program 82 in the product common function storage area 22 instead of the FTP server program 31 shown in FIG. .

HTTPサーバプログラム81は、CPU11により実行されるプログラムである。CPU11は、このHTTPサーバプログラム81を実行することにより、イーサネット(登録商標)I/F14を制御し、HTTPを利用したファイル転送サービスを提供するHTTPサーバ機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を制御し、このHTTPサーバ機能を利用して、ファイル転送指示を受け付けるためのGUI(Graphical User Interface)を外部の装置に提供したり、そのGUIに基づいてファイル転送指示が受け付けられて供給されたソフトウェアの更新に関する情報を取得したりする。   The HTTP server program 81 is a program executed by the CPU 11. The CPU 11 executes the HTTP server program 81 to control the Ethernet (registered trademark) I / F 14 and realize an HTTP server function that provides a file transfer service using HTTP. For example, the CPU 11 controls the Ethernet (registered trademark) I / F 14 and uses this HTTP server function to provide a GUI (Graphical User Interface) for accepting a file transfer instruction to an external device or the GUI. The information about the update of the supplied software is acquired when the file transfer instruction is accepted based on the above.

認証処理プログラム82は、CPU11により実行されるプログラムである。CPU11は、この認証処理プログラム82を実行することにより、外部の装置より供給された情報に基づいた認証処理を行う。例えば、CPU11は、この認証処理プログラム82を実行することにより、イーサネット(登録商標)I/F14を制御し、外部の装置より取得したソフトウェア更新に関する情報とともに取得した認証鍵の認証処理を行い、ソフトウェア更新に関する情報の送信元を認証する。   The authentication processing program 82 is a program executed by the CPU 11. The CPU 11 executes the authentication processing program 82 to perform an authentication process based on information supplied from an external device. For example, the CPU 11 executes the authentication processing program 82 to control the Ethernet (registered trademark) I / F 14, and performs authentication processing of the authentication key acquired together with information related to software update acquired from an external device. Authenticate the source of information about updates.

つまり、この場合、図11に示されるように、CPU11は、図3のFTPデーモン41の代わりに、HTTPデーモン91、認証処理部92、およびソフトウェアパッケージ抽出部93を有する。なお、この場合もCPU11は、図3の場合と同様に、ソフトウェアパッケージ展開処理部42、シェルスクリプト実行部43、ROM書き込み制御部44、および更新プログラム実行部45も有する。   That is, in this case, as shown in FIG. 11, the CPU 11 includes an HTTP daemon 91, an authentication processing unit 92, and a software package extraction unit 93 instead of the FTP daemon 41 of FIG. 3. In this case, the CPU 11 also has a software package development processing unit 42, a shell script execution unit 43, a ROM write control unit 44, and an update program execution unit 45, as in the case of FIG.

HTTPデーモン91は、CPU11が、HTTPサーバプログラム81を実行することにより得られる機能を示す機能ブロックである。HTTPデーモン91は、イーサネット(登録商標)I/F14を制御して、HTTPサーバとしての機能を提供する。HTTPデーモン91は、例えば、イーサネット(登録商標)I/F14を制御し、ファイル転送指示受け付け用のGUIを他の装置に供給したり、他の装置からのHTTPを用いて転送されるソフトウェアパッケージを取得したりする。このとき、ソフトウェアパッケージは、後述するように、テキストデータの中にバイナリデータを包含するような形式のMIME(Multipurpose Internet Mail Extension)マルチパートデータとして転送される。HTTPデーモン91は、その取得したMIMEマルチパートデータ(ソフトウェアパッケージ)をRAM13に保持させ、処理を認証処理部92に渡す。   The HTTP daemon 91 is a functional block indicating functions obtained by the CPU 11 executing the HTTP server program 81. The HTTP daemon 91 controls the Ethernet (registered trademark) I / F 14 to provide a function as an HTTP server. The HTTP daemon 91 controls, for example, the Ethernet (registered trademark) I / F 14 and supplies a GUI for accepting a file transfer instruction to another device, or a software package transferred using HTTP from another device. Or get it. At this time, as will be described later, the software package is transferred as MIME (Multipurpose Internet Mail Extension) multipart data in a format that includes binary data in text data. The HTTP daemon 91 stores the acquired MIME multipart data (software package) in the RAM 13 and passes the processing to the authentication processing unit 92.

認証処理部92は、CPU11が、認証処理プログラム82を実行することにより得られる機能を示す機能ブロックである。認証処理部92は、イーサネット(登録商標)I/F14を介して供給された認証鍵について認証処理を行う。認証処理部92は、例えば、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージとともに供給された認証鍵の認証処理を行うことにより、ソフトウェアパッケージの送信元が正当であるか否かを判定する。認証処理部92は、その認証鍵が認証された場合、つまり、ソフトウェアパッケージの送信元が正当であると判定した場合、処理をソフトウェアパッケージ抽出部93に渡す。   The authentication processing unit 92 is a functional block indicating functions obtained by the CPU 11 executing the authentication processing program 82. The authentication processing unit 92 performs authentication processing on the authentication key supplied via the Ethernet (registered trademark) I / F 14. For example, the authentication processing unit 92 controls the Ethernet (registered trademark) I / F 14 and determines whether or not the transmission source of the software package is valid by performing authentication processing of the authentication key supplied together with the software package. To do. When the authentication key is authenticated, that is, when it is determined that the transmission source of the software package is valid, the authentication processing unit 92 passes the processing to the software package extraction unit 93.

ソフトウェアパッケージ抽出部93は、CPU11が、HTTPサーバプログラム81を実行することにより得られる機能を示す機能ブロックである。ソフトウェアパッケージ抽出部93は、RAM13に保持されているMIMEマルチパートデータよりソフトウェアパッケージを抽出する。ソフトウェアパッケージ抽出部93は、ソフトウェアパッケージを抽出すると、処理をソフトウェアパッケージ展開処理部42に渡す。   The software package extraction unit 93 is a functional block indicating functions obtained by the CPU 11 executing the HTTP server program 81. The software package extraction unit 93 extracts a software package from MIME multipart data stored in the RAM 13. When the software package extraction unit 93 extracts the software package, the software package extraction unit 93 passes the processing to the software package development processing unit 42.

それ以降の処理は、図3の場合と同様に行われる。なお、ソフトウェアパッケージの構成例や、そのソフトウェアパッケージに含まれるシェルスクリプトの記述例については、図6および図7を参照して説明した場合と同様であるので、それらについての説明は省略する。   Subsequent processing is performed in the same manner as in FIG. Note that the configuration example of the software package and the description example of the shell script included in the software package are the same as those described with reference to FIG. 6 and FIG.

次に、以上のように汎用プラットフォーム1がHTTPを用いてファイル転送を行い、さらに送信元の認証処理を行う場合の、図4に示される例における画像処理装置51のソフトウェア更新処理の具体的な流れの例を、図12のフローチャートを参照して説明する。   Next, a specific example of the software update process of the image processing apparatus 51 in the example shown in FIG. 4 when the general-purpose platform 1 performs file transfer using HTTP as described above, and further performs authentication processing of the transmission source. An example of the flow will be described with reference to the flowchart of FIG.

この場合、パーソナルコンピュータ52は、ステップS41において、画像処理装置51(汎用プラットフォーム1)に対してアップロード画面を要求する。アップロード画面は、ファイル転送指示を受け付けるためのGUI画像であり、そのデータは、例えばHTML(HyperText Markup Language)等の記述により構成される。画像処理装置51のHTTPデーモン91は、ステップS51においてこの要求を受け付けると、ステップS52において要求されたアップロード画面のデータをパーソナルコンピュータ52に供給する。パーソナルコンピュータ52は、ステップS42においてそのアップロード画面のデータを取得すると、ステップS43において、例えばWEBブラウザ等を用いて、取得したアップロード画面を表示し、例えばユーザからのファイル転送指示入力を受け付ける。   In this case, the personal computer 52 requests an upload screen from the image processing apparatus 51 (general-purpose platform 1) in step S41. The upload screen is a GUI image for accepting a file transfer instruction, and the data is composed of a description such as HTML (HyperText Markup Language). When the HTTP daemon 91 of the image processing apparatus 51 accepts this request in step S51, it supplies the upload screen data requested in step S52 to the personal computer 52. When the personal computer 52 acquires the upload screen data in step S42, in step S43, the personal computer 52 displays the acquired upload screen using, for example, a WEB browser or the like, and accepts a file transfer instruction input from the user, for example.

図13は、アップロード画面の構成例を示す模式図である。図13において、アップロード画面100は、パーソナルコンピュータ52において、ディスプレイ等に表示されたアップロード画面の構成例を示している。   FIG. 13 is a schematic diagram illustrating a configuration example of the upload screen. In FIG. 13, an upload screen 100 shows a configuration example of an upload screen displayed on a display or the like in the personal computer 52.

図13に示されるように、アップロード画面100の上側には、このGUI画面がアップロード画面であることを示す「ソフトウェア アップデート」というタイトルが表示される。また、アップロード画面100の、そのタイトルの下には、「ファイルを選んでください」というメッセージとともに、ファイル名入力欄101と、参照ボタン102が表示される。ファイル名入力欄101には、汎用プラットフォーム1に転送するファイルとして指定されたソフトウェアパッケージのファイル名が、そのパスとともに表示される。つまり、ユーザは、キーボードやマウスを操作してこのファイル名入力欄101にファイル名をパス名とともに入力するか、若しくは、参照ボタン102を操作して他のウィンドウを立ち上げさせ、そのウィンドウに表示されるGUI上で選択的に指定したファイル名およびパス名をファイル名入力欄101に表示させることにより、転送するソフトウェアパッケージを指定する。   As shown in FIG. 13, on the upper side of the upload screen 100, a title “software update” indicating that this GUI screen is the upload screen is displayed. In addition, a file name input field 101 and a reference button 102 are displayed below the title of the upload screen 100 together with a message “Please select a file”. In the file name input field 101, the file name of the software package designated as the file to be transferred to the general-purpose platform 1 is displayed along with its path. That is, the user operates the keyboard or mouse to input a file name in the file name input field 101 together with the path name, or operates the reference button 102 to start another window and displays it in the window. The software package to be transferred is specified by causing the file name input field 101 to display the file name and path name specified selectively on the GUI.

さらに、アップロード画面100のファイル名入力欄101の下側には、アップロードボタン103が設けられている。ユーザがアップロードボタン103を操作することにより、ファイル名入力欄101にファイル名およびパス名が表示されているソフトウェアパッケージ(ユーザにより選択されたソフトウェアパッケージ)がアップロード(汎用プラットフォーム1に転送)される。   Further, an upload button 103 is provided below the file name input field 101 on the upload screen 100. When the user operates the upload button 103, the software package (software package selected by the user) whose file name and path name are displayed in the file name input field 101 is uploaded (transferred to the general-purpose platform 1).

また、アップロード画面100のアップロードボタン103より下側に、さらに、インストールキー入力欄104乃至インストールキー入力欄106が設けられている。インストールキーは、ソフトウェアパッケージのアップロードの際に、汎用プラットフォーム1において認証処理が行われる場合に必要な、ソフトウェアパッケージの送信元を認証するための認証鍵である。   Further, an install key input field 104 to an install key input field 106 are further provided below the upload button 103 on the upload screen 100. The installation key is an authentication key for authenticating the transmission source of the software package, which is necessary when authentication processing is performed in the general-purpose platform 1 when uploading the software package.

ユーザは、アップロードボタン103を操作する前に、これらのインストールキー入力欄104乃至インストールキー入力欄106のいずれかにこのインストールキーを1つの入力欄に1つずつ必要な数だけ入力する。つまり、入力するインストールキーの数は、0個であってもよいし、1つであってもよいし、複数であっても良い。ユーザが、インストールキーを入力した後、アップロードボタン103を操作すると、パーソナルコンピュータ51は、ソフトウェアパッケージとともに、そのインストールキーもMIMEマルチパートデータに含めて、汎用プラットフォーム1にアップロード(転送)する。   Before operating the upload button 103, the user inputs the required number of installation keys to one of the installation key input fields 104 to 106 into one input field. That is, the number of installation keys to be input may be zero, one, or a plurality. When the user operates the upload button 103 after inputting the installation key, the personal computer 51 uploads (transfers) the software package and the installation key to the general-purpose platform 1 together with the MIME multipart data.

以上のような構成のアップロード画面100において、ファイル転送指示を受け付けると、パーソナルコンピュータ52は、指定されたソフトウェアパッケージを、バイナリデータとしてテキストデータに埋め込み、MIMEマルチパートデータとして画像処理装置51に送信(転送)する。   When the file transfer instruction is received on the upload screen 100 having the above configuration, the personal computer 52 embeds the designated software package in the text data as binary data and transmits it to the image processing apparatus 51 as MIME multipart data ( Forward.

図14は、MIMEマルチパートデータの構成例を示す模式図である。図14に示されるように、MIMEマルチパートデータ111は、テキストデータの間の「(バイナリデータ)」の記載の部分にバイナリデータとしてソフトウェアパッケージやインストールキーが埋め込まれている。なお、「(バイナリデータ)」の記述は、バイナリデータであるソフトウェアパッケージやインストールキーの埋め込み位置を示すものであり、実際には存在しない。   FIG. 14 is a schematic diagram illustrating a configuration example of MIME multipart data. As shown in FIG. 14, in the MIME multi-part data 111, a software package and an installation key are embedded as binary data in a portion of “(binary data)” between text data. Note that the description “(binary data)” indicates the embedded position of the software package or installation key, which is binary data, and does not actually exist.

これに対して、画像処理装置51は、ステップS53においてインストール処理を行い、このようなMIMEマルチパートデータ111を取得する。   On the other hand, the image processing apparatus 51 performs installation processing in step S53, and acquires such MIME multipart data 111.

次に、図12のステップS53において実行されるインストール処理の詳細な流れの例について、図15のフローチャートを参照して説明する。なお、ここでは、図6に示される構成のソフトウェアパッケージ70やインストールキーを含むMIMEマルチパートデータ111を受信する場合について説明する。このとき、ソフトウェアパッケージ70に含まれるシェルスクリプト71には、図7に示されるスクリプトが記述されている。   Next, an example of a detailed flow of the installation process executed in step S53 of FIG. 12 will be described with reference to the flowchart of FIG. Here, a case will be described in which the MIME multipart data 111 including the software package 70 having the configuration shown in FIG. 6 and the installation key is received. At this time, the script shown in FIG. 7 is described in the shell script 71 included in the software package 70.

汎用プラットフォーム1のHTTPデーモン91は、ステップS61において、イーサネット(登録商標)I/F14を制御し、MIMEマルチパートデータ111の受信処理を行う。パーソナルコンピュータ52より供給されたMIMEマルチパートデータ111を取得すると、HTTPデーモン91は、それをRAM13に保持させ、処理をステップS62に進める。ステップS62において、認証処理部92は、MIMEマルチパートデータ111よりインストールキーを抽出し、その抽出したインストールキーを用いて認証処理を行う。インストールキーが認証されると、ソフトウェアパッケージ抽出部93は、MIMEマルチパートデータ111よりソフトウェアパッケージを抽出し、それをRAM13に保持させる。   In step S <b> 61, the HTTP daemon 91 of the general-purpose platform 1 controls the Ethernet (registered trademark) I / F 14 and performs the reception process of the MIME multipart data 111. When the MIME multipart data 111 supplied from the personal computer 52 is acquired, the HTTP daemon 91 stores the data in the RAM 13 and advances the process to step S62. In step S62, the authentication processing unit 92 extracts an installation key from the MIME multi-part data 111, and performs an authentication process using the extracted installation key. When the installation key is authenticated, the software package extraction unit 93 extracts the software package from the MIME multi-part data 111 and stores it in the RAM 13.

ソフトウェアパッケージが抽出された、それ以降の、ステップS64乃至ステップS67の処理は、図9のフローチャートのステップS32乃至ステップS35の処理と同様に実行させるので、それらの説明を省略する。   The subsequent processing from step S64 to step S67 after the software package is extracted is executed in the same manner as the processing from step S32 to step S35 in the flowchart of FIG.

以上のように、汎用プラットフォーム1は、HTTPを用いてソフトウェアパッケージを取得するようにすることもできる。このようにすることにより、パーソナルコンピュータ52のユーザは、FTPコマンドを知らなくても、容易にソフトウェアパッケージを汎用プラットフォーム1にアップロードすることができる。   As described above, the general-purpose platform 1 can acquire a software package using HTTP. In this way, the user of the personal computer 52 can easily upload the software package to the general-purpose platform 1 without knowing the FTP command.

また、汎用プラットフォーム1は、ソフトウェアパッケージのアップロードの際に、インストールキーを用いてソフトウェアパッケージの送信元の認証処理を行うことができる。従って、汎用プラットフォーム1は、不正なソフトウェア更新を抑制し、より安全なソフトウェア更新処理を行うようにすることができる。   Further, the general-purpose platform 1 can perform authentication processing of the transmission source of the software package using the installation key when uploading the software package. Therefore, the general-purpose platform 1 can suppress unauthorized software update and perform safer software update processing.

なお、汎用プラットフォーム1が組み込まれる製品の、製品固有の構成は、図5に示される例のデコーダユニット60以外であってももちろんよく、どのようなものであってもよい。   Of course, the product-specific configuration of the product in which the general-purpose platform 1 is incorporated may be other than the decoder unit 60 in the example shown in FIG.

図16は、汎用プラットフォーム1の組み込み先の製品固有の構成の他の例を示すブロック図である。   FIG. 16 is a block diagram illustrating another example of a configuration unique to a product into which the general-purpose platform 1 is incorporated.

図16において、汎用プラットフォーム1は、バス10により、制御ユニット121に接続されている。制御ユニット121は、専用のバス130、バス130を介して互いに接続されるCPU131、ROM132、およびRAM133、並びに、バス10とバス130との中継処理を行うバスブリッジ134を有している。   In FIG. 16, the general-purpose platform 1 is connected to a control unit 121 by a bus 10. The control unit 121 includes a dedicated bus 130, a CPU 131, a ROM 132, and a RAM 133 that are connected to each other via the bus 130, and a bus bridge 134 that performs a relay process between the bus 10 and the bus 130.

CPU131は、バス130を介してROM132やRAM133を制御し、図示せぬ他の構成を制御する制御処理等を実行する。ROM132は、フラッシュメモリ等の書き換え可能な不揮発性の記憶媒体により構成され、CPU131において実行する装置固有のソフトウェアを記憶する。RAM133は、CPU131がソフトウェアを実行する際に、そのソフトウェアを一時的に保持する。   The CPU 131 controls the ROM 132 and the RAM 133 via the bus 130, and executes a control process for controlling other components (not shown). The ROM 132 is configured by a rewritable nonvolatile storage medium such as a flash memory, and stores device-specific software executed by the CPU 131. The RAM 133 temporarily holds the software when the CPU 131 executes the software.

この場合も、CPU11は、ソフトウェア更新処理を、上述した場合と同様に実行する。従って、この場合のソフトウェアパッケージ140は、図17に示されるように、図6の場合と同様に、シェルスクリプト141(update.sh)、更新プログラム142(app2_update)、イメージデータ73(app.image)、およびイメージデータ144(app2.image)を有する。これらの各ファイルは、図6に示される各ファイルと内容が異なるだけで、基本的に同種のソフトウェアである。従って、図17に示されるソフトウェアパッケージ140の構成は、図6のソフトウェアパッケージ70の構成と同様である。   Also in this case, the CPU 11 performs the software update process in the same manner as described above. Accordingly, as shown in FIG. 17, the software package 140 in this case is similar to the case of FIG. 6, the shell script 141 (update.sh), the update program 142 (app2_update), and the image data 73 (app.image). , And image data 144 (app2.image). Each of these files is basically the same kind of software except for the contents of each file shown in FIG. Therefore, the configuration of the software package 140 shown in FIG. 17 is the same as the configuration of the software package 70 of FIG.

つまり、ソフトウェアパッケージの開発者は、ソフトウェアパッケージに含まれる各ソフトウェアを、汎用プラットフォーム1の組み込み先の製品の構成に応じて変更するだけで、どのような製品に対しても基本的に同様に開発することができる。   That is, the developer of the software package can basically develop the same for any product by simply changing each software included in the software package according to the configuration of the product into which the general-purpose platform 1 is incorporated. can do.

図18は、シェルスクリプト141の記述例を示す模式図である。図18に示される例においては、図7に示される例と比較して、汎用プラットフォーム1の組み込み先の製品固有のROMに対する書き込み処理を指示している3行目記述のみが異なっている。このように、ソフトウェアパッケージの開発者は、汎用プラットフォーム1の組み込み先の製品の構成に応じてシェルスクリプトの記述を更新することにより、容易に、ソフトウェアパッケージの各ソフトウェアを製品の構成に対応させ、イメージデータを目的のROMに書き込むことができるようにすることができる。すなわち、汎用プラットフォーム1は、より汎用性の高いソフトウェア更新処理を提供することができる。   FIG. 18 is a schematic diagram illustrating a description example of the shell script 141. The example shown in FIG. 18 differs from the example shown in FIG. 7 only in the description on the third line instructing the writing process to the ROM unique to the product into which the general-purpose platform 1 is incorporated. In this way, the developer of the software package can easily make each software of the software package correspond to the product configuration by updating the description of the shell script according to the configuration of the product into which the general-purpose platform 1 is incorporated. Image data can be written to a target ROM. That is, the general-purpose platform 1 can provide software update processing with higher versatility.

なお、以上においては、ROM12が、各プログラムで使用される設定値35をROM12の製品共通機能格納領域22に記憶するように説明したが、更新頻度の高い設定値35をオペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域22以外の領域に記憶するようにしてもよい。このように記憶することにより、ROM12は、設定値35の更新の失敗による他のプログラムの破壊を抑制することができる。   In the above description, the ROM 12 has been described so as to store the setting value 35 used in each program in the product common function storage area 22 of the ROM 12, but the setting value 35 having a high update frequency is stored in the operating system storage area 21, It may be stored in an area other than the product common function storage area 22 and the product specific function storage area 22. By storing in this way, the ROM 12 can suppress the destruction of other programs due to the failure to update the setting value 35.

また、以上においては、図19Aに示されるように、パーソナルコンピュータ52から、画像処理装置51の汎用プラットフォーム1に、ネットワーク50を介して、平文のソフトウェアパッケージである平文ソフトウェアパッケージ151(XXX.tar.gz)が転送されるように説明したが、このソフトウェアパッケージ151が暗号化されていてもよい。   In the above, as shown in FIG. 19A, a plaintext software package 151 (XXX.tar.), Which is a plaintext software package, is transmitted from the personal computer 52 to the general-purpose platform 1 of the image processing apparatus 51 via the network 50. Although it has been described that gz) is transferred, the software package 151 may be encrypted.

また、その場合、汎用ぶらっとフォーム1が、図19Bに示されるように、暗号化されたソフトウェアパッケージである暗号文ソフトウェアパッケージ152(YYY.elp)と平文ソフトウェアパッケージ151の両方を受信することができるモードと、暗号文ソフトウェアパッケージ152のみ受信することができるモードの2つのモードを有するようにし、いずれか一方のモードでソフトウェア更新処理を行うようにしてもよい。   Further, in this case, as shown in FIG. 19B, the general-purpose image 1 can receive both the ciphertext software package 152 (YYY.elp) and the plaintext software package 151, which are encrypted software packages. It is possible to have two modes, a mode and a mode in which only the ciphertext software package 152 can be received, and the software update process may be performed in either one of the modes.

なお、図19において、暗号文ソフトウェアパッケージ152(YYY.elp)は、平文ソフトウェアパッケージ151(XXX.tar.gz)を、例えばDES(Data Encryption Standard)等の所定の方式で暗号化したものである。   In FIG. 19, the ciphertext software package 152 (YYY.elp) is obtained by encrypting the plaintext software package 151 (XXX.tar.gz) by a predetermined method such as DES (Data Encryption Standard). .

図20は、この場合のROM12の記憶領域の構成例を示す模式図である。ROM12は、オペレーティングシステム格納領域21、製品共通機能格納領域22、および製品固有機能格納領域22以外に、設定値格納領域161を有している。   FIG. 20 is a schematic diagram showing a configuration example of the storage area of the ROM 12 in this case. The ROM 12 has a setting value storage area 161 in addition to the operating system storage area 21, the product common function storage area 22, and the product specific function storage area 22.

設定値格納領域161は、各種ソフトウェアの実行時等に参照される各種の設定値を保持する記憶領域である。このように更新頻度の高い設定値の記憶領域が他の情報の記憶領域と区別されていることにより、汎用プラットフォーム1は、設定値の更新時における他のソフトウェアの破壊を抑制するなど、ROM12の安全性を向上させることができる。   The setting value storage area 161 is a storage area for holding various setting values referred to when executing various software. As described above, the storage area of the setting value having a high update frequency is distinguished from the storage area of other information, so that the general-purpose platform 1 prevents the destruction of other software when the setting value is updated. Safety can be improved.

また、上述したように暗号文ソフトウェアパッケージ152を処理することができるように、ROM12の製品共通機能格納領域22には、図2に示されるFTPサーバプログラム31乃至汎用インストールプログラム34の他に、復号処理プログラム171および設定確認プログラム172をさらに記憶している。   In addition to the FTP server program 31 to the general-purpose installation program 34 shown in FIG. 2, the product common function storage area 22 of the ROM 12 is decrypted so that the ciphertext software package 152 can be processed as described above. A processing program 171 and a setting confirmation program 172 are further stored.

復号処理プログラム171は、CPU11により実行されるプログラムである。CPU11は、この復号処理プログラム171を実行することにより、所定の方式で暗号化されたソフトウェアを復号し、平文のソフトウェアを得る復号処理機能を実現する。例えば、CPU11は、イーサネット(登録商標)I/F14を介して取得した、暗号文ソフトウェアパッケージ152を、この復号処理機能を用いて復号し、暗号化される前の平文ソフトウェアパッケージ151を復元する。なお、この暗号化処理および復号処理は、所定の秘密鍵を用いて行うものとし、汎用プラットフォーム1は、この暗号化処理に用いられた秘密鍵、または暗号化処理に用いられた秘密鍵に対応する復号処理用の秘密鍵を予め有している。例えば、復号処理プログラム171にこの秘密鍵が予め埋め込まれており、CPU11は、復号処理プログラム171を実行する際に、この秘密鍵を抽出して使用することができるようになされている。   The decryption processing program 171 is a program executed by the CPU 11. The CPU 11 executes the decryption processing program 171 to realize a decryption processing function for decrypting software encrypted by a predetermined method and obtaining plain text software. For example, the CPU 11 decrypts the ciphertext software package 152 acquired through the Ethernet (registered trademark) I / F 14 using this decryption processing function, and restores the plaintext software package 151 before being encrypted. Note that the encryption process and the decryption process are performed using a predetermined secret key, and the general-purpose platform 1 corresponds to the secret key used for the encryption process or the secret key used for the encryption process. It already has a secret key for decryption processing. For example, this secret key is embedded in the decryption processing program 171 in advance, and the CPU 11 can extract and use this secret key when executing the decryption processing program 171.

設定確認プログラム172は、CPU11により実行されるプログラムである。CPU11は、この設定確認プログラム172を実行することにより、設定値格納領域161に格納される設定値を確認する設定確認機能を実現する。例えば、CPU11は、設定値格納領域161を参照し、平文ソフトウェアパッケージ151を受け付けるか否かの設定を確認する。   The setting confirmation program 172 is a program executed by the CPU 11. The CPU 11 implements a setting confirmation function for confirming the setting value stored in the setting value storage area 161 by executing the setting confirmation program 172. For example, the CPU 11 refers to the setting value storage area 161 and confirms whether or not the plaintext software package 151 is accepted.

図21は、設定値格納領域161に格納される設定値の例を示す模式図である。図21において設定値181は、汎用プラットフォーム1によるソフトウェアパッケージの取得に関する設定の値であり、1行目の記述「MAC Address = 00:11:22:33:44:55」は、汎用プラットフォーム1のイーサネット(登録商標)I/F14のMACアドレスが「00:11:22:33:44:55」であることを示しており、2行目の記述「IP Address = 192.168.0.1」は、イーサネット(登録商標)I/F14(FTPデーモン41)のIPアドレスが「192.168.0.1」であることを示している。   FIG. 21 is a schematic diagram illustrating an example of setting values stored in the setting value storage area 161. In FIG. 21, a setting value 181 is a setting value related to acquisition of a software package by the general platform 1, and the description “MAC Address = 00: 11: 22: 33: 44: 55” on the first line is This indicates that the MAC address of the Ethernet (registered trademark) I / F 14 is “00: 11: 22: 33: 44: 55”, and the description “IP Address = 192.168.0.1” on the second line is Ethernet ( This indicates that the IP address of the registered trademark I / F 14 (FTP daemon 41) is “192.168.0.1”.

また、3行目の記述「shipping = no」は、この汎用プラットフォーム1の状態が、一般に販売される「出荷」状態ではないことを示している。開発後の汎用プラットフォーム1は、組み込み先の製品の開発用に用いられる開発向けの状態と、その汎用プラットフォーム1が組み込まれた製品が一般に販売される販売向けの状態とがある。つまり、汎用プラットフォーム1自体が開発済みであっても、その汎用プラットフォーム1の組み込み先の製品が開発中である場合と、開発済みで販売中である場合との2つの場合が考えられる。   The description “shipping = no” on the third line indicates that the state of the general-purpose platform 1 is not a “shipment” state that is generally sold. The developed general-purpose platform 1 has a state for development used for development of a product to be embedded, and a state for sales in which a product incorporating the general-purpose platform 1 is generally sold. That is, even if the general-purpose platform 1 itself has been developed, there are two cases: a case where a product into which the general-purpose platform 1 is incorporated is under development, and a case where the product has been developed and is being sold.

例えば、組み込み先の製品が開発済みであり、販売(出荷)するために汎用プラットフォーム1を組み込む場合、汎用プラットフォーム1は、平文ソフトウェアパッケージ151を拒否し、暗号文ソフトウェアパッケージ152のみを受け付けるようにすれば、例えばエンドユーザ等の第3者による不正なソフトウェアパッケージの作成を抑制することができるだけでなく、さらに、第3者が作成した不正なフトウェアパッケージを拒否することができるので、第3者による不正なハッキングを防止することができ、より安全にソフトウェア更新を行うことができる。   For example, if a product to be embedded has been developed and the general-purpose platform 1 is incorporated for sale (shipment), the general-purpose platform 1 rejects the plaintext software package 151 and accepts only the ciphertext software package 152. For example, it is possible not only to suppress the creation of an unauthorized software package by a third party such as an end user, but also to reject an unauthorized software package created by the third party. Unauthorized hacking can be prevented, and software updates can be performed more safely.

しかしながら、組み込み先の製品の開発時において、このように暗号文ソフトウェアパッケージ152のみを受け付けるようにすると、ソフトウェアパッケージを用いて組み込み先の製品のソフトウェア(ファームウェア)を更新する度に、暗号文ソフトウェアパッケージ152を用意しなければならず、その更新処理に煩雑な作業を伴うだけでなく、暗号文ソフトウェアパッケージ152は、ユーザがこのファイルを直接参照しても内容を確認することができないので、ソフトウェアパッケージの管理が困難になる恐れがある。従って、組み込み先の製品の開発時においては、汎用プラットフォーム1は、平文ソフトウェアパッケージ151および暗号文ソフトウェアパッケージ152の両方を受け付けることができるようにすることにより、組み込み先の製品の開発コストの低減や開発期間の短縮を実現することができる。   However, when only the ciphertext software package 152 is received in this way at the time of development of an embedded product, the ciphertext software package is updated every time the software (firmware) of the embedded product is updated using the software package. 152 is prepared, and not only is the update process complicated, but the ciphertext software package 152 cannot be confirmed even if the user directly refers to this file. There is a risk that it will be difficult to manage. Therefore, at the time of development of an embedded product, the general-purpose platform 1 can accept both the plaintext software package 151 and the ciphertext software package 152, thereby reducing the development cost of the embedded product. The development period can be shortened.

図21の設定値181の「shipping」は、このような2つの状態を区別するための設定である。なお、図21において、設定値181の3行目の記述「shipping = no」は、組み込み先の製品が開発中であり、汎用プラットフォーム1の状態が、一般に販売される「出荷」状態ではないことを示している。   “Shipping” in the setting value 181 in FIG. 21 is a setting for distinguishing between these two states. In FIG. 21, the description “shipping = no” on the third line of the setting value 181 indicates that the embedded product is under development and the state of the general-purpose platform 1 is not the “shipped” state that is generally sold. Is shown.

この場合の、CPU11の機能ブロックの構成例を図22に示す。   A configuration example of the functional block of the CPU 11 in this case is shown in FIG.

図22に示されるように、CPU11は、図20に示される各プログラムをRAM13にロードして実行することにより、図3に示される機能ブロックの他に、復号処理部191および設定確認部192を有する。   As shown in FIG. 22, the CPU 11 loads the program shown in FIG. 20 into the RAM 13 and executes it, thereby causing the decoding processing unit 191 and the setting confirmation unit 192 to be included in addition to the functional blocks shown in FIG. 3. Have.

復号処理部191は、CPU11が、復号処理プログラム171を実行することにより得られる機能を示す機能ブロックである。復号処理部191は、暗号化されたソフトウェアを所定の方式で復号する復号機能を提供する。復号処理部191は、例えば、FTPデーモン41により取得された暗号文ソフトウェアパッケージ152を、所定の秘密鍵を用いて復号し、平文ソフトウェアパッケージ151を取得する。復号処理部191は、その取得した平文ソフトウェアパッケージ151をRAM13に保持させ、処理をソフトウェアパッケージ展開部42に渡す。   The decryption processing unit 191 is a functional block indicating functions obtained by the CPU 11 executing the decryption processing program 171. The decryption processing unit 191 provides a decryption function for decrypting the encrypted software by a predetermined method. For example, the decryption processing unit 191 decrypts the ciphertext software package 152 acquired by the FTP daemon 41 using a predetermined secret key, and acquires the plaintext software package 151. The decryption processing unit 191 holds the acquired plain text software package 151 in the RAM 13 and passes the processing to the software package development unit 42.

また、復号処理部191は、FTPデーモン41が取得したソフトウェアパッケージが平文ソフトウェアパッケージ151である場合、復号処理を行わずに、処理を設定確認部192に渡す。   Also, when the software package acquired by the FTP daemon 41 is the plaintext software package 151, the decryption processing unit 191 passes the processing to the setting confirmation unit 192 without performing the decryption process.

設定確認部192は、CPU11が、設定確認プログラム172を実行することにより得られる機能を示す機能ブロックである。設定確認部192は、ROM12の設定値格納領域161に格納される設定値181を確認し、その確認結果に応じてソフトウェアの更新を行うか否かを判定する。   The setting confirmation unit 192 is a functional block showing functions obtained by the CPU 11 executing the setting confirmation program 172. The setting confirmation unit 192 confirms the setting value 181 stored in the setting value storage area 161 of the ROM 12, and determines whether to update the software according to the confirmation result.

次に、この場合の汎用プラットフォームのインストール処理の流れの例について図23のフローチャートを参照して説明する。なお、ソフトウェアパッケージの転送については、平文の場合も暗号文の場合も図8のフローチャートを参照して説明した場合と同様であるので、その説明は省略する。   Next, an example of the flow of the general platform installation process in this case will be described with reference to the flowchart of FIG. Note that the transfer of the software package is the same as that described with reference to the flowchart of FIG. 8 in both plaintext and ciphertext, and thus the description thereof is omitted.

汎用プラットフォーム1のFTPデーモン41は、ステップS81において、ステップS31と同様に、イーサネット(登録商標)I/F14を制御し、ソフトウェアパッケージの受信処理を行う。パーソナルコンピュータ52より供給されたソフトウェアパッケージを取得すると、FTPデーモン41は、それをRAM13に保持させ、処理をステップS82に進める。ステップS82において、復号処理部191は、受信したソフトウェアパッケージが暗号文ソフトウェアパッケージ152であるか否かを判定し、暗号文ソフトウェアパッケージ152であると判定した場合、処理をステップS83に進め、その、暗号文ソフトウェアパッケージ152を復号し、暗号化される前の平文ソフトウェアパッケージ151を復元する。復号処理を終了すると、復号処理部191は、処理をステップS85に進める。   In step S81, the FTP daemon 41 of the general-purpose platform 1 controls the Ethernet (registered trademark) I / F 14 and performs software package reception processing in the same manner as in step S31. Upon obtaining the software package supplied from the personal computer 52, the FTP daemon 41 causes the RAM 13 to hold it and advances the process to step S82. In step S82, the decryption processing unit 191 determines whether or not the received software package is the ciphertext software package 152. If it is determined that the received software package is the ciphertext software package 152, the process proceeds to step S83. The ciphertext software package 152 is decrypted, and the plaintext software package 151 before being encrypted is restored. When the decoding process ends, the decoding processing unit 191 advances the process to step S85.

また、ステップS82において、受信したソフトウェアパッケージが暗号文ソフトウェアパッケージ152ではない(平文ソフトウェアパッケージ151である)と判定した場合、復号処理部191は、復号処理を省略して処理をステップS84に進める。   If it is determined in step S82 that the received software package is not the ciphertext software package 152 (the plaintext software package 151), the decryption processing unit 191 skips the decryption process and advances the process to step S84.

ステップS84において、設定確認部192は、設定値格納領域161に格納されている設定値181を参照し、設定項目「shipping」の値が「YES」であるか否かを判定する。すなわち、設定確認部192は、汎用プラットフォーム1の状態が出荷状態であるか否か(組み込み先の製品の開発が終了しているか否か)を判定する。設定項目「shipping」の値が「NO」であると判定した場合、設定確認部192は、その平文ソフトウェアパッケージ151を受け付けることを許可し、処理をステップS85に進める。   In step S84, the setting confirmation unit 192 refers to the setting value 181 stored in the setting value storage area 161, and determines whether or not the value of the setting item “shipping” is “YES”. That is, the setting confirmation unit 192 determines whether or not the state of the general-purpose platform 1 is a shipping state (whether or not development of a product to be incorporated has been completed). If it is determined that the value of the setting item “shipping” is “NO”, the setting confirmation unit 192 permits the plaintext software package 151 to be accepted, and the process proceeds to step S85.

CPU11の各機能ブロックは、ステップS85乃至ステップS88の処理を、図9のステップS32乃至ステップS35と同様に行うことによって上述したようにソフトウェアの更新処理を行い、インストール処理を終了する。また、ステップS35において、設定項目「shipping」の値が「YES」であると判定した場合、すなわち、組み込み先の製品の開発が終了して出荷状態にあると判定した場合、設定確認部192は、ステップS85乃至ステップS88の処理を省略し、インストール処理を終了する。   Each functional block of the CPU 11 performs the software update process as described above by performing the processes of steps S85 to S88 in the same manner as steps S32 to S35 of FIG. 9, and ends the installation process. If it is determined in step S35 that the value of the setting item “shipping” is “YES”, that is, if it is determined that the development of the product of the installation destination has been completed and is in the shipping state, the setting confirmation unit 192 , The process from step S85 to step S88 is omitted, and the installation process is terminated.

以上のように、汎用プラットフォーム1は、暗号化されたソフトウェアパッケージを用いてソフトウェアの更新を行うので、第3者によるハッキングを防止する等、より安全にソフトウェアの更新処理を行うことができる。また、汎用プラットフォーム1の組み込み先の製品が販売状態(出荷状態)であるか否かによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにすることにより、汎用プラットフォーム1の組み込み先の製品の開発が複雑になることを抑制したまま、より安全にソフトウェアの更新処理を行うようにすることができる。   As described above, since the general-purpose platform 1 updates software using the encrypted software package, the software update process can be performed more safely, such as preventing hacking by a third party. Further, by determining whether or not the plaintext software package 151 is accepted depending on whether or not the product into which the general platform 1 is incorporated is in a sales state (shipment state), the product into which the general platform 1 is incorporated The software update process can be performed more safely while suppressing the development of the software.

なお、以上においては汎用プラットフォーム1の組み込み先の製品が出荷状態にあるか否かによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するように説明したが、これに限らず、例えば、組み込み先製品のソフトウェアの追加や更新を行うユーザによって、平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにしてもよい。このようにすることにより、ソフトウェアの追加や更新を行うユーザ毎にセキュリティレベルを調節することができる。また、追加や更新を行うソフトウェア毎に平文ソフトウェアパッケージ151を受け付けるか否かを決定するようにしてもよい。また、上述した以外の他の条件を用いるようにしてもよい。さらに、これらの各種の条件を組み合わせて利用するようにしてももちろんよい。   In the above description, it has been described that whether to receive the plaintext software package 151 is determined depending on whether or not the product to which the general-purpose platform 1 is installed is in a shipping state. However, the present invention is not limited to this. Whether to accept the plaintext software package 151 may be determined by a user who adds or updates product software. In this way, the security level can be adjusted for each user who adds or updates software. Further, it may be determined whether or not the plaintext software package 151 is accepted for each software to be added or updated. Further, conditions other than those described above may be used. Furthermore, it goes without saying that these various conditions may be used in combination.

また、以上においては、汎用プラットフォーム1が、平文ソフトウェアパッケージ151を受け付けるか否かのみを設定するように説明したが、それと同時に、暗号文ソフトウェアパッケージ152を受け付けるか否かも設定するようにしてもよいし、暗号文ソフトウェアパッケージ152を受け付けるか否かのみを設定するようにしてもよい。   In the above description, it has been described that the general-purpose platform 1 only sets whether to accept the plaintext software package 151, but at the same time, whether to accept the ciphertext software package 152 may also be set. However, it may be set only whether to accept the ciphertext software package 152.

さらに、以上においては、汎用プラットフォーム1が、イーサネット(登録商標)I/F14を介して、他の装置であるパーソナルコンピュータ52より、更新処理用のソフトウェアパッケージを取得するように説明したが、これに限らず、例えば、図24に示される汎用プラットフォーム201のように、所定のリムーバブルメディア212に対応したドライブ211を有し、このリムーバブルメディア212に記録されているソフトウェアパッケージを取得するようにしてもよい。   Furthermore, in the above description, the general-purpose platform 1 has been described as acquiring a software package for update processing from the personal computer 52 which is another device via the Ethernet (registered trademark) I / F 14. For example, a general-purpose platform 201 illustrated in FIG. 24 may include a drive 211 corresponding to a predetermined removable medium 212 and obtain a software package recorded on the removable medium 212. .

つまり、上述した一連の処理は、ハードウェアにより実行させることもできるし、ソフトウェアにより実行させることもできるが、上述した一連の処理をソフトウェアにより実行させる場合には、上述したソフトウェアが、記録媒体からインストールされるようにしてもよい。   That is, the above-described series of processing can be executed by hardware or software, but when the above-described series of processing is executed by software, the above-described software is read from the recording medium. It may be installed.

この記録媒体は、例えば、図24に示されるように、装置本体とは別に、ユーザにプログラムを配信するために配布される、プログラムが記録されている磁気ディスク(フレキシブルディスクを含む)、光ディスク(CD-ROM(Compact Disk-Read Only Memory),DVD(Digital Versatile Disk)を含む)、光磁気ディスク(MD(Mini-Disk)(登録商標)を含む)、もしくは半導体メモリなどよりなるリムーバブルメディア212により構成される。   For example, as shown in FIG. 24, the recording medium is distributed to distribute the program to the user separately from the apparatus main body, and includes a magnetic disk (including a flexible disk) on which the program is recorded, an optical disk ( Removable media 212 such as CD-ROM (compact disk-read only memory), DVD (digital versatile disk), magneto-optical disk (including MD (mini-disk) (registered trademark)), or semiconductor memory Composed.

ただし、この場合、汎用プラットフォーム201がユーザからの指示を受け付ける構成を必要としないように、CPU11が、ドライブ211に装着されたリムーバブルメディア212に記録されているソフトウェアパッケージを読み出す処理を自動実行する(リムーバブルメディア212に記録されているソフトウェアパッケージを自動再生する)ことができるようになされているのが望ましい。   However, in this case, the CPU 11 automatically executes a process of reading the software package recorded on the removable medium 212 mounted on the drive 211 so that the general-purpose platform 201 does not require a configuration for receiving an instruction from the user ( It is desirable that the software package recorded on the removable medium 212 can be automatically reproduced).

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。   In the present specification, the step of describing the program recorded on the recording medium is not limited to the processing performed in chronological order according to the described order, but is not necessarily performed in chronological order. It also includes processes that are executed individually.

また、本明細書において、システムとは、複数のデバイス(装置)により構成される装置全体を表すものである。なお、以上において、一つの装置として説明した構成を分割し、複数の装置として構成するようにしてもよい。逆に、以上において複数の装置として説明した構成をまとめて一つの装置として構成されるようにしてもよい。また、各装置の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置の構成の一部を他の装置の構成に含めるようにしてもよい。   Further, in this specification, the system represents the entire apparatus composed of a plurality of devices (apparatuses). In the above description, the configuration described as one device may be divided and configured as a plurality of devices. Conversely, the configurations described above as a plurality of devices may be combined into a single device. Of course, configurations other than those described above may be added to the configuration of each device. Furthermore, if the configuration and operation of the entire system are substantially the same, a part of the configuration of a certain device may be included in the configuration of another device.

本発明を適用した汎用プラットフォームの一実施形態に係る構成例を示す図である。It is a figure which shows the structural example which concerns on one Embodiment of the general purpose platform to which this invention is applied. 図1のROMの記憶領域の構成例を示す模式図である。FIG. 2 is a schematic diagram illustrating a configuration example of a storage area of the ROM in FIG. 1. 図1のCPUが有する機能を示す機能ブロックの構成例を示す図である。It is a figure which shows the structural example of the functional block which shows the function which CPU of FIG. 1 has. 図1の汎用プラットフォーム1の具体的な使用例を示す図である。It is a figure which shows the specific usage example of the general purpose platform 1 of FIG. 図4の画像処理装置の内部の構成例を示すブロック図である。FIG. 5 is a block diagram illustrating an internal configuration example of the image processing apparatus in FIG. 4. ソフトウェアパッケージの構成例を示す模式図である。It is a schematic diagram which shows the structural example of a software package. 図6のシェルスクリプトの記述例を示す模式図である。It is a schematic diagram which shows the example of a description of the shell script of FIG. ソフトウェア更新処理の流れの例を説明するフローチャートである。It is a flowchart explaining the example of the flow of a software update process. インストール処理の詳細な流れの例を説明するフローチャートである。It is a flowchart explaining the example of the detailed flow of an installation process. 図1のROMの記憶領域の、他の構成例を示す模式図である。FIG. 6 is a schematic diagram illustrating another configuration example of the storage area of the ROM in FIG. 1. 図1のCPUが有する機能を示す機能ブロックの、他の構成例を示す図である。It is a figure which shows the other structural example of the functional block which shows the function which CPU of FIG. 1 has. ソフトウェア更新処理の流れの、他の例を説明するフローチャートである。It is a flowchart explaining the other example of the flow of a software update process. アップロード画面の構成例を示す模式図である。It is a schematic diagram which shows the structural example of an upload screen. MIMEマルチパートデータの構成例を示す模式図である。It is a schematic diagram which shows the structural example of MIME multipart data. インストール処理の詳細な流れの、他の例を説明するフローチャートである。It is a flowchart explaining the other example of the detailed flow of an installation process. 汎用プラットフォームの組み込み先の製品固有の構成の他の例を示すブロック図である。It is a block diagram which shows the other example of the structure peculiar to the product of the installation destination of a general purpose platform. ソフトウェアパッケージの、他の構成例を示す模式図である。It is a schematic diagram which shows the other structural example of a software package. 図6のシェルスクリプトの、他の記述例を示す模式図である。It is a schematic diagram which shows the other description example of the shell script of FIG. ソフトウェアパッケージの転送の様子の例を示す図である。It is a figure which shows the example of the mode of the transfer of a software package. 図1のROMの記憶領域の、さらに他の構成例を示す模式図である。FIG. 10 is a schematic diagram showing still another configuration example of the storage area of the ROM in FIG. 1. 図20の設定値格納領域に格納される設定値の例を示す模式図である。It is a schematic diagram which shows the example of the setting value stored in the setting value storage area | region of FIG. 図1のCPUが有する機能を示す機能ブロックの、さらに他の構成例を示す図である。FIG. 10 is a diagram illustrating still another configuration example of the function block indicating the functions of the CPU in FIG. 1. インストール処理の詳細な流れの、さらに他の例を説明するフローチャートである。It is a flowchart explaining the further another example of the detailed flow of an installation process. 本発明を適用した汎用プラットフォームの一実施形態に係る、他の構成例を示す図である。It is a figure which shows the other structural example based on one Embodiment of the general purpose platform to which this invention is applied.

符号の説明Explanation of symbols

1 汎用プラットフォーム, 10 バス, 11 CPU, 12 ROM, 13 RAM, 14 イーサネット(登録商標)I/F, 21 オペレーティングシステム格納領域, 22 製品共通機能格納領域, 23 製品固有機能格納領域, 31 FTPサーバプログラム, 32 展開処理プログラム, 33 シェルスクリプト実行プログラム, 34 汎用インストールプログラム, 35 設定値, 41 FTPデーモン, 42 ソフトウェアパッケージ展開処理部, 43 シェルスクリプト実行部, 44 ROM書き込み制御部, 45 更新プログラム実行部, 50 ネットワーク, 51 画像処理装置, 52 パーソナルコンピュータ, 53 画像提供装置, 60 デコーダユニット, 61 FPGA, 62 デコーダ, 63 RAM, 64 ROM, 70 ソフトウェアパッケージ, 71 シェルスクリプト, 72 更新プログラム, 73および74 イメージデータ, 81 HTTPサーバプログラム, 82 認証処理プログラム, 91 HTTPデーモン, 92 認証処理部, 93 ソフトウェアパッケージ抽出部, 100 アップロード画面, 111 MIMEマルチパートデータ, 121 制御ユニット, 130 バス, 131 CPU, 132 ROM, 133 RAM, 134 バスブリッジ, 140 ソフトウェアパッケージ, 141 シェルスクリプト, 142 更新プログラム, 144 イメージデータ, 151 平文ソフトウェアパッケージ, 152 暗号文ソフトウェアパッケージ, 161 設定値格納領域, 171 復号処理プログラム, 172 設定確認プログラム, 181 設定値, 191 復号処理部, 192 設定確認部,201 汎用プラットフォーム, 211 ドライブ, 212 リムーバブルメディア   1 general-purpose platform, 10 buses, 11 CPU, 12 ROM, 13 RAM, 14 Ethernet (registered trademark) I / F, 21 operating system storage area, 22 product common function storage area, 23 product specific function storage area, 31 FTP server program , 32 Deployment processing program, 33 Shell script execution program, 34 General installation program, 35 Setting value, 41 FTP daemon, 42 Software package deployment processing unit, 43 Shell script execution unit, 44 ROM write control unit, 45 Update program execution unit, 50 network, 51 image processing device, 52 personal computer, 53 image providing device, 60 decoder unit, 61 FPGA, 62 decoder, 63 RAM, 64 ROM, 70 software Wear package, 71 shell script, 72 update program, 73 and 74 image data, 81 HTTP server program, 82 authentication processing program, 91 HTTP daemon, 92 authentication processing unit, 93 software package extraction unit, 100 upload screen, 111 MIME multipart Data, 121 control unit, 130 bus, 131 CPU, 132 ROM, 133 RAM, 134 bus bridge, 140 software package, 141 shell script, 142 update program, 144 image data, 151 plaintext software package, 152 ciphertext software package, 161 Setting value storage area, 171 decoding processing program, 172 setting confirmation program, 181 setting value, 191 Decoding processing unit, 192 Setting confirmation unit, 201 General-purpose platform, 211 drives, 212 Removable media

Claims (9)

他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置であって、
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得する取得手段と、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込むプログラム実行手段と
を備える情報処理装置。
An information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus of the installation destination,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus Acquisition means for acquiring from the outside of the other device a program for writing the data to the first storage medium;
An information processing apparatus comprising: a program execution unit that executes the program acquired by the acquisition unit and writes the first software in the first storage medium.
ソフトウェアの書き込み手順を指定するシェルスクリプトを実行するシェルスクリプト実行手段をさらに備え、
前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記シェルスクリプトをさらに取得し、
前記シェルスクリプト実行手段は、前記取得手段により取得された前記シェルスクリプトを実行し、
前記プログラム実行手段は、前記シェルスクリプト実行手段により実行される前記シェルスクリプトの記述に従って、前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
請求項1に記載の情報処理装置。
A shell script executing means for executing a shell script for specifying a software writing procedure;
The acquisition means further acquires the shell script together with the first software and the program,
The shell script execution means executes the shell script acquired by the acquisition means,
The information processing according to claim 1, wherein the program execution means executes the program according to a description of the shell script executed by the shell script execution means, and writes the first software to the first storage medium. apparatus.
前記情報処理装置にとって既知の構成として、書き換え可能な第2の記憶媒体を有し、
前記第2の記憶媒体にソフトウェアを書き込む書き込み手段をさらに備え、
前記取得手段は、前記第1のソフトウェアおよび前記プログラムとともに、前記第2の記憶媒体に書き込む第2のソフトウェアをさらに取得し、
前記書き込み手段は、前記第2のソフトウェアを前記第2の記憶媒体に書き込む
請求項1に記載の情報処理装置。
As a configuration known to the information processing apparatus, a rewritable second storage medium is provided,
Writing means for writing software to the second storage medium;
The acquisition means further acquires second software to be written to the second storage medium together with the first software and the program,
The information processing apparatus according to claim 1, wherein the writing unit writes the second software into the second storage medium.
前記第2の記憶媒体の記憶領域は、汎用の機能を提供するソフトウェアを記憶する共通機能用記憶領域と、前記他の装置固有の機能を提供するソフトウェアを記憶する固有機能用記憶領域とが互いに異なる領域として形成される
請求項3に記載の情報処理装置。
The storage area of the second storage medium includes a common function storage area that stores software that provides general-purpose functions and a unique function storage area that stores software that provides functions unique to the other apparatus. The information processing apparatus according to claim 3, wherein the information processing apparatus is formed as a different area.
複数のファイルがアーカイブされて1つにまとめられたファイルを展開する展開手段をさらに備え、
前記取得手段は、前記第1のソフトウェアおよび前記プログラムを、アーカイブされてまとめられた1つのソフトウェアパッケージとして取得し、
前記展開手段は、前記取得手段により取得された前記ソフトウェアパッケージを展開し、前記第1のソフトウェアおよび前記プログラムを分離する
請求項1に記載の情報処理装置。
And further comprising a decompression means for decompressing a plurality of files archived into a single file,
The acquisition means acquires the first software and the program as one software package that is archived and collected,
The information processing apparatus according to claim 1, wherein the expansion unit expands the software package acquired by the acquisition unit and separates the first software and the program.
暗号化されたファイルを所定の方式で復号する復号手段をさらに備え、
前記取得手段は、暗号化された前記第1のソフトウェアおよび前記プログラムを取得し、
前記復号手段は、前記取得手段により取得された、暗号化された前記第1のソフトウェアおよび前記プログラムを所定の方式で復号し、
前記プログラム実行手段は、前記復号手段により復号された前記プログラムを実行し、前記復号手段により復号された前記第1のソフトウェアを前記第1の記憶媒体に書き込む
請求項1に記載の情報処理装置。
Further comprising decryption means for decrypting the encrypted file by a predetermined method;
The acquisition means acquires the encrypted first software and the program,
The decrypting means decrypts the encrypted first software and the program acquired by the acquiring means by a predetermined method,
The information processing apparatus according to claim 1, wherein the program execution unit executes the program decoded by the decoding unit, and writes the first software decoded by the decoding unit to the first storage medium.
前記取得手段による暗号化されていない平文の前記第1のソフトウェアおよび前記プログラムの取得を許可するかの設定を保持する設定保持手段と、
前記設定保持手段により保持されている前記設定を確認する設定確認手段と
をさらに備える請求項1に記載の情報処理装置。
Setting holding means for holding a setting as to whether to acquire the first software and the program in plain text not encrypted by the acquiring means;
The information processing apparatus according to claim 1, further comprising: setting confirmation means for confirming the setting held by the setting holding means.
他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する情報処理装置の情報処理方法であって、
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
ステップを含む情報処理方法
An information processing method for an information processing apparatus that is used by being incorporated in another apparatus and provides a predetermined function to the other apparatus of the installation destination,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus From the outside of the other device, and a program for writing to the first storage medium,
An information processing method including a step of executing the program acquired by the acquisition unit and writing the first software into the first storage medium
他の装置に組み込まれて使用され、組み込み先の前記他の装置に対して所定の機能を提供する処理をコンピュータに行わせるプログラムであって、
前記他の装置が前記情報処理装置以外の構成として有する書き換え可能な記憶媒体であり、前記情報処理装置にとって未知の構成である第1の記憶媒体に書き込む第1のソフトウェアとともに、前記第1のソフトウェアを前記第1の記憶媒体に書き込むためのプログラムを、前記他の装置の外部より取得し、
前記取得手段により取得された前記プログラムを実行し、前記第1のソフトウェアを前記第1の記憶媒体に書き込む
ステップを含むプログラム
A program that is used by being incorporated in another device, and that causes a computer to perform a process of providing a predetermined function to the other device to be incorporated,
The rewritable storage medium that the other apparatus has as a configuration other than the information processing apparatus, and the first software that is written to the first storage medium that is an unknown configuration for the information processing apparatus From the outside of the other device, and a program for writing to the first storage medium,
A program including the step of executing the program acquired by the acquisition means and writing the first software to the first storage medium
JP2005235641A 2005-08-16 2005-08-16 Information processor, method, and program Withdrawn JP2007052518A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005235641A JP2007052518A (en) 2005-08-16 2005-08-16 Information processor, method, and program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005235641A JP2007052518A (en) 2005-08-16 2005-08-16 Information processor, method, and program

Publications (1)

Publication Number Publication Date
JP2007052518A true JP2007052518A (en) 2007-03-01

Family

ID=37916943

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005235641A Withdrawn JP2007052518A (en) 2005-08-16 2005-08-16 Information processor, method, and program

Country Status (1)

Country Link
JP (1) JP2007052518A (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007413A1 (en) * 2009-07-13 2011-01-20 株式会社Pfu Distribution system, server device, terminal device, and distribution method
JP6323968B1 (en) * 2017-08-08 2018-05-16 三菱日立パワーシステムズインダストリー株式会社 Vehicle maintenance tools
JP2018136618A (en) * 2017-02-20 2018-08-30 日本電気株式会社 Sever device, server control method, program, and sever system
CN109451357A (en) * 2018-11-22 2019-03-08 四川长虹电器股份有限公司 Method for smart television optimization OEM order production upgrading
JP2021192280A (en) * 2017-10-12 2021-12-16 日立Astemo株式会社 Information update device and information update method

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011007413A1 (en) * 2009-07-13 2011-01-20 株式会社Pfu Distribution system, server device, terminal device, and distribution method
JP4828637B2 (en) * 2009-07-13 2011-11-30 株式会社Pfu Distribution system, server device, and distribution method
US8423996B2 (en) 2009-07-13 2013-04-16 Pfu Limited Delivery system, server device, terminal device, and delivery method
JP2018136618A (en) * 2017-02-20 2018-08-30 日本電気株式会社 Sever device, server control method, program, and sever system
JP6323968B1 (en) * 2017-08-08 2018-05-16 三菱日立パワーシステムズインダストリー株式会社 Vehicle maintenance tools
WO2019031197A1 (en) * 2017-08-08 2019-02-14 三菱日立パワーシステムズインダストリー株式会社 Maintenance tool for vehicles
JP2019031191A (en) * 2017-08-08 2019-02-28 三菱日立パワーシステムズインダストリー株式会社 Vehicle maintenance tool
JP2021192280A (en) * 2017-10-12 2021-12-16 日立Astemo株式会社 Information update device and information update method
JP7280319B2 (en) 2017-10-12 2023-05-23 日立Astemo株式会社 Information update device
CN109451357A (en) * 2018-11-22 2019-03-08 四川长虹电器股份有限公司 Method for smart television optimization OEM order production upgrading

Similar Documents

Publication Publication Date Title
US8402459B2 (en) License management system, license management computer, license management method, and license management program embodied on computer readable medium
US6944857B1 (en) Method, system, computer program product, and article of manufacture for updating a computer program according to a stored configuration
US7089553B1 (en) Method, system, computer program product, and article of manufacture for downloading a remote computer program according to a stored configuration
JP4903071B2 (en) Information processing apparatus, software update method, and image processing apparatus
US10038681B2 (en) Method for managing an access from a remote device to data accessible from a local device and corresponding system
JP2009503698A (en) Secure software update
JP2011138497A (en) Automated security control using encoded security information
US20090037486A1 (en) Document management apparatus, document management method, document management program, and storage medium
JP2010086370A (en) Image forming apparatus, delivery server, and firmware updating method
JP2007264901A (en) Software management device, software management system, software management method and software management program
JP2007102785A (en) Security method and system, and computer-readable storage medium storing the method
JP4305428B2 (en) Device management program and device management apparatus
JP2007052518A (en) Information processor, method, and program
AU2005222507A1 (en) Portable computing environment
US7174465B2 (en) Secure method for system attribute modification
US7703092B1 (en) Method, system, computer program product, and article of manufacture for installation and configuration of a computer program according to a stored configuration
JP2007148806A (en) Application start restriction method and application start restriction program
JP6390696B2 (en) License information management apparatus, license information management method, and program
JP2007282064A (en) Device and method for processing data, storage medium and program
JP4940031B2 (en) Information processing apparatus and firmware update method
JP2007329731A (en) Method, system, and program for certificate update
JP2005309494A (en) Data use system and method, storage device, and computer program
JP6216673B2 (en) Data management method and data management system
JP2005141427A (en) Information processor and its control method, information processing system and its program
JP5292882B2 (en) Information processing system, information processing method, computer program, and storage medium group

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20081104