JP2002169700A - Update memory of stored-program - Google Patents
Update memory of stored-programInfo
- Publication number
- JP2002169700A JP2002169700A JP2000364404A JP2000364404A JP2002169700A JP 2002169700 A JP2002169700 A JP 2002169700A JP 2000364404 A JP2000364404 A JP 2000364404A JP 2000364404 A JP2000364404 A JP 2000364404A JP 2002169700 A JP2002169700 A JP 2002169700A
- Authority
- JP
- Japan
- Prior art keywords
- program
- update
- arrangement information
- built
- control device
- 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.)
- Abandoned
Links
Landscapes
- Stored Programmes (AREA)
Abstract
Description
【0001】[0001]
【発明の属する技術分野】本発明は、内容の消去と再書
込みが電気的に可能な読出し専用メモリであるフラッシ
ュメモリと、ネットワーク通信インタフェースを搭載
し、フラッシュメモリ内に格納してあるシステムプログ
ラムを主記憶上に展開してから定常動作を行う組込み制
御機器において、外部ホストとのネットワーク通信を介
して、フラッシュメモリ上のシステムプログラムやデー
タファイル等を更新する際のプログラム更新方式に関す
るものである。BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a flash memory, which is a read-only memory capable of electrically erasing and rewriting contents, and a system program having a network communication interface and stored in the flash memory. The present invention relates to a program update method for updating a system program, a data file, and the like in a flash memory via a network communication with an external host in an embedded control device that performs a steady operation after being developed on a main memory.
【0002】[0002]
【従来の技術】組込み制御装置では、システムプログラ
ムをROM(Read Only Memory)に格
納しておき、ROMから主記憶上に展開して起動する方
法が一般的である。しかし一方近年では、内容の消去と
再書込みが電気的に可能なフラッシュメモリを搭載し、
これをシステムプログラムの記憶媒体とするものも多く
見られる。フラッシュメモリを利用した場合、制御装置
自身だけでソフトウェアを用いて内容の書換えが可能と
なるため、格納しているシステムプログラムの更新を柔
軟かつ容易に行うことができる。従来の組込み制御装置
には、フラッシュメモリ内にシステムプログラムとフラ
ッシュメモリ書換えプログラムを格納し、主記憶上に展
開されたフラッシュメモリ書換えプログラムが外部記憶
装置またはプログラム作成装置から入力される新プログ
ラムを受信して、フラッシュメモリ上のシステムプログ
ラムの更新を行うものがある。例えば、特開平9−69
043号公報に示されたマイクロコンピュータ組込み制
御装置がこれに該当する。2. Description of the Related Art In a built-in control device, it is common to store a system program in a ROM (Read Only Memory), develop the program from a ROM on a main memory, and start the system. On the other hand, in recent years, flash memories that can electrically erase and rewrite contents have been installed,
Many use this as a storage medium for system programs. When a flash memory is used, the contents can be rewritten using software only by the control device itself, so that the stored system program can be updated flexibly and easily. The conventional embedded controller stores the system program and the flash memory rewrite program in the flash memory, and the flash memory rewrite program expanded on the main memory receives a new program input from the external storage device or the program creation device. Some systems update the system program in the flash memory. For example, JP-A-9-69
The microcomputer built-in control device disclosed in Japanese Patent No. 043 corresponds to this.
【0003】次に動作について説明する。図10に、上
記のマイクロコンピュータ組込み制御装置を従来例とし
て示す。図によれば、例えば制御装置(C)を構成する
入力装置(4)または第3入出力部(8)からプログラ
ム記憶手段(2C)内のシステムプログラム(P1)を
更新するという指示の信号が入力されると、プログラム
記憶手段(2C)内に格納されている複写プログラム
(P21)が最初に起動され、同じくプログラム記憶手
段(2C)内に格納されている書換えプログラム(P2
A)をデータ記憶手段(3C)内の書換えプログラム領
域(PA)に複写する。そして、制御演算手段(1)は
プログラムの実行を書換えプログラム領域(PA)の先
頭に移し、書換えプログラム(P2A)を起動する。書
換えプログラム(P2A)は、プログラム記憶手段(2
C)の内容を消去したあと、第2入出力部(7)を介し
て外部記憶装置(MA)から入力される新システムプロ
グラム、または第3入出力部(8)を介してプログラム
作成装置(PS)から入力される新システムプログラム
をデータ記憶手段(3C)内に蓄積しながら、プログラ
ム記憶手段(2C)内のシステムプログラム(P1)を
格納している領域に書き込みを行う。Next, the operation will be described. FIG. 10 shows the microcomputer built-in control device as a conventional example. According to the drawing, for example, a signal of an instruction to update the system program (P1) in the program storage means (2C) is sent from the input device (4) or the third input / output unit (8) constituting the control device (C). When input, the copy program (P21) stored in the program storage means (2C) is activated first, and the rewrite program (P2) also stored in the program storage means (2C).
A) is copied to the rewriting program area (PA) in the data storage means (3C). Then, the control operation means (1) shifts the execution of the program to the top of the rewrite program area (PA) and starts the rewrite program (P2A). The rewriting program (P2A) is stored in the program storage means (2
After erasing the contents of C), a new system program input from the external storage device (MA) via the second input / output unit (7) or a program creation device (3) via the third input / output unit (8) While the new system program input from the PS is accumulated in the data storage means (3C), the new system program is written in the area storing the system program (P1) in the program storage means (2C).
【0004】以上のように、プログラム記憶手段(2
C)内のシステムプログラム(P1)を更新するための
書換えプログラム(P2A)をデータ記憶手段(3C)
内に複写した上で、システムプログラム(P1)の更新
処理を行うため、本処理時にはプログラム記憶手段(2
C)内に書換えプログラム(P2A)を格納する領域を
確保する必要がなく、プログラム記憶手段(2C)内の
領域を自由に使用することができる。As described above, the program storage means (2
C) a rewriting program (P2A) for updating the system program (P1) in the data storage means (3C)
In order to update the system program (P1) after copying it in the
It is not necessary to secure an area for storing the rewrite program (P2A) in C), and the area in the program storage means (2C) can be used freely.
【0005】[0005]
【発明が解決しようとする課題】従来のマイクロコンピ
ュータ組込み制御装置は以上のように構成されており、
システムプログラム(P1)の更新処理を行う際に、デ
ータ記憶手段(3C)内に複写された書換えプログラム
(P2A)によって、プログラム記憶手段(2C)の内
容が消去される。従って、プログラム記憶手段(2C)
内に格納されていた書換えプログラム(P2A)および
複写プログラム(P21)の内容は保証されず、システ
ムプログラム(P1)の更新処理できなくなる可能性が
あるという問題がある。また、データ記憶手段(3C)
内に複写された書換えプログラム(P2A)は、プログ
ラム記憶手段(2C)内のシステムプログラム(P1)
を格納している固定領域に書き込みを行う。従って、プ
ログラム記憶手段(2C)内の他の領域に配置される書
換えプログラム(P2A)や複写プログラム(P2
1)、あるいはデータファイル等の固定アドレスのプロ
グラムやデータを個別に更新することができないという
問題もある。このように、プログラム記憶手段(2C)
内の任意の配置領域に格納されるソフトウェアに対し
て、柔軟に更新処理が行えず、プログラム更新の安全性
が低いという課題があった。The conventional microcomputer built-in control device is configured as described above.
When updating the system program (P1), the contents of the program storage means (2C) are erased by the rewriting program (P2A) copied in the data storage means (3C). Therefore, the program storage means (2C)
The contents of the rewriting program (P2A) and the copying program (P21) stored in the memory are not guaranteed, and there is a problem that the update processing of the system program (P1) may not be performed. Data storage means (3C)
The rewrite program (P2A) copied in the system program (P1) in the program storage means (2C)
Is written to the fixed area storing. Accordingly, the rewriting program (P2A) and the copying program (P2A) arranged in another area in the program storage means (2C).
1) There is also a problem that programs and data at fixed addresses such as data files cannot be individually updated. Thus, the program storage means (2C)
However, there is a problem that the software stored in an arbitrary arrangement area cannot be flexibly updated and the security of the program update is low.
【0006】本発明は上記のような課題を解決するため
になされたもので、組込み制御装置に転送する新プログ
ラムファイルに配置アドレス情報を付加し、プログラム
記憶領域の書換えを行うプログラムがその情報を解釈
し、任意の配置領域に書き込みを行う構成とし、更にテ
ーブルを照合したりプログラム待避領域を設けて、プロ
グラム更新処理の柔軟性と、また必要に応じて安全性を
向上させる。SUMMARY OF THE INVENTION The present invention has been made to solve the above-described problems, and a program for adding arrangement address information to a new program file to be transferred to an embedded control device and rewriting a program storage area stores the information. Interpretation and writing into an arbitrary arrangement area are performed, and furthermore, a table is collated or a program save area is provided to improve the flexibility of the program update process and, if necessary, the security.
【0007】[0007]
【課題を解決するための手段】この発明に係る内蔵プロ
グラム更新メモリは、CPUと主メモリとを持つプログ
ラム内蔵制御装置において、制御装置を動かすシステム
プログラムと、制御装置の立ち上がり時にシステムプロ
グラムを主メモリにロードするブートローダ・プログラ
ムと、内蔵プログラムの更新を行う更新プログラムとを
内蔵する内蔵プログラムメモリを備え、また更新プログ
ラムに配置情報解析手段を設けて、更新が必要な部分プ
ログラムには配置情報を付加して提供を受けて、この供
給を受けた部分プログラムに記載の配置情報に基づいて
内蔵プログラムメモリの上記配置情報アドレスに書き込
みを行うようにした。A built-in program update memory according to the present invention is a program built-in control device having a CPU and a main memory, which stores a system program for operating the control device and a system program when the control device starts up. It has a built-in program memory that contains a boot loader program to be loaded into the program and an update program that updates the built-in program.Also, the update program is provided with a location information analysis means, and location information is added to partial programs that need to be updated. Then, based on the arrangement information described in the supplied partial program, writing is performed at the arrangement information address in the built-in program memory.
【0008】また更に、制御装置には部分プログラムの
配置情報を記憶する配置情報テーブルを設けて、提供を
受けた部分プログラムに記載された配置情報と、配置情
報テーブルの該当する部分プログラムの配置情報とを比
較して後、書き込みを行うようにした。Further, the control device is provided with an arrangement information table for storing the arrangement information of the partial programs, and the arrangement information described in the provided partial program and the arrangement information of the corresponding partial program in the arrangement information table are provided. After that, writing was performed.
【0009】また更に、制御装置にはプログラム待避領
域を設けて、部分プログラムの更新に先立って該当部分
プログラムをプログラム待避領域に書き込み、更新前の
部分プログラムへの復帰要求があると、プログラム待避
領域に書き込まれた部分プログラムを更新前のアドレス
へ書き戻すようにした。Further, the control device is provided with a program save area, and writes the relevant partial program into the program save area before updating the partial program. When there is a request to return to the partial program before update, the program save area is provided. Was written back to the address before the update.
【0010】[0010]
【発明の実施の形態】実施の形態1.図1は、任意位置
(アドレス)へのプログラム更新を可能にした、実施の
形態1における装置構成を示すブロック図である。図に
おいて、100はプログラム組込み制御装置、101は
CPU、102は主メモリ、103は外部との通信を行
うためのネットワークインタフェース、104はフラッ
シュメモリ、105はシステムバス、106はDIPス
イッチ、10は組込み制御装置(100)としての本来
の処理を行うシステムプログラム、11は組込み制御装
置(100)に電源投入された時または再立ち上げされ
た時に最初に起動するブートローダ・プログラム、12
はフラッシュメモリ(104)内に格納される任意のプ
ログラムファイルあるいはデータファイルの更新処理を
行う更新プログラム、13はネットワーク受信処理部、
14は配置情報解析部、15はフラッシュメモリ書込み
部である。200はLAN(Local Area N
etwork)等を想定した通信ネットワーク、300
は通信ネットワーク(200)を介して組込み制御装置
(100)と通信可能なPC(Personal Co
mputer)等を想定した送信ホスト、301はHD
D(Hard Disk Drive)等を想定したプ
ログラム記憶装置、302はシステムプログラム(1
0)を更新対象とした場合の新システムプログラム、3
03は組込み制御装置(100)側に対して更新対象プ
ログラムの送信処理を行うクライアントプログラム、3
04は新システムプログラム(302)に対する配置情
報付加部、305はネットワーク送信処理部である。な
お、通信ネットワーク(200)およびネットワークイ
ンタフェース(103)としては、LANに限定するも
のではなく、他に例えばRS232CやUSB(Uni
versal Serial Bus)に対応したもの
であってもよい。DESCRIPTION OF THE PREFERRED EMBODIMENTS Embodiment 1 FIG. 1 is a block diagram showing an apparatus configuration according to the first embodiment, in which a program can be updated to an arbitrary position (address). In the figure, 100 is a program embedding control device, 101 is a CPU, 102 is a main memory, 103 is a network interface for communicating with the outside, 104 is a flash memory, 105 is a system bus, 106 is a DIP switch, 10 is an embedded A system program 11 for performing essential processing as the control device (100); 11 a boot loader program which is started first when the power of the embedded control device (100) is turned on or restarted; 12
Is an update program for updating an arbitrary program file or data file stored in the flash memory (104), 13 is a network reception processing unit,
Reference numeral 14 denotes an arrangement information analysis unit, and reference numeral 15 denotes a flash memory writing unit. 200 is a LAN (Local Area N)
network, 300, etc.
Is a PC (Personal Co.) that can communicate with the embedded controller (100) via the communication network (200).
mputer), 301 is an HD
D (Hard Disk Drive) or the like, a program storage device, and 302 is a system program (1
New system program when 0) is targeted for update, 3
Reference numeral 03 denotes a client program for transmitting the update target program to the embedded control device (100).
04 is an arrangement information adding unit for the new system program (302), and 305 is a network transmission processing unit. The communication network (200) and the network interface (103) are not limited to the LAN, but may be, for example, RS232C or USB (Uni).
(versal Serial Bus).
【0011】次に動作について説明する。まずオペレー
タは組込み制御装置(100)のDIPスイッチ(10
6)を切替え、フラッシュメモリ(104)上のプログ
ラム更新処理を行うためのプログラム更新モードにして
おく。次に、オペレータが組込み制御装置(100)の
電源投入を行うか、またはリセットボタンを押下する
と、フラッシュメモリ(104)に格納されているブー
トローダ・プログラム(11)が起動する。ブートロー
ダ・プログラム(11)は、H/W初期化処理を行った
あと、DIPスイッチ(106)の設定状態を参照し、
プログラム更新モードであれば更新プログラム(12)
を、通常モードであればシステムプログラム(10)を
主メモリ(102)上の所定アドレスにダウンロード
し、そのプログラムの開始アドレスに制御を移す。今は
プログラム更新モードに設定しているので、更新プログ
ラム(12)が起動される。Next, the operation will be described. First, the operator operates the DIP switch (10) of the embedded controller (100).
6) is switched to a program update mode for performing a program update process on the flash memory (104). Next, when the operator turns on the power of the embedded control device (100) or presses the reset button, the boot loader program (11) stored in the flash memory (104) starts. After performing the H / W initialization process, the boot loader program (11) refers to the setting state of the DIP switch (106),
Update program (12) if in program update mode
In the normal mode, the system program (10) is downloaded to a predetermined address on the main memory (102), and the control is shifted to the start address of the program. Now that the program update mode is set, the update program (12) is started.
【0012】図2は、更新プログラム(12)のフロー
チャート図である。図を用いて、システムプログラムの
更新処理における更新プログラム(12)側の処理を説
明する。まず、更新プログラム(12)側では、ステッ
プS1でネットワークインタフェース(103)に対し
て自ネットワークアドレスを設定したあと、ステップS
2でネットワーク受信処理部(13)においてクライア
ントプログラム(303)からの接続要求を待つ。ステ
ップS3でクライアントプログラム(303)からの接
続要求が到着しコネクションが確立したら、新システム
プログラム(302)のファイル受信待ち状態となる。
ステップS4でファイル受信処理を行い、受信データを
主メモリ(102)上の受信バッファに一旦格納する。
あとでクライアントプログラム(303)側の処理を説
明する時にも述べるが、受信する新システムプログラム
(302)のファイルは、例えばモトローラSフォーマ
ット形式のファイルのような、プログラム本体に配置情
報を付加したファイルを想定する。次に、ステップS5
で配置情報解析部(14)において受信データを解析
し、先頭部分から配置先アドレスとサイズの情報を取り
出す。ステップS6でフラッシュメモリ書込み部(1
5)において取り出した配置先アドレスとサイズの情報
に基づき、フラッシュメモリ(104)上の対象領域の
内容を一旦消去する。FIG. 2 is a flowchart of the update program (12). The process on the update program (12) side in the system program update process will be described with reference to the drawings. First, the update program (12) sets its own network address for the network interface (103) in step S1, and then executes step S1.
In step 2, the network reception processing unit (13) waits for a connection request from the client program (303). In step S3, when a connection request from the client program (303) arrives and a connection is established, the system enters a file reception waiting state for the new system program (302).
In step S4, a file reception process is performed, and the reception data is temporarily stored in a reception buffer on the main memory (102).
As will be described later when the processing on the client program (303) side is described, the file of the new system program (302) to be received is a file in which arrangement information is added to the program body, such as a file in the Motorola S format. Is assumed. Next, step S5
Then, the received data is analyzed by the arrangement information analysis unit (14), and the information of the arrangement destination address and the size is extracted from the head part. In step S6, the flash memory writing unit (1
The contents of the target area on the flash memory (104) are temporarily erased based on the information on the placement destination address and the size extracted in 5).
【0013】受信データの後続部分に対しては、ステッ
プS5の受信データ解析処理が行われ、受信データファ
イルがモトローラSフォーマット形式であれば、元のC
PU固有のバイナリ形式に変換して、同じく主メモリ
(102)上の変換バッファに一旦格納する。その後、
ステップS7でフラッシュメモリ書込み部(15)にお
いて現在の配置先アドレス情報に基づき、変換バッファ
からフラッシュメモリ(104)への書込みを行う。受
信する新システムプログラム(302)のファイルサイ
ズは一般に不定であるため、受信バッファのサイズは受
信ファイル全体が収まるほどの領域を確保しない。ステ
ップS7で書き込み処理が完了したら、再度ステップS
4aのファイル受信処理に戻り、ファイルの終端に達す
るまで繰り返す。最後に、ファイルの終端に達したらス
テップS8でコネクションを切断して処理を終了する。The subsequent portion of the received data is subjected to a received data analysis process in step S5. If the received data file is in the Motorola S format, the original C
The data is converted into a PU-specific binary format, and is once stored in a conversion buffer on the main memory (102). afterwards,
In step S7, the flash memory writing unit (15) writes data from the conversion buffer to the flash memory (104) based on the current location address information. Since the file size of the new system program (302) to be received is generally undefined, the size of the reception buffer does not secure an area that can accommodate the entire reception file. When the writing process is completed in step S7, step S7 is performed again.
Returning to the file receiving process of 4a, the process is repeated until the end of the file is reached. Finally, when the end of the file is reached, the connection is disconnected in step S8, and the process is terminated.
【0014】図3は、クライアントプログラム(30
3)のフローチャート図である。図を用いて、システム
プログラムの更新処理におけるクライアントプログラム
(303)側の処理を説明する。送信ホスト(300)
はクロス開発環境としてのPC等を想定しており、ネッ
トワークインタフェースの初期化や自ネットワークアド
レスの設定は完了しているものとする。クライアントプ
ログラム(303)は送信ホスト(300)上で動作す
るアプリケーション・ソフトウェアである。まず、クラ
イアントプログラム(303)では、ステップS100
でフラッシュメモリ(104)内の更新対象プログラム
である新システムプログラム(302)のファイル名を
特定した上で、その配置先の先頭アドレスと領域サイ
ズ、および組込み制御装置(100)側のネットワーク
アドレスを指定する。送信する新システムプログラム
(302)のファイルは、例えばモトローラSフォーマ
ット形式のファイルのような、プログラム本体に配置情
報を付加したファイルを想定する。ステップS101で
配置情報付加部(304)において、指定された配置先
の先頭アドレスと領域サイズ情報を新システムプログラ
ム(302)のファイルの先頭部分に付加する。送信デ
ータファイルをモトローラSフォーマット形式とする場
合は、CPU固有のバイナリファイル全体を同フォーマ
ット形式に変換する。ステップS102でネットワーク
送信処理部(305)において更新プログラム(12)
側が接続待ち状態である時にコネクション接続要求を発
行する。ステップS103で更新プログラム(12)側
とのコネクションが確立したら、配置情報を付加した新
システムプログラム(302)のファイル送信処理を開
始する。最後に、ステップS104でファイル送信処理
が完了したらコネクションを切断して処理を終了する。FIG. 3 shows a client program (30).
It is a flowchart figure of 3). The process on the client program (303) side in the system program update process will be described with reference to the drawings. Sending host (300)
Is assumed to be a PC or the like as a cross development environment, and it is assumed that the initialization of the network interface and the setting of the own network address have been completed. The client program (303) is application software that runs on the sending host (300). First, in the client program (303), step S100
Specifies the file name of the new system program (302), which is the program to be updated in the flash memory (104), and then specifies the start address and area size of its location and the network address of the embedded control device (100). specify. The file of the new system program (302) to be transmitted is assumed to be a file in which arrangement information is added to the program body, such as a file in the Motorola S format. In step S101, the arrangement information adding unit (304) adds the start address of the designated arrangement destination and the area size information to the head of the file of the new system program (302). When the transmission data file is in the Motorola S format, the entire binary file unique to the CPU is converted into the same format. In step S102, the network transmission processing unit (305) updates the update program (12).
Issues a connection connection request when the device is in a connection waiting state. When the connection with the update program (12) is established in step S103, the file transmission processing of the new system program (302) to which the arrangement information is added is started. Finally, when the file transmission processing is completed in step S104, the connection is disconnected and the processing ends.
【0015】以上のように、クライアントプログラム
(303)側で組込み制御装置(100)に転送する新
システムプログラム(302)のファイルに配置情報を
付加し、更新プログラム(12)側でその配置情報を解
釈して、フラッシュメモリ(104)内の指定された配
置領域に書き込みを行うようにしているので、固定アド
レスのシステムプログラム(10)だけでなく、任意ア
ドレスのプログラムやデータファイル等を更新すること
ができる。また、組込み制御装置(100)のネットワ
ークインタフェース(103)を介して送信ホスト(3
00)と更新対象プログラムのファイルの送受信を行う
ようにしているので、組込み制御装置(100)と送信
ホスト(300)が離れた場所にある場合でも遠隔操作
を行うことができる。As described above, the client program (303) adds the arrangement information to the file of the new system program (302) to be transferred to the embedded controller (100), and the update program (12) adds the arrangement information to the file. Because it is interpreted and written into the specified location area in the flash memory (104), it is necessary to update not only the system program (10) at a fixed address but also a program or data file at an arbitrary address. Can be. In addition, the transmission host (3) is connected via the network interface (103) of the embedded control device (100).
00) and the file of the program to be updated is transmitted and received, so that remote control can be performed even when the embedded control device (100) and the transmission host (300) are located at a distance.
【0016】実施の形態2.以上の実施の形態1では、
クライアントプログラム(303)側で配置情報を指定
する際に、オペレータは現在のフラッシュメモリ(10
4)全体の配置情報を把握していることが求められる
が、次にフラッシュメモリ(104)内に新たにプログ
ラム配置情報を保持するテーブルを持つようにし、クラ
イアントプログラム(303)からの問合わせに基づ
き、配置情報テーブルの内容を取得可能にする場合の実
施の形態を示す。図4は、実施の形態2におけるフラッ
シュメモリ(104b)内の構成を示すブロック図であ
る。図において、16はフラッシュメモリ(104)内
の全てのプログラム配置情報を保持する配置情報テーブ
ル、17は配置情報テーブル(16)に対するアクセス
を行う更新プログラム(12)内の配置情報テーブル管
理部である。Embodiment 2 In the first embodiment,
When designating the arrangement information on the client program (303) side, the operator needs the current flash memory (10
4) It is required that the entire arrangement information is grasped. Next, the flash memory (104) has a new table for holding the program arrangement information, and in response to an inquiry from the client program (303). An embodiment in the case where the contents of the arrangement information table can be obtained based on the information will be described. FIG. 4 is a block diagram showing a configuration inside a flash memory (104b) according to the second embodiment. In the figure, reference numeral 16 denotes an arrangement information table holding all the program arrangement information in the flash memory (104), and reference numeral 17 denotes an arrangement information table management unit in an update program (12) for accessing the arrangement information table (16). .
【0017】図5は、配置情報テーブル(16)の構成
を示す図である。図において、30は配置情報テーブル
(16)中の、配置しているプログラムの先頭アドレ
ス、31は確保している領域のサイズ、32はプログラ
ムのファイル名、33はバージョン番号、34は更新日
付、35はこれら六つの組から構成される配置情報テー
ブル・エントリである。配置情報テーブル(16)は複
数の配置情報テーブル・エントリ(35)から構成され
る。配置情報テーブル(16)自身の領域も、あらかじ
め配置情報テーブル・エントリ(35)に登録しておく
ことにより上書きを禁止する。図6は、実施の形態2に
おけるクライアントプログラム(303b)の構成を示
すブロック図である。図において、306は配置情報テ
ーブル(16)の内容の受信と表示を行う配置情報テー
ブル取得部である。FIG. 5 is a diagram showing a configuration of the arrangement information table (16). In the figure, reference numeral 30 denotes the start address of the program to be arranged in the arrangement information table (16), 31 is the size of the reserved area, 32 is the file name of the program, 33 is the version number, 34 is the update date, Reference numeral 35 denotes an arrangement information table entry composed of these six sets. The arrangement information table (16) is composed of a plurality of arrangement information table entries (35). The area of the arrangement information table (16) itself is also registered in the arrangement information table entry (35) in advance to prohibit overwriting. FIG. 6 is a block diagram showing a configuration of the client program (303b) according to the second embodiment. In the figure, reference numeral 306 denotes an arrangement information table acquisition unit which receives and displays the contents of the arrangement information table (16).
【0018】図7は、実施の形態2における更新プログ
ラム(12)のフローチャート図である。次にこの図に
より動作について説明する。まず実施の形態1における
初期動作と同様に、プログラム更新モードに設定して更
新プログラム(12)が起動されたとする。先ず、シス
テムプログラムの更新処理を説明する。最初に更新プロ
グラム(12)側では、ステップS1でネットワークイ
ンタフェース(103)に対して自ネットワークアドレ
スを設定したあと、ステップS2でネットワーク受信処
理部(13)においてクライアントプログラム(30
3)からの接続要求を待つ。ステップS3でクライアン
トプログラム(303)からの接続要求が到着しコネク
ションが確立したら、ステップS9で配置情報テーブル
管理部(17)において配置情報テーブル(16)の内
容を読み出し、クライアントプログラム(303)に送
信する。FIG. 7 is a flowchart of the update program (12) according to the second embodiment. Next, the operation will be described with reference to FIG. First, as in the initial operation in the first embodiment, it is assumed that the program is set to the program update mode and the update program (12) is started. First, the update processing of the system program will be described. First, the update program (12) sets its own network address for the network interface (103) in step S1, and then in step S2 the client program (30) in the network reception processing unit (13).
Wait for a connection request from 3). In step S3, when a connection request from the client program (303) arrives and a connection is established, in step S9, the contents of the arrangement information table (16) are read by the arrangement information table management unit (17) and transmitted to the client program (303). I do.
【0019】クライアントプログラム(303)側で
は、配置情報テーブル取得部(306)において受信し
た配置情報テーブル(16)の内容を整形してオペレー
タに対して表示する。オペレータは表示内容を確かめた
上で、更新対象プログラムを特定し配置情報を付加し
て、その更新対象プログラムのファイルを送信する。ふ
たたび更新プログラム(12b)側では、ステップS4
でファイル受信処理を行い、受信データを主メモリ(1
02)上の受信バッファに一旦格納し、ステップS5で
配置情報解析部(14)において受信データを解析し
て、先頭部分から配置先アドレスとサイズの情報を取り
出す。次に、ステップS10で配置情報管理部(17)
において、取り出した配置情報と、配置情報テーブル
(16)内の先頭アドレス(30)及びサイズ(31)
を照会する。もし配置位置が他のプログラム領域を上書
きするような不正であれば、ステップS11でクライア
ントプログラム(303)に対して配置情報の不正を通
知する。この時、後続の更新ファイルのデータ受信を中
止し、ステップS8で直ちにコネクションを切断して処
理を終了する。また、配置情報が正常なら、ステップS
6でフラッシュメモリ(104)の内容を消去した上
で、一連の受信処理を継続する。最後に、ファイルの終
端に達したらステップS8でコネクションを切断して、
ステップS12で配置情報テーブル(16)内の配置情
報テーブル・エントリ(35)を更新したあと処理を終
了する。On the side of the client program (303), the contents of the arrangement information table (16) received by the arrangement information table acquisition section (306) are shaped and displayed to the operator. After confirming the display contents, the operator specifies the program to be updated, adds the arrangement information, and transmits the file of the program to be updated. On the update program (12b) side, step S4
Performs file reception processing, and stores received data in the main memory (1).
02) and temporarily stores the data in the upper receiving buffer, and in step S5, analyzes the received data in the arrangement information analysis unit (14), and extracts the information of the arrangement destination address and the size from the head part. Next, in step S10, the arrangement information management unit (17)
, The extracted placement information, the head address (30) and the size (31) in the placement information table (16)
Inquire. If the arrangement position is illegal so as to overwrite another program area, in step S11, the client program (303) is notified of the irregularity of the arrangement information. At this time, the data reception of the subsequent update file is stopped, the connection is immediately disconnected in step S8, and the process ends. If the arrangement information is normal, step S
After erasing the contents of the flash memory (104) in 6, a series of reception processing is continued. Finally, when the end of the file is reached, the connection is disconnected in step S8,
After the arrangement information table entry (35) in the arrangement information table (16) is updated in step S12, the process ends.
【0020】以上のように、フラッシュメモリ(10
4)上に配置情報テーブル(16)を設けて、クライア
ントプログラム(303)側に配置情報の一覧を提供す
るようにしているので、正確な配置情報を指定して新シ
ステムプログラム(302)やその他のデータファイル
等を送信することができる。さらに、配置情報テーブル
(16)内には先頭アドレス(30)とサイズ(31)
情報以外に、ファイル名(32)やバージョン番号(3
3)、更新日付(34)情報を保持しているので、設置
されている個々の組込み制御装置(100)毎にインス
トールされているソフトウェアの正確な管理を行うこと
ができる。また、誤って不正な配置情報を指定した場合
であっても、更新プログラム(12)において配置情報
テーブル(16)と照会することによって配置情報の不
正を検出し、上書きを行わずに不正通知を行うようにし
ているので、安全にプログラム更新処理を行うことがで
きる。As described above, the flash memory (10
4) Since the arrangement information table (16) is provided on the upper side and a list of the arrangement information is provided to the client program (303) side, the correct arrangement information is designated and the new system program (302) and others are designated. Can be transmitted. Further, the head address (30) and the size (31) are stored in the arrangement information table (16).
In addition to the information, the file name (32) and version number (3
3) Since the update date (34) information is held, it is possible to accurately manage the software installed for each installed embedded control device (100). Further, even when incorrect arrangement information is specified by mistake, the update program (12) detects an irregularity of the arrangement information by referring to the arrangement information table (16), and issues an irregularity notification without overwriting. Since it is performed, the program update process can be performed safely.
【0021】実施の形態3.先の実施の形態2では、配
置情報テーブル(16)を管理することにより、不正な
配置情報を指定した場合に上書きを防ぐようにしている
が、本実施の形態では、フラッシュメモリ(104)内
に新たに更新する前のシステムプログラム(10)を保
持するプログラム待避領域を設けて、前のシステムプロ
グラム(10)に復帰可能にする場合を説明する。図8
は、実施の形態3におけるフラッシュメモリ(104
c)内の構成を示すブロック図である。図において、1
8は更新する前のシステムプログラム(10)を保持す
るプログラム待避領域、19はプログラム待避領域(1
8)に旧システムプログラムが保持されているかを示す
プログラム待避領域有効フラグ、20はプログラム待避
領域(18)に対するアクセスを行う更新プログラム
(12)内のプログラム待避領域操作部である。Embodiment 3 In Embodiment 2 described above, the arrangement information table (16) is managed to prevent overwriting when incorrect arrangement information is specified. In the present embodiment, however, in the flash memory (104), A case will be described in which a program save area for holding a system program (10) before a new update is provided so that it is possible to return to the previous system program (10). FIG.
Is the flash memory (104) in the third embodiment.
It is a block diagram which shows the structure in c). In the figure, 1
8 is a program save area for holding the system program (10) before updating, and 19 is a program save area (1
8) A program save area valid flag indicating whether the old system program is held, and 20 is a program save area operation unit in the update program (12) for accessing the program save area (18).
【0022】図9は、実施の形態3における更新プログ
ラム(12)のフローチャート図である。次に動作につ
いて説明する。まず実施の形態1における初期動作と同
様に、プログラム更新モードに設定して更新プログラム
(12)が起動されたとする。最初に、システムプログ
ラムの待避処理および復帰処理を説明する。まず、更新
プログラム(12c)側では、ステップS1でネットワ
ークインタフェース(103)に対して自ネットワーク
アドレスを設定したあと、ステップS2でネットワーク
受信部(13)においてクライアントプログラム(30
3)からの接続要求を待つ。ステップS3でクライアン
トプログラムからの接続要求が到着しコネクションが確
立したら、ステップS13で旧システムプログラム復帰
要求を受信したかチェックする。復帰要求を受信した場
合は、ステップS14でプログラム待避領域操作部にお
いて、プログラム待避領域有効フラグ(19)をチェッ
クする。プログラム待避領域有効フラグ(19)が設定
されていない場合は、ステップS8で直ちにコネクショ
ンを切断し終了する。プログラム待避領域有効フラグ
(19)が設定されていない場合は、ステップS15で
旧システムプログラムの復帰処理を行う。その後、ステ
ップS8でコネクションを切断し終了する。一方、ステ
ップS13で旧システムプログラム復帰要求を受信しな
かった場合は、ステップS16でプログラム待避領域操
作部において、現システムプログラム(10)の待避処
理を行う。その後は、実施の形態1で説明したのと同様
にシステムプログラムの更新処理を行う。FIG. 9 is a flowchart of the update program (12) according to the third embodiment. Next, the operation will be described. First, as in the initial operation in the first embodiment, it is assumed that the program is set to the program update mode and the update program (12) is started. First, the saving process and the returning process of the system program will be described. First, the update program (12c) sets its own network address for the network interface (103) in step S1, and then, in step S2, the client program (30) in the network receiving unit (13).
Wait for a connection request from 3). When the connection request from the client program arrives in step S3 and the connection is established, it is checked in step S13 whether the old system program return request has been received. When the return request is received, the program save area operation flag is checked in the program save area operation unit in step S14. If the program save area valid flag (19) is not set, the connection is immediately disconnected in step S8, and the process ends. If the program save area valid flag (19) is not set, the old system program is restored in step S15. Thereafter, the connection is disconnected in step S8, and the process ends. On the other hand, if the old system program return request has not been received in step S13, the current system program (10) is saved in the program save area operation unit in step S16. Thereafter, the system program is updated in the same manner as described in the first embodiment.
【0023】以上のように、フラッシュメモリ(10
4)上にプログラム待避領域(18)を設けて、旧シス
テムプログラム(10)を保持するようにしているの
で、プログラム更新処理を行って新システムプログラム
(302)を起動したものの、ソフトウェア障害の検出
など何らかの理由で元のシステムプログラムに戻す要求
が生じた場合に、あらためて旧システムプログラムの受
信を行わなくとも、迅速かつ容易に旧システムプログラ
ム(10)を復帰することができる。As described above, the flash memory (10
4) Since a program save area (18) is provided on the upper side to retain the old system program (10), the new system program (302) is started by executing the program update processing, but the software failure is detected. For example, when there is a request to return to the original system program for some reason, the old system program (10) can be restored quickly and easily without receiving the old system program again.
【0024】[0024]
【発明の効果】以上のようにこの発明によれば、更新す
るプログラムに配置情報を設けて、また配置情報解析手
段を備えたので、内蔵プログラムの任意位置に部分プロ
グラムが書き込めてプログラム更新処理の柔軟性が高ま
る効果がある。As described above, according to the present invention, arrangement information is provided in a program to be updated, and arrangement information analyzing means is provided, so that a partial program can be written at an arbitrary position in a built-in program, and This has the effect of increasing flexibility.
【0025】また更に、配置情報テーブル、またはプロ
グラム待避領域を設けたので、内蔵プログラムの更新が
安全に行える効果がある。Further, since the arrangement information table or the program save area is provided, the built-in program can be updated safely.
【図1】 この発明の実施の形態1における内蔵プログ
ラム更新メモリを含んだ制御装置の構成図である。FIG. 1 is a configuration diagram of a control device including a built-in program update memory according to Embodiment 1 of the present invention.
【図2】 実施の形態1における更新プログラムの動作
フロー図である。FIG. 2 is an operation flowchart of an update program according to the first embodiment.
【図3】 実施の形態1におけるクライアントプログラ
ムの動作フロー図である。FIG. 3 is an operation flowchart of a client program according to the first embodiment.
【図4】 この発明の実施の形態2における内蔵プログ
ラム更新メモリの構成を示す図である。FIG. 4 is a diagram showing a configuration of a built-in program update memory according to a second embodiment of the present invention.
【図5】 実施の形態2における情報配置テーブルの例
を示す図である。FIG. 5 is a diagram showing an example of an information arrangement table according to the second embodiment.
【図6】 実施の形態2におけるクライアントプログラ
ムの構成を示す図である。FIG. 6 is a diagram showing a configuration of a client program according to the second embodiment.
【図7】 実施の形態2における更新プログラムの動作
フロー図である。FIG. 7 is an operation flowchart of an update program according to the second embodiment.
【図8】 この発明の実施の形態3における内蔵プログ
ラム更新メモリの構成を示す図である。FIG. 8 is a diagram showing a configuration of a built-in program update memory according to a third embodiment of the present invention.
【図9】 実施の形態3における更新プログラムの動作
フロー図である。FIG. 9 is an operation flowchart of an update program according to the third embodiment.
【図10】 従来のプログラム内蔵制御装置の構成図で
ある。FIG. 10 is a configuration diagram of a conventional control device with a built-in program.
10 システムプログラム、11 ブートローダ・プロ
グラム、12 更新プログラム、13 ネットワーク受
信処理部、14 配置情報解析部、15 フラッシュメ
モリ書き込み部、16 配置情報テーブル、17 配置
情報テーブル管理部、18 プログラム待避領域、19
プログラム待避領域有効フラグ、20プログラム待避
領域操作部、101 CPU、102 主メモリ、10
3 ネットワークインタフェース、104,104b,
104c フラッシュメモリ、105 バス、106
DIPスイッチ、200 通信ネットワーク、300送
信ホスト、301 プログラム記憶装置、302 新シ
ステムプログラム、303,303b クライアントプ
ログラム、304 配置情報付加部、305ネットワー
ク送信処理部、306 配置情報テーブル取得部。Reference Signs List 10 system program, 11 boot loader program, 12 update program, 13 network reception processing unit, 14 arrangement information analysis unit, 15 flash memory writing unit, 16 arrangement information table, 17 arrangement information table management unit, 18 program save area, 19
Program save area valid flag, 20 program save area operation unit, 101 CPU, 102 main memory, 10
3 network interface, 104, 104b,
104c flash memory, 105 bus, 106
DIP switch, 200 communication network, 300 transmission host, 301 program storage device, 302 new system program, 303, 303b client program, 304 arrangement information addition section, 305 network transmission processing section, 306 arrangement information table acquisition section.
Claims (3)
蔵制御装置において、上記制御装置を動かすシステムプ
ログラムと、上記制御装置の立ち上がり時に上記システ
ムプログラムを上記主メモリにロードするブートローダ
・プログラムと、内蔵プログラムの更新を行う更新プロ
グラムとを内蔵する内蔵プログラムメモリを備え、上記
更新プログラムに配置情報解析手段を設けて、更新が必
要な部分プログラムには配置情報を付加して提供を受け
て、該供給を受けた部分プログラムに記載の配置情報に
基づいて内蔵プログラムメモリの上記配置情報アドレス
に書き込みを行うようにしたことを特徴とする内蔵プロ
グラム更新メモリ。1. A control device with a built-in program having a CPU and a main memory, a system program for operating the control device, a boot loader program for loading the system program into the main memory when the control device starts up, and a built-in program And a built-in program memory having a built-in update program for performing the update of the program. The update program is provided with arrangement information analyzing means. A built-in program update memory characterized in that writing is performed at the above-mentioned layout information address of the built-in program memory based on the layout information described in the received partial program.
を記憶する配置情報テーブルを設けて、 提供を受けた部分プログラムに記載された配置情報と、
上記配置情報テーブルの該当する部分プログラムの配置
情報とを比較して後、書き込みを行うようにしたことを
特徴とする請求項1記載の内蔵プログラム更新メモリ。2. The control device is provided with an arrangement information table for storing arrangement information of the partial programs, wherein the arrangement information described in the provided partial programs is provided.
2. The built-in program update memory according to claim 1, wherein the writing is performed after comparing the allocation information of the corresponding partial program in the allocation information table.
て、 部分プログラムの更新に先立って該当部分プログラムを
プログラム待避領域に書き込み、上記更新前の部分プロ
グラムへの復帰要求があると、上記プログラム待避領域
に書き込まれた部分プログラムを更新前のアドレスへ書
き戻すようにしたことを特徴とする請求項1記載の内蔵
プログラム更新メモリ。3. A program save area is provided in the control device, and the relevant partial program is written in the program save area prior to the update of the partial program. When there is a request to return to the partial program before the update, the program save area is provided. 2. The built-in program update memory according to claim 1, wherein the partial program written in the area is written back to the address before the update.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000364404A JP2002169700A (en) | 2000-11-30 | 2000-11-30 | Update memory of stored-program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000364404A JP2002169700A (en) | 2000-11-30 | 2000-11-30 | Update memory of stored-program |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002169700A true JP2002169700A (en) | 2002-06-14 |
Family
ID=18835357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2000364404A Abandoned JP2002169700A (en) | 2000-11-30 | 2000-11-30 | Update memory of stored-program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2002169700A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170066231A (en) * | 2015-12-04 | 2017-06-14 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | Computer system and operating method therefor |
-
2000
- 2000-11-30 JP JP2000364404A patent/JP2002169700A/en not_active Abandoned
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170066231A (en) * | 2015-12-04 | 2017-06-14 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | Computer system and operating method therefor |
KR101939442B1 (en) | 2015-12-04 | 2019-01-16 | 비아 얼라이언스 세미컨덕터 씨오., 엘티디. | Computer system and operating method therefor |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6594723B1 (en) | Method and apparatus for updating data in nonvolatile memory | |
US7017004B1 (en) | System and method for updating contents of a flash ROM | |
US7876469B2 (en) | Image forming apparatus and updating method | |
CN100371894C (en) | Apparatus and method for updating firmware | |
US20100122017A1 (en) | Memory controller, non-volatile memory system, and host device | |
JP4527348B2 (en) | Interface device, method of updating firmware in interface device, and program thereof | |
US8582139B2 (en) | Driver upgrading | |
JPWO2009016832A1 (en) | Nonvolatile storage device and nonvolatile storage system | |
JP2002099441A (en) | Communication terminal apparatus and its operating method | |
JP2003303028A (en) | Version-up system of navigation system | |
JP2006069125A (en) | Image forming apparatus, and portable storage medium with stored firmware therefor | |
KR20100016174A (en) | Storage device and method for data-smuggling | |
JP4810172B2 (en) | Control device, version upgrade method, and program | |
JP2002244877A (en) | Printer device and program updating method for the same | |
KR20030073824A (en) | A method and apparatus for upgrading a system firmware by using an universal serial bus | |
JPH07191835A (en) | Computer system | |
JP2002169700A (en) | Update memory of stored-program | |
JP2002222106A (en) | Device and method for setting client environment in client/server system, program storage medium, and program | |
JP2002366501A (en) | Peripheral device, computer system and installer program | |
JP4430931B2 (en) | Image forming apparatus and firmware update method thereof | |
JPH1027097A (en) | Method and device for rewriting data of flash rom | |
JP3361229B2 (en) | Communication control device | |
JP2001051844A (en) | Computer peripheral equipment and firmware updating method | |
JP2003076565A (en) | Equipment controller, program update method, storage medium and program | |
JP2000259538A (en) | Network control unit, network setting method and storage medium storing computer readable program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20040517 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20041018 |
|
A762 | Written abandonment of application |
Free format text: JAPANESE INTERMEDIATE CODE: A762 Effective date: 20050422 |