Electronic apparatus
The electronic device facilitates cost-effective addition of programs by downloading them from external sources to volatile memory, ensuring program retention during reboots or power-offs, addressing the challenges of capacity and program loss.
Patent Information
- Application Number
- JP2024190505
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-10-30
- Publication Date
- 2025-01-09
- Estimated Expiration
- 2037-12-27
AI Technical Summary
Existing electronic devices face challenges in adding additional programs without increasing the cost of nonvolatile memory capacity and in retaining additional programs during reboots or power-offs.
The device includes a communication unit, a first nonvolatile memory, a second nonvolatile memory, and a volatile memory, allowing additional programs to be downloaded from external devices and stored in the volatile memory, with download source information stored in the second nonvolatile memory, ensuring program retention during reboots or power-offs.
Additional programs can be downloaded without increasing nonvolatile memory capacity costs, and the device remains functional with retained programs during reboots or power-offs, enhancing user convenience.
Smart Images

Figure 2025003733000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to electronic devices. [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, and data cannot be erased in bits. On the other hand, E2PROM has a smaller capacity than flash memory, but has the advantage that data can be written and erased 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 is rewritten by control.
[0004] The programs and data are determined during the design stage of an electronic device, and are stored in the flash memory when the product is shipped. Since the size of the programs and data is fixed, the capacity of the flash memory is set to the minimum required capacity according to the size of the programs and data. This keeps the cost of the flash memory down.
[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 the flash memory, and is used 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] JP 2010-23274 A 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 separate from the programs stored in the flash memory at the time of product shipment, the flash memory must be provided with the capacity necessary to store the additional programs, and the increased capacity increases the cost of the flash memory.
[0009] Furthermore, if the additional program is stored in the SDRAM, the additional program is lost from the SDRAM every time the electronic device is rebooted or the power is turned off, which is inconvenient to use.
[0010] An object of the present invention is to provide an electronic device that is easy to use and allows additional programs to be downloaded from an external device without increasing costs due to an increase in the capacity of a non-volatile memory. [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 saving process that downloads an additional program from the external device via the communication unit and saves it in the volatile memory, a download source information saving process that saves download source information indicating the download source of the additional program in the second non-volatile memory in response to execution of the additional program saving process, a retention process that retains 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 determination process determines that there is no additional program in the volatile memory, and an additional program re-save process that, in response to the booting of the control unit itself, re-downloads the additional program to the volatile memory from the external device via the communication unit based on the download source information saved in the second non-volatile memory and saves 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, so that the additional program can be downloaded without increasing costs due to an increase in the capacity of the non-volatile memory.
[0013] When a specific 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, so there is no need to re-download the additional program, which is convenient. Furthermore, when the additional program is downloaded, download source information is written to the second non-volatile memory, so that the additional program can be re-downloaded 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-downloading can be used to perform appropriate control. Effect 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 a non-volatile memory, and the electronic device is easy to use. [Brief description of the drawings]
[0015] [Figure 1] 1 is a block diagram showing a main portion of an electrical configuration of a printer according to an embodiment of the present invention; [Figure 2A] 1 is a flowchart (part 1) showing the flow of processing while the printer is in operation. [Figure 2B] 13 is a second flowchart showing the flow of processing while the printer is in operation. [Figure 2C] 11 is a flowchart (part 3) showing the flow of processing while the printer is in operation. [Diagram 3] 10 is a flowchart showing the flow of a power-off process. [Figure 4A] 1 is a flowchart (part 1) showing the flow of a startup process. [Figure 4B] 13 is a second flowchart showing the flow of a startup process. [Diagram 5] 13 is a flowchart showing the flow of an automatic download process. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[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 E2PROM 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 a color image or a monochrome image on a sheet such as print paper that is 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 is alternately switched 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) according 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 has a function of converting a virtual address into a physical address. The memory controller 23 also transmits a refresh signal to the SDRAM 15 at a constant cycle, and rewrites the data held in the SDRAM 15, thereby holding the written data. Furthermore, the memory controller 23 transmits a self-refresh transition command to the SDRAM 15, thereby causing the SDRAM 15 to transition to a self-refresh mode. When the SDRAM 15 transitions to the self-refresh mode, the SDRAM 15 executes a RAM retention process in which the SDRAM 15 itself rewrites data, even if it does not receive a refresh signal from the memory controller 23. During the execution of this RAM retention process, data cannot be read or written from the SDRAM 15 from outside. The memory controller 23 transmits a self-refresh release command to the SDRAM 15, thereby releasing the self-refresh mode of the SDRAM 15.
[0023] The communication unit 16 is equipped with 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 non-volatile memory) can retain the stored contents even if the ASIC 13 (CPU 21) is restarted.
[0025] <Processing during operation> In the printer 1, additional programs can be downloaded and used 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, the CPU 21 checks whether the state of the download prompt notification flag stored in the 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 for downloading an additional program. The download prompt notification flag being "1" indicates that it is necessary to notify a prompt for downloading an additional program, and the download prompt notification flag being "0" indicates that it is not necessary to notify a prompt for downloading 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 or the like is displayed on the touch panel of the operation unit 12 to prompt the user to download an additional program.
[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 prompt notification process is executed (S11: NO), that is, if the state of the download prompt notification flag is "0", the CPU 21 determines whether or not to start downloading the additional program (S14).
[0031] For example, with the communication unit 16 connected to a computer network, the user of the printer 1 can operate the operation unit 12 to instruct the 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 the communication unit 16 and operate the operation unit 12 to instruct the downloading of an additional program from the USB memory.
[0032] If there is no instruction to download the additional program from the operation unit 12 (S14: NO), the CPU 21 judges whether to turn off the power of the printer 1 (S15). When the user presses the power key of the operation unit 12, or when a state in which no image forming operation by the image forming unit 11, no operation of the operation unit 12, or no communication by the communication unit 16 is being performed continues for a certain period of time, the CPU 21 judges to turn off the power of the printer 1. On the other hand, if the power key of the operation unit 12 is not pressed and 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 the communication by the communication unit 16 was last performed, the CPU 21 judges not to turn off the power of the printer 1.
[0033] When the CPU 21 determines not to turn off the power of the printer 1 (S15: NO), it determines whether or not to execute 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 has not been 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] When the additional program is downloaded normally, the CPU 21 determines that the download of the additional program is successful (S18: YES). On the other hand, when the additional program is not downloaded normally because a communication error occurs during download of the additional program, the CPU 21 determines that the download of the additional program has failed (S18: NO).
[0038] When 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 capable of identifying 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 in the E2PROM 17 download source information capable of identifying the download source of the additional program (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. The state of the additional program flag being "1" indicates that the additional program has been downloaded to the SDRAM 15, and the state of the additional program flag being "0" indicates that the additional program has not been downloaded to the SDRAM 15.
[0042] After that, the CPU 21 judges 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 judges whether or not to turn off the power of the printer 1.
[0043] Depending on the type of additional program, it may be necessary to reboot the printer 1. If it is necessary to reboot the printer 1 (S22: YES), the CPU 21 saves "RAM Retention Reboot" as the state of the power state flag in the E2PROM 17 (S23) and instructs the memory controller 23 to execute the RAM retention process (S24). By executing the RAM retention process, a self-refresh command is sent from the memory controller 23 to the SDRAM 15, the SDRAM 15 goes into self-refresh mode, and the SDRAM 15 itself rewrites the data written in the SDRAM 15. This ensures that the contents saved in the SDRAM 15 are retained without being lost. The CPU 21 then executes the reboot of the printer 1.
[0044] In addition, 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 the SDRAM 15 and the state of the additional program flag is "1" (S25: YES), the CPU 21 stores "RAM Retain Reboot" as the state of the power state flag in the E2PROM 17 (S26) and instructs the memory controller 23 to execute a RAM retention process (S27). By executing the RAM retention process, the additional program and the like stored in the SDRAM 15 are retained without being lost. Thereafter, the CPU 21 executes a reboot of the printer 1.
[0046] If no additional program is stored in the SDRAM 15 and the state of the additional program flag is "0" (S25: NO), the CPU 21 executes a reboot of 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 state in which no image formation operation by the image forming unit 11, no operation of the operation unit 12, and no communication by the communication unit 16 is being performed continues for a certain period of time, 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 FIG. 2C).
[0048] If the additional program flag is "0" (S28: NO), the CPU 21 saves "normal power off" as the state of the power state flag in the E2PROM 17 (S29), and then turns off the power of the printer 1. The power state flag is a flag that indicates the current power state. After that, the SPU 21 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 of 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 retaining power off (S30: NO), the CPU 21 saves "RAM retaining power off" (an example of a retained 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 or not 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 has been 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 or not the power key of the operation unit 12 has been pressed (S42). When the power key has not been pressed (S42: YES), the CPU 21 again determines whether or not 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 or not the power plug has been removed from the outlet and the determination of whether or not the power key has been pressed are alternately repeated.
[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 while 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 of 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 start-up process, CPU 21 determines whether the current time is start-up by pressing the power key (S51). If the state of the start-up flag stored in SDRAM 15 is "1", CPU 21 determines that the current time is start-up by pressing the power key, and if the state of the start-up flag stored in SDRAM 15 is "0", CPU 21 determines that the current time is not start-up by pressing the power key, that is, the current time is start-up by inserting the power plug into the outlet or start-up by rebooting.
[0058] If the current time is the time of startup due to pressing the power key (S51: YES), the CPU 21 refers to the state of the power state flag stored in the E2PROM 17. If the state of the power state 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 setting for accessing the SDRAM 15 and sending a refresh release 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, re-expansion of the program area is not necessary, and only the variable area is initialized. On the other hand, if the state of the power state flag is not "RAM retained power off" (S52: NO), the CPU 21 performs setting for accessing the SDRAM 15 by normal initialization of the memory controller 23 (S55). 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] After that, 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 start-up state due to pressing the power key (S51: NO), the CPU 21 judges whether the state of the power state flag stored in the E2PROM 17 is "RAM retained reboot" or not (S61). If the state of the power state flag is "RAM retained reboot" (S61: YES), the CPU 21 performs RAM retained initialization of the memory controller 23 (S62). Also, the CPU 21 performs RAM retained initialization of the SDRAM 15 (S63). Then, the CPU 21 stores "power on" as the state of the power state flag in the E2PROM 17 (S64). On the other hand, if the state of the power state flag is not "RAM retained power off" (S61: NO), the CPU 21 performs normal initialization of the memory controller 23 (S65). Also, the CPU 21 initializes the entire SDRAM 15 (S66).
[0063] After that, 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 power status flag is not in the "normal power off" state (S67: NO), the CPU 21 checks whether or not 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 the SDRAM 15 (S68: YES), the CPU 21 enables execution of control (e.g., control for a download print function) using the additional program stored in the SDRAM 15 (S69).
[0068] After that, the CPU 21 determines whether the state of the power supply state flag stored in the E2PROM 17 is "power on" or not (S70).
[0069] On the other hand, if there is no identification information 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 that does not use the additional program (S72).
[0071] After that, the CPU 21 determines whether the state of the power supply state flag stored in the E2PROM 17 is "power on" or not (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 power supply status flag is not in the "power on" state (S70: NO), the CPU 21 checks whether the additional program flag stored in the SDRAM 15 is in the "1" state (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 the E2PROM 17 but the additional program is not stored in the SDRAM 15 (S68: NO), for example, this is the case when the printer 1 is unplugged from the outlet after the additional program is downloaded to the SDRAM 15 without the RAM retention process being executed, or when the user operates the operation unit 12 to instruct the power to be turned off by pressing the power key, 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, the 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] When 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). After that, 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 described above.
[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 state of the download prompt notification flag to "1" in the SDRAM 15 (S78). After that, the CPU 21 resets the state of the additional program flag saved in the SDRAM 15 to "0" (S71), and executes the processes from step S72 onwards described above.
[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 or not (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] When 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 a connection to the server (S756).
[0087] After that, 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 normally connected (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, it is possible to download the additional program without increasing costs 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, since 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 acquired 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 convenient for the user.
[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, 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 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 multiple CPUs, and the multiple CPUs may work together 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 non-volatile memory in which a basic program is written; A second non-volatile memory; A volatile memory; Control unit and Equipped with The control unit is an additional program storage process of downloading an additional program from the external device via the communication unit and storing the additional program 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 non-volatile 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 present in the volatile memory, and storing the additional program in the volatile memory; Execute electronic equipment.
2. 2. The electronic device according to claim 1, The control unit is executes an additional program flag process to store, in the volatile memory, an additional program flag, which is information indicating that the additional program has been downloaded to the volatile memory, in response to the execution of the additional program storage process; executing the retaining 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 is 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 for turning off the power of the electronic device, 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 turns off the power supply after the storage process is executed. electronic equipment.
5. 5. The electronic device according to claim 4, A reception unit for receiving an instruction is further provided, the control unit executes the retaining process when the reception unit receives an instruction to retain the content of the volatile memory and turn off the power supply and 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 is writing identification information for identifying the additional program into the second non-volatile memory in response to execution of the additional program storage process; In the determination process, it is determined whether or not the identification information is stored in the second non-volatile memory, and if the identification information is not stored in the second non-volatile memory, it is determined that the additional program is not present in the volatile memory. electronic equipment.
7. 7. The electronic device according to claim 6, When the control unit determines 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 the control unit determines 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 not to use the additional program. electronic equipment.
9. The electronic device according to any one of claims 6 to 8, The control unit is When it is determined that the additional program is not stored in the volatile memory at the time of booting the control unit itself, 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, when downloading the additional program by the additional program storage process executed based on the identification information and the download source information fails, the control unit 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 display prompting the user to download the additional program to the display unit. electronic equipment.
12. The electronic device according to any one of claims 6 to 11, The control unit is a power state flag process that sets the state of the power state flag held in the second non-volatile memory to a normal power off state when the power is turned off without executing the retention process in response to a power off request of the electronic device, sets the state of the power state flag to a retained power off state when the power is turned off by executing the retention process in response to a power off request, and sets the state of the power state flag to a power on state when the power is turned on in response to a power on request of the electronic device, switching the content of the process to be executed after the control process according to the state of the power supply state flag; electronic equipment.
13. The electronic device according to claim 12, When 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, When the control unit boots up 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 supply off state, the control unit turns off the power supply, and if the state of the power supply state flag is the sustained power supply off state or the power supply 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 is a retention determination process for determining that the retention process has been performed at the time of booting the control unit itself; a memory initialization process for initializing a volatile memory while maintaining the stored contents when it is determined that the storage process has been performed by the storage determination process; Further execute electronic equipment.
Citation Information
Patent Citations
Program compiling method for computer device having down load program
JP1993108339A
Print system and image processing system
JP2002211086A
Image processor
JP2003296118A
Controller and power control method
JP2007149001A
Image processing system, image processing apparatus, and image processing job request program
JP2008131110A