Electronic device

The electronic device efficiently downloads additional programs to volatile memory without increasing non-volatile memory capacity and retains data integrity during reboots or power-offs, addressing cost and usability issues.

JP2026026317APending Publication Date: 2026-02-16BROTHER KOGYO KK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
JP2025227252
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-12-03
Publication Date
2026-02-16

AI Technical Summary

Technical Problem

Existing electronic devices face challenges in adding additional programs without increasing non-volatile memory capacity costs and ensuring the persistence of these programs across reboots or power-offs.

Method used

The device includes a communication unit, a first non-volatile memory, a second non-volatile memory, a volatile memory, and a control unit that manages the download, storage, and retention of additional programs from an external source to the volatile memory, along with mechanisms to retain data during reboots or power-offs.

Benefits of technology

This approach allows for additional programs to be downloaded without increasing non-volatile memory capacity costs and ensures easy usability by retaining program data during device reboots or power-offs, enabling re-download if necessary.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026026317000001_ABST
    Figure 2026026317000001_ABST
Patent Text Reader

Abstract

To provide a user-friendly electronic apparatus capable of downloading an additional program from an external apparatus without causing cost increase due to increase in capacity of a nonvolatile memory.SOLUTION: The additional program is downloaded to the SDRAM15 from a USB memory or a server via the communication unit 16. When the reboot of the ASIC13 or the power-off of the printer 1 is requested, the RAM holding processing of holding the contents of the SDRAM15 is executed. Further, since the download source information is written in the E2PROM17 at the time of downloading the additional program, the additional program can be downloaded again even if the contents of the SDRAM15 are lost because the power plug is removed from the outlet.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. [Background technology]

[0002] Electronic devices such as printers are equipped with, for example, non-volatile memories such as flash memory and E2PROM (E-squared Programmable Read Only Memory), and volatile memories such as SDRAM (Synchronous Dynamic Random Access Memory) (Patent Document 1).

[0003] Flash memory has a larger capacity than E2PROM, but data is erased in blocks, not bits. On the other hand, E2PROM has a smaller capacity than flash memory, but has the advantage of being able to write and erase data in bytes. For this reason, flash memory and E2PROM are used differently in electronic devices. For example, flash memory is used to store programs that control the operation of electronic devices and the data required for that control, while E2PROM is used to store data that can be rewritten by control.

[0004] The programs and data are determined during the design stage of an electronic device and are stored in flash memory when the product is shipped. Because the size of the programs and data is fixed, the capacity of the flash memory is set to the minimum required capacity depending on the size of the programs and data. This keeps the cost of flash memory low.

[0005] E2PROM, which is a non-volatile memory like flash memory, stores data for controlling a printer and has the advantage that data can be easily rewritten compared to flash memory, but has a smaller memory size.

[0006] On the other hand, SDRAM is used to expand programs and data read from flash memory, and as a work area when programs are executed. For example, in a printer, the size of the work area required varies depending on the amount of print data to be printed, so SDRAM is installed with a relatively large capacity. [Prior art documents] [Patent documents]

[0007] [Patent Document 1] Japanese Patent Application Laid-Open No. 2010-23274 Summary of the Invention [Problem to be solved by the invention]

[0008] In such a configuration, in order to realize additional functions by executing additional programs different from the programs stored in the flash memory at the time of product shipment, the flash memory must have the capacity necessary to store the additional programs, and the cost of the flash memory increases by the amount of this increase in capacity.

[0009] Furthermore, if the additional program is stored in SDRAM, the additional program is lost from the SDRAM every time the electronic device is rebooted or powered off, which is inconvenient to use.

[0010] An object of the present invention is to provide an electronic device that allows additional programs to be downloaded from an external device without increasing costs due to an increase in the capacity of a nonvolatile memory, and that is easy to use. [Means for solving the problem]

[0011] In order to achieve the above-mentioned object, the electronic device of the present invention comprises a communication unit that communicates with an external device, a first non-volatile memory in which a basic program is written, a second non-volatile memory, a volatile memory, and a control unit, and the control unit executes an additional program storage process that downloads an additional program from the external device via the communication unit and stores it in the volatile memory, a download source information storage process that stores download source information indicating the download source of the additional program in the second non-volatile memory in response to the execution of the additional program storage process, a storage process that stores data stored in the volatile memory in the volatile memory when a specified operation is requested, such as rebooting the control unit itself or turning off the power of the electronic device, a determination process that determines whether or not there is an additional program in the volatile memory when the control unit itself boots, and an additional program re-save process that, if it is determined by the determination process that there is no additional program in the volatile memory, re-downloads the additional program from the external device to the volatile memory via the communication unit based on the download source information stored in the second non-volatile memory in response to the booting of the control unit itself and stores it in the volatile memory.

[0012] According to this configuration, the additional program is downloaded from the external device to the volatile memory via the communication unit, which makes it possible to download the additional program without increasing costs due to an increase in the capacity of the non-volatile memory.

[0013] When a predetermined operation such as rebooting the control unit itself or turning off the power of the electronic device is requested, the contents of the volatile memory are retained, eliminating the need to re-download the additional program, making it easy to use. Furthermore, when the additional program is downloaded, download source information is written to the second non-volatile memory, making it possible to re-download the additional program even if the contents of the volatile memory are lost due to reasons such as the power being unplugged. Then, the additional program acquired by the re-download can be used to perform appropriate control. [Effects of the Invention]

[0014] According to the present invention, it is possible to download additional programs from an external device without increasing costs due to an increase in the capacity of the nonvolatile memory, and the electronic device is easy to use. [Brief explanation of the drawings]

[0015] [Figure 1] 1 is a block diagram showing a main part of the electrical configuration of a printer according to an embodiment of the present invention; [Figure 2A] 10 is a flowchart (part 1) showing the flow of processing during printer operation. [Figure 2B] 10 is a flowchart (part 2) showing the flow of processing during printer operation. [Figure 2C] 10 is a flowchart (part 3) showing the flow of processing during printer operation. [Figure 3] 10 is a flowchart showing the flow of a power-off process. [Figure 4A] 10 is a flowchart (part 1) showing the flow of a startup process. [Figure 4B] 10 is a flowchart (part 2) showing the flow of the startup process. [Figure 5] 10 is a flowchart showing the flow of an automatic download process. DETAILED DESCRIPTION OF THE INVENTION

[0016] Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

[0017] <Printer electrical configuration> 1 is an example of an electronic device, and includes an image forming unit 11, an operation unit 12 (an example of a reception unit), an ASIC (Application Specific Integrated Circuit) 13, a flash memory 14 (an example of a first nonvolatile memory) which is a nonvolatile memory, an SDRAM 15 (an example of a volatile memory) which is a volatile memory, a communication unit 16, and an EEPROM 17. The image forming unit 11, the operation unit 12, the ASIC 13, the flash memory 14, and the SDRAM 15 are connected via a bus 18 so as to be able to communicate data with each other.

[0018] The image forming unit 11 is provided inside a housing that forms the outer shell of the printer 1. The image forming unit 11 is a mechanism that forms color or monochrome images on sheets such as print paper that are transported one by one on a transport path. The image formation method may be an electrophotographic method or an inkjet method.

[0019] The operation unit 12 has operation keys that are operated to input various instructions. The operation keys include a power key that alternately switches on and off when pressed. In addition to the operation keys, the operation unit 12 also has a touch panel. When a user operates the operation unit 12, various instructions are accepted by the operation unit 12. When an instruction is accepted by the operation unit 12, a signal (data) corresponding to the content of the instruction is transmitted from the operation unit 12 to the ASIC 13.

[0020] The ASIC 13 (an example of a control unit) includes a CPU (Central Processing Unit) 21 and a memory controller 23.

[0021] The CPU 21 and the memory controller 23 are connected to each other so as to be able to communicate data with each other via an internal bus 24 in the ASIC 13. The internal bus 24 is connected to the bus 18 so as to be able to communicate data with each other.

[0022] The memory controller 23 is an integrated circuit that controls the reading and writing of data from and to the SDRAM 15. The memory controller 23 includes an MMU (Memory Management Unit) that converts virtual addresses into physical addresses. The memory controller 23 also periodically transmits a refresh signal to the SDRAM 15, rewriting data stored in the SDRAM 15 and retaining the written data. The memory controller 23 also transmits a self-refresh transition command to the SDRAM 15, thereby transitioning the SDRAM 15 to self-refresh mode. Once in self-refresh mode, the SDRAM 15 executes a RAM retention process in which the SDRAM 15 rewrites data by itself, even without receiving a refresh signal from the memory controller 23. While this RAM retention process is being executed, data cannot be read or written from or to the SDRAM 15 from an external device. The memory controller 23 transmits a self-refresh release command to the SDRAM 15 to release the self-refresh mode of the SDRAM 15.

[0023] The communication unit 16 has various communication interfaces, such as an interface for communication via a computer network with external devices such as a server or a PC (personal computer), and a USB (Universal Serial Bus) interface to which an external device such as a USB memory is connected and for communication with the external device.

[0024] The E2PROM 17 (an example of a second nonvolatile memory) can retain its stored contents even if the ASIC 13 (CPU 21) is restarted.

[0025] <Processing during operation> The printer 1 can use additional programs downloaded from an external device connected to the communication unit 16. An example of an additional program is a program for a download print function that downloads image data from a server on the Internet and prints it on a sheet.

[0026] When the printer 1 is powered on and in operation, the CPU 21 built into the ASIC 13 executes the in-operation processing shown in FIGS. 2A, 2B, and 2C.

[0027] In the in-operation process, CPU 21 checks whether the state of the download prompt notification flag stored in SDRAM 15 is "1" (S11). The download prompt notification flag is a flag that indicates whether or not it is necessary to notify a prompt to download an additional program. When the download prompt notification flag is "1", it indicates that it is necessary to notify a prompt to download an additional program, and when the download prompt notification flag is "0", it indicates that it is not necessary to notify a prompt to download an additional program.

[0028] If the download prompt notification flag is set to "1" (S11: YES), the CPU 21 executes a download prompt notification process (S12). In the download prompt notification process, a message prompting the user to download the additional program is displayed on the touch panel of the operation unit 12.

[0029] After executing the download prompt notification process, the CPU 21 resets the state of the download prompt notification flag stored in the SDRAM 15 to "0" (S13).

[0030] If the state of the download prompt notification flag is not "1" after the download prompt notification process is executed or before the download notification process is executed (S11: NO), that is, if the state of the download prompt notification flag is "0", CPU21 determines whether to start downloading the additional program (S14).

[0031] For example, with communication unit 16 connected to a computer network, the user of printer 1 can operate operation unit 12 to instruct downloading of an additional program from an external device such as a server connected to the computer network. Also, the user can connect a USB memory to communication unit 16 and operate operation unit 12 to instruct downloading of an additional program from the USB memory.

[0032] If there is no instruction to download an additional program from the operation unit 12 (S14: NO), the CPU 21 determines whether to turn off the power of the printer 1 (S15). If the user presses the power key on the operation unit 12, or if a certain period of time has passed since the image forming operation by the image forming unit 11, the operation of the operation unit 12, or communication by the communication unit 16 was last performed, the CPU 21 determines not to turn off the power of the printer 1. On the other hand, if the power key on the operation unit 12 has not been pressed and a certain period of time has passed since the last image forming operation by the image forming unit 11, the operation of the operation unit 12, or communication by the communication unit 16 was last performed, the CPU 21 determines not to turn off the power of the printer 1.

[0033] If the CPU 21 determines that the power of the printer 1 is not to be turned off (S15: NO), it determines whether or not to perform a reboot (S16).

[0034] For example, if the operation of the printer 1 is unstable, the user of the printer 1 can operate the operation unit 12 to instruct the printer 1 to reboot (restart).

[0035] If a reboot is not instructed from the operation unit 12 (S16: NO), the CPU 21 checks again whether the state of the download prompt notification flag stored in the SDRAM 15 is "1" (S11).

[0036] If the download prompt notification flag is in the "0" state, CPU 21 again determines whether to start downloading the additional program (S14). If an instruction to download the additional program has been given from operation unit 12 up to this point, CPU 21 determines to start downloading the additional program (S14: YES), and starts downloading the additional program from the external device to SDRAM 15 (S17 in FIG. 1B).

[0037] If the additional program is downloaded successfully, the CPU 21 determines that the download of the additional program was successful (S18: YES). On the other hand, if the additional program is not downloaded successfully because a communication error occurs during the download of the additional program, the CPU 21 determines that the download of the additional program failed (S18: NO).

[0038] If the CPU 21 determines that the download of the additional program has failed (S18: NO), the CPU 21 proceeds to the process of step S15 in FIG. 2A and determines whether or not to turn off the power of the printer 1.

[0039] When the CPU 21 determines that the download of the additional program has been successful (S18: YES), it stores identification information that can identify the additional program in the E2PROM 17 (S19). The identification information may be, for example, the name of the additional program.

[0040] Furthermore, the CPU 21 stores download source information that can identify the download source of the additional program in the E2PROM 17 (S20).

[0041] Furthermore, the CPU 21 saves "1" as the state of the additional program flag in the SDRAM 15 (S21). The additional program flag is a flag that indicates whether or not the additional program has been downloaded to the SDRAM 15. When the state of the additional program flag is "1", it indicates that the additional program has been downloaded to the SDRAM 15, and when the state of the additional program flag is "0", it indicates that the additional program has not been downloaded to the SDRAM 15.

[0042] Thereafter, the CPU 21 determines whether or not it is necessary to reboot the printer 1 (S22). If it is not necessary to reboot the printer 1 (S22: NO), the process proceeds to step S15 in FIG. 2A, where the CPU 21 determines whether or not to turn off the power to the printer 1.

[0043] Depending on the type of additional program, it may be necessary to reboot the printer 1. If rebooting the printer 1 is necessary (S22: YES), the CPU 21 saves "RAM Retention Reboot" as the state of the power status flag in the E2PROM 17 (S23) and instructs the memory controller 23 to execute RAM retention processing (S24). Execution of the RAM retention processing causes the memory controller 23 to send a self-refresh command to the SDRAM 15, which places the SDRAM 15 in self-refresh mode, causing the SDRAM 15 itself to rewrite the data written to it. This ensures that the contents stored in the SDRAM 15 are retained and not lost. The CPU 21 then executes a reboot of the printer 1.

[0044] Also, if the user operates the operation unit 12 to instruct the printer 1 to reboot (S16: YES), the CPU 21 checks whether the state of the additional program flag stored in the SDRAM 15 is "1" (S25).

[0045] If an additional program is stored in SDRAM 15 and the state of the additional program flag is "1" (S25: YES), CPU 21 stores "RAM Retain Reboot" as the state of the power status flag in EEPROM 17 (S26) and instructs memory controller 23 to execute RAM retention processing (S27). By executing the RAM retention processing, the additional program and other data stored in SDRAM 15 are retained without being lost. Thereafter, CPU 21 executes a reboot of printer 1.

[0046] If the additional program is not stored in the SDRAM 15 and the state of the additional program flag is "0" (S25: NO), the CPU 21 reboots the printer 1 without instructing the memory controller 23 to execute the RAM retention process.

[0047] When the user presses the power key on the operation unit 12, or when a certain period of time has passed without any image forming operation by the image forming unit 11, operation on the operation unit 12, or communication by the communication unit 16 being performed, the CPU 21 determines to turn off the power to the printer 1 (S15: YES), and checks whether the state of the additional program flag stored in the SDRAM 15 is "1" (S28 in Figure 2C).

[0048] If the additional program flag is set to "0" (S28: NO), the CPU 21 saves "normal power off" as the state of the power status flag in the EEPROM 17 (S29), and then turns off the power to the printer 1. The power status flag indicates the current power status. The SPU 21 then executes the power-off process shown in FIG. 3.

[0049] If the state of the additional program flag is "1" (S28: YES), CPU 21 causes a message to be displayed on the touch panel of operation unit 12, inquiring the user as to whether to execute normal power-off or RAM-retention power-off. In response to the display of this inquiry message, if the user operates operation unit 12 to select and instruct normal power-off (S30: YES), CPU 21 saves "normal power-off" as the state of the power supply state flag (S29), and then executes the power-off process shown in FIG.

[0050] When the user operates the operation unit 12 to select and instruct RAM retention power off (S30: NO), the CPU 21 saves "RAM retention power off" (an example of a retention power off state) as the state of the power state flag (S31).

[0051] Then, the CPU 21 instructs the memory controller 23 to execute a RAM retention process (S32), and then executes the power-off process shown in FIG.

[0052] <Power off processing> In the power-off process, as shown in FIG. 3, the CPU 21 determines whether the power plug of the printer 1 has been unplugged from the commercial AC power outlet while the printer 1 is powered off (S41).

[0053] If the power plug is removed from the outlet (S41: YES), the CPU 21 ends the power-off process.

[0054] When the power plug is inserted into the outlet (S41: NO), the CPU 21 determines whether the power key on the operation unit 12 has been pressed (S42). When the power key has not been pressed (S42: YES), the CPU 21 again determines whether the power plug has been removed from the outlet (S41). That is, until the power plug is removed from the outlet or the power key is pressed, the determination of whether the power plug has been removed from the outlet and the determination of whether the power key has been pressed are repeated alternately.

[0055] If the power key has been pressed (S42: YES), the CPU 21 saves "1" as the state of the startup flag in the SDRAM 15 (S43) and ends the power-off process. The startup flag being "1" indicates that the power key has been pressed while the printer 1 is powered off, and the startup flag being "0" indicates that the printer 1 is powered off and the power key has not yet been pressed.

[0056] <Startup process> When the power plug of the printer 1 is inserted into a commercial AC power outlet after being unplugged from the outlet, the CPU 21 starts the startup process (boot process) shown in Figures 4A and 4B. The CPU 21 also starts the startup process when the power key on the operation unit 12 is pressed to turn on the printer 1. Furthermore, the CPU 21 also starts the startup process when rebooting.

[0057] In the startup process, CPU 21 determines whether the current time is startup due to pressing of the power key (S51). If the state of the startup flag stored in SDRAM 15 is "1", CPU 21 determines that the current time is startup due to pressing of the power key, and if the state of the startup flag stored in SDRAM 15 is "0", CPU 21 determines that the current time is not startup due to pressing of the power key, that is, the current time is startup due to insertion of the power plug into the outlet or startup due to reboot.

[0058] If the current state is startup due to pressing the power key (S51: YES), the CPU 21 refers to the state of the power status flag stored in the EEPROM 17. If the state of the power status flag is "RAM retained power off" (S52: YES), the CPU 21 performs RAM retained initialization of the memory controller 23 (S53). The RAM retained initialization of the memory controller 23 includes settings for accessing the SDRAM 15 and sending a refresh cancel command to the SDRAM 15. The CPU 21 also performs RAM retained initialization of the SDRAM 15 (S54). In the RAM retained initialization of the SDRAM 15, since the contents of the SDRAM 15 are retained, there is no need to redeploy the program area, and only the variable area is initialized. On the other hand, if the state of the power status flag is not "RAM retained power off" (S52: NO), the CPU 21 performs normal initialization of the memory controller 23 (S55) to perform settings for accessing the SDRAM 15. Furthermore, the CPU 21 initializes the entire SDRAM 15 by normal initialization of the SDRAM 15 (S56).

[0059] If the current time is startup due to pressing of the power key, the CPU 21 resets the state of the startup flag stored in the SDRAM 15 to "0" (S57).

[0060] Furthermore, the CPU 21 stores "power on" (an example of a power on state) as the state of the power state flag in the E2PROM 17 (S58).

[0061] Thereafter, the CPU 21 checks whether the identification information exists in the E2PROM 17 (S59).

[0062] On the other hand, if the current state is not the state of startup due to pressing the power key (S51: NO), the CPU 21 determines whether the state of the power state flag stored in the EEPROM 17 is "RAM Retain Reboot" (S61). If the state of the power state flag is "RAM Retain Reboot" (S61: YES), the CPU 21 performs RAM Retain Initialization of the memory controller 23 (S62). The CPU 21 also performs RAM Retain Initialization of the SDRAM 15 (S63). The CPU 21 then stores "Power On" as the state of the power state flag in the EEPROM 17 (S64). On the other hand, if the state of the power state flag is not "RAM Retain Power Off" (S61: NO), the CPU 21 performs normal initialization of the memory controller 23 (S65). The CPU 21 also initializes the entire SDRAM 15 (S66).

[0063] Thereafter, the CPU 21 determines whether the state of the power supply state flag stored in the E2PROM 17 is "normal power off" (an example of a normal power off state) (S67).

[0064] If the state of the power supply state flag is "normal power off" (S67: YES), the CPU 21 executes the power off process shown in FIG.

[0065] If the state of the power supply state flag is not "normal power off" (S67: NO), the CPU 21 checks whether identification information is stored in the E2PROM 17 (S59).

[0066] If the identification information is stored in the E2PROM 17 (S59: YES), the CPU 21 checks whether an additional program is stored in the SDRAM 15 (S68 in FIG. 4B).

[0067] If an additional program is stored in SDRAM 15 (S68: YES), CPU 21 enables execution of control (for example, control for the download print function) using the additional program stored in SDRAM 15 (S69).

[0068] Thereafter, the CPU 21 determines whether the state of the power supply state flag stored in the E2PROM 17 is "power on" (S70).

[0069] On the other hand, if the identification information does not exist in the E2PROM 17 (S59: NO in FIG. 4A), the CPU 21 resets the state of the additional program flag stored in the SDRAM 15 to "0" (S71 in FIG. 4B).

[0070] Then, the CPU 21 determines to execute control without using the additional program (S72).

[0071] Thereafter, the CPU 21 determines whether the state of the power supply state flag stored in the E2PROM 17 is "power on" (S70).

[0072] If the state of the power supply state flag is "power on" (S70: YES), the CPU 21 ends this startup process.

[0073] If the state of the power supply state flag is not "power on" (S70: NO), the CPU 21 checks whether the state of the additional program flag stored in the SDRAM 15 is "1" (S73).

[0074] If the state of the additional program flag is "1" (S73: YES), the CPU 21 instructs the memory controller 23 to execute a RAM retention process (S74), and then executes the power-off process shown in FIG.

[0075] If the state of the additional program flag is not "1", that is, if it is "0" (S73: NO), the CPU 21 executes the power-off process shown in FIG. 3 without instructing the memory controller 23 to execute the RAM retention process.

[0076] If the identification information is stored in E2PROM 17 but the additional program is not stored in SDRAM 15 (S68: NO), for example, this may be the case when the printer 1 is unplugged from the outlet after the additional program has been downloaded to SDRAM 15 without the RAM retention process being executed, or when the user operates operation unit 12 to press the power key to turn off the power, and then selects and instructs normal power off in response to an inquiry about whether to execute normal power off or RAM retention power off. In this case, CPU 21 executes automatic download process (S75). The automatic download process will be described later.

[0077] After the automatic download process is executed, the CPU 21 determines whether or not the download of the additional program by the automatic download process has been successful (S76).

[0078] If the CPU 21 determines that the download of the additional program was successful (S76: YES), it saves the state of the additional program flag to "1" in the SDRAM 15 (S77). Thereafter, the CPU 21 enables execution of control using the additional program saved in the SDRAM 15 (S69), and executes the processes from step S58 onwards.

[0079] If the CPU 21 determines that the download of the additional program by the automatic download process has failed (S76: NO), it saves the download prompt notification flag to "1" in the SDRAM 15 (S78). Thereafter, the CPU 21 resets the status of the additional program flag saved in the SDRAM 15 to "0" (S71), and executes the processes from step S72 onwards.

[0080] <Automatic download process> In the automatic download process, the CPU 21, as shown in FIG. 5, refers to the download source information stored in the E2PROM 17 and determines whether the download source of the additional program is a UDB memory (S751).

[0081] If the download source of the additional program is the USB memory (S751: YES), the CPU 21 determines whether or not the USB memory is connected to the communication unit 16 (S752).

[0082] If the USB memory is connected to the communication unit 16 (S752: YES), the CPU 21 determines whether or not an additional program is stored in the USB memory (S753).

[0083] If the additional program is stored in the USB memory (S753: YES), the CPU 21 starts downloading the additional program stored in the USB memory to the SDRAM 15 (S754), and ends the automatic download process.

[0084] If a USB memory is not connected to the communication unit 16 (S752: NO), or if a USB memory is connected to the communication unit 16 but the additional program is not stored in the USB memory (S753: NO), the CPU 21 cannot download the additional program to the SDRAM 15, and therefore terminates the automatic download process.

[0085] If the download source of the additional program is not a USB memory (S751: NO), that is, if the download source of the additional program is a server on the Internet, the CPU 21 determines whether the communication unit 16 is connected to a computer network (S755).

[0086] If the communication unit 16 is connected to the computer network (S755: YES), the CPU 21 controls the communication unit 16 to attempt to connect to the server (S756).

[0087] Thereafter, the CPU 21 determines whether or not the communication unit 16 and the server are normally connected (S757).

[0088] If the communication unit 16 and the server are connected normally (S757: YES), the CPU 21 starts downloading the additional program from the server to the SDRAM 15 (S758), and ends the automatic download process.

[0089] If the communication unit 16 is not connected to the computer network (S755: NO), or if the communication unit 16 is not properly connected to the server (S757: NO), the CPU 21 cannot download the additional program to the SDRAM 15, and therefore terminates the automatic download process.

[0090] <Action and effect> As described above, the additional program is downloaded from the USB memory or the server to the SDRAM 15 via the communication unit 16. Therefore, the additional program can be downloaded without increasing the cost due to an increase in the capacity of the flash memory 14.

[0091] When the ASIC 13 is rebooted or the printer 1 is powered off, a RAM retention process that retains the contents of the SDRAM 15 is executed, eliminating the need to re-download the additional program, improving the usability of the printer 1. Furthermore, because download source information is written to the E2PROM 17 when the additional program is downloaded, the additional program can be re-downloaded even if the contents of the SDRAM 15 are lost due to reasons such as the power plug being unplugged from the outlet. Then, the additional program obtained by the re-downloading can be used to perform appropriate control.

[0092] Furthermore, if the download of the additional program fails, a notification is issued urging the user to download the additional program, which is more user-friendly.

[0093] <Modification> Although one embodiment of the present invention has been described above, the present invention can be embodied in other forms.

[0094] For example, a printer 1 has been taken up as an example of an electronic device, but the present invention is not limited to printer 1 and can also be applied to a scanner having an image reading function that reads an image of a document, and may also be applied to a multifunction device that combines the image reading function with an image forming function that forms an image on a sheet such as printing paper.

[0095] Furthermore, the ASIC 13 may include a plurality of CPUs, and the plurality of CPUs may cooperate to execute each process.

[0096] In addition, various design modifications can be made to the above-described configuration within the scope of the claims. [Explanation of symbols]

[0097] 1: Printer 12:Operation unit 13: ASIC 14: Flash memory 15:SDRAM 16: Communications Department 17: E2PROM 21:CPU

Claims

1. a communication unit that communicates with an external device; a first nonvolatile memory in which a basic program is written; a second nonvolatile memory; a volatile memory; Control unit and Equipped with The control unit an additional program storage process of downloading an additional program from the external device via the communication unit and storing it in the volatile memory; a download source information storage process for storing download source information indicating a download source of the additional program in the second nonvolatile memory in response to execution of the additional program storage process; a retention process for retaining the data stored in the volatile memory in the volatile memory when a predetermined operation, such as rebooting the control unit itself or turning off the power of the electronic device, is requested; a determination process for determining whether or not the additional program is present in the volatile memory when the control unit itself is booted; an additional program re-storing process for re-downloading the additional program from the external device to the volatile memory via the communication unit based on the download source information stored in the second non-volatile memory in response to booting of the control unit itself when it is determined by the determination process that the additional program is not stored in the volatile memory, and storing the additional program in the volatile memory; To execute electronic equipment.

2. 10. The electronic device according to claim 1, The control unit executes an additional program flag process to store, in the volatile memory, an additional program flag that indicates that the additional program has been downloaded to the volatile memory in response to the execution of the additional program saving process; executing the storing process when the predetermined operation is requested and the additional program flag is stored in the volatile memory; electronic equipment.

3. 3. The electronic device according to claim 2, the request for the predetermined operation is a request for rebooting the control unit itself, The control unit when the predetermined operation is requested and the additional program flag is stored in the volatile memory, executes the storage process, and executes a reboot after the storage process is executed; electronic equipment.

4. 3. The electronic device according to claim 2, the request for the predetermined operation is a request to turn off the power of the electronic device, the control unit executes the storage process when the predetermined operation is requested and the additional program flag is stored in the volatile memory, and turns off the power supply after the storage process is executed. electronic equipment.

5. 5. The electronic device according to claim 4, further comprising a reception unit that receives instructions; the control unit executes the retaining process when the receiving unit receives an instruction to retain the content of the volatile memory and turn off the power, and when the additional program flag is stored in the volatile memory. electronic equipment.

6. The electronic device according to any one of claims 1 to 5, The control unit writing identification information for identifying the additional program into the second nonvolatile memory in response to execution of the additional program saving process; In the determination process, it is determined whether or not the identification information is stored in the second nonvolatile memory, and if the identification information is not stored in the second nonvolatile memory, it is determined that the additional program is not stored in the volatile memory. electronic equipment.

7. 7. The electronic device according to claim 6, when it is determined that the identification information is stored in the second nonvolatile memory and that the additional program is stored in the volatile memory, the control unit executes control using the additional program. electronic equipment.

8. 8. The electronic device according to claim 6, when it is determined that the identification information is stored in the second nonvolatile memory but the additional program is not stored in the volatile memory, the control unit executes control that does not use the additional program. electronic equipment.

9. The electronic device according to any one of claims 6 to 8, The control unit If it is determined that the additional program is not stored in the volatile memory when the control unit itself is booted, the control unit executes the additional program re-storing process based on the identification information and the download source information, and executes control using the additional program downloaded in the additional program re-storing process. electronic equipment.

10. 10. The electronic device according to claim 9, the control unit, when failing to download the additional program through the additional program storage process executed based on the identification information and the download source information, executes control not to use the additional program. electronic equipment.

11. The electronic device according to claim 10, Further comprising a display unit, When the download of the additional program fails, the control unit outputs a message to the display unit prompting the user to download the additional program. electronic equipment.

12. The electronic device according to any one of claims 6 to 11, The control unit When the power supply of the electronic device is turned off without executing the retention process in response to a power-off request, the state of the power supply state flag stored in the second nonvolatile memory is set to a normal power-off state; when the power supply is turned off by executing the retention process in response to a power-off request, the state of the power supply state flag is set to a retained power-off state; and when the power supply is turned on in response to a power-on request, a power supply state flag process is executed to set the state of the power supply state flag to a power-on state; switching the content of the process to be executed after the control process depending on the state of the power supply state flag; electronic equipment.

13. 13. The electronic device according to claim 12, If the state of the power supply state flag is the normal power supply off state or the sustained power supply off state, turning off the power supply after the control process; If the state of the power supply state flag is the power-on state, maintaining the power supply on after the control process. electronic equipment.

14. 14. The electronic device according to claim 12 or 13, When the control unit boots in response to the power supply being connected to an external power supply, if the state of the power supply state flag is the normal power-off state, the control unit turns off the power supply, and if the state of the power supply state flag is the sustained power-off state or the power-on state, the control unit executes the control process. electronic equipment.

15. The electronic device according to any one of claims 1 to 14, The control unit a retention determination process for determining that the retention process has been performed when the control unit itself is booted; a memory initialization process for initializing the volatile memory while maintaining the stored contents when it is determined by the storage determination process that the storage process has been performed; Further implementation of electronic equipment.

Citation Information

Patent Citations

  • Image forming apparatus

    JP2010023274A