+

WO2013031719A1 - 周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム - Google Patents

周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム Download PDF

Info

Publication number
WO2013031719A1
WO2013031719A1 PCT/JP2012/071564 JP2012071564W WO2013031719A1 WO 2013031719 A1 WO2013031719 A1 WO 2013031719A1 JP 2012071564 W JP2012071564 W JP 2012071564W WO 2013031719 A1 WO2013031719 A1 WO 2013031719A1
Authority
WO
WIPO (PCT)
Prior art keywords
program data
rewrite
host device
download
peripheral device
Prior art date
Application number
PCT/JP2012/071564
Other languages
English (en)
French (fr)
Inventor
勉 折井
Original Assignee
日本電産サンキョー株式会社
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 日本電産サンキョー株式会社 filed Critical 日本電産サンキョー株式会社
Priority to US14/342,201 priority Critical patent/US8954621B2/en
Priority to CN201280042441.7A priority patent/CN103765389B/zh
Priority to BR112014004449A priority patent/BR112014004449A2/pt
Priority to KR1020147005428A priority patent/KR101590275B1/ko
Publication of WO2013031719A1 publication Critical patent/WO2013031719A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4416Network booting; Remote initial program loading [RIPL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/004Error avoidance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/572Secure firmware programming, e.g. of basic input output system [BIOS]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/654Updates using techniques specially adapted for alterable solid state memories, e.g. for EEPROM or flash memories

Definitions

  • the present invention relates to a peripheral device connected to a host device and capable of downloading firmware program data for operating the peripheral device from the host device.
  • the present invention also relates to a method for controlling the peripheral device and a firmware download system including a host device to which the peripheral device can be connected.
  • Patent Document 1 a firmware download method for downloading firmware program data from a host device to a card reader has been proposed (see, for example, Patent Document 1).
  • a download file including program data is stored in the host device, the revision information of the download file stored in the host device, and the revision issued to the card reader by the host device. If the response of the acquisition command does not match, the program data has been downloaded from the host device to the card reader.
  • the card reader connected to the host device may be replaced from the old one to the new one in order to improve its function or deal with the discontinuation of the production of the parts used.
  • the firmware program data stored in the host device is compatible with the new card reader.
  • the firmware program data stored in the host device is compatible with the old card reader.
  • a new card reader may be connected to the host device.
  • the program data corresponding to the old card reader is stored in the host device when the old card reader is stored.
  • the new card reader may refuse to download the corresponding program data. That is, a new card reader may return a download rejection response to a program data download command or the like from the host device. However, if the new card reader returns a download rejection response, the download process on the host device side cannot be terminated normally, and the system including the host device goes down (that is, the operation of the entire system is May stop).
  • an object of the present invention is to provide a peripheral device capable of preventing a system including the peripheral device from going down while preventing program data corresponding to the old peripheral device from being downloaded from the host device. It is in.
  • Another object of the present invention is to provide a peripheral device control method capable of preventing a system including the peripheral device from going down while preventing program data corresponding to the old peripheral device from being downloaded from the host device. Is to provide.
  • a further object of the present invention is to provide a firmware download system comprising a host device to which such peripheral devices can be connected.
  • a peripheral device is a peripheral device connected to a host device, and the peripheral device can download firmware program data for operating the peripheral device from the host device.
  • a program that includes a rewrite control unit that controls rewriting of stored program data and that stores program data and stores program data stored in the peripheral device in the host device in a download file stored in the host device.
  • the program data stored in the peripheral device when the rewrite permission data is included in the download file stored in the host device, the program data stored in the peripheral device is rewritten with the program data sent from the host device. However, if the rewrite permission data is not included in the download file, the program data stored in the peripheral device is not rewritten with the program data sent from the host device. Therefore, in the present invention, by including the rewrite permission data in the download file including the program data corresponding to the new peripheral device, the program data corresponding to the old peripheral device is transferred from the host device to the new peripheral device. It becomes possible to prevent downloading.
  • the peripheral device of the present invention even if the download file does not include the rewrite permission data and the program data stored in the peripheral device cannot be rewritten to the program data sent from the host device, the data A rewrite normal completion response is returned to the host device. Therefore, even if the program data is not downloaded from the host device to the peripheral device, the download process on the host device side can be normally terminated. Therefore, according to the present invention, it is possible to avoid a system down including a peripheral device.
  • a peripheral device control method is a peripheral device connected to a host device, and the peripheral device capable of downloading firmware program data for operating the peripheral device from the host device.
  • a download file in which rewrite permission data for permitting rewriting of program data stored in the peripheral device to program data stored in the host device includes the program data and is stored in the host device If the rewrite permission data is included in the download file in the rewrite permission determination step and the rewrite permission determination step, the program data stored in the peripheral device is transmitted from the host device.
  • the program data stored in the peripheral device is rewritten to the program data sent from the host device.
  • the program data stored in the peripheral device is not rewritten with the program data sent from the host device. Therefore, in the present invention, by including the rewrite permission data in the download file including the program data corresponding to the new peripheral device, the program data corresponding to the old peripheral device is transferred from the host device to the new peripheral device. It becomes possible to prevent downloading.
  • the rewrite permission data is not included in the download file, and the program data stored in the peripheral device is rewritten to the program data sent from the host device. Even if not, the data rewriting normal completion response is returned to the host device in the pseudo rewriting step. Therefore, even if the program data is not downloaded from the host device to the peripheral device, the download process on the host device side can be normally terminated. Therefore, according to the present invention, it is possible to avoid a system down including a peripheral device.
  • the peripheral device of the present invention or the peripheral device controlled by the control method of the present invention can be used in a firmware download system including a host device to which the peripheral device can be connected.
  • this firmware download system it is possible to prevent the system data from being down while preventing the program data corresponding to the old peripheral device from being downloaded from the host device to the new peripheral device.
  • the rewrite permission data is preferably included in the program data of the download file.
  • the download file includes a rewrite collation command for determining whether or not the program data stored in the peripheral device may be rewritten with the program data stored in the host device. Even if there is no rewrite collation command included in the download file or the peripheral device does not accept the rewrite verification command, it is possible to determine whether or not the rewrite permission data is included in the download file.
  • the download file includes a rewrite collation command for determining whether or not the program data stored in the peripheral device can be rewritten to the program data stored in the host device, and the rewrite permission is included.
  • the data may be attached to the rewrite collation command. In this case, for example, since it is not necessary to include rewrite permission data in the program data, the structure of the program data can be simplified.
  • a second peripheral device that is older than the peripheral device can be connected to the host device, and the second peripheral device can determine whether or not the download file includes rewrite permission data, It is preferable to rewrite the program data stored in the second peripheral device with program data sent from the host device.
  • the program data is downloaded from the host device to the second peripheral device.
  • Peripheral devices can be operated. That is, the peripheral device and the second peripheral device can be operated by one piece of program data corresponding to the new peripheral device stored in the host device.
  • the peripheral device, the peripheral device control method, and the firmware download system prevent the program data corresponding to the old peripheral device from being downloaded from the host device to the new peripheral device. However, it is possible to avoid the system including the peripheral device from going down.
  • FIG. 1 It is a block diagram which shows schematic structure of the download system of the firmware concerning embodiment of this invention. It is a conceptual diagram which shows an example of the data structure of the download file memorize
  • 3 is a flowchart illustrating an example of a processing flow at the time of firmware download in the higher-level device illustrated in FIG. 1.
  • 3 is a flowchart illustrating an example of a processing flow at the time of downloading firmware in the card reader illustrated in FIG. 1.
  • FIG. 1 is a block diagram showing a schematic configuration of a firmware download system 1 according to an embodiment of the present invention.
  • FIG. 2 is a conceptual diagram showing an example of the data structure of the download file 7 stored in the higher-level device 2 shown in FIG.
  • FIG. 3 is a conceptual diagram for explaining a combination pattern of the card reader 3 connected to the host device 2 shown in FIG. 1 and the download file 7 stored in the host device 2.
  • the firmware download system 1 of this embodiment includes a host device 2 such as a host computer and a card reader 3 that is communicably connected to the host device 2.
  • the download system 1 downloads firmware program data 4 (see FIG. 2) for operating the card reader 3 from the host device 2 to the card reader 3.
  • a card reader 3A which is a new type of card reader 3 manufactured to improve functions and cope with the discontinuation of manufacturing of components used, and a card reader 3 older than the card reader 3A.
  • the card reader 3B can be connected to the host device 2, and for example, either the card reader 3A or the card reader 3B is connected to the host device 2.
  • the card reader 3A of this embodiment is a peripheral device, and the card reader 3B is a second peripheral device.
  • the host device 2 includes a download control unit 5 that performs control for downloading the program data 4 to the card reader 3.
  • the download control unit 5 is configured by communication means, a control program, and the like in the host device 2.
  • the host device 2 includes an external storage unit 6 such as a hard disk drive.
  • the external storage unit 6 stores a download file 7 including the program data 4.
  • a download file 7A including program data 4 corresponding to the card reader 3A see FIGS. 3A and 3C
  • a download file 7B including program data 4 corresponding to the card reader 3B FIG. 3
  • Any one of (B) and (D) is stored in the external storage unit 6.
  • the card reader 3 is, for example, a manual card reader that reads magnetic data recorded on the card while manually moving the card, or a magnetic card that is recorded on the card while the card is transported by the card transport mechanism.
  • the card reader 3A includes a card reader controller 8 that controls the card reader 3A.
  • the card reader control unit 8 is configured by storage means such as ROM, RAM, and nonvolatile memory, arithmetic means such as CPU, and the like.
  • the card reader control unit 8 includes a rewrite control unit 9 that controls rewriting of program data stored in the card reader 3A, and a firmware storage unit 10 that stores (stores) firmware including program data. Yes.
  • the card reader 3B includes a card reader controller 13 that controls the card reader 3B.
  • the card reader control unit 13 includes a storage unit such as a ROM, a RAM, and a nonvolatile memory, a calculation unit such as a CPU, and the like.
  • the card reader control unit 13 includes a rewrite control unit 14 that controls rewriting of program data stored in the card reader 3B, and a firmware storage unit 15 that stores firmware including program data.
  • revision information 17 of the program data 4 In addition to the program data 4, revision information 17 of the program data 4, an erase command 18, a download command 19, and an EOF (End Of File mark, file end code) 20 are described.
  • the revision information 17 is described in the first line of the download file 7, and the erase command 18 is described in the second line of the download file 7.
  • the download command 19 and the program data 4 are described in the third and subsequent lines of the download file 7, and the EOF 20 is described in the last line of the download file 7.
  • the revision information 17 is revision information of the program data 4 in the download file 7.
  • the format of the revision information 17 is, for example, the same format as the response from the card reader 3 obtained when the host device 2 issues a program data revision acquisition command to the card reader 3.
  • the revision acquisition command is a command for acquiring revision information of program data stored in the card reader 3.
  • the erase command 18 is a command for erasing (erasing) specified areas in the firmware storage units 10 and 15 of the card reader 3.
  • Each of the program data 4 in each of the third and subsequent lines in the download file 7 is pre-formatted into a prescribed data format and data length conforming to the communication protocol between the host device 2 and the card reader 3, The download command 19 is set.
  • the program data stored in the card reader 3A is a download file stored in the external storage unit 6.
  • Rewrite permission data 22 for allowing the rewrite control unit 9 to rewrite the program data 4 of 7A is described.
  • the rewrite permission data 22 is not described in the program data 4 on the third line in the download file 7B including the program data 4 corresponding to the card reader 3B.
  • the rewrite permission data 22 may be described in the program data 4 by an encrypted ciphertext, or may be described in the program data 4 by an unencrypted plaintext.
  • the card reader 3A and the card reader 3B can be connected to the host device 2.
  • the external storage unit 6 stores a download file 7A including program data 4 corresponding to the card reader 3A or a download file 7B including program data 4 corresponding to the card reader 3B. Therefore, four patterns shown in FIG. 3 are conceivable as combinations of the card reader 3 connected to the host device 2 and the download file 7 stored in the host device 2.
  • FIG. 3A a pattern in which a card reader 3A is connected to the host device 2 and the download file 7A is stored in the external storage unit 6, and a host device as shown in FIG. 2, the card reader 3 A is connected to the external storage unit 6 and the download file 7 B is stored in the external storage unit 6, and the card reader 3 B is connected to the host device 2 as shown in FIG.
  • FIG. 3D there are four patterns: a pattern in which the download file 7A is stored, and a pattern in which the card reader 3B is connected to the host device 2 and the download file 7B is stored in the external storage unit 6. Conceivable.
  • the revision of the program data 4 included in the download file 7A is, for example, “Rev. B, as shown in FIGS. 3A and 3C. ".
  • the revision of the program data 4 included in the download file 7B is, for example, “Rev. b” as shown in FIGS. ".
  • the revision of the program data stored in the firmware storage unit 10 of the card reader 3A is, for example, “Rev. A” as shown in FIGS. 3 (A) and 3 (B), and the firmware of the card reader 3B.
  • the revision of the program data stored in the storage unit 15 is, for example, “Rev.a” as shown in FIGS.
  • the card reader 3B even when the program data 4 corresponding to the card reader 3A is downloaded to the card reader 3B, the card reader 3B operates normally. On the other hand, when the program data 4 corresponding to the card reader 3B is downloaded to the card reader 3A, the card reader 3A does not operate normally.
  • FIG. 4 is a flowchart showing an example of a processing flow at the time of downloading firmware in the higher-level device 2 shown in FIG.
  • step S1 When downloading the program data 4 from the host device 2 to the card reader 3, first, the download control unit 5 reads the first line of the download file 7, reads the revision information 17 (step S1), and the card reader 3 A revision acquisition command is issued (step S2). Thereafter, the download control unit 5 compares the revision information 17 read from the download file 7 with the response from the card reader 3 to the revision acquisition command (step S3). That is, in step S3, the revision of the program data 4 included in the download file 7 stored in the host device 2 (specifically, in the external storage unit 6) and the firmware storage units 10 and 15 are stored. Compare with the revision of the program data.
  • step S3 If it is determined in step S3 that the revision of the program data 4 included in the download file 7 stored in the host device 2 does not match the revision of the program data stored in the firmware storage units 10 and 15 (step S3). In the case of “No”, the download control unit 5 issues an initialization command to the card reader 3 in order to execute the download process (step S4).
  • the revision of the program data 4 included in the download file 7A stored in the host device 2 is “Rev. B”.
  • the revision of the program data stored in the firmware storage unit 10 is “Rev. A”
  • the program data included in the download file 7B stored in the host device 2 as shown in FIG.
  • the revision 4 is “Rev.b” and the revision of the program data stored in the firmware storage unit 10 is “Rev.A”
  • the revision of the program data 4 included in the downloaded file 7A is “Rev. B” and the firmware storage unit 5 is “Rev.a”
  • the revision of the program data 4 included in the download file 7B stored in the host device 2 is as shown in FIG.
  • the download control unit 5 issues an initialization command to the card reader 3 in step S4.
  • the download control unit 5 determines whether or not the card reader 3 is in the download mode (a state in which the program data 4 can be downloaded) from the response of the card reader 3 to the initialization command (step S5). If the card reader 3 is not in the download mode in step S5 (if “No” in step S5), the download control unit 5 issues a mode switching command to the card reader 3 (step S6). After changing the card reader 3 to the download mode, the process returns to step S4.
  • step S5 if the card reader 3 is in the download mode at step S5 (if “Yes” at step S5), the download control unit 5 reads the second and subsequent lines of the download file 7 line by line (step S5). S7) It is determined whether or not the read one line is the last line (EOF20) (step S8).
  • the download control unit 5 uses the read line 7 of the read download file 7 as a command to the card reader 3. Issue. For example, if the read line is the second line of the download file 7, an erase command 18 is issued to the card reader 3. If the read one line is the third and subsequent lines of the download file 7, a download command 19 is issued to the card reader 3 together with the formatted program data 4.
  • the download control unit 5 determines whether or not the command has been normally executed based on the response of the card reader 3 (step S10). If the response of the card reader 3 is a normal response (if “Yes” in step S10), the process returns to step S7, and the next line of the download file 7 is read. On the other hand, if the response of the card reader 3 is an abnormal response (in the case of “No” in step S10), the download control unit 5 determines that the download of the program data 4 has failed and ends the download process. In this case, the download system 1 may go down (the operation of the download system 1 stops).
  • step S8 when one line read from the download file 7 is the last line (in the case of “Yes” in step S8), the download of the program data 4 is normally completed.
  • step S3 If the revision of the program data 4 stored in the host device 2 matches the revision of the program data stored in the firmware storage units 10 and 15 in step S3 (in step S3, “ In the case of “Yes”, the download control unit 5 determines that the download of the program data 4 is unnecessary, and ends the download process.
  • the download control unit 5 ends the download process.
  • FIG. 5 is a flowchart showing an example of a processing flow at the time of downloading firmware in the card reader 3 shown in FIG.
  • the card reader control unit 13 executes the erase command 18 based on the erase command 18 issued in step S9. .
  • the rewrite control unit 14 erases a designated area in the firmware storage unit 15. More specifically, the rewrite control unit 14 erases the program data in the firmware storage unit 15 corresponding to the program data 4. Further, the card reader control unit 13 returns a normal response to the download control unit 5 that the erase command 18 has been normally executed.
  • the card reader control unit 13 executes the download command 19 based on the download command 19 issued in step S9. Specifically, the rewrite control unit 14 stores (stores) the program data 4 sent from the host device 2 in a designated area in the firmware storage unit 15. That is, the rewrite control unit 14 writes the program data 4 sent from the host device 2 in the firmware storage unit 15. Further, the rewrite control unit 14 returns a normal response to the download control unit 5 that the download command 19 has been normally executed.
  • the card reader 3A when the card reader 3A is connected to the host device 2, the card reader 3A is described in Patent Document 1 described above when downloading the firmware. Processing different from the processing of the card reader is performed. Specifically, the card reader 3A performs the following process according to the flow shown in FIG.
  • Step S21 When the first line read in step S7 is the second line of the download file 7, and the rewrite control unit 9 receives the second line (that is, the erase command 18) of the download file 7 issued in step S9.
  • the rewrite control unit 9 does not execute the erase command 18 in the second row, and returns a normal response that the erase command 18 has been normally executed to the download control unit 5 (step S22). That is, in step S22, the rewrite control unit 9 returns a normal response to the download control unit 5 that the erase command 18 has been normally executed without erasing the program data stored in the firmware storage unit 10.
  • step S23 the rewrite control unit 9 reads the program in the third line. It is determined whether or not the rewrite permission data 22 is described in the data 4 (step S24). That is, in step S24, the rewrite control unit 9 determines whether or not the program data 4 stored in the higher-level device 2 is the program data 4 corresponding to the card reader 3A.
  • step S24 when the download file 7A is stored in the host device 2 and the rewrite permission data 22 is described in the program data 4 on the third line in step S24 (that is, the download file).
  • 7 includes the rewrite permission data 22, if “Yes” in step S 24, the rewrite control unit 9 performs the second line command and third line command (that is, erase) of the download file 7 A.
  • the command 18 and the download command 19) are executed, and a normal response indicating that the download command 19 has been executed normally is returned to the download control unit 5 (step S25).
  • step S25 the rewrite control unit 9 deletes the program data stored in the firmware storage unit 10, and the program data 4 sent from the host device 2 is stored in the firmware storage unit 10. Is stored (stored) in the designated area, and a normal response is returned to the download control unit 5.
  • the rewrite control unit 9 sequentially receives the fourth and subsequent lines of the download file 7A (step S26), and sequentially executes the download command 19 of the received lines (that is, sent from the host device 2).
  • the program data 4 is stored (stored) in a designated area in the firmware storage unit 10, and a normal response that the download command 19 has been normally executed is returned to the download control unit 5 (step S 27).
  • step S24 when the download file 7B is stored in the host device 2 and the rewrite permission data 22 is not described in the program data 4 in the third line in step S24 (ie, When the rewrite permission data 22 is not included in the download file 7 (in the case of “No” in step S24), the rewrite control unit 9 issues a command on the third line of the download file 7B (ie, the download command 19). Without executing, a normal response indicating that the download command 19 has been executed normally is returned to the download control unit 5 (step S28). Specifically, in step S28, the rewrite control unit 9 returns a normal response to the download control unit 5 without storing (storing) the program data 4 sent from the higher-level device 2 in the firmware storage unit 10.
  • the rewrite control unit 9 sequentially receives the fourth and subsequent lines of the download file 7B (step S29), and does not execute the download command 19 of the received line, and that the download command 19 is normally executed. A response is returned to the download control unit 5 (step S30).
  • Step S24 of this embodiment is a rewrite permission determination step for determining whether or not the rewrite permission data 22 is included in the download file 7. Further, in steps S25 and S27 of this embodiment, when the rewrite permission data 22 is included in the download file 7, the program data stored in the card reader 3A is rewritten to the program data 4 sent from the host device 2. This is a rewriting step for returning a data rewriting normal completion response to the host device 2. Furthermore, steps S28 and S30 of this embodiment do not rewrite the program data stored in the card reader 3A to the program data 4 sent from the host device 2 when the rewrite permission data 22 is not included in the download file 7. In addition, this is a pseudo-rewriting step for returning a data rewriting normal completion response to the host device 2.
  • the program data stored in the card reader 3 ⁇ / b> A is transferred to the program data 4 sent from the host device 2. If the download file 7 does not include the rewrite permission data 22, the program data stored in the card reader 3 A is not rewritten with the program data 4 sent from the host device 2. . That is, in the present embodiment, when the program data 4 corresponding to the card reader 3A is stored in the host device 2, the program data 4 stored in the card reader 3A is sent from the host device 2.
  • the program data 4 corresponding to the card reader 3B is stored in the host device 2, the program data stored in the card reader 3A is sent from the host device 2 It has not been rewritten to 4. Therefore, in this embodiment, it is possible to prevent the program data 4 corresponding to the old card reader 3B from being downloaded from the host device 2 to the new card reader 3A. Therefore, in this embodiment, it is possible to avoid the problem that the program data 4 corresponding to the old card reader 3B is downloaded to the card reader 3A and the card reader 3A does not operate normally.
  • the rewrite control unit 9 even if the download file 7 does not include the rewrite permission data 22 and the program data stored in the card reader 3A cannot be rewritten to the program data 4 sent from the host device 2 (that is, Even when the rewrite control unit 9 does not execute the erase command 18 and the download command 19), the rewrite control unit 9 returns a data rewrite normal completion response to the host device 2. Therefore, even if the program data 4 is not downloaded from the host device 2 to the card reader 3A, the download process of the host device 2 can be normally terminated. Therefore, in this embodiment, it is possible to avoid the download system 1 from going down.
  • the card reader 3B when the card reader 3B is connected to the host device 2, the card reader 3B does not determine whether or not the rewrite permission data 22 is included in the download file 7, and is stored in the card reader 3B.
  • the existing program data is rewritten to the program data 4 sent from the host device 2. Therefore, when the program data 4 corresponding to the card reader 3A is stored in the host device 2, the card reader 3B can be operated by the program data 4. That is, in this embodiment, the card readers 3A and 3B can be operated by one program data 4 corresponding to the card reader 3A.
  • the program data 4 corresponding to the card reader 3B is stored in the host device 2, the program data 4 is downloaded to the card reader 3B but not downloaded to the card reader 3A. Therefore, the card reader 3A can be operated by the program data corresponding to the card reader 3A, and the card reader 3B can be operated by the program data corresponding to the card reader 3B. Therefore, in this embodiment, even if there is only one program data 4 stored in the host device 2, the card readers 3A and 3B can be appropriately operated.
  • the card readers 3A and 3B can be operated appropriately. There is no need to change the host device 2 depending on whether 3A is connected or whether the card reader 3B is connected. Therefore, in this embodiment, it is possible to improve the convenience of the user who uses the download system 1.
  • FIG. 6 is a conceptual diagram showing an example of the data structure of the download file 7 according to another embodiment of the present invention.
  • FIG. 7 is a flowchart showing an example of a processing flow at the time of downloading firmware in the card reader 3 according to another embodiment of the present invention.
  • the rewrite collation command 23 for determining whether or not the program data stored in the card reader 3 can be rewritten to the program data 4 stored in the host device 2 is included in the download file 7.
  • the rewrite verification command 23 may be included in the download file 7.
  • the rewrite collation command 23 allows the rewrite control units 9 and 14 to rewrite the program data stored in the card reader 3 to the program data 4 stored in the external storage unit 6.
  • Rewrite permission data is attached.
  • the rewrite permission data attached to the rewrite collation command 23 of the download file 7A is different from the rewrite permission data attached to the rewrite collation command 23 of the download file 7B.
  • the rewrite collation command 23 is described in the second line of the download file 7, and the erase command 18 is described in the third line of the download file 7.
  • the download command 19 and the program data 4 are described after the fourth line of the download file 7.
  • the rewrite control unit 9 stores permission data that matches the rewrite permission data attached to the rewrite collation command 23 of the download file 7A or corresponds to the rewrite permission data on a one-to-one basis.
  • 14 stores permission data that matches the rewrite permission data attached to the rewrite collation command 23 of the download file 7B or that corresponds to the rewrite permission data on a one-to-one basis.
  • the rewrite control unit 9 receives the second line (that is, the rewrite collation command 23) of the download file 7 issued in step S9 described above (step S41), the rewrite control is performed.
  • the unit 9 determines whether or not the rewrite permission data attached to the rewrite collation command 23 matches (or corresponds to) this permission data stored in the rewrite control unit 9 (step S42). ). That is, the rewrite control unit 9 determines whether or not rewrite verification can be performed in step S42.
  • the rewrite control unit 9 gives a normal response that the rewrite collation has been taken. It returns to the download control part 5 (step S43). Thereafter, the rewrite control unit 9 sequentially receives the third and subsequent lines of the download file 7A (step S44), sequentially executes the erase command 18 and the download command 19 of the received line, and performs the erase command 18 and the download command. A normal response that 19 is executed normally is returned to the download control unit 5 (step S45).
  • step S42 the rewrite control unit 9 sets the rewrite permission data attached to the rewrite collation command 23 to the rewrite collation of the download file 7B. It is determined whether the data is the rewrite permission data attached to the command 23 or the rewrite permission data attached to the rewrite collation command of the download file of a card reader or the like of a different model (step S46). That is, in step S46, the rewrite control unit 9 corresponds to whether the program data stored in the host device 2 corresponds to the old card reader 3B, or corresponds to a card reader of a different model. Judge whether or not.
  • step S46 If the program data stored in the host device 2 corresponds to the card reader 3B in step S46 (that is, if the download file 7B is stored in the host device 2 and “Yes” in step S46) ), The rewrite control unit 9 returns a normal response to the download control unit 5 that the rewrite collation has been taken even though the rewrite collation has not been obtained (step S47). Thereafter, the rewrite control unit 9 sequentially receives the third and subsequent lines of the download file 7B (step S48), and executes the erase command 18 and the download command 19 without executing the erase command 18 and the download command 19 of the received line. Is returned to the download control unit 5 (step S49).
  • step S46 if the program data stored in the host device 2 corresponds to a different type of card reader or the like (in the case of “No” in step S46), the rewrite control unit 9 determines that an error has occurred. A response is returned to the download control unit 5 (step S50). The download control unit 5 that has received the abnormal response determines that the download of the program data 4 has failed and ends the download process.
  • step S42 in this modification the rewrite permission data for allowing the rewrite control unit 9 to rewrite the program data stored in the card reader 3A with the program data 4 stored in the host device 2 is downloaded.
  • This is a rewrite permission determination step for determining whether or not the file is included in the file 7.
  • the download file 7 includes rewrite permission data for allowing the rewrite control unit 9 to rewrite the program data stored in the card reader 3A with the program data 4 stored in the host device 2.
  • the program data stored in the card reader 3A is rewritten to the program data 4 sent from the host device 2 and a data rewriting normal completion response is returned to the host device 2.
  • the download file 7 includes rewrite permission data for allowing the rewrite control unit 9 to rewrite the program data stored in the card reader 3A to the program data 4 stored in the host device 2.
  • This is a pseudo-rewriting step for returning a data rewriting normal completion response to the host device 2 without rewriting the program data stored in the card reader 3A with the program data 4 sent from the host device 2 if not.
  • the rewrite permission data 22 is described in the program data 4 on the third line in the download file 7A.
  • the rewrite permission data 22 may be described in the program data 4 in the nth line after the fourth line in the download file 7A.
  • the rewrite control unit 9 determines whether or not the rewrite permission data 22 is described in the program data 4 on the nth line, and then executes the commands from the second line to the nth line to execute normal operation. A response is returned to the download control unit 5, or a normal response is returned to the download control unit 5 without executing the commands from the second line to the nth line.
  • the peripheral device and the second peripheral device that are communicably connected to the host device 2 are the card reader 3, but the peripheral device and the second peripheral device that are communicably connected to the host device 2 are Various devices other than the card reader 3 such as a card printer may be used.
  • Download system firmware download system
  • Host device 3A) Card reader (peripheral device)
  • Program data 7 (7A, 7B) Download file 9
  • Rewrite control unit 22 Rewrite permission data 23 Rewrite collation command S24, S42 Rewrite permission determination step S25, S27, S45 Rewrite step S28, S30, S49 Pseudo rewrite step

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

 本願は、旧型の周辺装置に対応したプログラムデータが上位装置から新型の周辺装置にダウンロードされるのを防止しつつ、周辺装置を含むシステムのダウンを回避することが可能な周辺装置を提供する。例えば、ファームウェアのプログラムデータを上位装置2からダウンロード可能な周辺装置3Aは、上位装置2に記憶されるダウンロードファイル7に、周辺装置3Aに記憶されているプログラムデータを上位装置2に記憶されているプログラムデータに書き換えることを許可させるための書き換え許可データが含まれていれば、周辺装置3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータに書き換えて、データ書換えの正常完了応答を上位装置2へ返し、含まれていなければ、周辺装置3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータに書き換えずに、データ書換えの正常完了応答を上位装置2へ返す。

Description

周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム
 本発明は、上位装置に接続される周辺装置であって、周辺装置を動作させるファームウェアのプログラムデータを上位装置からダウンロード可能な周辺装置に関する。また、本発明は、この周辺装置の制御方法、および、この周辺装置が接続可能な上位装置を備えるファームウェアのダウンロードシステムに関する。
 従来、上位装置からカードリーダへファームウェアのプログラムデータをダウンロードするためのファームウェアのダウンロード方法が提案されている(たとえば、特許文献1参照)。特許文献1に記載のダウンロード方法では、プログラムデータを含むダウンロードファイルが上位装置に記憶されており、上位装置に記憶されているダウンロードファイルのレビジョン情報と、上位装置がカードリーダに対して発行したレビジョン取得コマンドのレスポンスとが一致しない場合に、上位装置からカードリーダへプログラムデータがダウンロードされている。
特開2004-13782号公報
 上位装置に接続されるカードリーダは、その機能を向上させたり、使用されている部品の製造中止に対処したりするために、旧型のものから新型のものへ交換されることがある。一方で、上位装置に記憶されているファームウェアのプログラムデータが新型のカードリーダに対応したプログラムデータである保障はなく、たとえば、上位装置に記憶されているファームウェアのプログラムデータが旧型のカードリーダに対応したプログラムデータである場合に、新型のカードリーダが上位装置に接続される場合がある。
 上位装置に新型のカードリーダが接続され、かつ、旧型のカードリーダに対応したプログラムデータが上位装置に記憶されている場合に、特許文献1に記載のダウンロード方法でダウンロードが行われると、旧型のカードリーダに対応したプログラムデータが新型のカードリーダにダウンロードされてしまうおそれがある。すなわち、上位装置に記憶されているプログラムデータによっては、機能の向上を図るために、あるいは、使用部品の製造中止に対処するために生産された新型のカードリーダに、旧型のカードリーダに対応したプログラムデータがダウンロードされてしまうおそれがあり、その結果、上位装置に接続されるカードリーダを新型のものに交換したにもかかわらず、その機能の向上を図ったり、使用部品の製造中止に対処したりすることができなくなるおそれがある。また、新型のカードリーダに、旧型のカードリーダに対応したプログラムデータがダウンロードされると、新型のカードリーダが動作しなくなるおそれもある。
 旧型のカードリーダに対応したプログラムデータが新型のカードリーダにダウンロードされるのを防止するには、旧型のカードリーダに対応したプログラムデータが上位装置に記憶されている場合に、旧型のカードリーダに対応したプログラムデータのダウンロードを新型のカードリーダが拒否すれば良い。すなわち、上位装置からのプログラムデータのダウンロードコマンド等に対して、新型のカードリーダがダウンロードの拒否応答を返せば良い。しかしながら、新型のカードリーダがダウンロードの拒否応答を返すと、上位装置側のダウンロード処理を正常に終了させることができずに、上位装置を含むシステムがダウンしてしまう(すなわち、システム全体の動作が停止してしまう)おそれがある。
 そこで、本発明の課題は、旧型の周辺装置に対応したプログラムデータが上位装置からダウンロードされるのを防止しつつ、周辺装置を含むシステムのダウンを回避することが可能な周辺装置を提供することにある。また、本発明の課題は、旧型の周辺装置に対応したプログラムデータが上位装置からダウンロードされるのを防止しつつ、周辺装置を含むシステムのダウンを回避することが可能となる周辺装置の制御方法を提供することにある。さらに、本発明の課題は、かかる周辺装置が接続可能な上位装置を備えるファームウェアのダウンロードシステムを提供することにある。
 上記の課題を解決するため、本発明の周辺装置は、上位装置に接続される周辺装置であって、周辺装置を動作させるファームウェアのプログラムデータを上位装置からダウンロード可能な周辺装置において、周辺装置に記憶されているプログラムデータの書き換えを制御する書き換え制御部を備え、プログラムデータを含むとともに上位装置に記憶されるダウンロードファイルに、周辺装置に記憶されているプログラムデータを上位装置に記憶されているプログラムデータに書き換えることを書き換え制御部に許可させるための書き換え許可データが含まれている場合に、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えて、データ書換えの正常完了応答を上位装置へ返すとともに、ダウンロードファイルに書き換え許可データが含まれていない場合に、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えずに、データ書換えの正常完了応答を上位装置へ返すことを特徴とする。
 本発明の周辺装置では、上位装置に記憶されるダウンロードファイルに書き換え許可データが含まれている場合には、周辺装置に記憶されているプログラムデータが上位装置から送られるプログラムデータに書き換えられているが、ダウンロードファイルに書き換え許可データが含まれていない場合には、周辺装置に記憶されているプログラムデータが上位装置から送られるプログラムデータに書き換えられていない。そのため、本発明では、新型の周辺装置に対応したプログラムデータが含まれるダウンロードファイルの中に書き換え許可データを含ませることで、旧型の周辺装置に対応したプログラムデータが上位装置から新型の周辺装置へダウンロードされるのを防止することが可能になる。
 また、本発明の周辺装置は、ダウンロードファイルに書き換え許可データが含まれておらず、周辺装置に記憶されているプログラムデータが上位装置から送られるプログラムデータに書き換えられない場合であっても、データ書換えの正常完了応答を上位装置へ返している。そのため、上位装置から周辺装置へプログラムデータがダウンロードされなくても、上位装置側のダウンロード処理を正常に終了させることが可能になる。したがって、本発明では、周辺装置を含むシステムのダウンを回避することが可能になる。
 また、上記の課題を解決するため、本発明の周辺装置の制御方法は、上位装置に接続される周辺装置であって、周辺装置を動作させるファームウェアのプログラムデータを上位装置からダウンロード可能な周辺装置の制御方法において、周辺装置に記憶されているプログラムデータを上位装置に記憶されているプログラムデータに書き換えることを許可させるための書き換え許可データが、プログラムデータを含むとともに上位装置に記憶されるダウンロードファイルに含まれているか否かを判別する書き換え許可判別ステップと、書き換え許可判別ステップで、書き換え許可データがダウンロードファイルに含まれている場合に、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えて、データ書換えの正常完了応答を上位装置へ返す書き換えステップと、書き換え許可判別ステップで、書き換え許可データがダウンロードファイルに含まれていない場合に、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えずに、データ書換えの正常完了応答を上位装置へ返す擬似書き換えステップとを備えることを特徴とする。
 本発明の周辺装置の制御方法では、書き換え許可判別ステップで、書き換え許可データがダウンロードファイルに含まれている場合には、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えているが、書き換え許可判別ステップで、書き換え許可データがダウンロードファイルに含まれていない場合には、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えていない。そのため、本発明では、新型の周辺装置に対応したプログラムデータが含まれるダウンロードファイルの中に書き換え許可データを含ませることで、旧型の周辺装置に対応したプログラムデータが上位装置から新型の周辺装置へダウンロードされるのを防止することが可能になる。
 また、本発明の周辺装置の制御方法では、書き換え許可判別ステップで、書き換え許可データがダウンロードファイルに含まれておらず、周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えない場合であっても、擬似書き換えステップで、データ書換えの正常完了応答を上位装置へ返している。そのため、上位装置から周辺装置へプログラムデータがダウンロードされなくても、上位装置側のダウンロード処理を正常に終了させることが可能になる。したがって、本発明では、周辺装置を含むシステムのダウンを回避することが可能になる。
 本発明の周辺装置、または、本発明の制御方法で制御される周辺装置は、この周辺装置が接続可能な上位装置を備えるファームウェアのダウンロードシステムに用いることができる。このファームウェアのダウンロードシステムでは、旧型の周辺装置に対応したプログラムデータが上位装置から新型の周辺装置へダウンロードされるのを防止しつつ、システムのダウンを回避することが可能になる。
 本発明において、書き換え許可データは、ダウンロードファイルのプログラムデータの中に含まれていることが好ましい。このように構成すると、たとえば、周辺装置に記憶されているプログラムデータを上位装置に記憶されているプログラムデータに書き換えても良いか否かを判別するための書き換え照合コマンドがダウンロードファイルに含まれていない場合や、ダウンロードファイルに含まれる書き換え照合コマンドを周辺装置が受け付けない場合であっても、ダウンロードファイルに書き換え許可データが含まれているか否かを判別することが可能になる。
 本発明において、ダウンロードファイルには、周辺装置に記憶されているプログラムデータを上位装置に記憶されているプログラムデータに書き換えても良いか否かを判別するための書き換え照合コマンドが含まれ、書き換え許可データは、書き換え照合コマンドに付されていても良い。この場合には、たとえば、プログラムデータに書き換え許可データを含ませる必要がなくなるため、プログラムデータの構造を簡素化することが可能になる。
 本発明において、上位装置には、周辺装置よりも旧型の第2周辺装置が接続可能であり、第2周辺装置は、ダウンロードファイルに書き換え許可データが含まれているか否かを判別せずに、第2周辺装置に記憶されているプログラムデータを上位装置から送られるプログラムデータに書き換えることが好ましい。このように構成すると、新型の周辺装置に対応するプログラムデータが上位装置に記憶されている場合には、このプログラムデータが上位装置から第2周辺装置へダウンロードされるため、このプログラムデータによって、第2周辺装置を動作させることが可能になる。すなわち、上位装置に記憶されている新型の周辺装置に対応の1個のプログラムデータによって、周辺装置および第2周辺装置を動作させることが可能になる。
 また、このように構成すると、第2周辺装置に対応するプログラムデータが上位装置に記憶されている場合、このプログラムデータは、第2周辺装置にはダウンロードされるが、周辺装置にはダウンロードされない。したがって、この場合には、周辺装置に対応するプログラムデータによって周辺装置を動作させ、かつ、第2周辺装置に対応するプログラムデータによって第2周辺装置を動作させることが可能になる。すなわち、上位装置に記憶されているプログラムデータが1個であっても、周辺装置および第2周辺装置を適切に動作させることが可能になる。
 その結果、このように構成すると、上位装置に周辺装置が接続されるのか、あるいは、第2周辺装置が接続されるのかによって、上位装置を変更する必要がなくなる。したがって、ダウンロードシステムを使用するユーザの利便性を高めることが可能になる。
 以上のように、本発明の周辺装置、周辺装置の制御方法、および、ファームウェアのダウンロードシステムでは、旧型の周辺装置に対応したプログラムデータが上位装置から新型の周辺装置へダウンロードされるのを防止しつつ、周辺装置を含むシステムのダウンを回避することが可能になる。
本発明の実施の形態にかかるファームウェアのダウンロードシステムの概略構成を示すブロック図である。 図1に示す上位装置に記憶されるダウンロードファイルのデータ構造の一例を示す概念図である。 図1に示す上位装置に接続されるカードリーダと上位装置に記憶されるダウンロードファイルとの組合せパターンを説明するための概念図である。 図1に示す上位装置での、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。 図1に示すカードリーダでの、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。 本発明の他の実施の形態にかかるダウンロードファイルのデータ構造の一例を示す概念図である。 本発明の他の実施の形態にかかるカードリーダでの、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。
 以下、図面を参照しながら、本発明の実施の形態を説明する。
 (ファームウェアのダウンロードシステムの構成)
 図1は、本発明の実施の形態にかかるファームウェアのダウンロードシステム1の概略構成を示すブロック図である。図2は、図1に示す上位装置2に記憶されるダウンロードファイル7のデータ構造の一例を示す概念図である。図3は、図1に示す上位装置2に接続されるカードリーダ3と上位装置2に記憶されるダウンロードファイル7との組合せパターンを説明するための概念図である。
 本形態のファームウェアのダウンロードシステム1(以下、「ダウンロードシステム1」とする)は、ホストコンピュータ等の上位装置2と、上位装置2に通信可能に接続されるカードリーダ3とを備えている。このダウンロードシステム1は、カードリーダ3を動作させるファームウェアのプログラムデータ4(図2参照)を上位装置2からカードリーダ3へダウンロードする。
 本形態では、機能を向上させたり、使用されている部品の製造中止に対処したりするために製造された新型のカードリーダ3であるカードリーダ3Aと、カードリーダ3Aよりも旧型のカードリーダ3であるカードリーダ3Bとが、上位装置2に接続可能となっており、上位装置2には、たとえば、カードリーダ3Aまたはカードリーダ3Bのいずれか1台が接続されている。本形態のカードリーダ3Aは、周辺装置であり、カードリーダ3Bは、第2周辺装置である。
 上位装置2は、カードリーダ3にプログラムデータ4をダウンロードするための制御を行うダウンロード制御部5を備えている。ダウンロード制御部5は、上位装置2内の通信手段や制御用プログラム等によって構成されている。また、上位装置2は、ハードディスクドライブ等の外部記憶部6を備えている。外部記憶部6には、プログラムデータ4を含むダウンロードファイル7が記憶されている。本形態では、カードリーダ3Aに対応するプログラムデータ4を含むダウンロードファイル7A(図3(A)、(C)参照)、または、カードリーダ3Bに対応するプログラムデータ4を含むダウンロードファイル7B(図3(B)、(D)参照)のいずれかが外部記憶部6に記憶されている。
 カードリーダ3は、たとえば、カードを手動で移動させながらカードに記録された磁気データの読取り等を行う手動式のカードリーダ、あるいは、カードの搬送機構によってカードを搬送させながらカードに記録された磁気データの読取り等を行うカード搬送式のカードリーダである。
 カードリーダ3Aは、カードリーダ3Aを制御するカードリーダ制御部8を備えている。カードリーダ制御部8は、ROM、RAM、不揮発性メモリ等の記憶手段やCPU等の演算手段等によって構成されている。また、カードリーダ制御部8は、カードリーダ3Aに記憶されているプログラムデータの書き換えを制御する書き換え制御部9と、プログラムデータを含むファームウェアが格納(記憶)されるファームウェア格納部10とを備えている。
 カードリーダ3Bは、カードリーダ3Bを制御するカードリーダ制御部13を備えている。カードリーダ制御部13は、ROM、RAM、不揮発性メモリ等の記憶手段やCPU等の演算手段等によって構成されている。また、カードリーダ制御部13は、カードリーダ3Bに記憶されているプログラムデータの書き換えを制御する書き換え制御部14と、プログラムデータを含むファームウェアが格納されるファームウェア格納部15とを備えている。
 ダウンロードファイル7には、プログラムデータ4に加え、プログラムデータ4のレビジョン情報17と、イレースコマンド18と、ダウンロードコマンド19と、EOF(End Of File mark、ファイル末端コード)20とが記述されている。レビジョン情報17は、ダウンロードファイル7の1行目に記述され、イレースコマンド18は、ダウンロードファイル7の2行目に記述されている。ダウンロードコマンド19およびプログラムデータ4は、ダウンロードファイル7の3行目以降に記述され、EOF20は、ダウンロードファイル7の最終行に記述されている。
 レビジョン情報17は、ダウンロードファイル7におけるプログラムデータ4の改訂情報である。レビジョン情報17のフォーマットは、たとえば、上位装置2がカードリーダ3に対してプログラムデータのレビジョン取得コマンドを発行した場合に得られるカードリーダ3からのレスポンス(応答)と、同一フォーマットとなっている。レビジョン取得コマンドは、カードリーダ3に記憶されているプログラムデータのレビジョン情報を取得するためのコマンドである。
 イレースコマンド18は、カードリーダ3のファームウェア格納部10、15の中の指定した領域を消去(イレース)するためのコマンドである。
 ダウンロードファイル7の中の3行目以降の各行のプログラムデータ4のそれぞれは、上位装置2とカードリーダ3との間の通信プロトコルに適合した規定のデータ形式およびデータ長に予め整形されており、かつ、ダウンロードコマンド19にセットされている。また、カードリーダ3Aに対応するプログラムデータ4を含むダウンロードファイル7Aの中の3行目のプログラムデータ4には、カードリーダ3Aに記憶されているプログラムデータを外部記憶部6に記憶されるダウンロードファイル7Aのプログラムデータ4に書き換えることを書き換え制御部9に許可させるための書き換え許可データ22が記述されている。一方、カードリーダ3Bに対応するプログラムデータ4を含むダウンロードファイル7Bの中の3行目のプログラムデータ4には、この書き換え許可データ22が記述されていない。なお、書き換え許可データ22は、暗号化された暗号文によってプログラムデータ4の中に記述されても良いし、暗号化されていない平文によってプログラムデータ4の中に記述されても良い。
 上述のように、上位装置2には、カードリーダ3Aとカードリーダ3Bとが接続可能となっている。また、外部記憶部6には、カードリーダ3Aに対応するプログラムデータ4を含むダウンロードファイル7A、または、カードリーダ3Bに対応するプログラムデータ4を含むダウンロードファイル7Bが記憶されている。そのため、上位装置2に接続されるカードリーダ3と上位装置2に記憶されるダウンロードファイル7との組合せとして、図3に示す4つのパターンが考えられる。
 すなわち、図3(A)に示すように、上位装置2にカードリーダ3Aが接続され、外部記憶部6にダウンロードファイル7Aが記憶されるパターンと、図3(B)に示すように、上位装置2にカードリーダ3Aが接続され、外部記憶部6にダウンロードファイル7Bが記憶されるパターンと、図3(C)に示すように、上位装置2にカードリーダ3Bが接続され、外部記憶部6にダウンロードファイル7Aが記憶されるパターンと、図3(D)に示すように、上位装置2にカードリーダ3Bが接続され、外部記憶部6にダウンロードファイル7Bが記憶されるパターンとの4つのパターンが考えられる。
 なお、外部記憶部6にダウンロードファイル7Aが記憶されている場合、ダウンロードファイル7Aに含まれるプログラムデータ4のレビジョンは、たとえば、図3(A)、(C)に示すように、“Rev.B”である。また、外部記憶部6にダウンロードファイル7Bが記憶されている場合、ダウンロードファイル7Bに含まれるプログラムデータ4のレビジョンは、たとえば、図3(B)、(D)に示すように、“Rev.b”である。ま
た、カードリーダ3Aのファームウェア格納部10に記憶されているプログラムデータのレビジョンは、たとえば、図3(A)、(B)に示すように、“Rev.A”であり、カードリーダ3Bのファームウェア格納部15に記憶されているプログラムデータのレビジョンは、たとえば、図3(C)、(D)に示すように、“Rev.a”である。
 また、本形態では、カードリーダ3Aに対応するプログラムデータ4がカードリーダ3Bにダウンロードされた場合であっても、カードリーダ3Bは、正常に動作する。一方、カードリーダ3Bに対応するプログラムデータ4がカードリーダ3Aにダウンロードされると、カードリーダ3Aは、正常に動作しなくなる。
 (ファームウェアのダウンロード方法:上位装置での処理)
 図4は、図1に示す上位装置2での、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。
 上位装置2からカードリーダ3へプログラムデータ4をダウンロードする際には、まず、ダウンロード制御部5は、ダウンロードファイル7の1行目を読み込んで、レビジョン情報17を読み取り(ステップS1)、カードリーダ3に対してレビジョン取得コマンドを発行する(ステップS2)。その後、ダウンロード制御部5は、ダウンロードファイル7から読み取ったレビジョン情報17と、レビジョン取得コマンドに対するカードリーダ3からの応答とを比較する(ステップS3)。すなわち、ステップS3では、上位装置2に(具体的には、外部記憶部6に)記憶されているダウンロードファイル7に含まれるプログラムデータ4のレビジョンと、ファームウェア格納部10、15に記憶されているプログラムデータのレビジョンとを比較する。
 ステップS3で、上位装置2に記憶されているダウンロードファイル7に含まれるプログラムデータ4のレビジョンと、ファームウェア格納部10、15に記憶されているプログラムデータのレビジョンとが一致しない場合には(ステップS3で“No”の場合には)、ダウンロード制御部5は、ダウンロード処理を実行するべく、カードリーダ3に対して初期化コマンドを発行する(ステップS4)。
 すなわち、図3(A)に示すように、上位装置2(具体的には、外部記憶部6)に記憶されているダウンロードファイル7Aに含まれるプログラムデータ4のレビジョンが“Rev.B”であり、ファームウェア格納部10に記憶されているプログラムデータのレビジョンが“Rev.A”である場合、図3(B)に示すように、上位装置2に記憶されているダウンロードファイル7Bに含まれるプログラムデータ4のレビジョンが“Rev.b”であり、ファームウェア格納部10に記憶されているプログラムデータのレビジョンが“Rev.A”である場合、図3(C)に示すように、上位装置2に記憶されているダウンロードファイル7Aに含まれるプログラムデータ4のレビジョンが“Rev.B”であり、ファームウェア格納部15に記憶されているプログラムデータのレビジョンが“Rev.a”である場合、図3(D)に示すように、上位装置2に記憶されているダウンロードファイル7Bに含まれるプログラムデータ4のレビジョンが“Rev.b”であり、ファームウェア格納部15に記憶されているプログラムデータのレビジョンが“Rev.a”である場合等には、上位装置2に記憶されているダウンロードファイル7に含まれるプログラムデータ4のレビジョンと、ファームウェア格納部10、15に記憶されているプログラムデータのレビジョンとが一致しないため、ステップS4で、ダウンロード制御部5は、カードリーダ3に対して初期化コマンドを発行する。
 その後、ダウンロード制御部5は、この初期化コマンドに対するカードリーダ3のレスポンスから、カードリーダ3がダウンロードモード(プログラムデータ4のダウンロードが可能な状態)であるか否かを判断する(ステップS5)。ステップS5で、カードリーダ3がダウンロードモードでなければ(ステップS5で“No”の場合には)、ダウンロード制御部5は、カードリーダ3に対してモード切替コマンドを発行して(ステップS6)、カードリーダ3をダウンロードモードに遷移させてからステップS4へ戻る。
 一方、ステップS5で、カードリーダ3がダウンロードモードであれば(ステップS5で“Yes”の場合には)、ダウンロード制御部5は、ダウンロードファイル7の2行目以降を1行毎に読み込み(ステップS7)、読み込んだ1行が最終行(EOF20)であるか否かを判断する(ステップS8)。
 ステップS8で、読み込んだ1行が最終行でなければ(ステップS8で“No”の場合には)、ダウンロード制御部5は、この読み込んだダウンロードファイル7の1行をコマンドとしてカードリーダ3に対して発行する。たとえば、読み込んだ1行がダウンロードファイル7の2行目であれば、イレースコマンド18がカードリーダ3に対して発行される。また、読み込んだ1行がダウンロードファイル7の3行目以降であれば、ダウンロードコマンド19が整形されたプログラムデータ4とともにカードリーダ3に対して発行される。
 その後、ダウンロード制御部5は、カードリーダ3の応答に基づいてコマンドが正常に実行されたか否かを判断する(ステップS10)。カードリーダ3の応答が正常応答であれば(ステップS10で“Yes”の場合には)、ステップS7へ戻り、ダウンロードファイル7の次の行を読み込む。一方、カードリーダ3の応答が異常応答であれば(ステップS10で“No”の場合には)、ダウンロード制御部5は、プログラムデータ4のダウンロード失敗と判断して、ダウンロード処理を終了する。なお、この場合には、ダウンロードシステム1がダウンする(ダウンロードシステム1の動作が停止してしまう)ことがある。
 また、ステップS8で、ダウンロードファイル7から読み込んだ1行が最終行となると(ステップS8で“Yes”の場合)、プログラムデータ4のダウンロードは正常終了となる。
 また、ステップS3で、上位装置2に記憶されているプログラムデータ4のレビジョンと、ファームウェア格納部10、15に記憶されているプログラムデータのレビジョンとが一致している場合には(ステップS3で“Yes”の場合には)、ダウンロード制御部5は、プログラムデータ4のダウンロードは不要と判断して、ダウンロード処理を終了する。たとえば、図3(A)において、上位装置2に記憶されているプログラムデータ4のレビジョンが“Rev.A”である場合には、上位装置2に記憶されているプログラムデータ4のレビジョンと、ファームウェア格納部10に記憶されているプログラムデータのレビジョンとが一致しているため、ダウンロード制御部5は、ダウンロード処理を終了する。
 (ファームウェアのダウンロード方法:カードリーダでの処理)
 図5は、図1に示すカードリーダ3での、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。
 図3(C)、(D)に示すように、上位装置2にカードリーダ3Bが接続されている場合には、ダウンロードファイル7A、7Bのいずれが上位装置2に記憶されている場合であっても、カードリーダ3Bでは、ファームウェアのダウンロード時に、上述した特許文献1に記載されたカードリーダの処理と同様の処理が行われる。
 すなわち、上述のステップS7で読み込まれた1行がダウンロードファイル7の2行目であれば、ステップS9で発行されるイレースコマンド18に基づいて、カードリーダ制御部13は、イレースコマンド18を実行する。具体的には、書き換え制御部14が、ファームウェア格納部15の中の指定された領域を消去する。より具体的には、書き換え制御部14が、プログラムデータ4に対応するファームウェア格納部15内のプログラムデータを消去する。また、カードリーダ制御部13は、イレースコマンド18が正常に実行されたとの正常応答をダウンロード制御部5へ返す。
 また、ステップS7で読み込まれた1行がダウンロードファイル7の3行目以降であれば、ステップS9で発行されるダウンロードコマンド19に基づいて、カードリーダ制御部13は、ダウンロードコマンド19を実行する。具体的には、書き換え制御部14が、上位装置2から送られてくるプログラムデータ4を、ファームウェア格納部15の中の指定された領域に格納(記憶)する。すなわち、書き換え制御部14が、上位装置2から送られてくるプログラムデータ4を、ファームウェア格納部15に書き込む。また、書き換え制御部14は、ダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す。
 一方、図3(A)、(B)に示すように、上位装置2にカードリーダ3Aが接続されている場合には、カードリーダ3Aでは、ファームウェアのダウンロード時に、上述した特許文献1に記載されたカードリーダの処理と異なる処理が行われる。具体的には、カードリーダ3Aでは、図5に示すフローにしたがって、以下のように処理が行われる。
 上述のステップS7で読み込まれた1行がダウンロードファイル7の2行目であって、ステップS9で発行されたダウンロードファイル7の2行目(すなわち、イレースコマンド18)を書き換え制御部9が受信すると(ステップS21)、書き換え制御部9は、この2行目のイレースコマンド18を実行せずに、イレースコマンド18が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS22)。すなわち、ステップS22では、書き換え制御部9が、ファームウェア格納部10に記憶されているプログラムデータを消去することなく、イレースコマンド18が正常に実行されたとの正常応答をダウンロード制御部5へ返す。
 その後、ステップS9で発行されたダウンロードファイル7の3行目(すなわち、ダウンロードコマンド19およびプログラムデータ4)を書き換え制御部9が受信すると(ステップS23)、書き換え制御部9は、3行目のプログラムデータ4に書き換え許可データ22が記述されているか否かを判断する(ステップS24)。すなわち、ステップS24において、書き換え制御部9は、上位装置2に記憶されているプログラムデータ4がカードリーダ3Aに対応するプログラムデータ4であるか否かを判別する。
 図3(A)に示すように、上位装置2にダウンロードファイル7Aが記憶されており、ステップS24で、3行目のプログラムデータ4に書き換え許可データ22が記述されている場合(すなわち、ダウンロードファイル7に書き換え許可データ22が含まれている場合、ステップS24で“Yes”の場合)には、書き換え制御部9は、ダウンロードファイル7Aの2行目のコマンドおよび3行目のコマンド(すなわち、イレースコマンド18およびダウンロードコマンド19)を実行し、ダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS25)。具体的には、ステップS25で、書き換え制御部9が、ファームウェア格納部10に記憶されているプログラムデータを消去し、かつ、上位装置2から送られてくるプログラムデータ4をファームウェア格納部10の中の指定された領域に格納(記憶)して、正常応答をダウンロード制御部5へ返す。
 その後、書き換え制御部9は、ダウンロードファイル7Aの4行目以降を順次、受信し(ステップS26)、受信した行のダウンロードコマンド19を順次、実行して(すなわち、上位装置2から送られてくるプログラムデータ4をファームウェア格納部10の中の指定された領域に格納(記憶)して)、ダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS27)。
 一方、図3(B)に示すように、上位装置2にダウンロードファイル7Bが記憶されており、ステップS24で、3行目のプログラムデータ4に書き換え許可データ22が記述されていない場合(すなわち、ダウンロードファイル7に書き換え許可データ22が含まれていない場合、ステップS24で“No”の場合)には、書き換え制御部9は、ダウンロードファイル7Bの3行目のコマンド(すなわち、ダウンロードコマンド19)を実行せずに、ダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS28)。具体的には、ステップS28では、書き換え制御部9が、上位装置2から送られてくるプログラムデータ4をファームウェア格納部10に格納(記憶)せずに、正常応答をダウンロード制御部5へ返す。
 その後、書き換え制御部9は、ダウンロードファイル7Bの4行目以降を順次、受信し(ステップS29)、受信した行のダウンロードコマンド19を実行せずに、ダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS30)。
 本形態のステップS24は、書き換え許可データ22がダウンロードファイル7に含まれているか否かを判別する書き換え許可判別ステップである。また、本形態のステップS25、S27は、書き換え許可データ22がダウンロードファイル7に含まれている場合に、カードリーダ3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータ4に書き換えて、データ書換えの正常完了応答を上位装置2へ返す書き換えステップである。さらに、本形態のステップS28、S30は、書き換え許可データ22がダウンロードファイル7に含まれていない場合に、カードリーダ3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータ4に書き換えずに、データ書換えの正常完了応答を上位装置2へ返す擬似書き換えステップである。
 (本形態の主な効果)
 以上説明したように、本形態では、ダウンロードファイル7に書き換え許可データ22が含まれている場合には、カードリーダ3Aに記憶されているプログラムデータが上位装置2から送られてくるプログラムデータ4に書き換えられているが、ダウンロードファイル7に書き換え許可データ22が含まれていない場合には、カードリーダ3Aに記憶されているプログラムデータが上位装置2から送られてくるプログラムデータ4に書き換えられていない。すなわち、本形態では、カードリーダ3Aに対応するプログラムデータ4が上位装置2に記憶されている場合には、カードリーダ3Aに記憶されているプログラムデータが上位装置2から送られてくるプログラムデータ4に書き換えられているが、カードリーダ3Bに対応するプログラムデータ4が上位装置2に記憶されている場合には、カードリーダ3Aに記憶されているプログラムデータが上位装置2から送られてくるプログラムデータ4に書き換えられていない。そのため、本形態では、旧型のカードリーダ3Bに対応するプログラムデータ4が上位装置2から新型のカードリーダ3Aにダウンロードされるのを防止することができる。したがって、本形態では、旧型のカードリーダ3Bに対応するプログラムデータ4がカードリーダ3Aにダウンロードされて、カードリーダ3Aが正常に動作しなくなるといった不具合を回避することが可能になる。
 本形態では、ダウンロードファイル7に書き換え許可データ22が含まれておらず、カードリーダ3Aに記憶されているプログラムデータが上位装置2から送られるプログラムデータ4に書き換えられない場合であっても(すなわち、イレースコマンド18およびダウンロードコマンド19を書き換え制御部9が実行しない場合であっても)、書き換え制御部9は、データ書換えの正常完了応答を上位装置2へ返している。そのため、上位装置2からカードリーダ3Aへプログラムデータ4がダウンロードされなくても、上位装置2のダウンロード処理を正常に終了させることができる。したがって、本形態では、ダウンロードシステム1のダウンを回避することが可能になる。
 本形態では、上位装置2にカードリーダ3Bが接続されている場合、カードリーダ3Bは、ダウンロードファイル7に書き換え許可データ22が含まれるか否かを判別せずに、カードリーダ3Bに記憶されているプログラムデータを上位装置2から送られるプログラムデータ4に書き換えている。そのため、カードリーダ3Aに対応するプログラムデータ4が上位装置2に記憶されている場合には、このプログラムデータ4によって、カードリーダ3Bを動作させることができる。すなわち、本形態では、カードリーダ3Aに対応する1個のプログラムデータ4によって、カードリーダ3A、3Bを動作させることができる。
 また、カードリーダ3Bに対応するプログラムデータ4が上位装置2に記憶されている場合には、このプログラムデータ4は、カードリーダ3Bにはダウンロードされるが、カードリーダ3Aにはダウンロードされない。そのため、カードリーダ3Aに対応するプログラムデータによってカードリーダ3Aを動作させ、かつ、カードリーダ3Bに対応するプログラムデータによってカードリーダ3Bを動作させることができる。したがって、本形態では、上位装置2に記憶されているプログラムデータ4が1個であっても、カードリーダ3A、3Bを適切に動作させることが可能になる。
 このように、本形態では、上位装置2に記憶されているプログラムデータ4が1個であっても、カードリーダ3A、3Bを適切に動作させることが可能になるため、上位装置2にカードリーダ3Aが接続されるのか、あるいは、カードリーダ3Bが接続されるのかによって、上位装置2を変更する必要がなくなる。したがって、本形態では、ダウンロードシステム1を使用するユーザの利便性を高めることが可能になる。
 (ダウンロードファイルおよびダウンロード方法の変形例)
 図6は、本発明の他の実施の形態にかかるダウンロードファイル7のデータ構造の一例を示す概念図である。図7は、本発明の他の実施の形態にかかるカードリーダ3での、ファームウェアのダウンロード時の処理フローの一例を示すフローチャートである。
 上述した形態では、ダウンロードファイル7に、カードリーダ3に記憶されているプログラムデータを上位装置2に記憶されているプログラムデータ4に書き換えても良いか否かを判別するための書き換え照合コマンド23が含まれていないが、図6に示すように、ダウンロードファイル7に書き換え照合コマンド23が含まれていても良い。この場合には、たとえば、書き換え照合コマンド23に、カードリーダ3に記憶されているプログラムデータを外部記憶部6に記憶されるプログラムデータ4に書き換えることを書き換え制御部9、14に許可させるための書き換え許可データが付されている。また、ダウンロードファイル7Aの書き換え照合コマンド23に付される書き換え許可データと、ダウンロードファイル7Bの書き換え照合コマンド23に付される書き換え許可データとは異なっている。
 この変形例にかかるダウンロードファイル7では、図6に示すように、書き換え照合コマンド23は、ダウンロードファイル7の2行目に記述され、イレースコマンド18は、ダウンロードファイル7の3行目に記述され、ダウンロードコマンド19およびプログラムデータ4は、ダウンロードファイル7の4行目以降に記述されている。また、書き換え制御部9には、ダウンロードファイル7Aの書き換え照合コマンド23に付される書き換え許可データに一致する、または、この書き換え許可データに1対1で対応する許可データが記憶され、書き換え制御部14には、ダウンロードファイル7Bの書き換え照合コマンド23に付される書き換え許可データに一致する、または、この書き換え許可データに1対1で対応する許可データが記憶されている。
 この変形例では、図7に示すように、上述のステップS9で発行されたダウンロードファイル7の2行目(すなわち、書き換え照合コマンド23)を書き換え制御部9が受信すると(ステップS41)、書き換え制御部9は、書き換え照合コマンド23に付された書き換え許可データが、書き換え制御部9に記憶される許可データと一致するか(あるいは、この許可データと対応するか)否かを判断する(ステップS42)。すなわち、書き換え制御部9は、ステップS42において、書き換え照合が取れるか否かを判断する。
 上位装置2にダウンロードファイル7Aが記憶されており、ステップS42で、書き換え照合が取れる場合(ステップS42で“Yes”の場合)には、書き換え制御部9は、書き換え照合が取れたとの正常応答をダウンロード制御部5へ返す(ステップS43)。その後、書き換え制御部9は、ダウンロードファイル7Aの3行目以降を順次、受信し(ステップS44)、受信した行のイレースコマンド18やダウンロードコマンド19を順次、実行して、イレースコマンド18やダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS45)。
 一方、ステップS42で、書き換え照合が取れない場合(ステップS42で“No”の場合)には、書き換え制御部9は、書き換え照合コマンド23に付された書き換え許可データが、ダウンロードファイル7Bの書き換え照合コマンド23に付された書き換え許可データであるのか、それとも、異なる機種のカードリーダ等のダウンロードファイルの書き換え照合コマンドに付された書き換え許可データであるのかを判断する(ステップS46)。すなわち、ステップS46において、書き換え制御部9は、上位装置2に記憶されているプログラムデータが旧型のカードリーダ3Bに対応するものであるのか、それとも、異なる機種のカードリーダ等に対応するものであるのかを判断する。
 ステップS46で、上位装置2に記憶されているプログラムデータがカードリーダ3Bに対応するものである場合(すなわち、上位装置2にダウンロードファイル7Bが記憶されている場合、ステップS46で“Yes”の場合)には、書き換え制御部9は、書き換え照合が取れていないにもかかわらず書き換え照合が取れたとの正常応答をダウンロード制御部5へ返す(ステップS47)。その後、書き換え制御部9は、ダウンロードファイル7Bの3行目以降を順次、受信し(ステップS48)、受信した行のイレースコマンド18やダウンロードコマンド19を実行せずに、イレースコマンド18やダウンロードコマンド19が正常に実行されたとの正常応答をダウンロード制御部5へ返す(ステップS49)。
 また、ステップS46で、上位装置2に記憶されているプログラムデータが異なる機種のカードリーダ等に対応するものである場合(ステップS46で“No”の場合)には、書き換え制御部9は、異常応答をダウンロード制御部5へ返す(ステップS50)。異常応答を受信したダウンロード制御部5は、プログラムデータ4のダウンロード失敗と判断して、ダウンロード処理を終了する。
 この変形例においても、上述した形態と同様の効果を得ることができる。また、この変形例では、プログラムデータ4に書き換え許可データ22を含ませる必要がなくなるため、プログラムデータ4の構造を簡素化することが可能になる。なお、プログラムデータ4に書き換え許可データ22が含まれている場合には、ダウンロードファイル7に書き換え照合コマンド23が含まれていない場合や書き換え照合コマンド23をカードリーダ3Aが受け付けない場合であっても、ダウンロードファイル7に書き換え許可データが含まれているか否かを判別することが可能になる。
 なお、この変形例におけるステップS42は、カードリーダ3Aに記憶されているプログラムデータを上位装置2に記憶されているプログラムデータ4に書き換えることを書き換え制御部9に許可させるための書き換え許可データがダウンロードファイル7に含まれているか否かを判別する書き換え許可判別ステップである。また、ステップS45は、カードリーダ3Aに記憶されているプログラムデータを上位装置2に記憶されているプログラムデータ4に書き換えることを書き換え制御部9に許可させるための書き換え許可データがダウンロードファイル7に含まれている場合に、カードリーダ3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータ4に書き換えて、データ書換えの正常完了応答を上位装置2へ返す書き換えステップである。さらに、ステップS49は、カードリーダ3Aに記憶されているプログラムデータを上位装置2に記憶されているプログラムデータ4に書き換えることを書き換え制御部9に許可させるための書き換え許可データがダウンロードファイル7に含まれていない場合に、カードリーダ3Aに記憶されているプログラムデータを上位装置2から送られるプログラムデータ4に書き換えずに、データ書換えの正常完了応答を上位装置2へ返す擬似書き換えステップである。
 (他の実施の形態)
 上述した形態および変形例は、本発明の好適な形態の一例ではあるが、これに限定されるものではなく本発明の要旨を変更しない範囲において種々変形実施が可能である。
 上述した形態では、書き換え許可データ22は、ダウンロードファイル7Aの中の3行目のプログラムデータ4に記述されている。この他にもたとえば、書き換え許可データ22は、ダウンロードファイル7Aの中の4行目以降のn行目のプログラムデータ4に記述されても良い。この場合には、書き換え制御部9は、n行目のプログラムデータ4に書き換え許可データ22が記述されているか否かを判断した後に、2行目からn行目までのコマンドを実行して正常応答をダウンロード制御部5へ返すか、あるいは、2行目からn行目までのコマンドを実行せずに正常応答をダウンロード制御部5へ返す。
 上述した形態では、上位装置2に通信可能に接続される周辺装置、第2周辺装置は、カードリーダ3であるが、上位装置2に通信可能に接続される周辺装置、第2周辺装置は、カードプリンタ等のカードリーダ3以外の各種の装置であっても良い。
 1 ダウンロードシステム(ファームウェアのダウンロードシステム)
 2 上位装置
 3(3A) カードリーダ(周辺装置)
 3(3B) カードリーダ(第2周辺装置)
 4 プログラムデータ
 7(7A、7B) ダウンロードファイル
 9 書き換え制御部
 22 書き換え許可データ
 23 書き換え照合コマンド
 S24、S42 書き換え許可判別ステップ
 S25、S27、S45 書き換えステップ
 S28、S30、S49 擬似書き換えステップ

Claims (6)

  1.  上位装置に接続される周辺装置であって、前記周辺装置を動作させるファームウェアのプログラムデータを前記上位装置からダウンロード可能な周辺装置において、
     前記周辺装置に記憶されている前記プログラムデータの書き換えを制御する書き換え制御部を備え、
     前記プログラムデータを含むとともに前記上位装置に記憶されるダウンロードファイルに、前記周辺装置に記憶されている前記プログラムデータを前記上位装置に記憶されている前記プログラムデータに書き換えることを前記書き換え制御部に許可させるための書き換え許可データが含まれている場合に、前記周辺装置に記憶されている前記プログラムデータを前記上位装置から送られる前記プログラムデータに書き換えて、データ書換えの正常完了応答を前記上位装置へ返すとともに、
     前記ダウンロードファイルに前記書き換え許可データが含まれていない場合に、前記周辺装置に記憶されている前記プログラムデータを前記上位装置から送られる前記プログラムデータに書き換えずに、データ書換えの正常完了応答を前記上位装置へ返すことを特徴とする周辺装置。
  2.  上位装置に接続される周辺装置であって、前記周辺装置を動作させるファームウェアのプログラムデータを前記上位装置からダウンロード可能な周辺装置の制御方法において、
     前記周辺装置に記憶されている前記プログラムデータを前記上位装置に記憶されている前記プログラムデータに書き換えることを許可させるための書き換え許可データが、前記プログラムデータを含むとともに前記上位装置に記憶されるダウンロードファイルに含まれているか否かを判別する書き換え許可判別ステップと、
     前記書き換え許可判別ステップで、前記書き換え許可データが前記ダウンロードファイルに含まれている場合に、前記周辺装置に記憶されている前記プログラムデータを前記上位装置から送られる前記プログラムデータに書き換えて、データ書換えの正常完了応答を前記上位装置へ返す書き換えステップと、
     前記書き換え許可判別ステップで、前記書き換え許可データが前記ダウンロードファイルに含まれていない場合に、前記周辺装置に記憶されている前記プログラムデータを前記上位装置から送られる前記プログラムデータに書き換えずに、データ書換えの正常完了応答を前記上位装置へ返す擬似書き換えステップとを備えることを特徴とする周辺装置の制御方法。
  3.  請求項1に記載の周辺装置、または、請求項2に記載の周辺装置の制御方法で制御される周辺装置が接続可能な前記上位装置を備えることを特徴とするファームウェアのダウンロードシステム。
  4.  前記書き換え許可データは、前記ダウンロードファイルの前記プログラムデータの中に含まれていることを特徴とする請求項3記載のファームウェアのダウンロードシステム。
  5.  前記ダウンロードファイルには、前記周辺装置に記憶されている前記プログラムデータを前記上位装置に記憶されている前記プログラムデータに書き換えても良いか否かを判別するための書き換え照合コマンドが含まれ、
     前記書き換え許可データは、前記書き換え照合コマンドに付されていることを特徴とする請求項3記載のファームウェアのダウンロードシステム。
  6.  前記上位装置には、前記周辺装置よりも旧型の第2周辺装置が接続可能であり、
     前記第2周辺装置は、前記ダウンロードファイルに前記書き換え許可データが含まれているか否かを判別せずに、前記第2周辺装置に記憶されている前記プログラムデータを前記上位装置から送られる前記プログラムデータに書き換えることを特徴とする請求項3から5のいずれかに記載のファームウェアのダウンロードシステム。
PCT/JP2012/071564 2011-09-01 2012-08-27 周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム WO2013031719A1 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
US14/342,201 US8954621B2 (en) 2011-09-01 2012-08-27 Peripheral, method of controlling peripheral, and firmware downloading system
CN201280042441.7A CN103765389B (zh) 2011-09-01 2012-08-27 外围设备、外围设备的控制方法以及固件的下载系统
BR112014004449A BR112014004449A2 (pt) 2011-09-01 2012-08-27 periférico, método de controle de periférico e sistema de transferência via download de firmware
KR1020147005428A KR101590275B1 (ko) 2011-09-01 2012-08-27 주변 장치, 주변 장치의 제어 방법 및 펌웨어의 다운로드 시스템

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2011190465A JP5734139B2 (ja) 2011-09-01 2011-09-01 周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム
JP2011-190465 2011-09-01

Publications (1)

Publication Number Publication Date
WO2013031719A1 true WO2013031719A1 (ja) 2013-03-07

Family

ID=47756207

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2012/071564 WO2013031719A1 (ja) 2011-09-01 2012-08-27 周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム

Country Status (6)

Country Link
US (1) US8954621B2 (ja)
JP (1) JP5734139B2 (ja)
KR (1) KR101590275B1 (ja)
CN (1) CN103765389B (ja)
BR (1) BR112014004449A2 (ja)
WO (1) WO2013031719A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6101073B2 (ja) * 2012-12-27 2017-03-22 日本電産サンキョー株式会社 周辺装置、周辺装置の制御方法、ファームウェアのダウンロードシステム、およびプログラム
JP2018136816A (ja) * 2017-02-23 2018-08-30 住友電気工業株式会社 プログラム更新システム、制御装置、プログラム更新方法、及びコンピュータプログラム

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223075A (ja) * 1996-02-19 1997-08-26 Nec Corp Pcカード
JP2004013782A (ja) * 2002-06-11 2004-01-15 Sankyo Seiki Mfg Co Ltd ファームウェアのダウンロード方法
JP2004259224A (ja) * 2003-02-28 2004-09-16 Canon Inc 周辺装置
JP2007293514A (ja) * 2006-04-24 2007-11-08 Canon Inc バージョン管理および自動アップデート機能

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001134428A (ja) * 1999-11-09 2001-05-18 Matsushita Electric Ind Co Ltd 運用プログラム更新方法及び装置
JP4021407B2 (ja) * 2003-12-16 2007-12-12 シャープ株式会社 情報処理装置
US7730326B2 (en) * 2004-11-12 2010-06-01 Apple Inc. Method and system for updating firmware stored in non-volatile memory
JP2007004377A (ja) * 2005-06-22 2007-01-11 Ricoh Co Ltd 画像形成装置及びファームウェアの更新方法
JP2008181228A (ja) * 2007-01-23 2008-08-07 Sony Corp 管理システムおよび管理方法、端末装置、管理サーバ、並びにプログラム
JP2009053901A (ja) * 2007-08-27 2009-03-12 Seiko Epson Corp プリンタ
CN101557584A (zh) * 2009-05-14 2009-10-14 中兴通讯股份有限公司 一种实现移动终端应用权限控制的方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09223075A (ja) * 1996-02-19 1997-08-26 Nec Corp Pcカード
JP2004013782A (ja) * 2002-06-11 2004-01-15 Sankyo Seiki Mfg Co Ltd ファームウェアのダウンロード方法
JP2004259224A (ja) * 2003-02-28 2004-09-16 Canon Inc 周辺装置
JP2007293514A (ja) * 2006-04-24 2007-11-08 Canon Inc バージョン管理および自動アップデート機能

Also Published As

Publication number Publication date
JP2013054426A (ja) 2013-03-21
KR20140043837A (ko) 2014-04-10
CN103765389A (zh) 2014-04-30
US8954621B2 (en) 2015-02-10
KR101590275B1 (ko) 2016-01-29
CN103765389B (zh) 2016-08-17
US20140223036A1 (en) 2014-08-07
BR112014004449A2 (pt) 2017-03-28
JP5734139B2 (ja) 2015-06-10

Similar Documents

Publication Publication Date Title
JP6227794B2 (ja) 車両制御装置、リプログラミングシステム
US9361138B2 (en) Peripheral device, method of controlling peripheral device, firmware download system and program
JP4829370B1 (ja) メモリ制御装置、メモリ装置および停止制御方法
JP2005173747A (ja) フィールド機器のメモリ更新システム
JP5734139B2 (ja) 周辺装置、周辺装置の制御方法およびファームウェアのダウンロードシステム
JP4916170B2 (ja) プログラマブル表示器、サーバおよびそれらのプログラム
JP6582438B2 (ja) 情報処理装置、システム設定方法、及び、コンピュータ・プログラム
JP6301820B2 (ja) リプログラミングシステム
JP5419123B2 (ja) 電子機器システム及びファームウェアの更新方法
JP2007058499A (ja) 情報処理装置およびデータ書き込み方法
JP2007257271A (ja) メモリ診断方法、マイクロコンピュータシステム及びプログラム
US20170003955A1 (en) Method of Rewriting Printer Firmware, and Printer
JP4566904B2 (ja) システム、制御プログラムおよびそのプログラムを記録した記録媒体、ならびに画像データ作成プログラムおよびそのプログラムを記録した記録媒体
JP2002007152A (ja) ダウンロード方法および装置
JP5158883B2 (ja) ファームウェア更新方法及びファームウェア更新装置
JP2007534095A (ja) 光ドライブのすべてのプログラマブルコンテンツ及びファームウェアの復元
JP2004013782A (ja) ファームウェアのダウンロード方法
JP2008117404A (ja) メモリ書き換え制御システム。
JP2011120177A5 (ja)
JP5981477B2 (ja) フラッシュメモリ制御装置、フラッシュメモリ内蔵機器、フラッシュメモリ制御方法、及びそのためのプログラム
JP6401070B2 (ja) ソフトウェア書き換え装置
JP5821788B2 (ja) 電子制御装置
JP6638323B2 (ja) 印刷装置、及び印刷装置の制御方法
JP2004341781A (ja) ファームウエア更新方法、ファームウエア更新装置およびフラッシュrom
JP2017130082A (ja) ネットワークシステム、情報処理装置、情報処理装置の制御方法、及び印刷装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 12828474

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20147005428

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 14342201

Country of ref document: US

REG Reference to national code

Ref country code: BR

Ref legal event code: B01A

Ref document number: 112014004449

Country of ref document: BR

122 Ep: pct application non-entry in european phase

Ref document number: 12828474

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 112014004449

Country of ref document: BR

Kind code of ref document: A2

Effective date: 20140225

点击 这是indexloc提供的php浏览器服务,不要输入任何密码和下载