JP2008102761A - Method for updating embedded firmware - Google Patents

Method for updating embedded firmware Download PDF

Info

Publication number
JP2008102761A
JP2008102761A JP2006285057A JP2006285057A JP2008102761A JP 2008102761 A JP2008102761 A JP 2008102761A JP 2006285057 A JP2006285057 A JP 2006285057A JP 2006285057 A JP2006285057 A JP 2006285057A JP 2008102761 A JP2008102761 A JP 2008102761A
Authority
JP
Japan
Prior art keywords
firmware
function
ram
mask rom
address information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006285057A
Other languages
Japanese (ja)
Inventor
Hidetada Nagaoka
秀忠 長岡
Narihiro Matoba
成浩 的場
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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP2006285057A priority Critical patent/JP2008102761A/en
Publication of JP2008102761A publication Critical patent/JP2008102761A/en
Pending legal-status Critical Current

Links

Images

Abstract

<P>PROBLEM TO BE SOLVED: To solve the problem that a firmware updating method for writing an updating program module and its address in a RAM requires updating firmware existence confirmation processing on the head of each firmware module and a firmware updating method for copying the whole contents of a ROM in a RAM requires a ROM replacement detection means and the method can not be applied to an LSI into which a ROM, a RAM and a CPU is integrated. <P>SOLUTION: An information processing apparatus is provided with a ROM for storing the information of firmware or the like, a RAM to which the ROM information is copied, a CPU for executing the firmware, and a communication means for communicating with the external. In a function call during the firmware execution of the CPU, corrected or added firmware is written in the RAM through the communication means as the firmware change or firmware addition of the ROM on the basis of the function address information of the RAM which is copied from the ROM at the time of start and the address of an applicable function of the RAM is rewritten by a newly written RAM address. <P>COPYRIGHT: (C)2008,JPO&INPIT

Description

この発明は組み込み型の情報処理装置においてファームウェアの不具合を解消したり機能を変更・追加したりするためのファームウェア更新技術に関する。   The present invention relates to a firmware update technique for solving a malfunction of firmware or changing / adding a function in an embedded information processing apparatus.

組み込み型の情報処理装置は、ファームウェアや固定データを記憶したマスクROM(Read Only Memory)、プログラム実行中に参照する変数などを記憶するRAM(Random Access Memory)、ファームウェアに基づいてデータの処理や周辺機能の制御を行うCPU(Central Processor Unit)を備えているものが一般的である。この組み込み型の情報処理装置でファームウェアに不具合が生じたり、機能を変更したり新規に追加する場合にはマスクROMに記憶されているファームウェア(プログラム)を更新する必要がある。プログラムを更新する方法として、組み込み型の情報処理装置そのものをプログラムを更新した情報処理装置に物理的に交換する方法が考えられる。しかし、組み込み型の情報処理装置は一般的にはLSI(Large Scale Integrated circuit)になっており、多大なコストと労力が必要であるため通常は行われない。特に携帯電話などに搭載される組み込み型のLSIは膨大な数が生産されるため非現実的である。   Embedded information processing devices include mask ROM (Read Only Memory) that stores firmware and fixed data, RAM (Random Access Memory) that stores variables that are referenced during program execution, data processing and peripherals based on firmware Generally, a CPU (Central Processor Unit) that controls functions is provided. When a malfunction occurs in the firmware, the function is changed, or a new addition is made in this embedded information processing apparatus, it is necessary to update the firmware (program) stored in the mask ROM. As a method of updating the program, a method of physically replacing the built-in information processing apparatus itself with an information processing apparatus that has updated the program can be considered. However, the built-in information processing apparatus is generally an LSI (Large Scale Integrated circuit), and is not usually performed because it requires a great deal of cost and labor. In particular, an embedded LSI mounted on a mobile phone or the like is unrealistic because an enormous number of LSIs are produced.

上記問題を解決するファームウェアの更新方法として、RAMの空き領域あるいは特定の領域に更新すべきプログラムモジュールとそのプログラムモジュールが書き込まれるRAMのアドレス情報を書き込み、RAM上に書き込まれた更新プログラムモジュールが実行されるようにして不具合を解消したり機能を追加したりする方法が、例えば特開平5−73292号公報(特許文献1)や特開平6−44078号公報(特許文献2)に記載のように従来から提案されている。   As a firmware update method for solving the above problem, a program module to be updated in a free area or a specific area of RAM and address information of the RAM in which the program module is written are written, and the update program module written in the RAM executes As described in Japanese Patent Application Laid-Open No. 5-73292 (Patent Document 1) and Japanese Patent Application Laid-Open No. 6-44078 (Patent Document 2), for example, a method for solving the problem and adding a function is described. It has been proposed in the past.

特開平5−73292号公報JP-A-5-73292 特開平6−44078号公報JP-A-6-44078

しかし、特許文献1の特開平5−73292号公報に記載のものは、ファームウェアの各モジュールが実行される時に修正されたファームウェアがRAMに配置されているかを確認するように構成されているので、各ファームウェアモジュールの先頭に更新したファームウェアが存在するか否かを確認するための処理を予め組み込んでおく必要があるという問題点がある。
また、特許文献2の特開平6−44078号公報に記載のものはマスクROMの内容を全てRAM上にコピーしてから実行するものであり、マスクROMが交換されたことを検知してRAMに更新したプログラムモジュールを書き込むように構成されているので、マスクROM交換を検知する特別なハードウェアが必要であり、かつマスクROM、RAM、CPUが一体化されたLSIでは適用できないという問題点がある。
However, the one described in Japanese Patent Application Laid-Open No. 5-73292 of Patent Document 1 is configured to check whether the modified firmware is arranged in the RAM when each module of the firmware is executed. There is a problem that it is necessary to incorporate in advance a process for checking whether or not there is updated firmware at the head of each firmware module.
Further, the one described in Japanese Patent Laid-Open No. 6-44078 of Patent Document 2 is executed after copying the entire contents of the mask ROM onto the RAM, and detects that the mask ROM has been replaced and stores it in the RAM. Since it is configured to write an updated program module, it requires special hardware to detect mask ROM replacement, and cannot be applied to an LSI in which mask ROM, RAM, and CPU are integrated. .

この発明は上記のような問題点を解決するためになされたもので、ファームウェアを更新するための特別なファームウェアやハードウェアが必要なく、簡易な構成でマスクROMに書き込まれているファームウェアを更新したり新たなファームウェア機能を追加したりすることが可能な組み込みファームウェアの更新方法を得ることを目的とする。   The present invention has been made to solve the above-described problems, and does not require special firmware or hardware for updating the firmware, and updates the firmware written in the mask ROM with a simple configuration. It is an object of the present invention to obtain an embedded firmware update method capable of adding a new firmware function.

この発明に係る組み込みファームウェアの更新方法は、
ファームウェアとファームウェアで参照する固定データおよびメインルーチン以外の全関数のアドレス情報が格納されたマスクROMと、マスクROMに格納されている関数のアドレス情報がコピーされるRAMと、マスクROMのファームウェアを実行するCPU(Central Processor Unit)と、外部との通信を行う通信手段を備え、
起動時はマスクROMに格納されている関数のアドレス情報をRAMにコピーし、CPUがマスクROMのファームウェアを実行する時の関数コールはRAMにコピーされた関数のアドレス情報に基づいて動作するように構成され、ファームウェアは通信手段から入力されたデータをRAM上の任意のアドレスに書き込む機能を備えた組み込み型の情報処理装置において、
マスクROMのファームウェアを変更、あるいはファームウェアを追加する場合は、外部からの修正されたファームウェアあるいは追加するファームウェアを上記通信手段を介してRAMに書き込むとともにRAMにコピーされている該当関数のアドレス情報を修正または追加するファームウェアが新たに書き込まれたRAMのアドレス情報に書き換えるものである。
An embedded firmware update method according to the present invention includes:
Executes firmware, mask ROM that stores the address information of all functions other than the main data and fixed data referenced by the firmware and firmware, RAM that copies the address information of the functions stored in the mask ROM, and mask ROM firmware CPU (Central Processor Unit) and communication means for communicating with the outside,
The function address information stored in the mask ROM is copied to the RAM at startup, and the function call when the CPU executes the mask ROM firmware is operated based on the function address information copied to the RAM. In a built-in information processing apparatus having a function for writing data input from a communication means to an arbitrary address on a RAM.
When changing the firmware of the mask ROM or adding the firmware, the modified firmware from the outside or the firmware to be added is written to the RAM via the communication means and the address information of the corresponding function copied to the RAM is corrected. Alternatively, the firmware to be added is rewritten to the RAM address information newly written.

この発明の組み込みファームウェアの更新方法は、その方法が使用される組み込み型の情報処理装置の起動時にマスクROM上に配置されている関数アドレステーブルをRAMにコピーし、ファームウェア内の関数を更新したり、ファームウェアの機能を追加する場合は、RAMに更新したファームウェアあるいは追加ファームウェアを書き込むとともにRAMにコピーした関数アドレステーブルの内容を書き換え、RAMへの書き込みは通信手段を介して行うように構成されているので、ファームウェアを更新するための特別なファームウェアやハードウェアが必要なく、簡易な構成でマスクROMに書き込まれているファームウェアを更新したり新たなファームウェア機能を追加したりすることが可能な組み込みファームウェアの更新方法を得ることができるという効果がある。   The embedded firmware update method according to the present invention copies the function address table located on the mask ROM to the RAM when the embedded information processing apparatus in which the method is used is activated, and updates the function in the firmware. When a firmware function is added, the updated firmware or additional firmware is written into the RAM, the contents of the function address table copied to the RAM are rewritten, and writing to the RAM is performed via communication means. Therefore, there is no need for special firmware or hardware to update the firmware, and it is possible to update the firmware written in the mask ROM or add new firmware functions with a simple configuration. How to update There is an effect that can be obtained.

実施の形態1.
図1はこの発明の実施の形態1によるファームウェアの更新方法が適用される組み込み型の情報処理装置の構成を示すブロック図である。一般的に、このような組み込み型の情報処理装置はLSIとして構成されている。
図1において、1はCPU、2はマスクROM、3はRAM、4は外部に接続されるホストコントローラなどとデータの通信を行う通信手段である。
通信手段4は外部のホストコントローラと組み込み型情報処理装置との間のコマンドインタフェースを実現するために設けられたものであり、組み込み型情報処理装置は通信手段4を介して入力されるコマンドに基づいて各種処理を実行する。
マスクROM2には3つの領域が存在し、2aにはファームウェア本体が格納され、2bにはファームウェアのメイン処理以外の全関数のマスクROM上でのアドレス情報をテーブル化した関数アドレステーブルが格納され、2cには変数の初期値などの固定データが格納されている。
RAM3も同じく3つの領域に分けられ、ファームウェアの実行時に変数などを格納するデータ領域3a、関数アドレステーブルのコピーを格納するための関数アドレステーブルコピー領域3b、未使用状態である空き領域3cが存在する。
Embodiment 1 FIG.
FIG. 1 is a block diagram showing the configuration of an embedded information processing apparatus to which a firmware update method according to Embodiment 1 of the present invention is applied. Generally, such an embedded information processing apparatus is configured as an LSI.
In FIG. 1, 1 is a CPU, 2 is a mask ROM, 3 is a RAM, 4 is a communication means for communicating data with an externally connected host controller or the like.
The communication means 4 is provided to realize a command interface between an external host controller and the embedded information processing apparatus, and the embedded information processing apparatus is based on a command input via the communication means 4. Various processes.
The mask ROM 2 has three areas, the firmware main body is stored in 2a, and the function address table in which the address information on the mask ROM of all functions other than the main processing of the firmware is tabulated is stored in 2b. 2c stores fixed data such as initial values of variables.
The RAM 3 is also divided into three areas. There are a data area 3a for storing variables and the like during execution of firmware, a function address table copy area 3b for storing a copy of the function address table, and an unused area 3c in an unused state. To do.

このように構成された組み込み型の情報処理装置は、電源投入後の起動時においてマスクROM2の領域2bに格納されている関数アドレステーブルをRAM3の関数アドレステーブルコピー領域3bにコピーする。この処理は、一般的にリセット解除後に必ず実行されるファームウェアのスタートアップ処理に実装しておけばよい。そして、メイン処理から各関数をコールする場合には、CPU1はRAM3の関数アドレステーブルコピー領域3bに格納されている関数のアドレス情報を参照して関数そのものを実行する。このような動作は、各関数を間接アドレッシングするようにファームウェアを実装しておけば、特段の手段を設けなくても一般的なCPUで実現することが可能である。   The built-in information processing apparatus configured as described above copies the function address table stored in the area 2b of the mask ROM 2 to the function address table copy area 3b of the RAM 3 at the time of startup after power-on. In general, this process may be implemented in a firmware startup process that is always executed after reset release. When each function is called from the main process, the CPU 1 refers to the address information of the function stored in the function address table copy area 3b of the RAM 3 and executes the function itself. Such an operation can be realized by a general CPU without providing special means if the firmware is mounted so as to indirectly address each function.

次にこの発明の実施の形態1の組み込み型の情報処理装置において、一例として関数Aを更新する場合の方法について図2を参照しながら説明する。
まず、ユーザは関数Aの処理内容を更新した関数A'を作成し.用意する。
次にユーザは関数A'をRAM3の空き領域3cのどの領域に書き込むかを決定する。
次にホストコントローラが通信手段4を介して関数A'をRAM3の決定された空き領域3cに書き込む。
ホストコントローラが通信手段4を介して関数アドレステーブルコピー領域3bに記憶されている関数Aのアドレス値、即ち、マスクROM上に記憶されていた元々の関数Aのアドレス値を、関数A'が書き込まれたRAM上のアドレス値に書き換える。
通信手段4を介してRAM上の任意のアドレスに書き込む動作は、書き込みアドレス、書き込むデータ、書き込むデータ数などを指定するコマンドを設け、そのコマンドに対応した処理をファームウェアに実装しておけば容易に実現することが可能である。
Next, as an example, a method for updating the function A in the built-in information processing apparatus according to the first embodiment of the present invention will be described with reference to FIG.
First, the user creates a function A ′ by updating the processing contents of the function A. prepare.
Next, the user determines in which area of the free area 3 c of the RAM 3 the function A ′ is to be written.
Next, the host controller writes the function A ′ into the determined free space 3 c of the RAM 3 via the communication means 4.
The function A ′ writes the address value of the function A stored in the function address table copy area 3b through the communication means 4, that is, the address value of the original function A stored in the mask ROM. Rewritten to the address value on the read RAM.
The operation of writing to an arbitrary address on the RAM via the communication means 4 is easy if a command for specifying the write address, the data to be written, the number of data to be written, etc. is provided and the processing corresponding to the command is implemented in the firmware. It is possible to realize.

このようにすることで、次にメインルーチンから関数Aがコールされると、関数Aの代わりに関数A'が実行されるようになる。
なお、更新したファームウェアコードのRAM3への書き込みと関数アドレステーブルコピー領域3bの変更をホストコントローラから実行するタイミングは、起動後に通信手段4が有効になった直後でも良いし、更新する関数の機能を使用する直前でも良く、組み込み型の情報処理装置自身が関与する必要はない。
By doing so, the next time function A is called from the main routine, function A ′ is executed instead of function A.
The timing for executing the writing of the updated firmware code to the RAM 3 and the change of the function address table copy area 3b from the host controller may be immediately after the communication means 4 becomes effective after the activation or the function of the function to be updated. Immediately before use, the embedded information processing apparatus itself need not be involved.

以上は、関数の処理内容を変更する場合の方法について説明したが、ファームウェアに機能を追加することも可能である。一例として関数Aの前後に新たなファームウェア処理を追加する場合の方法について、図3を参照しながら説明する。
まず、ユーザは新たに追加するファームウェア処理と関数Aのコール処理を含んだ関数Cを作成する。新たに追加するファームウェア処理は、関数Aの前処理として組み込んでも良いし、後処理として組み込んでも良い。
次にユーザは関数CをRAM3の空き領域3cのどの領域に書き込むかを決定する。
次にホストコントローラが通信手段4を介して関数CをRAM3の空き領域3cに書き込む。
ホストコントローラが通信手段4を介して関数アドレステーブルコピー領域3bに記憶された関数Aのアドレス値、即ち、マスクROM上に記憶されていた元々の関数Aのアドレス値を、関数Cが書き込まれたRAM上のアドレス値に書き換える。
このようにすることで、次にメインルーチンから関数Aがコールされるタイミングで、関数Cが実行されることにより新たに追加した機能と関数Aが実行されるようになる。
The method for changing the processing contents of the function has been described above, but it is also possible to add a function to the firmware. As an example, a method for adding new firmware processing before and after the function A will be described with reference to FIG.
First, the user creates a function C including newly added firmware processing and function A call processing. Newly added firmware processing may be incorporated as pre-processing of the function A or post-processing.
Next, the user determines in which area of the free area 3 c of the RAM 3 the function C is to be written.
Next, the host controller writes the function C into the free area 3 c of the RAM 3 via the communication unit 4.
The function C is written by the host controller via the communication means 4 with the address value of the function A stored in the function address table copy area 3b, that is, the original address value of the function A stored on the mask ROM. Rewrite to address value on RAM.
By doing so, the newly added function and the function A are executed by executing the function C at the next timing when the function A is called from the main routine.

以上のように、実施の形態1の組み込み型の情報処理装置におけるファームウェアの更新方法は、起動時にマスクROM上に配置されている関数アドレステーブルをRAMにコピーし、ファームウェア内の関数を更新したり、ファームウェアの機能を追加する場合は、RAMに更新したファームウェアあるいは追加ファームウェアを書き込むとともにRAMにコピーした関数アドレステーブルの内容を書き換える。なお、RAMへの書き込みはホストコントローラからこのホストコントローラとのコマンドインタフェースとして設けられている通信手段を介して行うように構成されているので、ファームウェアを更新するための特別なファームウェアやハードウェアが必要なく、簡易な構成でマスクROMに書き込まれているファームウェアを更新したり新たなファームウェア機能を追加したりすることが可能な組み込みファームウェアの更新方法を得ることができるという効果がある。   As described above, the firmware update method in the embedded information processing apparatus according to the first embodiment copies the function address table arranged on the mask ROM at startup to update the function in the firmware. When a firmware function is added, the updated firmware or additional firmware is written into the RAM and the contents of the function address table copied to the RAM are rewritten. Since writing to the RAM is performed from the host controller via a communication means provided as a command interface with the host controller, special firmware and hardware for updating the firmware are required. In addition, there is an effect that it is possible to obtain an embedded firmware update method capable of updating the firmware written in the mask ROM or adding a new firmware function with a simple configuration.

実施の形態2.
図4はこの発明の実施の形態2によるファームウェアの更新方法が適用される組み込み型の情報処理装置の構成を示すブロック図である。実施の形態1と同一の手段は同一の番号で示し、その説明を省略する。図4において、5はNVRAM(Non Voltage RAM)、6はRAMである。
NVRAM5は、他の構成部材とは別の専用電源系統が割り当てられたバッテリバックアップのRAMで、専用電源が投入されていれば書き込まれたデータを保持できるので、少ない消費電力でデータを保持しておきたい場合などに用いられることが多い。NVRAM5は3つの領域に分けられ、ファームウェア実行時に変数などを格納するデータ領域5a、関数アドレステーブルのコピーを格納するための関数アドレステーブルコピー領域5b、未使用状態である空き領域5cが存在する。
なお、この実施の形態2では、RAM6はデータ領域としてのみ使用される。
Embodiment 2. FIG.
FIG. 4 is a block diagram showing the configuration of an embedded information processing apparatus to which the firmware updating method according to the second embodiment of the present invention is applied. The same means as those of the first embodiment are indicated by the same numbers, and the description thereof is omitted. In FIG. 4, 5 is a NVRAM (Non Voltage RAM), and 6 is a RAM.
NVRAM 5 is a battery-backed RAM to which a dedicated power supply system different from other components is assigned. It can hold written data if the dedicated power is turned on, so it can hold data with low power consumption. It is often used when you want to. The NVRAM 5 is divided into three areas: a data area 5a for storing variables and the like at the time of firmware execution, a function address table copy area 5b for storing a copy of the function address table, and a free area 5c in an unused state.
In the second embodiment, the RAM 6 is used only as a data area.

このように構成された実施の形態2の組み込み型の情報処理装置は、第1回目の電源投入後の起動時においてマスクROM2の領域2bに格納されている関数アドレステーブルをNVRAM5の関数アドレステーブルコピー領域5bにコピーする。そして、メイン処理から各関数をコールする場合には、CPU1はNVRAM5の関数アドレステーブルコピー領域5bに格納されている関数のアドレス情報を参照して関数そのものを実行する。   The built-in information processing apparatus of the second embodiment configured as described above copies the function address table stored in the area 2b of the mask ROM 2 at the time of startup after the first power-on to the function address table of the NVRAM 5. Copy to area 5b. When each function is called from the main process, the CPU 1 executes the function by referring to the address information of the function stored in the function address table copy area 5b of the NVRAM 5.

次にこの発明の実施の形態2における組み込み型の情報処理装置において、一例として関数Aを更新する場合の方法について図5を参照しながら説明する。
まず、ユーザは関数Aの処理内容を更新した関数A'を作成する。次にユーザは関数A'をNVRAM5の空き領域5cのどの領域に書き込むかを決定する。次にホストコントローラにより通信手段4を介して関数A'をNVRAM5の空き領域5cに書き込むとともに、関数アドレステーブルコピー領域5bに記憶されていた元々の関数AのマスクROM上のアドレス値を、関数A'が書き込まれたNVRAM上のアドレス値に書き換える。この動作は第1回目の起動直後に行う。このようにすることで、次にメインルーチンから関数Aがコールされると、関数Aの代わりに関数A'が実行されるようになる。
Next, as an example, a method for updating function A in the embedded information processing apparatus according to Embodiment 2 of the present invention will be described with reference to FIG.
First, the user creates a function A ′ in which the processing content of the function A is updated. Next, the user determines in which area of the empty area 5 c of the NVRAM 5 the function A ′ is to be written. Next, the function A ′ is written by the host controller to the empty area 5c of the NVRAM 5 via the communication means 4, and the address value on the mask ROM of the original function A stored in the function address table copy area 5b is changed to the function A Rewrite to the address value on NVRAM where 'is written. This operation is performed immediately after the first activation. By doing so, the next time function A is called from the main routine, function A ′ is executed instead of function A.

次にファームウェアに機能を追加する方法の一例として関数Aの前後に新たなファームウェア処理を追加する場合について説明する。
まず、ユーザは新たに追加するファームウェア処理と関数Aのコール処理を含んだ関数Cを作成する。新たに追加するファームウェア処理は、関数Aの前処理として組み込んでも良いし、後処理として組み込んでも良い。
次にユーザは関数CをNVRAM5の空き領域5cのどの領域に書き込むかを決定する。
次にホストコントローラが通信手段4を介して関数CをNVRAM5の空き領域5cに書き込む。
ホストコントローラが通信手段4を介して関数アドレステーブルコピー領域5bに記憶された関数Aのアドレス値、即ち、マスクROM上に記憶されていた元々の関数Aのアドレス値を、関数Cが書き込まれたNVRAM5上のアドレス値に書き換える。
このようにすることで、次にメインルーチンから関数Aがコールされるタイミングで、関数Cが実行されることになり新たに追加した機能と関数Aが実行されるようになる。
Next, a case where a new firmware process is added before and after the function A will be described as an example of a method for adding a function to firmware.
First, the user creates a function C including newly added firmware processing and function A call processing. Newly added firmware processing may be incorporated as pre-processing of the function A or post-processing.
Next, the user determines in which area of the empty area 5 c of the NVRAM 5 the function C is to be written.
Next, the host controller writes the function C into the empty area 5 c of the NVRAM 5 through the communication means 4.
The function C is written by the host controller through the communication means 4 with the address value of the function A stored in the function address table copy area 5b, that is, the original address value of the function A stored in the mask ROM. Rewrite to address value on NVRAM5.
By doing so, the function C is executed at the next timing when the function A is called from the main routine, and the newly added function and the function A are executed.

次回に組み込み型の情報処理装置を起動する場合は、NVRAM5のデータをチェックし、データが保持されていれば、更新したファームウェアコードのNVRAM5への書き込みと関数アドレステーブルコピー領域5bの変更は行わない。NVRAM5のデータのチェックは、ホストコントローラからコマンド経由でNVRAM5のデータを読み出して実施しても良いし、組み込み型の情報処理装置のファームウェアのスタートアップにデータをチェックする処理を組み込んでおく方法でも良い。   When the embedded information processing apparatus is started next time, the data in the NVRAM 5 is checked. If the data is retained, the updated firmware code is not written into the NVRAM 5 and the function address table copy area 5b is not changed. . The data in the NVRAM 5 may be checked by reading the data in the NVRAM 5 from the host controller via a command, or a method of checking the data in the startup of the firmware of the embedded information processing apparatus.

以上のように、実施の形態2の組み込み型の情報処理装置におけるファームウェアの更新方法は、起動時にマスクROM上に配置されている関数アドレステーブルをNVRAMにコピーし、ファームウェア内の関数を更新したり、ファームウェアの機能を追加する場合は、NVRAMに更新したファームウェアあるいは追加ファームウェアを書き込むとともにNVRAMにコピーした関数アドレステーブルの内容を書き換える。NVRAMへの書き込みはホストコントローラからこのホストコントローラとのコマンドインタフェースとして設けられている通信手段を介して行うように構成されているので、ファームウェアを更新するための特別なファームウェアやハードウェアが必要なく、簡易な構成でマスクROMに書き込まれているファームウェアを更新したり新たなファームウェア機能を追加したりすることが可能で、かつ起動するための時間も短い組み込みファームウェアの更新方法を得ることができるという効果がある。   As described above, the firmware update method in the embedded information processing apparatus according to the second embodiment copies the function address table placed on the mask ROM to NVRAM at the time of startup, and updates the function in the firmware. When a firmware function is added, the updated firmware or additional firmware is written in the NVRAM and the contents of the function address table copied to the NVRAM are rewritten. Since writing to the NVRAM is performed from the host controller via a communication means provided as a command interface with the host controller, no special firmware or hardware for updating the firmware is necessary. The effect that it is possible to update the firmware written in the mask ROM or add a new firmware function with a simple configuration, and to obtain a method for updating the embedded firmware with a short startup time There is.

実施の形態3.
例えばカメラモジュールなどに搭載される組み込み型の情報処理装置では、カメラモジュールの各個体の性能ばらつきを吸収するために製品出荷前にパラメータの調整を行うことが多く、その場合、パラメータ調整用の専用のファームウェアモジュールを実行する必要がある。このようなファームウェアモジュールは、製品出荷後は使用されないため、マスクROM領域に配置するとマスクROM領域を圧迫することになる。
そこで、製品出荷前のパラメータ調整時は、実施の形態1や実施の形態2で説明した手順で調整用のファームウェアモジュールをRAMあるいはNVRAMに配置して実行し、製品出荷後にファームウェアを更新したりファームウェアを追加する場合も、工場出荷前に使用したRAMあるいはNVRAMの空き領域に実施の形態1や実施の形態2で説明した手順を実行するようにすれば、上記問題は解消でき、マスクROM領域を有効に活用することが可能である。
Embodiment 3 FIG.
For example, in an embedded information processing device mounted on a camera module or the like, parameters are often adjusted before product shipment in order to absorb variations in performance of each individual camera module. Need to run the firmware module. Since such a firmware module is not used after the product is shipped, if it is arranged in the mask ROM area, the mask ROM area is compressed.
Therefore, at the time of parameter adjustment before product shipment, the firmware module for adjustment is arranged in the RAM or NVRAM and executed according to the procedure described in the first or second embodiment, and the firmware is updated or updated after the product is shipped. If the procedure described in the first or second embodiment is executed in the RAM or NVRAM used before shipment from the factory, the above problem can be solved and the mask ROM area can be added. It can be used effectively.

以上のように、実施の形態3の組み込み型の情報処理装置におけるファームウェアの更新方法では、工場出荷前は、RAMあるいはNVRAMの空き領域にパラメータ調整専用のファームウェアを書き込み、出荷後は、更新ファームウェアや追加ファームウェアを工場出荷前に使用したRAMあるいはNVRAMの空き領域に書き込むように構成しているので、実施の形態1および実施の形態2に示した効果に加え、マスクROM領域には製品出荷後に必要なファームウェアのみを配置できるという効果がある。   As described above, in the firmware updating method in the embedded information processing apparatus according to the third embodiment, the firmware dedicated to parameter adjustment is written in a free area of the RAM or NVRAM before shipment from the factory, and the updated firmware or Since the additional firmware is written to the RAM or NVRAM used before shipment from the factory, the mask ROM area is required after the product is shipped in addition to the effects shown in the first and second embodiments. There is an effect that only the correct firmware can be arranged.

この発明によるファームウェアの更新方法は、例えば、携帯端末や携帯電話等の内蔵モバイルカメラ向け信号処理LSIに適用され、不具合発生時や機能の変更・追加等のためのファームウェアの更新が可能となる。   The firmware update method according to the present invention is applied to, for example, a signal processing LSI for a built-in mobile camera such as a mobile terminal or a mobile phone, and can update the firmware when a malfunction occurs or a function is changed or added.

この発明の実施の形態1によるファームウェアの更新方法が適用される組み込み型の情報処理装置の構成を示すブロック図である。1 is a block diagram showing a configuration of an embedded information processing apparatus to which a firmware updating method according to Embodiment 1 of the present invention is applied. FIG. 実施の形態1の組み込み型の情報処理装置における関数Aの更新方法の説明図である。3 is an explanatory diagram of a function A update method in the built-in information processing apparatus according to Embodiment 1. FIG. 実施の形態1の組み込み型の情報処理装置における新たなファームウェア処理を追加する方法の説明図である。3 is an explanatory diagram of a method for adding new firmware processing in the embedded information processing apparatus of Embodiment 1. FIG. この発明の実施の形態2によるファームウェアの更新方法が適用される組み込み型の情報処理装置の構成を示すブロック図である。It is a block diagram which shows the structure of the embedded information processing apparatus with which the firmware update method by Embodiment 2 of this invention is applied. 実施の形態2の組み込み型の情報処理装置における関数Aの更新方法の説明図である。FIG. 10 is an explanatory diagram of a function A update method in the embedded information processing apparatus of the second embodiment.

符号の説明Explanation of symbols

1;CPU、2;マスクROM、3、6;RAM、4;通信手段、5;NVRAM。   1; CPU, 2; mask ROM, 3, 6; RAM, 4; communication means, 5; NVRAM.

Claims (4)

ファームウェアとファームウェアで参照する固定データおよびメインルーチン以外の全関数のアドレス情報が格納されたマスクROMと、マスクROMに格納されている関数のアドレス情報がコピーされるRAMと、マスクROMのファームウェアを実行するCPUと、外部との通信を行う通信手段を備え、 起動時はマスクROMに格納されている関数のアドレス情報をRAMにコピーし、CPUがマスクROMのファームウェアを実行する時の関数コールはRAMにコピーされた関数のアドレス情報に基づいて動作するように構成された組み込み型の情報処理装置におけるファームウェアの更新方法であって、
ファームウェアは通信手段から入力されたデータをRAM上の任意のアドレスに書き込む機能を備え、マスクROMのファームウェアを変更、または追加する場合は、修正されたファームウェアまたは追加するファームウェアを外部から上記通信手段を介してRAMに書き込むとともにRAMにコピーされている該当関数のアドレス情報を修正または追加するファームウェアが新たに書き込まれたRAMのアドレス情報に書き換えることを特徴とする組み込みファームウェアの更新方法。
Executes firmware, mask ROM that stores the address information of all functions other than the main data and fixed data referenced by the firmware and firmware, RAM that copies the address information of the functions stored in the mask ROM, and mask ROM firmware And a communication means for communicating with the outside, the address information of the function stored in the mask ROM is copied to the RAM at startup, and the function call when the CPU executes the firmware of the mask ROM is RAM A firmware update method for an embedded information processing apparatus configured to operate based on address information of a function copied to
The firmware has a function of writing data input from the communication means to an arbitrary address on the RAM. When the firmware of the mask ROM is changed or added, the modified firmware or the firmware to be added is externally connected to the communication means. A method for updating embedded firmware, wherein the firmware that corrects or adds the address information of the corresponding function copied to the RAM and the address information of the newly written RAM is rewritten to the address information of the newly written RAM.
工場出荷前の工場調整用の専用のファームウェアは、RAMの空き領域に書き込むことを特徴とする請求項1に記載の組み込みファームウェアの更新方法。   2. The embedded firmware update method according to claim 1, wherein the factory-dedicated firmware for factory adjustment before factory shipment is written in an empty area of the RAM. ファームウェアとファームウェアで参照する固定データおよびメインルーチン以外の全関数のアドレス情報が格納されたマスクROMと、マスクROMに格納されている関数のアドレス情報がコピーされるNVRAMと、データ領域としてのRAMと、マスクROMのファームウェアを実行するCPUと、外部との通信を行う通信手段を備え、起動時はマスクROMに格納されている関数のアドレス情報をNVRAMにコピーし、CPUがマスクROMのファームウェアを実行する時の関数コールはNVRAMにコピーされた関数のアドレス情報に基づいて動作するように構成された組み込み型の情報処理装置におけるファームウェアの更新方法であって、
ファームウェアは通信手段から入力されたデータをNVRAM上の任意のアドレスに書き込む機能を備え、マスクROMのファームウェアを変更、またはファームウェアを追加する場合は、修正されたファームウェアまたは追加するファームウェアを外部から上記通信手段を介してNVRAMに書き込むとともにNVRAMにコピーされている該当関数のアドレス情報を修正または追加するファームウェアが新たに書き込まれたNVRAMのアドレス情報に書き換えることを特徴とする組み込みファームウェアの更新方法。
Firmware, fixed data referenced by the firmware, and mask ROM storing address information of all functions other than the main routine, NVRAM in which address information of functions stored in the mask ROM is copied, and RAM as a data area , Equipped with a CPU for executing the mask ROM firmware and communication means for communicating with the outside. At startup, the function address information stored in the mask ROM is copied to NVRAM, and the CPU executes the mask ROM firmware. The function call is a firmware update method in an embedded information processing apparatus configured to operate based on address information of a function copied to NVRAM,
The firmware has a function of writing data input from the communication means to an arbitrary address on the NVRAM. When the firmware of the mask ROM is changed or the firmware is added, the modified firmware or the firmware to be added is communicated from the outside. A method for updating embedded firmware, characterized in that the address information of the corresponding function written in the NVRAM and modified or added to the NVRAM is rewritten to the newly written NVRAM address information through the means.
工場出荷前の工場調整用の専用のファームウェアは、NVRAMの空き領域に書き込むことを特徴とする請求項3に記載の組み込みファームウェアの更新方法。   4. The embedded firmware update method according to claim 3, wherein the dedicated firmware for factory adjustment before factory shipment is written in an empty area of the NVRAM.
JP2006285057A 2006-10-19 2006-10-19 Method for updating embedded firmware Pending JP2008102761A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006285057A JP2008102761A (en) 2006-10-19 2006-10-19 Method for updating embedded firmware

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006285057A JP2008102761A (en) 2006-10-19 2006-10-19 Method for updating embedded firmware

Publications (1)

Publication Number Publication Date
JP2008102761A true JP2008102761A (en) 2008-05-01

Family

ID=39437043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006285057A Pending JP2008102761A (en) 2006-10-19 2006-10-19 Method for updating embedded firmware

Country Status (1)

Country Link
JP (1) JP2008102761A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115073A (en) * 2013-12-09 2015-06-22 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH Method for changing software in memory of electronic control unit
KR20170117500A (en) 2015-03-06 2017-10-23 미쓰이 가가쿠 가부시키가이샤 Cross-linked body and vibration damping material
US9817652B2 (en) 2014-10-30 2017-11-14 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311436A (en) * 1987-06-12 1988-12-20 Nec Corp Program patch system
JPH04294183A (en) * 1991-03-25 1992-10-19 Tohoku Ricoh Co Ltd Program built-in type device
JPH09231069A (en) * 1996-02-22 1997-09-05 Canon Inc Method and device for information processing
JPH1040094A (en) * 1996-07-26 1998-02-13 Okuma Mach Works Ltd Program controller for firmware
JP2006155364A (en) * 2004-11-30 2006-06-15 Funai Electric Co Ltd Memory management method of flash memory, program for managing flash memory, and recording medium

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63311436A (en) * 1987-06-12 1988-12-20 Nec Corp Program patch system
JPH04294183A (en) * 1991-03-25 1992-10-19 Tohoku Ricoh Co Ltd Program built-in type device
JPH09231069A (en) * 1996-02-22 1997-09-05 Canon Inc Method and device for information processing
JPH1040094A (en) * 1996-07-26 1998-02-13 Okuma Mach Works Ltd Program controller for firmware
JP2006155364A (en) * 2004-11-30 2006-06-15 Funai Electric Co Ltd Memory management method of flash memory, program for managing flash memory, and recording medium

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015115073A (en) * 2013-12-09 2015-06-22 ディスペース デジタル シグナル プロセッシング アンド コントロール エンジニアリング ゲゼルシャフト ミット ベシュレンクテル ハフツングdspace digital signal processing and control engineering GmbH Method for changing software in memory of electronic control unit
US9817652B2 (en) 2014-10-30 2017-11-14 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device
US10866797B2 (en) 2014-10-30 2020-12-15 Samsung Electronics Co., Ltd. Data storage device and method for reducing firmware update time and data processing system including the device
KR20170117500A (en) 2015-03-06 2017-10-23 미쓰이 가가쿠 가부시키가이샤 Cross-linked body and vibration damping material

Similar Documents

Publication Publication Date Title
JP2007206885A (en) Computer system and system starting method
JP2008009721A (en) Evaluation system and evaluation method thereof
US20140258699A1 (en) Boot fault tolerant device and method thereof
JP2005157528A (en) Memory device
JP2006202117A (en) Processor and its firmware download method
JP2008198060A (en) Information processor, patch code mounting system, electronic equipment, and patch code mounting method
JP2008102761A (en) Method for updating embedded firmware
US9772905B2 (en) Updating control firmware of information processing apparatus, method of controlling the same, and storage medium
KR101285204B1 (en) Information processing apparatus and control method for information processing apparatus
JP2008158991A (en) Control system for nand type flash memory
JP5561791B2 (en) Information processing apparatus, information processing method, and information processing program
JP2014164471A (en) LSI and information processing system
JP2013182577A (en) Information processing apparatus, image forming apparatus, and program
JP5870043B2 (en) Start control device, information device, and start control method
JP2000235483A (en) Information processor
JP2008059339A (en) Controller
JP6703049B2 (en) Information processing apparatus and method of controlling information processing apparatus
JP2010140167A (en) Semiconductor integrated circuit
JP2005141522A (en) Data processing apparatus
JP2006127407A (en) Semiconductor integrated circuit
JP2005128613A (en) Image forming device
JP2008293468A (en) Method for manufacturing motherboard
CN112905235B (en) MCU program execution method and chip
JP2008071084A (en) Microprocessor and image forming apparatus
JP2009093270A (en) Computer system and startup method therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090820

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111028

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111115

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120313