JP4967881B2 - Update data transmission method, firmware rewriting system, and update data transmission program - Google Patents

Update data transmission method, firmware rewriting system, and update data transmission program Download PDF

Info

Publication number
JP4967881B2
JP4967881B2 JP2007189150A JP2007189150A JP4967881B2 JP 4967881 B2 JP4967881 B2 JP 4967881B2 JP 2007189150 A JP2007189150 A JP 2007189150A JP 2007189150 A JP2007189150 A JP 2007189150A JP 4967881 B2 JP4967881 B2 JP 4967881B2
Authority
JP
Japan
Prior art keywords
data
record
format
update
target
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.)
Active
Application number
JP2007189150A
Other languages
Japanese (ja)
Other versions
JP2008059564A (en
Inventor
雅幸 中川
明男 高本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2007189150A priority Critical patent/JP4967881B2/en
Publication of JP2008059564A publication Critical patent/JP2008059564A/en
Application granted granted Critical
Publication of JP4967881B2 publication Critical patent/JP4967881B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Description

本発明は、周辺装置のファームウェア(プログラム)の更新データをコンピュータが周辺装置に送信するための更新データ送信方法及び当該更新データ送信方法をコンピュータに実行させるための更新データ送信プログラムに関する。また、周辺装置のファームウェア更新データを周辺装置に対して送信するコンピュータと、コンピュータからのファームウェア更新データを受信して自身のファームウェアを書き換える周辺装置とからなるファームウェア書き換えシステムに関する。   The present invention relates to an update data transmission method for a computer to transmit update data of firmware (program) of a peripheral device to the peripheral device, and an update data transmission program for causing a computer to execute the update data transmission method. The present invention also relates to a firmware rewriting system including a computer that transmits firmware update data of a peripheral device to the peripheral device, and a peripheral device that receives firmware update data from the computer and rewrites its own firmware.

近年のプリンタ等の周辺装置では、ファームウェアをフラッシュメモリに格納し容易に更新できるよう構成されている。例えば、制御プログラムの更新用データを外部装置より受信し、フラッシュメモリの第2記憶領域に記憶された書き換えプログラムを用いて、フラッシュメモリの第1記憶領域に記憶された制御プログラムを、受信した更新用データに書き換えるファームウェアの更新方法が知られている(特許文献1参照)。また、ネットワークに接続された周辺装置では、当該ネットワークを介してコンピュータからファームウェア更新データを受信し、ファームウェアを更新することができる。   In recent peripheral devices such as printers, firmware is stored in a flash memory and can be easily updated. For example, the control program update data is received from an external device, and the control program stored in the first storage area of the flash memory is received using the rewrite program stored in the second storage area of the flash memory. There is known a firmware update method for rewriting data for use (see Patent Document 1). In addition, a peripheral device connected to a network can receive firmware update data from a computer via the network and update the firmware.

コンピュータは、周辺装置のファームウェア更新データを、例えばモトローラ(登録商標)S3フォーマット形式で周辺装置に送信する。モトローラS3フォーマットは、プログラム言語を用いて作成されたソースコードをコンパイルしたものを16進数のテキスト形式にしたもので、後述するようにデータ格納先アドレス等の管理データ部と実データ部とから構成される(図2(a)参照)。モトローラS3フォーマットでは、1バイトのデータが2文字で表現されている。周辺装置は、受信したテキスト形式のモトローラS3フォーマット(以下「S3アスキーフォーマット」と称する)のデータをバイナリ変換してフラッシュメモリに書き込む。このように、更新データはモトローラS3フォーマットのような所定のフォーマット形式で表され、1レコード(パケット)単位で送受信される。   The computer transmits the firmware update data of the peripheral device to the peripheral device in, for example, a Motorola (registered trademark) S3 format. The Motorola S3 format is a hex text format compiled from source code created using a programming language, and consists of a management data part such as a data storage destination address and an actual data part as will be described later. (See FIG. 2A). In the Motorola S3 format, 1-byte data is represented by two characters. The peripheral device performs binary conversion on the received text-format Motorola S3 format data (hereinafter referred to as “S3 ASCII format”) and writes the data to the flash memory. Thus, the update data is expressed in a predetermined format such as the Motorola S3 format, and is transmitted and received in units of one record (packet).

パケットを生成する方法として、例えば、RAMの記憶領域をヘッダが格納されるヘッダ領域とデータが格納されるデータ領域とに分離し、ヘッダ領域に格納されたヘッダとデータ領域に格納されたデータとを、ハードウェアにより結合して送信パケットを生成する方法が知られている(特許文献2参照)。   As a method of generating a packet, for example, a RAM storage area is divided into a header area in which a header is stored and a data area in which data is stored, and the header stored in the header area and the data stored in the data area There is known a method of generating a transmission packet by combining the above with hardware (see Patent Document 2).

周辺装置の高機能化によりファームウェアのサイズは増大し、これに伴って、ファームウェアの更新時に送受信される更新データのレコード数(単位データ数)も増大している。更新データのサイズが大きくなると、コンピュータと周辺装置との通信インターフェースがUSB、パラレル、Ethernet(登録商標)その他の高速通信インターフェースである場合にはそれほど問題とならないものの、RS−232Cやその他の低速通信インターフェースである場合には更新データの通信に長時間を要してしまう。例えば、6Mバイトのデータ転送には、通信速度が19200bpsの場合に約45分、通信速度が9600bpsの場合に約90分かかることになる。通常、ファームウェア更新データの通信中には当該周辺装置は使用できないため、特に24時間稼動している施設において、通信時間の短縮が望まれている。   The size of the firmware has increased due to the higher functionality of peripheral devices, and accordingly, the number of update data records (number of unit data) transmitted and received at the time of firmware update has also increased. When the size of the update data increases, RS-232C or other low-speed communication is not a problem when the communication interface between the computer and the peripheral device is a USB, parallel, Ethernet (registered trademark) or other high-speed communication interface. In the case of an interface, it takes a long time to communicate update data. For example, 6 Mbytes of data transfer takes approximately 45 minutes when the communication speed is 19200 bps and approximately 90 minutes when the communication speed is 9600 bps. Usually, since the peripheral device cannot be used during communication of firmware update data, it is desired to shorten the communication time particularly in a facility that operates for 24 hours.

そこで、RS−232C(例えば9600bps)によりコンピュータからのデータを一時的にメモリに保存し、当該メモリに保存したデータをより高速(例えば50000bps)なシリアル通信あるいはパラレル通信により携帯型情報機器に転送することのできるインターフェースボックスが知られている(特許文献3参照)。これにより、携帯型情報機器がデータ受信処理に占有される時間を削減することができる。   Therefore, data from the computer is temporarily stored in a memory by RS-232C (for example, 9600 bps), and the data stored in the memory is transferred to a portable information device by serial communication or parallel communication at higher speed (for example, 50000 bps). An interface box that can be used is known (see Patent Document 3). Thereby, the time for which the portable information device is occupied by the data reception process can be reduced.

また、転送するデータ量を減らすことによって通信時間を短縮することができる。例えば、プリンタに送信すべき印字データの中に連続する空白文字データ(0x20)がいくつあるかをカウントし、当該個数が基準個数以上のときは、その連続する空白文字データに代えて連続空白文字データに相当する分だけプリンタの印字位置(印字ヘッド)を一括移動させる制御データを送信する方法が知られている(特許文献4参照)。   Further, the communication time can be shortened by reducing the amount of data to be transferred. For example, the number of continuous blank character data (0x20) in the print data to be transmitted to the printer is counted. If the number is equal to or greater than the reference number, the continuous blank character data is substituted for the continuous blank character data. A method of transmitting control data for collectively moving the printing position (print head) of a printer by an amount corresponding to data is known (see Patent Document 4).

特開2005−63050号公報Japanese Patent Laid-Open No. 2005-63050 特開2000−134230号公報JP 2000-134230 A 特開平11−212908号公報Japanese Patent Laid-Open No. 11-212908 特開平06−242894号公報Japanese Patent Laid-Open No. 06-242894

しかしながら、特許文献3に開示された技術においては、インターフェースボックスを用意すると共に周辺装置を当該インターフェースボックスに対応させなければならず汎用性がないという問題があった。また、コンピュータとインターフェースボックスとの間の通信速度がボトルネックとなり、システム全体としては更新データの通信時間を短縮することはできないという問題があった。   However, the technique disclosed in Patent Document 3 has a problem that the interface box must be prepared and the peripheral device must correspond to the interface box, so that there is no versatility. Further, the communication speed between the computer and the interface box becomes a bottleneck, and there is a problem that the communication time of update data cannot be shortened as the entire system.

本発明は、上記課題を解決するためになされたものであって、通信速度を変更することなく、周辺装置のファームウェア更新データをコンピュータから周辺装置へ送る際の通信時間を短縮することのできる更新データ送信方法、更新データ送信プログラム及びファームウェア書き換えシステムを提供することを目的とする。   The present invention has been made to solve the above-mentioned problem, and can update communication time when sending firmware update data of a peripheral device from a computer to the peripheral device without changing the communication speed. An object is to provide a data transmission method, an update data transmission program, and a firmware rewriting system.

上記目的を達成するため本発明の更新データ送信方法は、周辺装置のファームウェアを更新するための更新データを周辺装置に送信するホスト装置における更新データ送信方法であって、(a)ソースオブジェクトデータとソース管理データとを含む第1形式のソースレコードを順次読み込むステップと、(b)前記ソースレコードを、ターゲットオブジェクトデータとターゲット管理データとを含む第2形式のターゲットレコードに変換するステップと、(c)前記ターゲットレコードを前記周辺装置に送信するステップと、を備え、前記ステップ(b)は、(b1)前記ソースオブジェクトデータを所定長さになるよう結合したオブジェクトデータ列を生成するステップと、(b2)前記ステップ(b1)の実行中に、前記ソースオブジェクトデータ内に前記ターゲット管理データの長さ以上の空白データ列があるか否かを検出し、前記空白データ列が存在する場合には、前記空白データ列の直前のデータで終わるオブジェクトデータと、前記空白データ列の直後のデータから始まるオブジェクトデータを生成し、前記空白データ列を含まないようにするステップと、(b3)前記ステップ(b1)及び(b2)で生成されたオブジェクトデータに応じた管理データを生成し、これらオブジェクトデータ及び管理データをそれぞれ前記ターゲットオブジェクトデータ及び前記ターゲット管理データとする前記ターゲットレコードを生成するステップと、を備えることを特徴とする。   In order to achieve the above object, an update data transmission method of the present invention is an update data transmission method in a host device that transmits update data for updating firmware of a peripheral device to the peripheral device, comprising: (a) source object data and Sequentially reading source records in a first format including source management data; (b) converting the source records into second format target records including target object data and target management data; and (c) Transmitting the target record to the peripheral device, wherein the step (b) includes: (b1) generating an object data string obtained by combining the source object data to have a predetermined length; b2) During the execution of the step (b1), the source object Detecting whether or not there is a blank data string longer than the length of the target management data, and if the blank data string exists, the object data ending with the data immediately before the blank data string, and Generating object data starting from data immediately after the blank data string so as not to include the blank data string; and (b3) management according to the object data generated in steps (b1) and (b2). Generating data, and generating the target record using the object data and the management data as the target object data and the target management data, respectively.

また、本発明のホスト装置は、周辺装置のファームウェアを更新するための更新データを周辺装置に送信するホスト装置において、ソースオブジェクトデータとソース管理データとを含む第1形式のソースレコードを順次読み込み、読み込んだ前記ソースレコードを、ターゲットオブジェクトデータとターゲット管理データとを含む第2形式のターゲットレコードに変換し、変換された前記ターゲットレコードを前記周辺装置に送信する制御部を備え、前記制御部は、前記ソースオブジェクトデータを所定長さになるよう結合したオブジェクトデータ列を生成するデータ連結部と、前記ソースオブジェクトデータ内に前記ターゲット管理データの長さ以上の空白データ列があるか否かを検出する空白データ検出部と、前記データ連結部により生成されたオブジェクトデータに応じた管理データを生成し、これらオブジェクトデータ及び管理データをそれぞれ前記ターゲットオブジェクトデータ及び前記ターゲット管理データとする前記ターゲットレコードを生成するレコード生成部と、を備え、前記データ連結部は、前記空白データ検出部により前記空白データ列が検出された場合には、前記空白データ列の直前のデータで終わるオブジェクトデータと、前記空白データ列の直後のデータから始まるオブジェクトデータを生成し、オブジェクトデータ内に前記空白データ列を含まないようにすることを特徴とする。   The host device according to the present invention sequentially reads source records of the first format including source object data and source management data in a host device that transmits update data for updating the firmware of the peripheral device to the peripheral device, The read source record is converted into a second format target record including target object data and target management data, and the control unit transmits the converted target record to the peripheral device. A data concatenation unit that generates an object data string obtained by combining the source object data so as to have a predetermined length; and detecting whether or not there is a blank data string in the source object data that is longer than the target management data. By the blank data detection unit and the data connection unit A record generation unit that generates management data corresponding to the generated object data, and generates the target record using the object data and management data as the target object data and the target management data, respectively, and the data connection When the blank data string is detected by the blank data detector, the section generates object data ending with data immediately before the blank data string and object data starting with data immediately after the blank data string. The empty data string is not included in the object data.

これらの構成によれば、実データを連結することによりレコード数(送信単位データ数)が削減され、レコード毎に必要な管理データの数を削減することができる。これにより、送信データの総量が減少し、データ通信時間を短縮することができる。また、連結データ長に上限を設けているので、通信エラー等の不具合が発生した場合であっても当該不具合を早期に検出してデータ通信をリトライすることができ、無駄なデータ通信を回避することができる。また、管理データの長さを超えて連続する空白データが削除されるため、送信するデータの総量をさらに減少させることができる。   According to these configurations, the number of records (the number of transmission unit data) is reduced by concatenating actual data, and the number of management data required for each record can be reduced. As a result, the total amount of transmission data is reduced, and the data communication time can be shortened. In addition, since an upper limit is set for the linked data length, even if a malfunction such as a communication error occurs, the malfunction can be detected early and data communication can be retried, thereby avoiding unnecessary data communication. be able to. Further, since the blank data that continues beyond the length of the management data is deleted, the total amount of data to be transmitted can be further reduced.

なお、以下の説明における「空白データ」とは、不揮発性メモリ(例えばフラッシュメモリ)を初期化またはデータ消去したときの値を示すものである。一般にこの値は0xFFであるが、本発明は0xFFに限定されるものではない。   In the following description, “blank data” indicates a value when a nonvolatile memory (for example, a flash memory) is initialized or data is erased. Generally, this value is 0xFF, but the present invention is not limited to 0xFF.

これらの場合において、前記ソースレコードはアスキーコードで表現される形式であり、前記ターゲットレコードはバイナリで表現される形式であることが好ましい。アスキーコードをバイナリ変換することにより送信データ総量を略半減させることができ、通信時間も略半分に短縮できる。また、従来のように周辺装置側でバイナリ変換する必要がなく、周辺装置におけるファームウェアの書き換え処理の負荷を軽減することができる。周辺装置のCPUは一般にコンピュータのCPUに比して処理能力が低いため、周辺装置の負荷を軽減することにより、ホストコンピュータと周辺装置とを含めたシステム全体としての書き換え処理のパフォーマンスを向上させることができる。   In these cases, it is preferable that the source record has a format expressed in ASCII code, and the target record has a format expressed in binary. By converting the ASCII code to binary, the total amount of transmission data can be halved and the communication time can be shortened to almost half. Further, there is no need to perform binary conversion on the peripheral device side as in the prior art, and the load of firmware rewriting processing in the peripheral device can be reduced. Since the CPU of the peripheral device generally has a lower processing capacity than the CPU of the computer, the performance of the rewriting process as a whole system including the host computer and the peripheral device is improved by reducing the load on the peripheral device. Can do.

またこれらの場合において、前記所定長さは、前記周辺装置のファームウェアが格納されるフラッシュメモリのデータ書き換え単位長さ以下に設定されることが望ましい。所定長さがデータ書き換え単位長さ(セクタ容量)より長いと、周辺装置側で実データをデータ書き換え単位長さ毎に分割する処理が必要となる場合があり、これにより周辺装置の負荷が高くなってシステム全体としての書き換え処理のパフォーマンスが低下してしまうためである。   In these cases, it is preferable that the predetermined length is set to be equal to or less than the data rewrite unit length of the flash memory storing the firmware of the peripheral device. If the predetermined length is longer than the data rewrite unit length (sector capacity), the peripheral device may need to divide the actual data for each data rewrite unit length, which increases the load on the peripheral device. This is because the performance of the rewriting process as a whole system is lowered.

またこれらの場合において、前記所定長さは、前記周辺装置が接続されるインターフェースの種類に応じて設定されることが望ましい。また、前記周辺装置との通信速度を測定し、当該測定結果に基づいて前記所定長さを設定することが望ましい。通信インターフェースあるいは通信速度に応じて所定長さを変更することにより、より効率的にデータ通信でき通信時間を短縮することができる。   In these cases, the predetermined length is preferably set according to the type of interface to which the peripheral device is connected. In addition, it is desirable to measure a communication speed with the peripheral device and set the predetermined length based on the measurement result. By changing the predetermined length according to the communication interface or the communication speed, data communication can be performed more efficiently and the communication time can be shortened.

また、本発明は、上記の更新データ送信方法における各ステップを、コンピュータに実行させるためのプログラムまたは当該プログラムを記録した記録媒体として提供することができる。   Further, the present invention can be provided as a program for causing a computer to execute each step in the above update data transmission method or a recording medium on which the program is recorded.

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

<システムの全体構成>
図1に示すように、本発明の実施形態のファームウェア書き換えシステム1は、ホストコンピュータ11、サーバ12a,12b,12c、周辺装置としてのプリンタ13a1,13a2,13b,13c,13dで構成されている。
<Overall system configuration>
As shown in FIG. 1, a firmware rewriting system 1 according to an embodiment of the present invention includes a host computer 11, servers 12a, 12b, and 12c, and printers 13a1, 13a2, 13b, 13c, and 13d as peripheral devices.

ホストコンピュータ11とサーバ12a〜12cはネットワーク14を介して接続されている。サーバ12aには、プリンタ13a1,13a2がそれぞれインターフェース15a1,15a2を介して接続されている。同様に、サーバ12bには、プリンタ13bがインターフェース15bを介して接続され、サーバ12cには、プリンタ13cがインターフェース15cを介して接続されている。また、プリンタ13dは、インターフェース15dを介してネットワーク14に接続され、ネットワーク14上のホストコンピュータ11及びサーバ12a〜12cから制御可能である。   The host computer 11 and the servers 12a to 12c are connected via the network 14. Printers 13a1 and 13a2 are connected to the server 12a via interfaces 15a1 and 15a2, respectively. Similarly, a printer 13b is connected to the server 12b via an interface 15b, and a printer 13c is connected to the server 12c via an interface 15c. The printer 13d is connected to the network 14 via the interface 15d and can be controlled from the host computer 11 and the servers 12a to 12c on the network 14.

サーバ12a〜12cは、汎用パーソナルコンピュータやPOS端末等の専用情報機器として実現される。   The servers 12a to 12c are realized as dedicated information devices such as general-purpose personal computers and POS terminals.

ネットワーク14は、Ethernet(登録商標)等の構内通信網(LAN)として実現してもよいし、専用線、インターネット、VPN等の広域通信網(WAN)として実現してもよい。ネットワーク14がWANである場合には、ホストコンピュータ11から遠隔地にある各サーバ12a〜12cに対して、接続されるプリンタ13a1,13a2,13b,13cのファームウェアの書き換え処理を指示することができる。また、ホストコンピュータ11は、ネットワーク14に接続されるプリンタ13dに対してファームウェアの書き換え処理を指示することができる。すなわち、1台のホストコンピュータ11から遠隔地にある複数のプリンタ13a1,13a2,13b,13c,13dに対するファームウェア書き換え処理を一度に指示することができる。   The network 14 may be realized as a local communication network (LAN) such as Ethernet (registered trademark), or may be realized as a wide area communication network (WAN) such as a dedicated line, the Internet, or VPN. When the network 14 is a WAN, the host computer 11 can instruct the servers 12a to 12c at remote locations to rewrite the firmware of the connected printers 13a1, 13a2, 13b, and 13c. Further, the host computer 11 can instruct the printer 13d connected to the network 14 to perform a firmware rewriting process. That is, it is possible to instruct firmware rewriting processing for a plurality of printers 13a1, 13a2, 13b, 13c, and 13d at a remote location from one host computer 11 at a time.

インターフェース15a1,15a2,15b,15cは、RS−232C(最大通信速度14.4kbps)、USB(USB2.0で最大通信速度60Mbps)等のシリアルインターフェースで実現してもよいし、SCSI(最大通信速度320Mbps)等のパラレルインターフェースで実現してもよい。   The interfaces 15a1, 15a2, 15b, and 15c may be realized by a serial interface such as RS-232C (maximum communication speed 14.4 kbps), USB (USB 2.0, maximum communication speed 60 Mbps), or SCSI (maximum communication speed). It may be realized by a parallel interface such as 320 Mbps).

ここで、サーバ12a〜12cは、ネットワーク14を介して互いに異なる通信速度でホストコンピュータ11に接続されていてもよい。同様に、プリンタ13a1、13a2は互いに異なる通信速度でサーバ12aに接続されていてもよい。   Here, the servers 12 a to 12 c may be connected to the host computer 11 via the network 14 at different communication speeds. Similarly, the printers 13a1 and 13a2 may be connected to the server 12a at different communication speeds.

このようなファームウェア書き換えシステム1において、ホストコンピュータ11からプリンタ13a1,13a2,13b,13c,13dに対してファームウェアの更新データが送信され、各プリンタは自身のファームウェアを書き換える。あるいは、サーバ12a〜12cから自身に接続されるプリンタ13a1,13a2,13b,13cに対してファームウェアの更新データが送信され、各プリンタは自身のファームウェアを書き換える。以下では、サーバ12b(コンピュータ)とプリンタ13b(周辺装置)とからなるファームウェア書き換えシステム1を一例として挙げ、プリンタ13bのファームウェアを書き換えるための処理について説明する。   In such a firmware rewriting system 1, firmware update data is transmitted from the host computer 11 to the printers 13a1, 13a2, 13b, 13c, and 13d, and each printer rewrites its own firmware. Alternatively, firmware update data is transmitted from the servers 12a to 12c to the printers 13a1, 13a2, 13b, and 13c connected thereto, and each printer rewrites its own firmware. Hereinafter, the firmware rewriting system 1 including the server 12b (computer) and the printer 13b (peripheral device) is taken as an example, and processing for rewriting the firmware of the printer 13b will be described.

<モトローラS3フォーマット>
プリンタ13bのファームウェアはプログラム言語を用いて作成され、そのソースコードがコンパイルされて16進数のテキスト形式であるモトローラS3フォーマットとしてサーバ12bに提供される。尤も、サーバ12bにファームウェアのソースコードを提供し、サーバ12b上でモトローラS3フォーマットに変換してもよい。
<Motorola S3 format>
The firmware of the printer 13b is created using a program language, and the source code is compiled and provided to the server 12b as a Motorola S3 format which is a hexadecimal text format. However, firmware source code may be provided to the server 12b and converted to the Motorola S3 format on the server 12b.

モトローラS3フォーマットのレコード(単位データ)20aは、図2(a)に示すように、タイプフィールド21、データ長フィールド22、アドレスフィールド23、データフィールド24、チェックサムフィールド25から構成される。タイプフィールド21は、モトローラSフォーマットの型(レコードタイプ)を示すデータであり2バイトで表現される。本実施形態例ではS3型であるが、モトローラSフォーマットにはこの他にS1型、S2型がある。また、S1型〜S3型のターミネータとしてそれぞれS7型〜S9型が定義されている。データ長フィールド22は、当該データ長フィールド22の後に続くデータの数(レコード長)を示すデータで2バイトで表現される。アドレスフィールド23は、実データの先頭バイトが格納されるアドレスを示すデータで8バイトで表現される。データフィールド24は、プリンタ13bのフラッシュメモリ132に書き込まれる実データ(オブジェクトデータ)で2〜500バイトで表現される。チェックサムフィールド25は、データ長フィールド22、アドレスフィールド23、データフィールド24の各バイト値に基づいて算出されるチェックサムで2バイトで表現される。   As shown in FIG. 2A, the Motorola S3 format record (unit data) 20a includes a type field 21, a data length field 22, an address field 23, a data field 24, and a checksum field 25. The type field 21 is data indicating the type (record type) of the Motorola S format and is represented by 2 bytes. In this embodiment, the S3 type is used, but the Motorola S format includes the S1 type and the S2 type. Further, S7 type to S9 type are defined as S1 type to S3 type terminators, respectively. The data length field 22 is data indicating the number of data (record length) following the data length field 22 and is expressed in 2 bytes. The address field 23 is data representing an address where the first byte of the actual data is stored and is represented by 8 bytes. The data field 24 is actual data (object data) written in the flash memory 132 of the printer 13b and is expressed by 2 to 500 bytes. The checksum field 25 is a checksum calculated based on each byte value of the data length field 22, the address field 23, and the data field 24 and is expressed by 2 bytes.

以下の説明では、実データ以外のデータ、すなわち、レコードタイプ、レコード長、アドレス及びチェックサムを合わせて「管理データ」と称し、実データと管理データとを合わせて「レコード(単位データ)」と称する。   In the following description, data other than actual data, that is, record type, record length, address and checksum are collectively referred to as “management data”, and the actual data and management data are collectively referred to as “record (unit data)”. Called.

<サーバの構成>
図3に示すように、サーバ12bは主として、制御部(CPU)111、記憶部112、通信インターフェース113、入力部114、表示部115を備えており、これらはそれぞれバス116を介して接続されている。
<Server configuration>
As shown in FIG. 3, the server 12 b mainly includes a control unit (CPU) 111, a storage unit 112, a communication interface 113, an input unit 114, and a display unit 115, which are connected via a bus 116. Yes.

制御部111は、記憶部112に記憶された各種プログラムを適宜読み出して実行し、サーバ12bの全体の制御を司る。また、制御部111は、データ読み込み部111a、空白データ検出部111b、データ長比較部111c、データ連結部111d、レコード(単位データ)生成部111e、データ変換部111fを備えている。   The control unit 111 appropriately reads and executes various programs stored in the storage unit 112 and controls the entire server 12b. The control unit 111 includes a data reading unit 111a, a blank data detection unit 111b, a data length comparison unit 111c, a data connection unit 111d, a record (unit data) generation unit 111e, and a data conversion unit 111f.

データ読み込み部111aは、サーバ12bのオペレータからのファームウェア書き換え指示あるいはホストコンピュータ11からのファームウェア書き換え指示に応じて、プリンタ13bのファームウェア更新データ(モトローラS3フォーマット形式)の各レコード(ソースレコード)を記憶部112から順次読み込む。なお、更新データは、サーバ12b上でオペレータから提供されたものであっても、ホストコンピュータ11からネットワーク14を介して受信したものであってもよい。   The data reading unit 111a stores each record (source record) of firmware update data (Motorola S3 format) of the printer 13b in response to a firmware rewrite instruction from the operator of the server 12b or a firmware rewrite instruction from the host computer 11. Read sequentially from 112. The update data may be provided from the operator on the server 12b or may be received from the host computer 11 via the network 14.

空白データ検出部111bは、データ読み込み部111aが読み込んだ更新データの実データに含まれる所定長さ以上の連続した空白データの有無を検出する。   The blank data detection unit 111b detects the presence or absence of continuous blank data having a predetermined length or more included in the actual data of the update data read by the data reading unit 111a.

データ長比較部111cは、実データを連結した際の実データの長さ(連結データ長)と、予め設定された連結データ長最大値とを比較する。   The data length comparison unit 111c compares the actual data length (concatenated data length) when the actual data is concatenated with a preset concatenated data length maximum value.

データ連結部111dは、連結データ長最大値を超えない範囲で順次ソースレコードの実データを連結する。また、空白データ検出部111bにより実データ中に所定長さ以上の空白データが検出された場合に、データ連結部111dは、その空白データの前後で実データを分割し空白データを削除する。フラッシュメモリ132は消去されると空白データ(0xFF)となるため、空白データを削除することができる。   The data concatenation unit 111d sequentially concatenates the actual data of the source records within a range not exceeding the maximum value of the concatenated data length. Further, when blank data having a predetermined length or more is detected in the actual data by the blank data detecting unit 111b, the data connecting unit 111d divides the actual data before and after the blank data and deletes the blank data. Since the flash memory 132 becomes blank data (0xFF) when it is erased, the blank data can be deleted.

レコード生成部111eは、データ連結部111dにより連結された実データ(連結データ)に応じた管理データを当該連結データに付加して新たなレコード(ターゲットレコード)20cまたは20dを生成する。すなわち、連結データ長に基づいてレコード長を生成し、連結データの先頭バイトを格納するアドレスを指定し、チェックサムを生成する。   The record generation unit 111e adds management data corresponding to the actual data (concatenated data) concatenated by the data concatenation unit 111d to the concatenated data to generate a new record (target record) 20c or 20d. That is, a record length is generated based on the concatenated data length, an address for storing the first byte of the concatenated data is specified, and a checksum is generated.

このように、所定長さ以上連続する空白データが検出されないときは、データ連結部111dは、連結データ長最大値に達するまでソースレコードの実データを連結してターゲットレコードの実データを生成する。また、所定長さ以上連続する空白データが検出されたときは、データ連結部111dは、当該連続空白データの直前までの実データをこれまでに連結した実データに連結してターゲットレコードの実データとし、当該連続空白データの直後の実データを次のターゲットレコードの実データの先頭データとする。なお、連続空白データの直前の実データをこれまでに連結した実データに連結する場合にも、連結データ長最大値を超えないようにする(連結データ長最大値を超える場合には、その超える分の実データは次のターゲットレコードの実データとする)。   As described above, when blank data that is longer than the predetermined length is not detected, the data concatenation unit 111d concatenates the actual data of the source records until the maximum value of the concatenated data length is reached, and generates the actual data of the target record. In addition, when blank data continuous for a predetermined length or more is detected, the data concatenation unit 111d concatenates the actual data up to immediately before the continuous blank data with the actual data concatenated so far, and the actual data of the target record. And the actual data immediately after the continuous blank data is set as the head data of the actual data of the next target record. Even when the actual data immediately before the continuous blank data is concatenated with the actual data concatenated so far, the maximum concatenated data length should not be exceeded (if the concatenated data length exceeds the maximum value, it will be exceeded) Minute actual data is the actual data of the next target record).

データ変換部111fは、データ読み込み部111aにより読み出されたレコード20aからなる更新データまたはレコード生成部111eにより生成されたレコード20dからなる更新データをアスキー形式からバイナリ形式に変換する。   The data conversion unit 111f converts update data composed of the records 20a read by the data reading unit 111a or update data composed of the records 20d generated by the record generation unit 111e from the ASCII format to the binary format.

記憶部112は、制御部111の作業領域や更新データの格納領域として機能し、ローカルメモリやキャッシュメモリを含んでよい。記憶部112は、電気的、磁気的あるいは光学的にデータ読み書き可能であり、例えば、半導体記憶装置(ハードディスク、メモリ)、磁気テープ、フレキシブルディスク、光磁気ディスク、光ディスクが含まれる。   The storage unit 112 functions as a work area for the control unit 111 and a storage area for update data, and may include a local memory and a cache memory. The storage unit 112 can read and write data electrically, magnetically, or optically, and includes, for example, a semiconductor storage device (hard disk, memory), magnetic tape, flexible disk, magneto-optical disk, and optical disk.

通信インターフェース113は、プリンタ13bと接続するためのシリアルインターフェースやパラレルインターフェースを含む。また、ネットワーク14を介してホストコンピュータ11と接続するためのEthernet(登録商標)アダプタやモデムを含む。   The communication interface 113 includes a serial interface and a parallel interface for connecting to the printer 13b. Further, an Ethernet (registered trademark) adapter and a modem for connecting to the host computer 11 via the network 14 are included.

入力部114は、オペレータからの入力を受け付けるものであり、キーボード、ポインティングデバイスを含む。   The input unit 114 receives input from an operator, and includes a keyboard and a pointing device.

表示部115は、オペレータに対して、データの入力を受け付ける画面を表示したり、サーバ12bによる各種の処理結果や進捗状況を表示するものであり、液晶表示装置等のディスプレイを含む。   The display unit 115 displays a screen for accepting data input to the operator, displays various processing results and progress by the server 12b, and includes a display such as a liquid crystal display device.

<プリンタの構成>
図3に示すように、プリンタ13bは主として、制御部(CPU)131、フラッシュメモリ132、RAM133、通信インターフェース134、操作ボタン135、表示部136、プリンタユニット137を備えており、これらはそれぞれバス138を介して接続されている。
<Printer configuration>
As shown in FIG. 3, the printer 13 b mainly includes a control unit (CPU) 131, a flash memory 132, a RAM 133, a communication interface 134, an operation button 135, a display unit 136, and a printer unit 137, each of which includes a bus 138. Connected through.

制御部131は、フラッシュメモリ132に記憶されたファームウェアや各種プログラムを適宜読み出して実行し、プリンタ13bの全体の制御を司る。また、制御部131は、サーバ12bからの指示に応じて、または、ファームウェアの更新データの受信に応じて、書き換えプログラムを読み出し実行してファームウェアを書き換えるファームウェア書き換え部131aを備えている。   The control unit 131 appropriately reads and executes firmware and various programs stored in the flash memory 132, and controls the entire printer 13b. In addition, the control unit 131 includes a firmware rewriting unit 131a that reads and executes a rewriting program and rewrites firmware in response to an instruction from the server 12b or in response to reception of firmware update data.

フラッシュメモリ132は、セクタ単位(例えば64KB単位)で、データの一括消去および書き換えが可能な不揮発性メモリである。   The flash memory 132 is a nonvolatile memory capable of batch erasing and rewriting of data in units of sectors (for example, 64 KB units).

RAM133は、制御部131がプログラムの実行時に使用するローカルメモリやキャッシュメモリとして機能する。   The RAM 133 functions as a local memory or a cache memory used by the control unit 131 when executing a program.

通信インターフェース134は、サーバ12bと接続するための、RS−232C、USB等のシリアルインターフェースやSCSI等のパラレルインターフェースを含む。   The communication interface 134 includes a serial interface such as RS-232C and USB and a parallel interface such as SCSI for connecting to the server 12b.

操作ボタン135は、オペレータによる入力を受け付けるものである。   The operation button 135 is for accepting an input by the operator.

表示部136は、オペレータに対して、データの入力を受け付ける画面を表示したり、プリンタ13bによる各種の処理結果や進捗状況、あるいはステータス情報を表示するものであり、液晶表示装置やLEDを含む。   The display unit 136 displays a screen for accepting data input to the operator, displays various processing results and progress by the printer 13b, or status information, and includes a liquid crystal display device and LEDs.

プリンタユニット137は、印刷ヘッドや用紙搬送機構を含み、制御部131の制御下で記録紙に印刷を行う。   The printer unit 137 includes a print head and a paper transport mechanism, and performs printing on recording paper under the control of the control unit 131.

<更新データ送信処理>
次に、プリンタ13bのフラッシュメモリ132に記憶されたファームウェアを更新するための更新データを、サーバ12bがプリンタ13bに対して送信する際の処理について、図4を参照して説明する。
<Update data transmission process>
Next, processing when the server 12b transmits update data for updating the firmware stored in the flash memory 132 of the printer 13b to the printer 13b will be described with reference to FIG.

まず、サーバ12bは、ファームウェア更新データ送信処理にあたり前処理を行う(ステップS101)。例えば、制御部111が、常駐させているプリンタスプーラを停止させる。次に、データ読み込み部111aが、記憶部112に格納されているモトローラS3フォーマット形式のプリンタ13b用ファームウェア更新データを1レコードごと順次読み込む(ステップS102)。更新データの終了を示すS7レコードを読み込むと(ステップS103:Yes)、読み込んだS3フォーマットの各レコードをバイナリ変換して図2(b)に示すフォーマットに変換する(ステップS104)。   First, the server 12b performs preprocessing for firmware update data transmission processing (step S101). For example, the control unit 111 stops the resident printer spooler. Next, the data reading unit 111a sequentially reads the firmware update data for the printer 13b in the Motorola S3 format stored in the storage unit 112 for each record (step S102). When the S7 record indicating the end of the update data is read (step S103: Yes), each read record in the S3 format is binary converted to the format shown in FIG. 2B (step S104).

アスキーコード0x30(「0」)〜0x39(「9」)と0x41(「A」)〜0X46(「F」)は、バイナリ変換によってそれぞれ0x0〜0x9と0xA〜0xFとなる。すなわち、アスキーコードをバイナリに変換することによってデータ量は半減される。なお、図2に示すとおり、タイプフィールド21を除くデータ長フィールド22、アドレスフィールド23、データフィールド24のデータがバイナリ変換され、バイナリ変換されたデータ長フィールド22、アドレスフィールド23、データフィールド24のデータに基づいてチェックサムが生成される。したがって、更新データは、図2(b)に示すように、2バイトのタイプフィールド26、1バイトのデータ長フィールド27、4バイトのアドレスフィールド28、及び1バイトのチェックサムフィールド30からなる8バイトの管理データと、最大で250バイトのデータフィールド29とで構成されるレコード20bの配列となる。以下、図2(a)に示す形式を「S3アスキーフォーマット」、図2(b)に示す形式を「S3バイナリフォーマット」と称する。   The ASCII codes 0x30 (“0”) to 0x39 (“9”) and 0x41 (“A”) to 0X46 (“F”) become 0x0 to 0x9 and 0xA to 0xF, respectively, by binary conversion. That is, the data amount is halved by converting the ASCII code to binary. As shown in FIG. 2, the data in the data length field 22, the address field 23, and the data field 24 excluding the type field 21 are subjected to binary conversion, and the binary-converted data length field 22, address field 23, and data field 24 data are converted. A checksum is generated based on Therefore, as shown in FIG. 2 (b), the update data is 8 bytes comprising a 2-byte type field 26, a 1-byte data length field 27, a 4-byte address field 28, and a 1-byte checksum field 30. Is an array of records 20b composed of management data and a data field 29 of 250 bytes at the maximum. Hereinafter, the format illustrated in FIG. 2A is referred to as “S3 ASCII format”, and the format illustrated in FIG. 2B is referred to as “S3 binary format”.

次に、空白データ検出部111bが、更新データを1レコードごと読み出しながら、データフィールド29の実データ中に、10バイト以上連続した空白データ(0xFF)が含まれているか否かを検出する(ステップS105)。なお、1レコード内だけではなく、連続するレコードの実データ内で空白データの有無を検出することが好ましい。例えば、前のレコードの実データの最後の5バイトが空白データであり、次のレコードの実データの先頭の5バイトが空白データである場合には、10バイト以上連続した空白データとして検出される。   Next, the blank data detection unit 111b detects whether or not blank data (0xFF) continuous for 10 bytes or more is included in the actual data in the data field 29 while reading the update data for each record (Step S1). S105). Note that it is preferable to detect the presence or absence of blank data not only within one record but also within actual data of successive records. For example, when the last 5 bytes of the actual data of the previous record are blank data and the first 5 bytes of the actual data of the next record are blank data, they are detected as blank data that is continuous for 10 bytes or more. .

10バイト以上連続する空白データがない場合には(ステップS105:No)、データ長比較部111cは、実データを連結した場合の連結データ長が連結データ長最大値(本例では2Kバイト)を超えるか否かを判断する(ステップS106)。すなわち、これまでに読み出されたレコードの実データ長の総和が、連結データ長最大値を超えるか否かを判断する。連結データ長が、連結データ長最大値である2Kバイトを超えない場合(ステップS106:No)、データ連結部111dは、先に読み出し(連結され)た実データと今回読み出した実データとを連結する(ステップS107)。   If there is no blank data continuous for 10 bytes or more (step S105: No), the data length comparison unit 111c determines that the concatenated data length when the actual data is concatenated is the maximum concatenated data length (2K bytes in this example). It is determined whether or not it exceeds (step S106). That is, it is determined whether or not the sum of the actual data lengths of the records read so far exceeds the maximum value of the concatenated data length. If the concatenated data length does not exceed 2K bytes, which is the maximum concatenated data length (step S106: No), the data concatenation unit 111d concatenates the actual data read (concatenated) and the actual data read this time. (Step S107).

ここで、連結データ長最大値は、所定サイズのデータの通信に要する時間を、レコード長をパラメータとして測定し、通信時間が短く且つレコード長の長すぎない効果的で効率的なレコード長を、予め実験により求め決定している。ただ単にレコード長を長くしても、通信時間短縮の効果は上がらないばかりでなく、通信時のエラー検出に時間がかかり効率的でない。また、プリンタ13bのフラッシュメモリ132のセクタサイズ以下に設定することが好ましい。例えば、通信インターフェース113,134がRS−232CやUSBのシリアルインターフェースであれば、連結データ長最大値は2Kバイト程度が好ましいことを実験により求めている。   Here, the maximum value of the concatenated data length is a time required for communication of data of a predetermined size, measured using the record length as a parameter, and an effective and efficient record length in which the communication time is short and the record length is not too long. It is determined and determined in advance by experiments. However, simply increasing the record length does not increase the effect of shortening the communication time, but it also takes time to detect errors during communication and is not efficient. In addition, it is preferable to set the sector size of the flash memory 132 of the printer 13b or less. For example, if the communication interfaces 113 and 134 are RS-232C or USB serial interfaces, it is experimentally determined that the maximum value of the linked data length is preferably about 2 Kbytes.

この場合に、インターフェース毎あるいは通信速度毎に、予め定めた連結データ長最大値をルックアップテーブルとしてサーバ12b内に格納しておき適宜に選択することが好ましい。また、サーバ12bとプリンタ13bとの間の通信速度を測定し、当該測定値に応じてそのテーブルから連結データ最大値を選択してもよい。通信速度の測定は、例えば、サーバ12bからプリンタ13bに所定サイズのデータを送信し、プリンタ13bは受信が終了した旨をサーバ12bに通知し、サーバ12bは送信開始から当該通知を受信するまでの時間を計測することにより、凡その通信速度を求めることができる。   In this case, it is preferable that a predetermined maximum value of the linked data length is stored in the server 12b as a lookup table for each interface or communication speed and is selected as appropriate. Alternatively, the communication speed between the server 12b and the printer 13b may be measured, and the maximum linked data value may be selected from the table according to the measured value. For example, the communication speed is measured by transmitting data of a predetermined size from the server 12b to the printer 13b, the printer 13b notifying the server 12b that the reception has been completed, and the server 12b from the start of transmission until receiving the notification. By measuring the time, the approximate communication speed can be obtained.

次に、最後まで更新データを読み込んだか否かを判断する(ステップS108)。すなわち、ターミネータS7レコードを読み込んだか否かを判断し、ターミネータが読み出されるまでステップS105からステップS108の処理を繰り返し行う。   Next, it is determined whether update data has been read to the end (step S108). That is, it is determined whether or not the terminator S7 record has been read, and the processing from step S105 to step S108 is repeated until the terminator is read.

このように、実データのデータ長が2Kバイトとなるように実データを連結し、最終的に、図2(b)に示すS3バイナリフォーマット形式のレコード20bを、図2(c)に示すSCバイナリフォーマットの形式のレコード20cに変換する。ここで、SCバイナリフォーマットは出願人のオリジナル・データ形式であり、2バイトのタイプフィールド31(SC)と、2バイトのデータ長フィールド32(上位桁32a、下位桁32b)と、4バイトのアドレスフィールド33と、最大2Kバイトのデータフィールド34と、1バイトのチェックサムフィールド35で構成される。各管理データ(32,33,35)は、連結された実データに基づいて生成される。なお、S3フォーマットのターミネータであるS7レコードは、SCフォーマットのターミネータとしてSXレコードに置換される。   In this way, the actual data is concatenated so that the data length of the actual data is 2K bytes, and finally, the record 20b in the S3 binary format shown in FIG. 2B is converted to the SC shown in FIG. The record 20c is converted into a binary format. Here, the SC binary format is the applicant's original data format, which is a 2-byte type field 31 (SC), a 2-byte data length field 32 (upper digit 32a, lower digit 32b), and a 4-byte address. The field 33 is composed of a data field 34 having a maximum of 2 Kbytes and a checksum field 35 having 1 byte. Each management data (32, 33, 35) is generated based on the linked actual data. It should be noted that the S7 record, which is an S3 format terminator, is replaced with an SX record as an SC format terminator.

一方、ステップS105において、10バイト以上連続する空白データが検出されると(ステップS105:Yes)、データ連結部111dは、その連続する空白データを削除し、その空白データの直前までの実データをこれまでに連結した実データに連結する(ステップS109)。なお、削除された空白データの後に続く実データは、次のレコードとして生成される。そして、レコード生成部111eは、連結された実データに応じた管理データを生成して連結データに付加し、SCバイナリフォーマットのレコード20cを生成する(ステップS110)。   On the other hand, when blank data that is continuous for 10 bytes or more is detected in step S105 (step S105: Yes), the data concatenation unit 111d deletes the continuous blank data, and replaces the actual data up to immediately before the blank data. Link to the actual data linked so far (step S109). The actual data following the deleted blank data is generated as the next record. Then, the record generation unit 111e generates management data corresponding to the linked actual data, adds the management data to the linked data, and generates the SC binary format record 20c (step S110).

また、ステップS106において、連結データ長が2Kバイトを超える場合にも(ステップS106:Yes)、レコード生成部111eは、連結された実データに応じた管理データを生成して連結データに付加し、SCバイナリフォーマットのレコード20cを生成する(ステップS110)。また、図示は省略したが、アドレスフィールドで指定されるアドレスから前後のレコードが非連続であると判断される場合にも、新たなレコードが生成される。すなわち、1つのレコード内で実データが非連続とならないようにレコードが生成される。   Also, in step S106, even when the concatenated data length exceeds 2 Kbytes (step S106: Yes), the record generation unit 111e generates management data according to the concatenated actual data and adds it to the concatenated data. An SC binary format record 20c is generated (step S110). Although illustration is omitted, a new record is also generated when it is determined that the preceding and succeeding records are discontinuous from the address specified in the address field. That is, records are generated so that actual data does not become discontinuous within one record.

ステップS108において、最後まで更新データを読み込んだと判断すると(ステップS108:Yes)、サーバ12bはプリンタ13bとの通信準備を行う(ステップS111)。例えば、インターフェース15bをオープンしたり、通信線の状態(ビジー状態か否か)を確認する。また、プリンタ13bの機種IDとファームウェアバージョンを取得して、接続されているプリンタ13bが送信しようとしている更新データの対象となるプリンタであるか否かを確認する。通信準備が整うとプリンタ13bに対して、SCバイナリフォーマットのレコード20cの配列を順次プリンタ13bに送信する(ステップS112)。   If it is determined in step S108 that update data has been read to the end (step S108: Yes), the server 12b prepares for communication with the printer 13b (step S111). For example, the interface 15b is opened and the state of the communication line (whether it is busy) is confirmed. In addition, the model ID and firmware version of the printer 13b are acquired, and it is confirmed whether or not the connected printer 13b is a printer that is the target of update data to be transmitted. When communication preparation is completed, an array of SC binary format records 20c is sequentially transmitted to the printer 13b to the printer 13b (step S112).

サーバ12bは、更新データの送信が終了すると、プリンタ13bによる書き換え処理終了の頃合いを計って、プリンタからファームウェアのバージョンを取得し、ファームウェア更新の成否を確認する(ステップS113)。   When the transmission of the update data is completed, the server 12b measures the completion of the rewriting process by the printer 13b, acquires the firmware version from the printer, and confirms the success or failure of the firmware update (step S113).

このように、連結データ長最大値である2Kバイトを超えない範囲で実データを連結し新たなレコード20cを生成することにより、レコードの総数を削減することができる。レコード数が削減されれば、レコード(単位データ)毎に必要となる管理データ数も削減されるので、送信データの総量が減少し、延いてはプリンタ13bに対するファームウェア更新データの通信時間を短縮することができる。   Thus, the total number of records can be reduced by concatenating actual data within a range not exceeding 2 K bytes, which is the maximum value of the concatenated data length, and generating a new record 20c. If the number of records is reduced, the number of management data required for each record (unit data) is also reduced, so that the total amount of transmission data is reduced, and thus the communication time of firmware update data to the printer 13b is shortened. be able to.

また、管理データの長さを超える連続した空白データは削除されるため、送信データの総量を減少させることができる。連結データ長が連結データ長最大値に満たなくても新たなレコード20cが生成されるため、レコード数が増加し管理データ数が増加する可能性があるが、管理データの長さを超えて連続する空白データを削除しているため、少なくとも1レコードあたり1バイト分のデータ量を削減することができる。   Further, since continuous blank data exceeding the length of the management data is deleted, the total amount of transmission data can be reduced. Since the new record 20c is generated even if the concatenated data length is less than the maximum concatenated data length, there is a possibility that the number of records increases and the number of management data increases, but it continues beyond the length of the management data. Since the blank data to be deleted is deleted, it is possible to reduce the data amount of at least 1 byte per record.

なお、本実施形態例においては、S3アスキーフォーマットの更新データを全て読み込んだ後に、バイナリ変換処理や、空白データの検出処理、実データの連結処理を行っているが、1レコードを読み込む度にこれらの処理を行うようにしてもよい。   In this embodiment, after all the update data in the S3 ASCII format is read, binary conversion processing, blank data detection processing, and actual data concatenation processing are performed. You may make it perform the process of.

<ファームウェア書き換え処理>
次に、サーバ12bからの更新データを受信したプリンタ13bが行うファームウェア書き換え処理について図5を参照して説明する。
<Firmware rewrite processing>
Next, the firmware rewriting process performed by the printer 13b that has received the update data from the server 12b will be described with reference to FIG.

サーバ12bの通信準備(ステップS111)と並行してプリンタ13bにおいても通信準備を行う(ステップS201)。また、フラッシュメモリのイメージが作成されるRAM133の領域(以下「イメージ領域」と称する)を初期化し0xFFデータにしておく。次に、サーバ12bから送信されるSCバイナリフォーマットの更新データを1レコードずつ順次読み込む(ステップS202)。プリンタ13bは、受信したデータに基づいてチェックサムを生成し、当該チェックサムが受信したレコードに含まれるチェックサムと一致するかを検査し、データ通信の成否を判断する(ステップS203)。一致しない場合には(ステップS203:No)、サーバ12bにエラーを通知する(ステップS204)。   In parallel with the communication preparation of the server 12b (step S111), the printer 13b prepares for communication (step S201). In addition, an area of the RAM 133 (hereinafter referred to as “image area”) in which an image of the flash memory is created is initialized to 0xFF data. Next, the SC binary format update data transmitted from the server 12b is sequentially read one record at a time (step S202). The printer 13b generates a checksum based on the received data, checks whether the checksum matches the checksum included in the received record, and determines the success or failure of data communication (step S203). If they do not match (step S203: No), an error is notified to the server 12b (step S204).

チェックサムが一致し受信したレコードが正常であると判断される場合には(ステップS203:Yes)、読み出したレコード20cがターミネータSXレコードであるか否かを判断する(ステップS205)。SXレコードでなければ、アドレスフィールド33で指定されたアドレスに相当するRAM133のイメージ領域内に、データフィールド34で指定されたデータを書き込む(ステップS206)。全レコードを受信するまで上記処理(ステップS202〜S206)を繰り返し行う。   If the checksums match and it is determined that the received record is normal (step S203: Yes), it is determined whether or not the read record 20c is a terminator SX record (step S205). If it is not an SX record, the data specified in the data field 34 is written in the image area of the RAM 133 corresponding to the address specified in the address field 33 (step S206). The above processing (steps S202 to S206) is repeated until all records are received.

読み出したレコード20cがターミネータSXレコードであれば(ステップS205:Yes)、フラッシュメモリ132のファームウェア格納領域のデータを消去し(ステップS207)、RAM133のイメージ領域に格納されたデータをフラッシュメモリ132のファームウェア格納領域に書き込む(ステップS208)。書き込み終了後、プリンタ13bは自らをリセットし、更新されたファームウェアで再起動する(ステップS209)。この後、サーバ12bからの要求に応じて、ファームウェアバージョンを送信する。   If the read record 20c is a terminator SX record (step S205: Yes), the data in the firmware storage area of the flash memory 132 is erased (step S207), and the data stored in the image area of the RAM 133 is replaced with the firmware of the flash memory 132. Write to the storage area (step S208). After completing the writing, the printer 13b resets itself and restarts with the updated firmware (step S209). Thereafter, the firmware version is transmitted in response to a request from the server 12b.

<更新データ送信処理の変形例>
図4に示す上記実施形態では、S3アスキーフォーマットをS3バイナリフォーマットに変換した後SCバイナリフォーマットに変換したが、S3アスキーフォーマットをSCアスキーフォーマットに変換した後SCバイナリフォーマットに変換してもよい。すなわち、アスキー・バイナリ変換は、S3フォーマットをSCフォーマットに変換する前に行ってもよいし、S3フォーマットをSCフォーマットに変換した後に行ってもよい。
<Modification of update data transmission process>
In the above-described embodiment shown in FIG. 4, the S3 ASCII format is converted to the S3 binary format and then converted to the SC binary format. However, the S3 ASCII format may be converted to the SC ASCII format and then converted to the SC binary format. That is, the ASCII / binary conversion may be performed before the S3 format is converted to the SC format, or may be performed after the S3 format is converted to the SC format.

以下、後者の場合の更新データ送信処理を図6を参照して説明する。なお、図4に示した処理と同様の処理についての詳細な説明は省略する。図4と図6に示すとおり、バイナリ変換処理(ステップS309,S104)を実行するタイミングが異なる。また、このバイナリ変換処理の実行タイミングの相異に伴って、連結データ長最大値が異なり、前述の処理では2Kバイト(ステップS106)であったが、変形例では4Kバイトである(ステップS304)。   Hereinafter, update data transmission processing in the latter case will be described with reference to FIG. Detailed description of the same processing as that shown in FIG. 4 is omitted. As shown in FIGS. 4 and 6, the timing for executing the binary conversion process (steps S309 and S104) is different. Further, the maximum value of the concatenated data length differs according to the difference in execution timing of the binary conversion process, which was 2K bytes (step S106) in the above-described process, but is 4K bytes in the modified example (step S304). .

制御部111は前処理を行い(ステップS301)、記憶部112に格納されているモトローラS3フォーマット形式のプリンタ13b用ファームウェア更新データを1レコードごと読み込む(ステップS302)。次に、データフィールド24内の実データ中に、10バイト以上連続する空白データが含まれているか否かを判断する(ステップS303)。10バイト以上連続する空白データがない場合には(ステップS303:No)、連結データ長が連結データ長最大値(本例では4Kバイト)を超えるかを判断する(ステップS304)。連結データ長が、連結データ長最大値である4Kバイトを超えない場合(ステップS304:No)、データ連結部111dは、先に読み出した実データと今回読み出した実データとを連結する(ステップS305)。なお、ファームウェア更新用データは1レコード毎に読み出されるが、実データの連結処理(ステップS305)と連結データ長の確認処理(ステップS304)はバイト単位で行われ、実データを連結したときにその連結データ長が連結データ長最大値を超えないようにしている。次に、最後まで更新データを読み込んだか否か、すなわちターミネータ(S7レコード)を読み込んだか否かを判断し(ステップS306)、ターミネータが読み出されるまで、ステップS303からステップS306の処理を繰り返し行う。このように、実データを4Kバイト単位で再構成していく。   The control unit 111 performs preprocessing (step S301), and reads the firmware update data for the printer 13b in the Motorola S3 format stored in the storage unit 112 for each record (step S302). Next, it is determined whether the actual data in the data field 24 includes blank data that continues for 10 bytes or more (step S303). If there is no blank data continuous for 10 bytes or more (step S303: No), it is determined whether the concatenated data length exceeds the maximum concatenated data length (4 K bytes in this example) (step S304). If the concatenated data length does not exceed 4K bytes, which is the maximum concatenated data length (step S304: No), the data concatenation unit 111d concatenates the actual data read previously and the actual data read this time (step S305). ). The firmware update data is read for each record, but the actual data concatenation process (step S305) and the concatenated data length confirmation process (step S304) are performed in units of bytes. The concatenated data length is prevented from exceeding the maximum value of the concatenated data length. Next, it is determined whether update data has been read to the end, that is, whether a terminator (S7 record) has been read (step S306), and the processing from step S303 to step S306 is repeated until the terminator is read. In this way, the actual data is reconstructed in units of 4K bytes.

一方、ステップS303において、10バイト以上連続する空白データが検出されると(ステップS303:Yes)、その連続する空白データを削除し、その空白データの直前までの実データをこれまでに連結した実データに連結する(ステップS307)。そして、連結データ応じた管理データを生成して連結データに付加し、SCアスキーフォーマットのレコード20dを生成する(ステップS308)。ここで、SCアスキーフォーマットは、S3アスキーフォーマットの実データ長を4Kバイトに拡張した出願人のオリジナル・データ形式であり、2バイトのタイプフィールド36(SC)と、4バイトのデータ長フィールド37(上位桁37a、下位桁37b)と、8バイトのアドレスフィールド38と、最大4Kバイトのデータフィールド39と、2バイトのチェックサムフィールド40とで構成される。   On the other hand, when blank data of 10 bytes or more is detected in step S303 (step S303: Yes), the continuous blank data is deleted, and the real data up to the point immediately before the blank data is connected. The data is linked (step S307). Then, management data corresponding to the concatenated data is generated and added to the concatenated data to generate the SC ASCII format record 20d (step S308). Here, the SC ASCII format is the applicant's original data format in which the actual data length of the S3 ASCII format is expanded to 4 Kbytes, and is a 2-byte type field 36 (SC) and a 4-byte data length field 37 ( A high-order digit 37a, a low-order digit 37b), an 8-byte address field 38, a data field 39 having a maximum of 4 Kbytes, and a 2-byte checksum field 40.

また、ステップS304において、連結データ長が4Kバイトを超える場合にも(ステップS304:Yes)、これまでに連結した(4Kバイトの)実データに応じた管理データを生成して連結データに付加し、SCアスキーフォーマットのレコード20dを生成する(ステップS309)。   In step S304, even when the concatenated data length exceeds 4K bytes (step S304: Yes), management data corresponding to the actual data (4K bytes) concatenated so far is generated and added to the concatenated data. Then, the SC ASCII format record 20d is generated (step S309).

ステップS306において、最後まで更新データを読み込んだと判断すると(ステップS306:Yes)、SCアスキーフォーマットのレコード20dの配列をSCバイナリフォーマットのレコード20cの配列に変換する(ステップS309)。バイナリ変換が終了すると、サーバ12bはプリンタ13bとの通信準備を行い(ステップS310)、SCバイナリフォーマットのレコード20cの配列を順次プリンタ13bに送信する(ステップS311)。送信終了後、所定時間待機した後プリンタのファームウェアバージョンを取得し、更新処理の成否を確認する(ステップS312)。   If it is determined in step S306 that update data has been read to the end (step S306: Yes), the array of SC ASCII format records 20d is converted to the array of SC binary format records 20c (step S309). When the binary conversion is completed, the server 12b prepares for communication with the printer 13b (step S310), and sequentially transmits an array of SC binary format records 20c to the printer 13b (step S311). After the end of transmission, after waiting for a predetermined time, the firmware version of the printer is acquired, and the success or failure of the update process is confirmed (step S312).

なお本発明は、プログラム言語で作成されたファームウェアのソースコードをコンパイルしてS3アスキーフォーマットのデータを生成し、当該S3アスキーフォーマットのデータをSCバイナリフォーマットのデータに変換して周辺装置に送信するまでの一連の処理をサーバ12bに実行させるようにしてもよい。また、当該一連の処理をホストコンピュータ11に実行させ、サーバ12bを介してプリンタ13bに送信するようにしてもよい。   The present invention compiles firmware source code created in a programming language to generate S3 ASCII format data, converts the S3 ASCII format data into SC binary format data, and transmits the data to the peripheral device. The server 12b may be caused to execute a series of processes. Further, the series of processing may be executed by the host computer 11 and transmitted to the printer 13b via the server 12b.

また、上記実施形態例においては、周辺装置によるファームウェアの更新を、ファームウェアが格納される全セクタを一括して書き換えているが、セクタ単位毎に書き換えるようにしてもよい。   In the above embodiment, the firmware update by the peripheral device is rewritten in a batch for all sectors in which the firmware is stored, but may be rewritten for each sector.

本発明に係るシステムの全体構成を示すブロック図。1 is a block diagram showing the overall configuration of a system according to the present invention. 更新データを構成する単位データのフォーマットを示す図。The figure which shows the format of the unit data which comprises update data. サーバとプリンタの制御ブロック図。FIG. 3 is a control block diagram of a server and a printer. 更新データ送信処理のフローチャート。The flowchart of an update data transmission process. ファームウェア書き換え処理のフローチャート。The flowchart of a firmware rewriting process. 更新データ送信処理の変形例に係るフローチャート。The flowchart which concerns on the modification of update data transmission processing.

符号の説明Explanation of symbols

1…ファームウェア書き換えシステム、11…ホストコンピュータ、12a,12b,12c…サーバ、13a1,13a2,13b,13c,13d…プリンタ、14…ネットワーク、15a1,15a2,15b,15c,15d…インターフェース、20a,20b,20c,20d…レコード、111…制御部、111a…データ読み込み部、111b…空白データ検出部、111c…データ長比較部、111d…データ連結部、111e…レコード(単位データ)生成部、111f…データ変換部、112…記憶部、113,134…通信インターフェース、131…制御部、131a…ファームウェア書き換え部、132…フラッシュメモリ、133…RAM。   DESCRIPTION OF SYMBOLS 1 ... Firmware rewriting system, 11 ... Host computer, 12a, 12b, 12c ... Server, 13a1, 13a2, 13b, 13c, 13d ... Printer, 14 ... Network, 15a1, 15a2, 15b, 15c, 15d ... Interface, 20a, 20b , 20c, 20d ... record, 111 ... control unit, 111a ... data reading unit, 111b ... blank data detection unit, 111c ... data length comparison unit, 111d ... data connection unit, 111e ... record (unit data) generation unit, 111f ... Data conversion unit 112 ... storage unit 113, 134 communication interface 131 control unit 131a firmware rewrite unit 132 flash memory 133 RAM

Claims (15)

周辺装置のファームウェアを更新するための更新データを周辺装置に送信するホスト装置における更新データ送信方法であって、
(a)ソースオブジェクトデータとソース管理データとを含む第1形式のソースレコードを順次読み込むステップと、
(b)前記ソースレコードを、ターゲットオブジェクトデータとターゲット管理データとを含む第2形式のターゲットレコードに変換するステップと、
(c)前記ターゲットレコードを前記周辺装置に送信するステップと、を備え、前記ステップ(b)は、
(b1)前記ソースオブジェクトデータを所定長さになるよう結合したオブジェクトデータ列を生成するステップと、
(b2)前記ステップ(b1)の実行中に、前記ソースオブジェクトデータ内に前記ターゲット管理データの長さ以上の空白データ列があるか否かを検出し、前記空白データ列が存在する場合には、前記空白データ列の直前のデータで終わるオブジェクトデータと、前記空白データ列の直後のデータから始まるオブジェクトデータを生成し、前記空白データ列を含まないようにするステップと、
(b3)前記ステップ(b1)及び(b2)で生成されたオブジェクトデータに応じた管理データを生成し、これらオブジェクトデータ及び管理データをそれぞれ前記ターゲットオブジェクトデータ及び前記ターゲット管理データとする前記ターゲットレコードを生成するステップと、を備えることを特徴とする更新データ送信方法。
An update data transmission method in a host device for transmitting update data for updating firmware of a peripheral device to the peripheral device,
(A) sequentially reading a source record of a first format including source object data and source management data;
(B) converting the source record into a second type target record including target object data and target management data;
(C) transmitting the target record to the peripheral device, and the step (b) includes:
(B1) generating an object data string obtained by combining the source object data to have a predetermined length;
(B2) During the execution of the step (b1), it is detected whether or not there is a blank data string longer than the target management data in the source object data, and if the blank data string exists Generating object data ending with data immediately before the blank data string and object data starting from data immediately after the blank data string so as not to include the blank data string;
(B3) generating management data corresponding to the object data generated in the steps (b1) and (b2), and setting the target record using the object data and management data as the target object data and the target management data, respectively. An update data transmission method comprising: generating the update data.
請求項1に記載の更新データ送信方法において、
前記第1形式はアスキーコードで表現される形式であり、前記第2形式はバイナリで表現される形式であり、
(d)前記ソースレコードをバイナリ形式のソースレコードに変換するステップを更に備えることを特徴とする更新データ送信方法。
The update data transmission method according to claim 1,
The first format is a format expressed in ASCII code, the second format is a format expressed in binary,
(D) The update data transmission method further comprising the step of converting the source record into a binary source record.
請求項1に記載の更新データ送信方法において、
前記第1および第2形式はアスキーコードで表現される形式であり、
前記ステップ(b)は、(b4)前記ステップ(b3)により生成された前記ターゲットレコードをバイナリ形式のターゲットレコードに変換するステップを更に備えることを特徴とする更新データ送信方法。
The update data transmission method according to claim 1,
The first and second formats are expressed in ASCII code,
The step (b) further comprises the step of (b4) converting the target record generated in the step (b3) into a binary target record.
請求項1〜3のいずれか一項に記載の更新データ送信方法において、
前記所定長さは、前記周辺装置のファームウェアが格納されるフラッシュメモリのデータ書き換え単位長さ以下に設定されることを特徴とする更新データ送信方法。
In the update data transmission method according to any one of claims 1 to 3,
The update data transmission method, wherein the predetermined length is set to be equal to or less than a data rewrite unit length of a flash memory in which firmware of the peripheral device is stored.
請求項1〜4のいずれか一項に記載の更新データ送信方法において、
前記所定長さは、前記周辺装置が接続されるインターフェースの種類に応じて設定されることを特徴とする更新データ送信方法。
In the update data transmission method according to any one of claims 1 to 4,
The update data transmission method, wherein the predetermined length is set according to a type of an interface to which the peripheral device is connected.
請求項1〜5のいずれか一項に記載の更新データ送信方法において、
(e)前記周辺装置との通信速度を測定し、当該測定結果に基づいて前記所定長さを設定するステップを更に備えることを特徴とする更新データ送信方法。
In the update data transmission method according to any one of claims 1 to 5,
(E) An update data transmission method further comprising the step of measuring a communication speed with the peripheral device and setting the predetermined length based on the measurement result.
請求項1〜6のいずれか一項に記載の更新データ送信方法における各ステップを、コンピュータに実行させるためのプログラム。   The program for making a computer perform each step in the update data transmission method as described in any one of Claims 1-6. 請求項1〜6のいずれか一項に記載の更新データ送信方法における各ステップを、コンピュータに実行させるためのプログラムを記録した記録媒体。   The recording medium which recorded the program for making a computer perform each step in the update data transmission method as described in any one of Claims 1-6. 周辺装置のファームウェアを更新するための更新データを周辺装置に送信するホスト装置において、
ソースオブジェクトデータとソース管理データとを含む第1形式のソースレコードを順次読み込み、読み込んだ前記ソースレコードを、ターゲットオブジェクトデータとターゲット管理データとを含む第2形式のターゲットレコードに変換し、変換された前記ターゲットレコードを前記周辺装置に送信する制御部を備え、
前記制御部は、
前記ソースオブジェクトデータを所定長さになるよう結合したオブジェクトデータ列を生成するデータ連結部と、
前記ソースオブジェクトデータ内に前記ターゲット管理データの長さ以上の空白データ列があるか否かを検出する空白データ検出部と、
前記データ連結部により生成されたオブジェクトデータに応じた管理データを生成し、これらオブジェクトデータ及び管理データをそれぞれ前記ターゲットオブジェクトデータ及び前記ターゲット管理データとする前記ターゲットレコードを生成するレコード生成部と、を備え、
前記データ連結部は、
前記空白データ検出部により前記空白データ列が検出された場合には、前記空白データ列の直前のデータで終わるオブジェクトデータと、前記空白データ列の直後のデータから始まるオブジェクトデータを生成し、オブジェクトデータ内に前記空白データ列を含まないようにすることを特徴とするホスト装置。
In the host device that transmits the update data for updating the firmware of the peripheral device to the peripheral device,
A source record in the first format including source object data and source control data is sequentially read, and the read source record is converted into a target record in a second format including target object data and target management data. A control unit for transmitting the target record to the peripheral device;
The controller is
A data concatenation unit for generating an object data string obtained by combining the source object data so as to have a predetermined length;
A blank data detector that detects whether or not there is a blank data string in the source object data that is longer than the length of the target management data;
A record generation unit that generates management data according to the object data generated by the data connection unit, and generates the target record using the object data and the management data as the target object data and the target management data, respectively. Prepared,
The data connector is
When the blank data string is detected by the blank data detection unit, object data ending with data immediately before the blank data string and object data starting from data immediately after the blank data string are generated, and object data A host device characterized in that the blank data string is not included in the host device.
請求項9に記載のホスト装置において、
前記第1形式はアスキーコードで表現される形式であり、前記第2形式はバイナリで表現される形式であり、
前記ソースレコードをバイナリ形式のソースレコードに変換するデータ変換部を更に備えることを特徴とするホスト装置。
The host device according to claim 9,
The first format is a format expressed in ASCII code, the second format is a format expressed in binary,
A host device further comprising a data conversion unit for converting the source record into a binary source record.
請求項9に記載のホスト装置において、
前記第1および第2形式はアスキーコードで表現される形式であり、
前記制御部は、前記レコード生成部により生成された前記ターゲットレコードをバイナリ形式のターゲットレコードに変換するデータ変換部を更に備えることを特徴とするホスト装置。
The host device according to claim 9,
The first and second formats are expressed in ASCII code,
The host device further includes a data conversion unit that converts the target record generated by the record generation unit into a binary target record.
請求項9〜11のいずれか一項に記載のホスト装置において、
前記所定長さは、前記周辺装置のファームウェアが格納されるフラッシュメモリのデータ書き換え単位長さ以下に設定されることを特徴とするホスト装置。
The host device according to any one of claims 9 to 11,
The host device according to claim 1, wherein the predetermined length is set to be equal to or less than a data rewrite unit length of a flash memory in which firmware of the peripheral device is stored.
請求項9〜12のいずれか一項に記載のホスト装置において、
前記所定長さは、前記周辺装置が接続されるインターフェースの種類に応じて設定されることを特徴とするホスト装置。
In the host device according to any one of claims 9 to 12,
The predetermined length is set according to the type of interface to which the peripheral device is connected.
請求項9〜13のいずれか一項に記載のホスト装置と、当該ホスト装置に接続される周辺装置とからなるシステムであって、
前記周辺装置は、
前記ホスト装置から送信される前記第2形式のレコードからなる更新データを受信する受信部と、
前記受信部により受信した前記更新データに基づいて、フラッシュメモリに格納されるファームウェアを書き換える書き換え部と、を備えることを特徴とするシステム。
A system comprising the host device according to any one of claims 9 to 13 and a peripheral device connected to the host device,
The peripheral device is:
A receiving unit that receives update data including the record in the second format transmitted from the host device;
And a rewriting unit that rewrites firmware stored in a flash memory based on the update data received by the receiving unit.
請求項14に記載のシステムにおいて、
前記周辺装置は、前記書き換え部によりファームウェアの書き換えが終了した後、自らをリセットして更新されたファームウェアで再起動し、前記ホスト装置からの要求に応じて前記ファームウェアのバージョン情報を送信することを特徴とするシステム。
The system of claim 14, wherein
After the rewriting of the firmware is completed by the rewriting unit, the peripheral device resets itself and restarts with the updated firmware, and transmits the version information of the firmware in response to a request from the host device. Feature system.
JP2007189150A 2006-07-31 2007-07-20 Update data transmission method, firmware rewriting system, and update data transmission program Active JP4967881B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2007189150A JP4967881B2 (en) 2006-07-31 2007-07-20 Update data transmission method, firmware rewriting system, and update data transmission program

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2006207558 2006-07-31
JP2006207558 2006-07-31
JP2007189150A JP4967881B2 (en) 2006-07-31 2007-07-20 Update data transmission method, firmware rewriting system, and update data transmission program

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2012085221A Division JP5423830B2 (en) 2006-07-31 2012-04-04 Update data transmission method, firmware update system, and host device

Publications (2)

Publication Number Publication Date
JP2008059564A JP2008059564A (en) 2008-03-13
JP4967881B2 true JP4967881B2 (en) 2012-07-04

Family

ID=39242164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007189150A Active JP4967881B2 (en) 2006-07-31 2007-07-20 Update data transmission method, firmware rewriting system, and update data transmission program

Country Status (1)

Country Link
JP (1) JP4967881B2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1903437A3 (en) * 2006-07-31 2008-10-22 Seiko Epson Corporation Update data transmission method, firmware writing system, and update data transmission program
JP5098853B2 (en) * 2008-06-30 2012-12-12 トヨタ自動車株式会社 Data rewriting method, data rewriting device, and data management device
US8269520B2 (en) * 2009-10-08 2012-09-18 Teradyne, Inc. Using pattern generators to control flow of data to and from a semiconductor device under test

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0293835A (en) * 1988-09-30 1990-04-04 Nec Corp File transfer control system
JPH1097427A (en) * 1996-09-20 1998-04-14 Fujitsu Ltd Program transfer system
JP2001102935A (en) * 1999-09-29 2001-04-13 Seiko Epson Corp Data compression controller, data compression control method, printing information forming device, printing system, and recording medium storing program
JP2002024041A (en) * 2000-07-04 2002-01-25 Murata Mach Ltd Center device, terminal and remote maintenance system
JP3551933B2 (en) * 2001-03-30 2004-08-11 ミノルタ株式会社 Data communication program, computer-readable recording medium recording data communication program, data communication device, and data communication method

Also Published As

Publication number Publication date
JP2008059564A (en) 2008-03-13

Similar Documents

Publication Publication Date Title
JP5423830B2 (en) Update data transmission method, firmware update system, and host device
TWI312464B (en)
TWI444833B (en) Data prefetch in sas expanders
JP4525681B2 (en) Program generating device for programmable controller, program generating method for programmable controller, and recording medium recording program of the method
JP2003242470A (en) External connecting device and host device
CN107256134A (en) It is virtually method and apparatus, the POS terminal of computer printer by POS terminal
JP4967881B2 (en) Update data transmission method, firmware rewriting system, and update data transmission program
JP2002247252A (en) Image forming device
EP1205845B1 (en) Microcomputer and method of controlling the same
JP2003241908A (en) External connection equipment and host equipment
CN113867771B (en) Remote firmware upgrading method based on FPGA
JP4804101B2 (en) Firmware update method and information processing apparatus
JP2002183675A (en) Control device of data recording medium and method therefor, data recorder and control device
JPH0439104B2 (en)
JP3975598B2 (en) Removable media writing device
JP4325786B2 (en) How to download the program
JP2008065507A (en) Method of transmitting update data of software and computer
KR20010000941A (en) Device for reading/writing smartmedia card and method thereof
JP4258312B2 (en) Image forming apparatus and program update history management method thereof
JP3001213B2 (en) Printer control device
JP4973763B2 (en) Interface device, control method therefor, and information recording medium
CN116737181B (en) Universal flash memory chip and burning method
JP4973806B2 (en) Printing apparatus, control method therefor, and information recording medium
JP2008033709A (en) Method and system for transmitting update data of software
KR100937715B1 (en) USB Hub Device and Method for Intergration Management of USB Storages Using the Same

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120228

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120306

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120319

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150413

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4967881

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350