Method of producing electronic apparatus and printing apparatus

JP2025034483APending Publication Date: 2025-03-13SEIKO EPSON CORP
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2023140881
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-08-31
Publication Date
2025-03-13

Smart Images

  • Figure 2025034483000001_ABST
    Figure 2025034483000001_ABST
Patent Text Reader

Abstract

To solve the problem in which firmware cannot be updated when a backup area is not secured in advance.SOLUTION: A method includes: storing, in place of first data stored in a first partition of a storage medium, setting data stored in a second partition of the storage medium, in the first partition; changing the second partition to a partition containing a third partition; storing the setting data stored in the first partition, in the third partition; storing the first data acquired via an interface, in the first partition, in place of the setting data stored in the first partition; and producing an electronic apparatus having the third partition. The first data is general-purpose data used in a plurality of electronic apparatuses, but not used for production of the electronic apparatus.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] The present invention relates to an electronic device production method and a printing device. [Background technology]

[0002] Conventionally, there are known techniques for updating firmware of electronic devices. For example, Patent Document 1 discloses a technique in which a NAND-Flash is prepared, partitioned into at least three areas, a firmware area, a user area, and a backup area, and firmware is stored in the backup area to update the firmware. [Prior art documents] [Patent documents]

[0003] [Patent Document 1] JP 2021-135674 A Summary of the Invention [Problem to be solved by the invention]

[0004] Conventionally, if a backup area is not secured in advance, firmware cannot be updated. [Means for solving the problem]

[0005] An electronic device production method for solving the above problem includes storing setting data stored in a second partition of a storage medium in the first partition instead of first data stored in the first partition, changing the second partition to a partition including a third partition, storing the setting data stored in the first partition in the third partition, and storing the setting data stored in the first partition in the third partition, and after storing the setting data in the third partition, storing the first data obtained via an interface in the first partition instead of the setting data stored in the first partition, wherein the first data is general-purpose data used in multiple electronic devices and is data not used in production of electronic devices, to produce an electronic device having the third partition.

[0006] A printing device for solving the above problem includes an interface, a processor that updates a storage medium having a first partition and a second partition using an update program obtained via the interface, and a printing mechanism that performs printing using first data stored in the first partition, wherein the processor stores setting data stored in the second partition in the first partition instead of the first data, and after storing the setting data in the first partition, changes the second partition to a partition that includes a third partition, stores the setting data stored in the first partition in the third partition, and after storing the setting data in the third partition, stores the first data obtained via the interface in the first partition instead of the setting data stored in the first partition, and the first data is general-purpose data used by multiple electronic devices and is used for printing but not for partition operations. [Brief description of the drawings]

[0007] [Figure 1]FIG. 2 is a block diagram of a printer. [Diagram 2] FIG. 2 is a diagram illustrating a storage area of ​​an EEPROM. [Diagram 3] FIG. 1 is a block diagram of a computer. [Figure 4] FIG. 11 is a diagram for explaining stage information. [Diagram 5] 13 is a flowchart of a firmware transmission process. [Figure 6] 13 is a flowchart of a firmware update process. [Figure 7] 10 is a diagram illustrating a storage area of ​​an EEPROM when a main program with a version value of 1.1 is stored. FIG. [Figure 8] 13 is a flowchart of a process by a main program having a version value of 1.1. [Figure 9] 10 is a diagram illustrating a storage area of ​​an EEPROM when a main program with a version value of 1.2 is stored. FIG. [Figure 10] 13 is a flowchart of a process by a main program having a version value of 1.2. [Figure 11] 13 is a diagram illustrating a storage area of ​​the EEPROM when setting data is restored. FIG. [Figure 12] 10 is a diagram illustrating a storage area of ​​an EEPROM when a main program with a version value of 2.0 is stored. FIG. [Figure 13] 13 is a flowchart of a process by a main program having a version value of 2.0. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0008] Here, the embodiments of the present invention will be described in the following order. (1) System configuration: (1-1) Printer configuration: (1-2) Computer configuration: (2) Firmware program update: (2-1) Firmware transmission process: (2-2) Firmware update process: (3) Update example: (4) Other embodiments:

[0009] (1) System configuration: The electronic device production method according to the present embodiment is realized by a system in which an electronic device and an external device cooperate with each other. The electronic device is a device in which a partition of a storage device is changed. Although the type of the device is not limited, the embodiment will be described here assuming that the electronic device is a printer 10. The external device is a device that cooperates with the printer 10. Although the type of the device is not limited, the embodiment will be described here assuming that a general-purpose computer 20 such as a personal computer or a mobile terminal is the external device. In the present embodiment, the printer 10 and the computer 20 are connected to each other so that they can communicate with each other. The printer 10 can communicate with the computer 20 and exchange various information. The type of communication is not limited, and may be either wired communication or wireless communication, and the communication standard is also not limited, and may be communication according to various communication standards such as LAN (Local Area Network) and USB (Universal Serial Bus).

[0010] (1-1) Printer configuration: 1 is a diagram showing the configuration of a printer 10. The printer 10 includes a processor 10a, a network communication I / F 10b1, a USB I / F 10b2, an EEPROM (Electrically Erasable Programmable Read-Only Memory) 10c, a print mechanism 10d, and a UI unit 10e. The processor 10a includes a CPU, ROM, RAM, etc. (not shown), and can execute various programs recorded in the EEPROM 10c to control each unit of the printer 10.

[0011] The processor 10a may be configured as a single chip, may be configured as multiple chips, or may be configured as an SoC with various functional blocks. Also, for example, an ASIC may be used instead of a CPU, or a configuration in which a CPU and an ASIC work together may be used. When each device in this embodiment has a processor, the processor can be realized in various forms similar to the processor 10a.

[0012] The network communication I / F 10b1 is a communication interface for communicating via a network to which multiple devices can be connected by wired or wireless communication. The network communication I / F 10b1 enables the printer 10 to communicate with other devices connected via the network.

[0013] The USB I / F 10b2 is an interface for performing communication in accordance with the USB standard, and the printer 10 can communicate with other devices connected via a USB cable via the USB I / F 10b2.

[0014] The printing mechanism 10d is a part that executes printing, and prints the content on the printing medium. The printing method is not limited, and various methods such as an inkjet method, a toner method, and a dye-sublimation method can be adopted. The printing medium is not limited to printing paper, and various printing media such as cloth, ceramics, and resin can be used. The printing mechanism 10d includes actuators, various devices, sensors, driving circuits, mechanical parts, and the like for executing printing on various media. The printing mechanism 10d may be configured to be capable of implementing various functions related to printing, such as a stapling function.

[0015] The UI unit 10e includes at least one of a touch panel display and various keys, switches, LEDs, etc. The touch panel display includes a display panel that displays various information, such as the status of the printer 10 and the remaining amount of ink, and a touch detection panel overlaid on the display panel, and detects touch operations. The LED lights up or flashes to indicate the status of the printer 10, etc. The processor 10a can obtain the details of the administrator's operations via the UI unit 10e.

[0016] The EEPROM 10c is a non-volatile memory configured from a semiconductor storage medium, and various data are stored in the EEPROM 10c. Although the type of the EEPROM 10c is not limited, the EEPROM 10c is assumed to be, for example, a NAND type EEPROM. The data stored in the EEPROM 10c includes various data. For example, print data sent from the computer 20 may be temporarily stored in the EEPROM 10c. The EEPROM 10c also stores a firmware program for controlling the printer 10 and data used to operate the printer 10.

[0017] The printer 10 according to this embodiment is capable of updating its firmware program. Fig. 2 is a diagram that shows a schematic diagram of a storage area for data related to updates among the data stored in the EEPROM 10c. Partitions, which are logically divided storage areas, are defined in the EEPROM 10c. In Fig. 2, the storage area of ​​the EEPROM 10c is divided into a 0th partition Pt0, a first partition Pt1, and a second partition Pt2.

[0018] The 0th partition Pt0 contains programs for operating the printer 10, and in the example shown in Fig. 2, it contains a boot program, a main program, and a network device control program. In Fig. 2, it is assumed that these programs are stored in the 0th partition Pt0, which is a single partition, but these programs may be stored in separate partitions.

[0019] The boot program is a program that is executed when starting up the printer 10, and is a program that performs various initializations, etc. In the example shown in Fig. 2, the boot program is duplicated, so even if the data in one program is corrupted, the printer 10 can be started up using the data in the other program.

[0020] The main program is a program for controlling the printer 10. The main program may include various programs, and causes the processor 10a to perform image processing based on print data sent from the computer 20, control of the print mechanism 10d associated with printing, and the like. In this embodiment, the main program includes a USB communication control program for communicating with the computer 20 via the USB I / F 10b2. The processor 10a can communicate with other devices, in this embodiment, the computer 20 connected via a USB cable, via the USB I / F 10b2 by executing the USB communication control program included in the main program. Note that the USB communication control program may be a program separate from the main program, but is preferably stored in the 0th partition Pt0.

[0021] A version value is associated with the main program. The version value is indicated by the numbers on the left and right of the dot, and when the firmware program is updated, the number on the left of the version value is incremented. Meanwhile, in the process of updating the firmware program, each program for updating the firmware program is stored in the 0th partition Pt0. There are multiple copies of each program, and as the firmware program update procedure progresses, they are sequentially updated to other programs. In this way, the version value of the program used in the process of updating the firmware program is indicated by the number on the right of the dot. As the firmware program update procedure progresses, the number on the right of the version value is sequentially incremented. In the example shown in FIG. 2, it is assumed that the version value of the main program is 1.0. When the firmware program update is completed, the version value becomes 2.0. Also, as the firmware program update procedure progresses, the version value changes to 1.1, 1.2, and so on.

[0022] The network device control program is a program for controlling the network communication I / F 10b1. When the processor 10a executes the network device control program, the processor 10a can control the hardware of the network communication I / F 10b1.

[0023] Font data is stored as first data in the first partition Pt1 of the EEPROM 10c. Font data is data that indicates a typeface when characters, etc. are displayed or printed by the printer 10. In this embodiment, a partition dedicated to storing font data is set in advance, and this dedicated partition is called the first partition Pt1.

[0024] The second partition Pt2 of the EEPROM 10c stores setting data and a network communication control program. The setting data is data used when the printer 10 operates, and includes data unique to the printer 10. The unique data is data that may vary depending on individual conditions such as the printer 10 and the user, and examples of the unique data include a password or SSID for communication, and thresholds that are set for each printer at the time of shipment from the factory. Examples of the latter include detection thresholds for various sensors.

[0025] The network communication control program is a program for transmitting and receiving information using the network communication I / F 10b1. When the processor 10a executes the network communication control program, the processor 10a can communicate with the computer 20 via the network in a predetermined procedure. The network device control program stored in the 0th partition is a program for performing processes related to the hardware of the network communication I / F 10b1, i.e., processes in layers including the physical layer, and the network communication control program is a program for performing processes in layers including the application layer, including software related to communication.

[0026] In this embodiment, the second partition Pt2 is a storage area in which data, such as setting data, whose amount can change dynamically, is stored. For this reason, the capacity of the second partition Pt2 is provided with a margin in the initial state, and in the state in which the setting data and the network communication control program shown in Fig. 2 are saved, the storage capacity of the second partition Pt2 has room to spare and there is free space.

[0027] (1-2) Computer configuration: 3 is a block diagram showing the configuration of the computer 20. The computer 20 includes a processor 20a, a network communication I / F 20b1, a USB I / F 20b2, a non-volatile memory 20c, a display 20d, and an input unit 20e. The processor 20a includes a CPU, a ROM, a RAM, etc. (not shown), and can execute various programs recorded in the non-volatile memory 20c to control each unit of the computer 20.

[0028] The network communication I / F 20b1 is a communication interface for communicating via a network to which multiple devices can be connected by wired or wireless communication. The network communication I / F 20b1 enables the computer 20 to communicate with the printer 10 connected via the network.

[0029] The USB I / F 20b2 is an interface for performing communication in accordance with the USB standard. The computer 20 can communicate with the printer 10 connected via a USB cable via the USB I / F 20b2.

[0030] The display 20d is a display device that displays an arbitrary image. The input unit 20e is a device that allows a user to perform an input operation, and is composed of, for example, a keyboard, a mouse, etc. The user can input the user's intention by operating the input unit 20e while visually checking the images and characters displayed on the display 20d.

[0031] The non-volatile memory 20c is a storage medium capable of storing any data. In this embodiment, update data 20c1 used to update the firmware program of the printer 10 is stored in the non-volatile memory 20c. The update data 20c1 is data that is sent from the computer 20 to the printer 10 during the process of updating the firmware program.

[0032] In this embodiment, in order to sequentially overwrite the main program in the 0th partition during the update process, the update data 20c1 includes main programs with version values ​​of 1.1, 1.2, and 2.0. The update data 20c1 also includes font data, a network communication control program, and a cloud server communication program.

[0033] The cloud server communication program is a new firmware program that is installed in the printer 10 when the firmware program in this embodiment is updated, that is, when the version value is updated from 1.0 to 2.0. Here, an example is assumed in which communication with the cloud server was not possible when the version value was 1.0, but communication with the cloud server becomes possible when the version value is 2.0 by the cloud server communication program. Of course, the new firmware program is not limited to a program for communicating with the cloud server.

[0034] In this embodiment, the update data 20c1 is data that does not need to be backed up. In other words, data specific to the printer 10 may differ for each printer 10, and may also differ during the operation of the printer 10. For this reason, backup is necessary when a firmware program update that involves the deletion of this type of data is performed. On the other hand, general-purpose data that can be generated or prepared in advance by the computer 20, which is an external device of the printer 10, can be restored by transferring the data from a device other than the printer 10, without the need for backup.

[0035] Therefore, in this embodiment, the setting data that is specific to the printer 10 is backed up, but the general-purpose data is not backed up, and the firmware program is updated. However, as described above, the setting data contains confidential information such as a password and SSID for communication, so it is not preferable to send the setting data to the computer 20, which is an external device of the printer 10.

[0036] Therefore, it is preferable to back up the setting data in the EEPROM 10c inside the printer 10, but if a storage area for backup is reserved in the printer 10 as in the prior art, the storage area of ​​the storage medium cannot be used efficiently. Therefore, in this embodiment, the setting data is backed up to a partition in which data other than the setting data is stored, rather than to a storage area dedicated to backup, and then the firmware program is updated.

[0037] (2) Firmware program update: The firmware program update will be described in detail below. In this embodiment, as described above, the main program in the 0th partition is sequentially overwritten in the process of updating the firmware program, and the main program is updated from version 1.0 to 2.0 after multiple overwrites. In this configuration in which the version is updated through multiple stages, if the process is interrupted for some reason such as a power outage, it becomes difficult to resume the update from the appropriate process if the current stage is unknown.

[0038] Therefore, in this embodiment, the current stage is indicated by using stage information. Fig. 4 is a diagram for explaining the stage information. Fig. 4 shows the version of the main program stored in the printer 10, the stage information corresponding to the stored version, and the version of the main program to be transmitted from the computer 20 to the printer 10.

[0039] When the version value of the main program stored in the printer 10 is 1.0, 1.1, or 1.2, the stage information is set to state 0, state 1, or state 2, and when the version value becomes 2.0, the stage information becomes state 0 again. When updating from version value 1.0 to 2.0, if the stage information is state 0, the version value of the main program to be sent from the computer 20 to the printer 10 is 1.1. When the stage information is state 1 or state 2, the version values ​​of the main program to be sent from the computer 20 to the printer 10 are 1.2 or 2.0, respectively.

[0040] When the firmware program update is complete and the version value becomes 2.0, the stage information becomes state 0. When the firmware program is updated again, the version value of the main program to be sent from the computer 20 to the printer 10 becomes 2.1.

[0041] The stage information only needs to be stored in the 0th partition of the printer 10, and may be stored in various storage areas. The stage information may be defined in various ways, and may be various types of identification information or the version value itself. The stage information may be further subdivided, and for example, the stage information may be defined according to a combination of the version value of the main program and the state of the partition. Furthermore, a distinction may be made between the 0th state when the version value of the main program is 1.0 and the 0th state when the version value of the main program is 2.0.

[0042] In a configuration in which stage information is defined as described above, when a user performs a predetermined instruction operation on the UI unit 10e of the printer 10, a firmware update process is executed on the printer 10. When the firmware update process is started, an instruction to start a firmware transmission process is sent from the printer 10 to the computer 20, and the computer 20 executes the firmware transmission process. Note that in this embodiment, the network communication control program is temporarily deleted during the firmware update process, so network communication becomes impossible during the update process. Therefore, in this embodiment, communication required during the firmware update process is performed via the USB I / Fs 10b2 and 20b2.

[0043] (2-1) Firmware transmission process: 5 shows a firmware transmission process executed by the computer 20. When the firmware transmission process starts, the processor 20a acquires stage information (step S100). That is, the processor 20a outputs a transmission request for the stage information to the printer 10 via the USB I / F 20b2.

[0044] When the transmission request is made, the printer 10 transmits stage information indicating the current stage to the computer 20. The processor 20a then acquires the stage information via the USB I / F 20b2 and identifies the version to be transmitted based on the stage information (step S105). That is, the processor 20a identifies the version to be transmitted according to the stage information indicating the current stage based on the correspondence shown in FIG.

[0045] Next, the processor 20a determines whether the version to be transmitted identified in step S105 has already been transmitted to the printer 10 (step S110). If it is determined in step S110 that the version to be transmitted has not already been transmitted, the processor 20a transmits a main program corresponding to the version to be transmitted (step S115). That is, the processor 20a refers to the non-volatile memory 20c, extracts a main program corresponding to the version to be transmitted from the update data 20c1, and transmits it to the printer 10 via the USB I / F 20b2.

[0046] Next, the processor 20a judges whether the update is complete (step S120). That is, if the version to be transmitted in step S115 is the last version, the processor 20a judges that the update is complete. For example, in the case of an update from version value 1.0 to 2.0, if the version to be transmitted is version value 2.0, the processor 20a judges that the update is complete.

[0047] If it is determined in step S120 that the update is not completed, or if it is determined in step S110 that the version to be transmitted has already been transmitted, the processor 20a repeats the processes from step S100 onwards. On the other hand, if it is determined in step S120 that the update is completed, the processor 20a ends the firmware transmission process. At this time, the processor 20a may use the display 20d or the like to notify the user that the firmware update has been completed. The user can recognize that the firmware update has been completed based on this notification.

[0048] (2-2) Firmware update process: 6 shows a firmware update process executed in the printer 10. When the firmware update process starts, the processor 10a determines whether or not there has been a request to send stage information from the computer 20 (step S200). That is, the processor 10a monitors whether or not there has been a request to send stage information from the computer 20 based on the information received by the USB I / F 10b2.

[0049] If it is determined in step S200 that a request to transmit the stage information has been made, the processor 10a acquires the stage information corresponding to the current version value of the main program stored in a predetermined storage area of ​​the EEPROM 10c. Then, the processor 20a controls the USB I / F 10b2 to transmit the stage information to the computer 20 (step S205).

[0050] When step S205 is executed, or when it is not determined in step S200 that a request to transmit stage information has been made, the processor 20a determines whether or not the main program has been received (step S210). That is, when stage information is transmitted in step S205, the computer 20 transmits a main program corresponding to the stage information to the printer 10 in step S115. The printer 10 monitors the USB I / F 10b2 and determines whether or not the main program has been received. When it is not determined in step S210 that the main program has been received, the processor 10a repeats the processes from step S200 onwards.

[0051] On the other hand, if it is determined in step S210 that the main program has been received, the processor 10a stores the main program in the EEPROM 10c (step S215). The storage location of the main program is predetermined, and the processor 10a stores the received main program in the predetermined storage location in the 0th partition Pt0.

[0052] Next, the processor 10a restarts the printer 10 (step S220) and executes processing by the main program (step S225). That is, the processor 10a restarts the printer 10 and executes the main program after the update in step S215. Details of the processing by the main program will be described later.

[0053] After step S225 is executed, the processor 10a repeats the processes from step S200 onwards. According to the above process, steps S215 to S225 are executed every time a main program corresponding to the stage information is received, and the firmware update process is executed step by step. When the firmware update process is completed, the printer 10 may continue to operate based on the process of the updated firmware, or may be powered off or restarted.

[0054] (3) Update example: Next, an example of updating by the firmware update process will be described. Here, the firmware update process will be described for each stage. The computer 20, which serves as a control device that communicates with the printer 10, acquires stage information from the printer 10 via the USB I / F 20b2, which serves as an interface, and executes a process of producing the printer 10 according to the stage information. That is, if the stage information is the 0th state, in step S115, the computer 20 sends a main program with a version value of 1.1 to the printer 10. In this case, in step S215, the printer 10 saves the main program with a version value of 1.1 in the 0th partition of the EEPROM 10c.

[0055] Fig. 7 is a diagram showing a schematic view of the storage area of ​​the EEPROM 10c when a main program with a version value of 1.1 is stored. In comparison with the state shown in Fig. 2, the main program with a version value of 1.1 is stored in the 0th partition Pt0 in Fig. 7. When the reboot is performed in step S220 with the main program with a version value of 1.1 stored in the 0th partition Pt0, the processor 10a performs processing by the main program with the version value of 1.1 in step S225.

[0056] Fig. 8 is a flowchart showing the process of the main program of version 1.1. In this process, the processor 10a deletes the font data in the first partition Pt1 (step S300). In Fig. 7, the deletion of the font data is shown by superimposing a straight line on the font data in the first partition Pt1.

[0057] Next, the processor 10a copies the setting data of the second partition Pt2 to the first partition Pt1 (step S305). In Fig. 7, the state in which the setting data stored in the second partition Pt2 is copied to the first partition Pt1 is indicated by a hollow arrow. As described above, the processor 10a has performed a process of storing the setting data stored in the second partition Pt2 in the first partition Pt1 of the EEPROM 10c, in place of the font data as the first data stored in the first partition Pt1, by the main program with the version number 1.1.

[0058] Next, the processor 10a sets the stage information to the first state (step S310). That is, the processor 10a sets the stage information indicating the production stage of the printer 10 to the first state in response to the completion of storing the setting data in the first partition Pt1. With this configuration, the production stage of the printer 10 can be easily notified to the computer 20.

[0059] When the stage information is set to the first state, the processor 20a of the computer 20 executes step S115 after the determinations of steps S100 to S110. Specifically, in step S105, the processor 20a determines that the version to be transmitted is a main program with a version value of 1.2. Then, in step S115, the processor 20a transmits the main program with a version value of 1.2 to the printer 10 via the USB I / F 20b2. In step S215, the printer 10 stores the main program with a version value of 1.2 in the 0th partition Pt0 of the EEPROM 10c. FIG. 9 shows a state in which the main program with a version value of 1.2 is stored in the 0th partition Pt0.

[0060] When the main program with version value 1.2 is saved in the 0th partition Pt0 and the restart is performed in step S220, the processor 10a performs processing by the main program with version value 1.2 in step S225. FIG. 10 is a flowchart showing the processing by the main program with version value 1.2. In this processing, the processor 10a divides the second partition Pt2 into the third partition Pt3 and the fourth partition Pt4 (step S400). FIG. 9 shows the state after the storage area of ​​the second partition Pt2 is divided into the third partition Pt3 and the fourth partition Pt4. The above processing is performed after the setting data is stored in the first partition Pt1, and can be said to be processing to change the second partition Pt2 to a partition including the third partition Pt3. When the partition is divided, the information stored before the division is deleted. Therefore, as shown in FIG. 9, the third partition Pt3 and the fourth partition Pt4 are empty after the division.

[0061] Next, the processor 10a copies the setting data stored in the first partition Pt1 to the third partition (step S405). That is, the setting data backed up in the EEPROM 10c of the printer 10 is restored. In Fig. 11, the outlined arrow indicates how the setting data stored in the first partition Pt1 is copied to the second partition Pt2.

[0062] Next, the processor 10a saves the cloud server communication program in the fourth partition Pt4 (step S410). That is, the processor 10a obtains the cloud server communication program from the computer 20 via the USB I / F 10b2 and saves it in the fourth partition Pt4. Fig. 11 shows the state after the cloud server communication program has been saved in the fourth partition Pt4. According to the above process, a firmware program that did not exist before the update can be installed in the fourth partition Pt4.

[0063] Next, the processor 10a sets the stage information to the second state (step S415). That is, the processor 10a sets the stage information to the second state in response to the completion of storing the setting data in the third partition Pt3. When the stage information is set to the second state, the processor 20a of the computer 20 executes step S115 through the determinations of steps S100 to S110. Specifically, in step S105, the processor 20a determines that the version to be transmitted is a main program with a version value of 2.0. Then, in step S115, the processor 20a transmits the main program with a version value of 2.0 to the printer 10 via the USB I / F 20b2. In step S215, the printer 10 saves the main program with a version value of 2.0 in the 0th partition Pt0 of the EEPROM 10c. FIG. 12 shows a state in which the main program with a version value of 2.0 is saved in the 0th partition Pt0.

[0064] When the main program with version number 2.0 is stored in the 0th partition Pt0 and the restart is performed in step S220, the processor 10a performs processing by the main program with version number 2.0 in step S225. FIG. 13 is a flowchart showing the processing by the main program. In this processing, the processor 10a stores font data in the first partition Pt1 (step S500). That is, the processor 10a acquires font data from the computer 20 via the USB I / F 10b2 and stores it in the first partition Pt1. According to the above processing, after storing the setting data in the third partition Pt3 in step S405, the font data acquired via the interface as the first data in place of the setting data stored in the first partition Pt1 is stored in the first partition Pt1 in step S500.

[0065] Furthermore, the processor 10a saves the network communication control program in the third partition (step S505). That is, the processor 10a acquires the network communication control program from the computer 20 via the USB I / F 10b2 and saves it in the third partition Pt3. After that, the processor 10a becomes able to perform network communication. FIG. 13 shows the state after font data is saved in the first partition Pt1 and the network communication control program is saved in the third partition Pt3. As a result, a printer that stores data as shown in FIG. 12 is completed from a printer that does not have the third partition Pt3. In other words, a printer that has the third partition Pt3 is completed.

[0066] According to the above process, the setting data is backed up in the first partition Pt1 where the font data was stored, so the setting data can be backed up without reserving a dedicated area for backup. Therefore, even if the setting data stored in the second partition Pt2 is deleted when the second partition Pt2 is divided, the setting data can be restored based on the setting data stored in the first partition Pt1. And, because the first partition Pt1 is a storage area for font data, there is no need to reserve a dedicated storage area within the printer 10 for backing up the setting data. Therefore, there is no need to make the storage area of ​​the EEPROM 10c excessively large.

[0067] Furthermore, font data, network communication control programs, main programs, and the like other than the setting data are general-purpose data that are used by multiple printers 10. Therefore, there is no need to back up the data in the EEPROM 10c in the printer 10, and the general-purpose data can be restored using data stored in the computer 20, which is an external device. Therefore, there is no need to secure a dedicated memory area in the printer 10 for backing up the general-purpose data. Therefore, there is no need to make the memory area of ​​the EEPROM 10c excessively large.

[0068] Furthermore, although the setting data may include confidential information, in this embodiment, there is no need to transfer the setting data outside the printer 10. Therefore, leakage of confidential information can be prevented. Furthermore, even if a confidentiality agreement or the like is required to handle the setting data in an external device, in this embodiment, there is no need to transfer the setting data outside the printer 10, so there is no need to sign a contract to update the firmware.

[0069] Furthermore, in order to handle the setting data on an external device, it may be necessary to purchase a private program that is not generally available. However, in this embodiment, since there is no need to transfer the setting data to the outside of the printer 10, there is no need to handle the setting data on an external device for firmware updates, and there is no need to purchase a private program. Furthermore, if the terminals of a memory reader / writer are soldered to the terminals of the EEPROM 10c provided in the printer 10, it is possible to back up and restore the information stored in the EEPROM 10c. However, this is a complicated task, and a memory reader / writer must be prepared. However, in this embodiment, since there is no need to transfer the setting data to the outside of the printer 10, there is no need to handle the setting data on an external device for firmware updates, and complicated tasks are not required, and a memory reader / writer is not required.

[0070] Furthermore, in this embodiment, the printer 10 operates based on main programs (firmware) with version values ​​1.1, 1.2, and 2.0 stored in the 0th partition Pt0 of the EEPROM 10c. The printer 10 operates based on these main programs to produce printers 10 having a third partition. Therefore, the printer 10 can produce printers 10 by operating according to a program within the printer 10, rather than instructions from the computer 20, which is an external device.

[0071] Furthermore, in this embodiment, the production of the printer 10 progresses according to stage information that indicates the production stage of the printer 10. Therefore, the user does not need to be aware of which stage among the multiple stages the printer 10 is at, and there is no need to manage the printer 10 by sending a program suitable for the current stage. Therefore, the firmware update process that spans multiple stages can be executed very easily.

[0072] Furthermore, even if a malfunction such as a power outage occurs midway through a firmware update process spanning multiple stages and the process is interrupted, the process can be easily resumed. That is, after the process is interrupted, when the user performs a predetermined instruction operation on the UI unit 10e of the printer 10, the firmware update process is executed in the printer 10. Also, when the firmware update process is started, an instruction to start a firmware transmission process is sent from the printer 10 to the computer 20, and the computer 20 executes the firmware transmission process. As a result, the process shown in Figures 5 and 6 is executed again, and the process is resumed from an appropriate process according to the stage information.

[0073] (4) Other embodiments: The above embodiment is an example for implementing the present invention, and various other embodiments can be adopted. For example, the device configuration of the printing system is not limited to the configuration shown in FIG. 1, and the printer 10 may be a multifunction device equipped with a scan function or the like. Furthermore, in the above embodiment, the configuration is such that network communication becomes impossible during the firmware update process, but USB communication does not become impossible, but the standard that becomes impossible may be another standard. For example, an embodiment may be such that short-range wireless communication such as Bluetooth (registered trademark) becomes impossible, but USB communication does not become impossible. Various combinations of communication standards may be used, but in any case, it is sufficient that the printer 10 and the computer 20 communicate using a standard that does not become impossible.

[0074] The storage medium may be a medium capable of setting partitions and storing arbitrary information in each partition, and may be realized by a NAND-type EEPROM or the like as in the above embodiment, but the form is not limited thereto. The partition may be a specific range of storage area formed by logically dividing the storage area of ​​the storage medium into separate areas, and the number and capacity of the partitions provided in the storage medium are not limited.

[0075] The first data is general-purpose data used by multiple electronic devices and is not used in the production of the electronic devices. That is, the first data is general-purpose data used by multiple electronic devices and is not related to the specific settings of the electronic devices. In addition, since the first data is not used in the production of the electronic devices, it is not referenced in the production process of the electronic devices, i.e., the process related to the update of the partition.

[0076] As a result, the first data may be deleted from the storage medium during the production process of the electronic device, and can be easily restored. The first data may be data stored in an external device outside the electronic device, or data that can be backed up from the electronic device to an external device. This type of data includes various types of data other than font data as in the above-mentioned embodiment. For example, data for forming a user interface and various types of image data can be the first data.

[0077] On the other hand, data unique to the electronic device or data including secret information that is prohibited from being transferred from the electronic device to an external device is not the first data. This type of data includes various data other than the setting data of the electronic device as in the above embodiment. For example, data that cannot be viewed unless a contract is made to handle secret information is not the first data.

[0078] The setting data includes data specific to an electronic device and is referenced when the electronic device is operated. The specific data includes data specific to each individual electronic device, and is not general-purpose data that is used by multiple electronic devices. If such setting data is restored with data different from the original setting data due to an error that occurs during restoration after backup, the electronic device may not operate normally thereafter. In addition, the setting data may include data that should not be transferred to an external device to ensure security, and data that cannot be viewed unless a contract is made to handle confidential information. For this reason, the setting data is not transferred to an external device but is backed up inside the electronic device. In other words, it is backed up from the second partition to the first partition.

[0079] When backing up the setting data to the first partition or when saving the first data to the first partition, a process of deleting the previous data may be performed in advance, or a process of overwriting the previous data may be performed. Furthermore, when backing up the setting data to the first partition, a part of the previous first data may be left. For example, in the case where multiple font data are included, one font data may be left and the other font data may be deleted before backing up the setting data.

[0080] The method of changing the second partition to a partition including the third partition is not limited to the configuration of dividing the second partition into the third partition and the fourth partition. For example, in a configuration in which the second partition and other partitions exist, the storage area of ​​the second partition combined with the other partitions may be changed to the third partition, or may be changed to three or more partitions including the third partition. In any case, the operation of changing the second partition to a partition including the third partition involves the deletion of the original data stored in the partition related to the change. For this reason, the setting data, which is non-generic data stored in the second partition, is backed up to the first partition, which is not related to the change.

[0081] The interface is an interface for realizing communication with an external device outside the electronic device. The first data is acquired through the interface, so that the first data is transmitted from the external device to the electronic device. The interface standard is not limited, but an interface having a standard that does not become unusable during the production process of the electronic device is used. The external device may be a general-purpose computer, a portable storage medium, a server connected via a communication network, or various other devices.

[0082] Partition 0 only needs to store firmware for operating the electronic device. That is, firmware for performing normal operations in the electronic device, such as a printing operation in a printing device, is stored in partition 0. Of course, firmware stored in partition 0 during the production process of the electronic device may also operate the electronic device.

[0083] The stage information only needs to indicate a stage of the production of the electronic device. That is, in order to change the second partition to a partition including the third partition and further to make the electronic device operable, there are multiple stages in which the states stored in the storage medium and the states of the partitions are different. The stage information is information for identifying these stages. Once the stage information is defined, the stage of the electronic device becomes clear, so that the external device can easily proceed step by step based on the stage information to produce the electronic device.

[0084] Furthermore, the present invention can be applied as a program or method executed by a computer. The above-mentioned system, program, and method may be realized as a single device, or may be realized by using parts of multiple devices, or each element may be provided in a device different from the above-mentioned device, and include various aspects. In addition, it can be modified as appropriate, such as being partly software and partly hardware. Furthermore, the invention can be established as a recording medium of a program that controls the system. Of course, the recording medium of the program may be a magnetic recording medium or a semiconductor memory, and any recording medium developed in the future can be considered in the same way. [Explanation of symbols]

[0085] 10...printer, 10a...processor, 10b1...network communication I / F, 10d...printing mechanism, 10e...UI unit, 20...computer, 20a...processor, 20b1...network communication I / F, 20c...non-volatile memory, 20c1...update data, 20d...display, 20e...input unit, Pt0...0th partition, Pt1...1st partition, Pt2...2nd partition, Pt3...3rd partition, Pt4...4th partition

Claims

1. storing setting data stored in a second partition of the storage medium in place of first data stored in a first partition of the storage medium in the first partition; After storing the setting data in the first partition, changing the second partition to a partition including a third partition; storing the setting data stored in the first partition in the third partition; After storing the setting data in the third partition, storing the first data acquired via an interface in the first partition in place of the setting data stored in the first partition; The first data is general-purpose data used in a plurality of electronic devices and is not used in the production of the electronic device. Producing an electronic device having the third partition. Electronics production method.

2. producing an electronic device having the third partition by controlling an electronic device that operates based on the firmware stored in the 0th partition of the storage medium; The electronic device manufacturing method according to claim 1 .

3. Dividing the second partition into the third partition and a fourth partition; obtaining a fourth partition data through the interface and storing the fourth partition data in the fourth partition; The electronic device manufacturing method according to claim 1 .

4. After storing the fourth partition data in the fourth partition, obtaining the first data via the interface and storing the first data in the first partition; The electronic device manufacturing method according to claim 3 .

5. setting stage information indicating a stage of production of the electronic device to a first state in response to completion of storing the setting data in the first partition; setting the stage information to a second state in response to completion of storing the setting data in the third partition; The electronic device manufacturing method according to claim 1 .

6. a control device that communicates with the electronic device, the control device acquiring the stage information from the electronic device via the interface, and executing a process of producing the electronic device in accordance with the stage information; The electronic device manufacturing method according to claim 5 .

7. An interface; a processor for updating a storage medium having a first partition and a second partition with an update program obtained via the interface; a printing mechanism that performs printing using the first data stored in the first partition, The processor causes the setting data stored in the second partition to be stored in the first partition in place of the first data; After storing the setting data in the first partition, changing the second partition to a partition including a third partition; storing the setting data stored in the first partition in the third partition; After storing the setting data in the third partition, storing the first data acquired via the interface in the first partition in place of the setting data stored in the first partition; A printing device, wherein the first data is general-purpose data used by a plurality of electronic devices and is used for printing but not for partition operations.

8. The storage medium is a semiconductor storage medium. The printing device according to claim 7.

Citation Information

Patent Citations

  • Image forming apparatus

    JP2021135674A