printer
By parallelizing the startup processes between the first and second CPUs in a printer, the startup time is reduced by allowing simultaneous execution of system initialization and print engine warm-up.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- BROTHER KOGYO KK
- Filing Date
- 2022-07-19
- Publication Date
- 2026-06-23
AI Technical Summary
Printers with two CPUs face challenges in shortening startup time, as existing technologies do not effectively parallelize the processing between the CPUs during startup.
A printer design that utilizes a first CPU to decompress and write boot and system programs to a volatile memory while a second CPU performs initial print engine control, allowing parallel execution of system initialization and print engine warm-up, thereby reducing startup time.
The parallel processing of system initialization and print engine control significantly reduces the overall startup time of the printer compared to sequential processing.
Smart Images

Figure 0007877909000001 
Figure 0007877909000002 
Figure 0007877909000003
Abstract
Description
Technical Field
[0001] The technical field disclosed in this specification relates to printers. More specifically, it is a technology related to the processing at the time of starting up a printer.
Background Art
[0002] Technologies regarding the processing at the time of starting up a printer are known. For example, Patent Document 1 discloses an image input / output system having a printer, which stores device configuration information at the completion of startup and, at the time of restart, starts the startup process using the stored device configuration information before receiving a response from hardware.
Prior Art Documents
Patent Documents
[0003]
Patent Document 1
Summary of the Invention
Problems to be Solved by the Invention
[0004] In recent years, printers having two CPUs, where one CPU is mainly used for system control and the other CPU is used for controlling a print engine, are known. In such printers, processing at the time of startup is performed for each CPU, and shortening the startup time, which is the time until these startup processes are completed, has become an issue. Patent Document 1 does not disclose the processing at the time of startup in a printer having two CPUs, and there is room for improvement.
Means for Solving the Problems
[0005] A printer designed to solve this problem comprises a first CPU, a second CPU, a non-volatile first memory, a volatile second memory, and a print engine. The first memory stores a boot program, a system program, and a print program. The system program and the print program are compressed and stored in the first memory. When power is turned on, the first CPU decompresses the print program in the first memory according to the boot program and writes it to the second memory. The second CPU starts initial control of the print engine according to the print program. After the first CPU has written the print program to the second memory, while the second CPU is performing the initial control of the print engine, the first CPU decompresses the system program in the first memory according to the boot program and writes it to the second memory. The first CPU then starts executing initial processing according to the system program.
[0006] In the printer disclosed herein, the first CPU writes a print program from the first memory to the second memory according to a boot program, and the second CPU starts initial control of the print engine according to the print program. Furthermore, while the second CPU is performing initial control of the print engine, the first CPU writes a system program from the first memory to the second memory according to the boot program, and the first CPU starts executing initial processing according to the system program. As a result, the initial processing of the system program by the first CPU and the initial control of the print engine by the second CPU are performed in parallel, and a reduction in startup time can be expected compared to when these are performed sequentially, or when one program is written to memory while processing according to one program is in progress and processing according to the other program is started.
[0007] The control method, computer program, and computer-readable storage medium for storing the above-mentioned printer functions are also novel and useful. [Effects of the Invention]
[0008] The technology disclosed herein enables the realization of a technology that can be expected to shorten the startup time of a printer having two CPUs. [Brief explanation of the drawing]
[0009] [Figure 1] This is a diagram showing the schematic configuration of this type of printer. [Figure 2] This is a flowchart showing the startup process steps. [Figure 3] This is a block diagram showing the memory configuration when the boot loader is loaded. [Figure 4] This is a diagram showing the memory configuration when a program for the sub-CPU is loaded. [Figure 5] This is the memory configuration when the OS is loaded. [Figure 6] This is an explanatory diagram showing the procedure for processing when a print command is received. [Figure 7] This is an explanatory diagram showing the procedure for processing when a print command is received. [Figure 8] This is an explanatory diagram showing the procedure for processing when a print command is received to retrieve print data from an external device and print it. [Modes for carrying out the invention]
[0010] The printer according to this embodiment will be described in detail below with reference to the attached drawings. This embodiment discloses a printer having two CPUs.
[0011] As shown in Figure 1, the printer 1 in this configuration includes a main CPU 11, a sub-CPU 12, an operation panel 13, a communication interface (hereinafter referred to as "communication IF") 14, and a print engine 15, all of which are connected to a bus 19. The main CPU 11 is an example of a first CPU, and the sub-CPU 12 is an example of a second CPU.
[0012] Furthermore, printer 1 is equipped with memory 20 including ROM 21, RAM 22, SRAM 23, and EEPROM 24, which are connected to bus 19. ROM 21 is an example of a non-volatile first memory, while RAM 22 and SRAM 23 are examples of volatile second memories. RAM 22 is a memory that requires periodic rewriting of its contents, such as DRAM (Dynamic Random Access Memory), and is an example of a first-characteristic memory having first power characteristics. SRAM (Static Random Access Memory) 23 is a memory that does not require refreshing and is an example of a second-characteristic memory having second power characteristics.
[0013] The main CPU 11 and sub-CPU 12 execute various processes according to the program read from memory 20 and based on user operations. The main CPU 11 is mainly responsible for system control, such as managing files and tasks of printer 1 and controlling the operation panel 13 and communication interface 14. The sub-CPU 12 is mainly responsible for controlling the print engine 15.
[0014] Memory 20 stores various programs and data. Memory 20 is also used as a workspace when various processes are executed. Note that examples of memory 20 are not limited to ROM, RAM, HDD, etc., built into printer 1, but may also be computer-readable and writable storage media. Computer-readable storage media are non-transitory media. Non-transitory media include recording media such as CD-ROMs and DVD-ROMs, in addition to the examples above. Furthermore, non-transitory media are also tangible media. On the other hand, electrical signals that carry programs downloaded from servers on the internet are a type of computer-readable signal medium, but are not included in non-transitory computer-readable storage media. Buffers provided by the main CPU 11 and sub-CPU 12 are also examples of memory.
[0015] The ROM 21 of memory 20 stores a boot loader 31, an operating system (hereinafter referred to as "OS") 32, a main CPU program 33, and a sub-CPU program 34. The main CPU program 33 is a group of programs that run on the OS 32 and includes a main control program 331 and a RIP (abbreviation for Raster Image Processor) control program 332. The sub-CPU program 34 includes an engine control program 341 and a power-saving program 342. The OS 32 is, for example, the Linux kernel.
[0016] The bootloader 31 is an example of a boot program. The OS 32 and the program 33 for the main CPU are examples of system programs, and the main control program 331 and the RIP control program 332 included in the program 33 for the main CPU are examples of application programs operating on the OS 32. The program 34 for the sub CPU is an example of a printing program, the engine control program 341 is an example of a first engine program, and the power-saving program 342 is an example of a second engine program.
[0017] Each program stored in the ROM 21 is stored in a compressed form except for the head portion of the bootloader 31. The bootloader 31 includes an uncompressed portion 311 that is not compressed and a compressed portion 312 that is compressed. The OS 32, the program 33 for the main CPU, and the program 34 for the sub CPU are each stored in a compressed form. The EEPROM 24 is for storing flags and the like indicating settings by the user.
[0018] The operation panel 13 is, for example, a touch panel and includes hardware for displaying a screen for notifying the user of information and hardware for receiving operations by the user. The communication IF 14 includes hardware for communicating with an external device such as a personal computer. The printer 1 may be provided with a plurality of communication IFs 14 corresponding to a plurality of communication standards. The printing engine 15 includes a configuration for printing an image on a sheet or the like. The image forming method of the printing engine 15 is, for example, an electrophotographic method.
[0019] Subsequently, the startup process of the printer 1 of this embodiment will be described with reference to a flowchart. This startup process is executed by the main CPU 11 triggered by the printer 1 being powered on or reset.
[0020] The following processes basically refer to the processing performed by each CPU in accordance with the instructions written in the program. That is, processes such as "judgment," "extraction," "selection," "calculation," "decision," "identification," "acquisition," "reception," and "control" in the following explanation represent CPU processing. CPU processing includes hardware control using the OS API. In this specification, the description of the OS is omitted when explaining the operation of each program. That is, in the following explanation, a statement to the effect of "Program B controls hardware C" may also mean "Program B controls hardware C using the OS API." In addition, CPU processing in accordance with the instructions written in the program may be described using abbreviated language. For example, it may be written as "performed by the CPU." Also, CPU processing in accordance with the instructions written in the program may be described using abbreviated language such as "performed by Program A."
[0021] Furthermore, "acquisition" is used in a sense that does not necessarily require a request. That is, the process of the CPU receiving data without a request is also included in the concept of "the CPU acquiring data." Also, "data" in this specification is represented by a bit sequence that can be read by a computer. Data with the same substantial meaning but different formats will be treated as the same data. The same applies to "information" in this specification. Also, "request" and "instruct" are concepts that indicate that information indicating a request or instruction is being output to the other party. Information indicating a request or instruction may also be simply referred to as "request" or "instruction."
[0022] Furthermore, the process by which the CPU determines whether information A indicates event B is sometimes conceptually described as "determining from information A whether it is event B or not." Similarly, the process by which the CPU determines whether information A indicates event B or event C is sometimes conceptually described as "determining from information A whether it is event B or event C."
[0023] In this configuration, the printer 1 is statically configured in the hardware so that when it is powered on from a power-off state, or when a reset command is received by the user, the main CPU 11 starts operating from a predetermined address. In this configuration, the main CPU 11 starts operating from the beginning of the uncompressed section 311 of the boot loader 31 stored in the ROM 21 (S101).
[0024] By initiating processing according to the uncompressed portion 311 of the boot loader 31, the main CPU 11 decompresses the compressed portion 312 of the boot loader 31 and loads it into the SRAM 23 (S102). As a result, as shown in Figure 3, the decompressed compressed portion 312 of the boot loader 31 is stored in the SRAM 23. Because the compressed portion 312 of the boot loader 31 is stored in a compressed state, the load on the ROM 21 is reduced compared to when it is uncompressed. In the following, the decompressed compressed portion 312 written to the SRAM 23 will simply be referred to as "boot loader 31".
[0025] The main CPU 11 reads the boot loader 31 written to the SRAM 23 from the SRAM 23 and operates according to the read boot loader 31 (S103). The main CPU 11 configures the operation of RAM 22 in order to load a program into RAM 22 (S110). Note that SRAM 23 does not require operation configuration and can be used in a shorter time compared to RAM 22. The main CPU 11 then loads the sub-CPU program 34 stored in ROM 21 to a designated storage location. Specifically, the main CPU 11 decompresses the engine control program 341 and loads it into RAM 22 (S111). The main CPU 11 also decompresses the power-saving program 342 and loads it into SRAM 23 (S112).
[0026] The main CPU 11 decompresses the engine control program 341 and the power-saving program 342 according to the boot loader 31 and loads them into RAM 22 and SRAM 23, respectively, so that the decompression process can be performed in one step. As a result of S111 and S112, the printer 1 is in a state where the engine control program 341 is stored in RAM 22 and the power-saving program 342 is stored in SRAM 23, as shown in Figure 4.
[0027] The engine control program 341 is a program for controlling the print engine 15 and is executed by the sub-CPU 12. The engine control program 341 includes a program for performing warm-up control as initial control of the print engine 15. The power saving program 342 is a program that controls the power supplied to each part of the printer 1, including the print engine 15, in power saving mode, for example, and does not include initial control.
[0028] Once the loading of the engine control program 341 is complete, the main CPU 11, following the instructions of the boot loader 31, resets the sub-CPU 12 and starts up the sub-CPU 12 (S113). The sub-CPU 12 is separate hardware from the main CPU 11 and can operate independently of the main CPU 11.
[0029] When the sub-CPU 12 is started, it is configured to begin operation from the beginning of the engine control program 341 loaded into RAM 22. The engine control program 341 has been decompressed by the main CPU 11 in S111 and loaded into a designated location in RAM 22. Upon startup in S113, the sub-CPU 12 begins initial control of the print engine 15 according to the instructions in the engine control program 341. Alternatively, the main CPU 11 may pass a startup command to the sub-CPU 12 through a process following the boot loader 31, causing the sub-CPU 12 to begin initial control of the print engine 15.
[0030] The initial control of the printing engine 15 includes, for example, warm-up control including preheating of the fuser unit and toner stirring operation of the developer unit. By performing the initial control of the printing engine 15 at startup, the printer 1 can start printing earlier compared to performing the initial control after accepting a print job. Note that the warm-up control of the printing engine 15 of the printer 1 may take up to approximately 29 seconds depending on the ambient temperature and other factors.
[0031] Furthermore, while the sub-CPU 12 is performing initial control of the print engine 15 using the engine control program 341 at startup, it does not execute the power-saving program 342. After the initial control of the print engine 15 is completed, the power-saving program 342 becomes available for execution.
[0032] On the other hand, the main CPU 11 can operate independently of the sub-CPU 12, and after starting up the sub-CPU 12, it continues to perform operations according to the boot loader 31 while the sub-CPU 12 is performing initial control of the print engine 15. After S113, the main CPU 11 decompresses the OS 32 stored in the ROM 21 and loads it into the RAM 22 (S121). As a result, the printer 1 is in a state where the OS 32 is stored in the RAM 22, as shown in Figure 5. In other words, in this configuration, the printer 1 initiates initial control of the print engine 15 by the sub-CPU 12 before decompressing the OS 32 and loading it into the RAM 22.
[0033] Then, once the loading of OS32 is complete, the main CPU 11 terminates its operation according to the boot loader 31 and begins executing the initial processing according to the OS32 (S122). The initial processing according to OS32 includes the initialization of the file system, the initialization of the operation panel 13, and the initialization of the communication interface 14.
[0034] Initial processing according to OS32 includes initial processing for various application programs included in the main CPU program 33. The main CPU 11 decompresses the main control program 331 and the RIP control program 332 included in the main CPU program 33 and loads them into RAM 22 (S123).
[0035] The main control program 331 is a program for controlling all parts of the printer 1 except the print engine 15, including the operation panel 13 and the communication interface 14. The RIP control program 332 is a program that performs RIP processing on the image data to be printed and generates RIP data based on the image data. Both the main control program 331 and the RIP control program 332 are programs executed by the main CPU 11.
[0036] Furthermore, the main CPU 11 starts the system main control process based on the main control program 331 and the RIP processing process based on the RIP control program 332 (S124). The system main control process and the RIP processing process are resident processes that follow the respective application programs running on the OS32. There may be other resident processes besides these, and the main CPU 11 may start other processes as well.
[0037] After initial processing according to the main CPU program 33, the main CPU 11 begins monitoring the operating status of the sub-CPU 12 (S125). Once the initialization of the operation panel 13, the initialization of the communication IF 14, the startup of the application process, and the initial control of the print engine 15 are all completed, the main CPU 11 enters a standby state and monitors the status of the operation panel 13 and the communication IF 14. The standby state is a state in which printing by the print engine 15 is possible and is an example of the first mode.
[0038] Furthermore, if the printer 1 enters a standby state and does not accept any operation on the control panel 13 or data reception via the communication IF 14 for a predetermined period of time or longer, it will transition from the standby state to an engine sleep state. The engine sleep state is a state in which the power supply to the fuser heater is stopped. After further time has passed and predetermined conditions are met, such as the internal temperature falling below a predetermined temperature, the printer 1 will transition to a deep sleep state with even lower power consumption. This state is one in which printing by the print engine 15 is impossible and is an example of the second mode. In the deep sleep state, the sub-CPU 12 controls the power supply to the print engine 15 according to the power-saving program 342. The process of controlling the power supply by the power-saving program 342 is an example of a specific process.
[0039] While printer 1 is in deep sleep mode, it cannot print, but it can accept commands via the control panel 13 and receive data via the communication interface 14. When printer 1 receives a command or other input while in deep sleep mode, it first supplies power to its various components and then transitions from deep sleep mode to standby mode.
[0040] Next, the operation of printer 1 in standby mode will be described. In standby mode, printer 1 can accept user operations via the control panel 13 and can accept print commands as user instructions. For example, if printer 1 has stored image data 221 previously received via the communication IF 14 in the memory 20, it can accept a print execution command based on the stored image data 221 via the control panel 13.
[0041] When a print command is received via the control panel 13 while in standby mode, for example, as shown in Figure 6, the main CPU 11 generates print data 222 based on the image data 221 to be printed and stores it in the RAM 22.
[0042] Specifically, the system main control process, based on the print instruction, specifies the image data 221 to be printed and requests RIP processing from the RIP processing process. The RIP processing process performs RIP processing on the image data 221 to generate RIP data, stores the generated RIP data in RAM 22, and requests post-processing from the system main control process. The system main control process performs post-processing such as dithering and color adjustment on the RIP data to generate print data 222.
[0043] The main CPU 11 specifies the storage location of the generated print data 222 and requests the sub-CPU 12 to perform the printing process. The sub-CPU 12 controls the print engine 15 according to the engine control program 341. The print engine 15 is in a standby state and is ready to print, and generates the printed material according to the control of the sub-CPU 12.
[0044] Furthermore, while in standby mode, printer 1 can receive various types of data transmitted from external devices via the communication IF 14. For example, a personal computer (hereinafter referred to as "PC") 41 connected to printer 1 can send data including a print command to printer 1 based on user instructions. PC 41 is an example of an external device.
[0045] When data is received via the communication IF14 while in standby mode, the main CPU11 analyzes the received data to determine whether or not it contains a print command. If the received data contains a print command, the main CPU11 analyzes the received print command to obtain the image data 221 to be printed, for example, as shown in Figure 7.
[0046] Furthermore, the main CPU 11 generates print data 222 based on the image data 221 to be printed, similar to the example in Figure 6, and stores it in RAM 22. The main CPU 11 specifies the storage location of the generated print data 222 and requests the sub-CPU 12 to perform the printing process. The sub-CPU 12 controls the print engine 15 according to the engine control program 341 and executes the printing.
[0047] Furthermore, while in standby mode, printer 1 can communicate with an external device that stores print data via communication IF 14, and can receive print commands via the operation panel 13 that target print data stored on the external device. For example, if a USB memory 42 storing print data is connected to the communication IF 14, printer 1 can receive print commands via the operation panel 13 based on the print data stored in the USB memory 42. USB memory 42 is an example of an external device.
[0048] In standby mode, if the main CPU 11 receives a print command via the operation panel 13 to print print data stored on an external device, the main CPU 11 acquires the print data from the external device via the communication IF 14, for example, as shown in Figure 8. The main CPU 11 stores the acquired print data 222 in the RAM 22 and requests the sub-CPU 12 to perform printing, specifying the location where the print data 222 is stored. The sub-CPU 12 controls the print engine 15 according to the engine control program 341 and executes printing.
[0049] As explained in detail above, in this configuration of printer 1, the main CPU 11 loads the sub-CPU program 34 from ROM 21 into RAM 22 or the like according to the boot loader 31, and the sub-CPU 12 starts initial control of the print engine 15 according to the engine control program 341 of the sub-CPU program 34. Furthermore, while the sub-CPU 12 is performing initial control of the print engine 15, the main CPU 11 loads the OS 32 from ROM 21 into RAM 22 according to the boot loader 31, and starts executing initial processing according to OS 32. As a result, the initial processing by the main CPU 11 and the initial control of the print engine 15 by the sub-CPU 12 are performed in parallel, and a reduction in startup time can be expected. For example, compared to a case where the main CPU 11 first performs initial processing to start OS 32 and the system main control process, and the system main control process then starts initial control of the print engine 15 by the sub-CPU 12, a reduction in the startup time of printer 1 can be expected.
[0050] This embodiment is merely illustrative and does not limit the present invention in any way. Therefore, the technology disclosed herein can naturally be improved and modified in various ways without departing from its essence. For example, the printer 1 is not limited to a single-function printer, but can be applied to any device with printing capabilities, such as a multifunction printer, copier, or fax machine.
[0051] Furthermore, the image formation method of the printing engine 15 is not limited to electrophotography; other methods may also be used. However, the initial control of the printing engine 15 will differ depending on the image formation method. For example, if the printing engine 15 is an inkjet type, the sub-CPU 12 will perform initial control such as preheating the print head.
[0052] Furthermore, for example, OS32 is not limited to the Linux kernel; it could be an RTOS or Windows Embedded. Also, the application programs running on OS32 are not limited to the main control program 331 and the RIP control program 332; there may be others as well.
[0053] Furthermore, in this embodiment, the boot loader 31 is described as having a compressed compression section 312 stored in memory, and then being decompressed and loaded into SRAM 23 for execution, but this is not limited to this configuration. For example, the boot loader 31's compressed compression section 312 may be decompressed and loaded into RAM 22. Also, the boot loader 31 does not have to be entirely compressed; in that case, the main CPU 11 may read the boot loader 31 from ROM 21 and operate it. However, storing it compressed reduces its size and lessens the load on ROM 21. In addition, reading from SRAM 23 or RAM 22 is faster than reading from ROM 21, so it is preferable to compress a portion of it, store it in ROM 21, decompress it, load it into SRAM 23 or RAM 22 for execution.
[0054] Furthermore, in this embodiment, the main CPU 11 decompresses the engine control program 341 and the power-saving program 342 and loads them into RAM 22 and SRAM 23, respectively, but this is not limited to this configuration. For example, the main CPU 11 may decompress and load the engine control program 341, and the sub-CPU 12 may decompress and load the power-saving program 342 according to the engine control program 341. Alternatively, the main CPU 11 or the sub-CPU 12 may load the power-saving program 342 into RAM 22. SRAM 23 is optional.
[0055] Furthermore, in any flowchart disclosed in the embodiments, the execution order of any multiple processes in any multiple steps can be arbitrarily changed or executed in parallel, as long as no inconsistencies arise in the processing content.
[0056] Furthermore, the processes disclosed in the embodiments may be executed by a single CPU, multiple CPUs, hardware such as an ASIC, or a combination thereof. Also, the processes disclosed in the embodiments can be implemented in various forms, such as a recording medium or method that stores a program for executing the process. [Explanation of symbols]
[0057] 1. Printer 11 Main CPU 12 sub-CPUs 13. Control Panel 14 Communication IF 15 Printing Engine 21 ROM 22 RAM 41 PC 42 USB flash drives
Claims
1. The first CPU and the second CPU, A non-volatile first memory, A volatile second memory, Printing engine and Equipped with, The first memory stores a boot program, a system program, and a print program, and the system program and the print program are compressed and stored in the first memory. If the power is turned on, The first CPU, in accordance with the boot program, decompresses the print program located in the first memory and writes it to the second memory. The second CPU starts initial control of the printing engine according to the printing program. After the first CPU has written the print program to the second memory, while the second CPU is performing the initial control of the print engine, the first CPU, in accordance with the boot program, decompresses the system program in the first memory and writes it to the second memory, and starts executing the initial processing in accordance with the system program. A printer configured in such a way.
2. A printer as described in claim 1, If the power is turned on, The first CPU, in accordance with the boot program, decompresses the print program located in the first memory and writes it to the second memory, and before decompressing the system program located in the first memory and writing it to the second memory, instructs the second CPU, in accordance with the boot program, to start the initial control of the print engine according to the print program. A printer configured in such a way.
3. A printer as described in claim 1, The boot program includes a compressed section which is compressed and stored in the first memory. The first CPU decompresses the compressed portion of the boot program and writes it to the second memory, decompresses the print program in the first memory and writes it to the second memory according to the boot program written to the second memory, decompresses the system program in the first memory and writes it to the second memory. A printer configured in such a way.
4. A printer as described in claim 1, The system program includes an operating system and application programs that run on the operating system. If the power is turned on, After the first CPU writes the print program to the second memory, while the second CPU is performing the initial control of the print engine, the first CPU, in accordance with the boot program, decompresses the operating system from the system program in the first memory and writes it to the second memory, starts executing the initial processing in accordance with the operating system, and in the initial processing, decompresses the application program in accordance with the operating system and writes it to the second memory, and starts a process according to the application program. A printer configured in such a way.
5. A printer as described in claim 1, The printing program includes a first engine program and a second engine program. If the power is turned on, The first CPU decompresses the print program in the first memory according to the boot program, and writes the decompressed first engine program and the decompressed second engine program to the second memory, respectively. The second CPU starts the initial control of the printing engine according to the first engine program, and does not execute the specific processing by the second engine program while the initial control of the printing engine is being performed. After the completion of the initial control of the printing engine, the second engine program becomes capable of executing the specific processing, which is different from the initial control of the printing engine. A printer configured in such a way.
6. A printer according to claim 5, The system has a first mode in which printing by the printing engine is possible, and a second mode in which less power is supplied to the printing engine than in the first mode, and printing by the printing engine is not possible. The second memory includes a first characteristic memory having a first power characteristic and a second characteristic memory having a second power characteristic. If the power is turned on, The first CPU, in accordance with the boot program, decompresses the print program in the first memory, writes the decompressed first engine program to the first characteristic memory, writes the decompressed second engine program to the second characteristic memory, The second CPU controls the power supplied to the printing engine according to the second engine program. A printer configured in such a way.
7. A printer according to any one of claims 1 to 6, It is equipped with a control panel that accepts print commands, If the power is turned on, After the first CPU writes the print program to the second memory, while the second CPU is performing the initial control of the print engine, it decompresses the system program in the first memory and writes it to the second memory according to the boot program, starts executing the initial processing according to the system program, and in the initial processing, initializes the operation panel according to the system program. After the control panel has been initialized, if the print command is received via the control panel, The first CPU generates print data to be printed according to the system program, The second CPU, in accordance with the printing program, causes the printing engine, after the initial control has been completed, to perform printing based on the printing data. A printer configured in such a way.
8. A printer according to any one of claims 1 to 6, It is equipped with a communication interface for communicating with external devices, If the power is turned on, After the first CPU writes the print program to the second memory, while the second CPU is performing the initial control of the print engine, the first CPU, in accordance with the boot program, decompresses the system program in the first memory and writes it to the second memory, starts executing the initial processing in accordance with the system program, and in the initial processing, initializes the communication interface in accordance with the system program. After the communication interface has been initialized, if a print command is received from the external device via the communication interface, The first CPU generates print data to be printed based on the received print command, in accordance with the system program. The second CPU, in accordance with the printing program, causes the printing engine, after the initial control has been completed, to perform printing based on the printing data. A printer configured in such a way.
9. A printer according to any one of claims 1 to 6, A control panel that accepts print commands, A communication interface for communicating with external devices, Equipped with, If the power is turned on, After the first CPU writes the print program to the second memory, while the second CPU is performing the initial control of the print engine, the first CPU, in accordance with the boot program, decompresses the system program in the first memory and writes it to the second memory, starts executing the initial processing in accordance with the system program, and in the initial processing, initializes the operation panel and the communication interface in accordance with the system program. After the operation panel and the communication interface have been initialized, if a print command is received via the operation panel that specifies print data stored in the external device as the print target, The first CPU reads the print data from the external device via the communication interface. The second CPU, in accordance with the printing program, causes the printing engine, after the initial control has been completed, to perform printing based on the printing data read from the external device. A printer configured in such a way.