Image processing apparatus with backup program for controlling display device

In an image processing apparatus, a processor reads a boot loader from a first storage device, reads a main program from a second storage device by executing the boot loader, and, by executing the main program, transitions to an operation state. The first storage device is mounted on a board on which the processor is mounted. The second storage device is electrically connected with the processor via a bus. When an error occurs during reading of the main program from the second storage device, the processor automatically reads a backup program from the third storage device and displays a screen including warning information on a display device by executing the backup program.

INCORPORATION BY REFERENCE

This application is based upon and claims the benefit of priority from the corresponding Japanese Patent Application No. 2018-029485 filed on Feb. 22, 2018, the entire contents of which are incorporated herein by reference.

BACKGROUND

The present disclosure relates to an image processing apparatus that performs processing in case of a program error at a start-up.

An image processing apparatus, such as a printer, a copier or a multifunction peripheral, executes an image processing job such as an image reading process or a print process. The image processing apparatus can execute the job as a CPU (Central Processing Unit) executes a firmware.

The image processing apparatus may include the CPU for executing the firmware, a semiconductor storage device that stores the firmware in advance, and a disk-type storage device. The CPU performs writing and reading of image data to/from the disk-type storage device.

In general, the semiconductor storage device has a faster data reading speed than the disk-type storage device. A typical example of the semiconductor storage device is a NOR flash memory or a NAND flash memory. In addition, a typical example of the disk-type storage device is a hard disk drive.

The firmware includes a boot loader and a main program, wherein the CPU executes the boot loader first and then the main program.

By executing the main program, the CPU controls a display device and devices that execute the job.

In the image processing apparatus, the size of the firmware changes depending on the difference in model and presence/absence of an optional function(s). As a result, the firmware may be stored in a storage device, such as an SSD (Solid State Drive), that is connected to the CPU via a bus.

In addition, there is known a technology in which normally, the CPU executes the boot process based on a program stored in a flash ROM, and when energization is started in a state where a predetermined switch is operated, the CPU executes the boot process based on a program stored in an IC card.

SUMMARY

An image processing apparatus according to an aspect of the present disclosure includes a job processing device, a display device, a first storage device, a second storage device, a third storage device, and a processor. The job processing device executes an image processing job that includes either or both of an image reading process and a print process. The first storage device is a nonvolatile storage device that stores, in advance, a boot loader that is a part of a firmware. The second storage device is a nonvolatile storage device that stores, in advance, a main program that is another part of the firmware and controls the display device and the job processing device. The third storage device is a nonvolatile storage device to and from which image data used in the image processing job is written and read, and which is configured to store, in advance, a backup program that includes a program for controlling the display device. The processor reads the boot loader from the first storage device, reads the main program from the second storage device by executing the boot loader, and, by executing the main program, transitions to an operation state in which to control the display device and the job processing device. The first storage device is mounted on a board on which the processor is mounted. The second storage device is electrically connected with the processor via a bus. When an error occurs during reading of the main program from the second storage device, the processor automatically reads the backup program from the third storage device and displays a graphic screen including warning information on the display device by executing the backup program.

DETAILED DESCRIPTION

The following describes an embodiment of the present disclosure with reference to the accompanying drawings. It should be noted that the following embodiment is an example of a specific embodiment of the present disclosure and should not limit the technical scope of the present disclosure.

[Configuration of Image Processing Apparatus10]

An image processing apparatus10according to an embodiment of the present disclosure executes image processing jobs such as an image reading process and a print process.

In the image reading process, an image is read from a document sheet91and image data representing the read image is output. In the print process, an image is formed on a sheet92. For example, the image processing apparatus10may be a printer, a copier, or a multifunction peripheral.

The image processing jobs include, for example, an image transmission job, a print job, and a copy job. As shown inFIG. 1, the image processing apparatus10is a multifunction peripheral that can execute the image transmission job, the print job, and the copy job.

The image transmission job includes the image reading process and a process of transmitting, to another apparatus, the image data obtained in the image reading process. The print job includes a process of receiving print data from another apparatus, a process of converting the print data into image data for printing, and the print process executed based on the image data. The copy job includes the image reading process and the print process executed based on image data obtained in the image reading process.

As shown inFIG. 1, the image processing apparatus10includes an image reading device1, a print processing device2, a user interface unit3, a CPU4, a RAM5, a first storage device6a, a second storage device6b, a third storage device6c, and a communication device7.

The image reading device1executes the image reading process. The image reading device1emits light toward the document sheet91, receives light reflected from the document sheet91, and detects an amount of received light. Furthermore, the image reading device1outputs data of the detected amount of received light as image data representing a read image.

The print processing device2executes the print process by a predetermined system such as an electrophotographic system or an inkjet system. The sheet92is a sheet-like image formation medium such as a sheet of paper or a resin film.

The communication device7is a communication interface device configured to perform a communication with another apparatus, such as an information processing apparatus (not shown), via a communication medium such as an electric wave or a communication cable. The CPU4performs all of data transmissions and receptions to/from the other apparatus via the communication device7.

A combination of the image reading device1and the communication device7is an example of a job processing device that executes the image transmission job. A combination of the print processing device2and the communication device7is an example of a job processing device that executes the print job. A combination of the image reading device1and the print processing device2is an example of a job processing device that executes the copy job.

In the image transmission job, the CPU4performs a process of writing image data D0as a transmission target to the third storage device6cand a process of reading the image data D0from the third storage device6c.

Similarly, in the print job, the CPU4performs a process of writing print data received from the other apparatus or image data D0used in the print process to the third storage device6cand a process of reading the print data or the image data D0from the third storage device6c.

Similarly, in the copy job, the CPU4performs a process of writing image data D0for printing obtained by the image reading device1to the third storage device6cand a process of reading the image data D0from the third storage device6c.

The user interface unit3includes an operation device3aand a display device3b. The operation device3ais configured to receive user operations and includes, for example, a touch panel. The display device3bis configured to display an image and includes a display panel such as a liquid crystal display panel.

The RAM5is a volatile storage device. The RAM5primarily stores: a program(s) executed by the CPU4; and data that is output and consulted by the CPU4during an execution of the program(s). The program(s) includes a firmware PG0.

The first storage device6a, the second storage device6b, and the third storage device6care computer-readable non-volatile storage devices. The first storage device6aand the second storage device6bare semiconductor storage devices. The third storage device6cis a disk-type storage device.

In the present embodiment, the first storage device6ais a NOR flash memory, the second storage device6bis an SSD (Solid State Drive), and the third storage device6cis an HDD (Hard Disk Drive). The firmware PG0is divided in two and stored in the first storage device6aand the second storage device6b. The SSD is an example of a NAND flash memory.

The first storage device6ahas a faster data reading speed than the second storage device6b. In general, the NOR flash memory has a faster data reading speed than the NAND flash memory such as the SSD.

In addition, the second storage device6bhas a faster data reading speed than the third storage device6c. In general, the semiconductor storage devices such as the NOR flash memory and the SSD have faster data reading speeds than the disk-type storage device such as the HDD.

The CPU4controls the image reading device1and the print processing device2by executing the firmware PG0. As shown inFIG. 1, the CPU4includes a signal input/output interface4a.

The CPU4is electrically connected with the image reading device1and the print processing device2via the signal input/output interface4a.

The CPU4receives inputs of detection signals of various sensors from the image reading device1and the print processing device2via the signal input/output interface4a. Furthermore, the CPU4outputs control signals to the image reading device1and the print processing device2via the signal input/output interface4a.

In addition, the CPU4is electrically connected with the user interface unit3, the second storage device6b, the third storage device6c, and the communication device7via a bus8. The CPU4exchanges data with the second storage device6b, the third storage device6c, and the communication device7via the bus8.

The first storage device6ais mounted on a control board40, together with the CPU4and the RAM5. The RAM5and the first storage device6aare electrically connected with the CPU4by a pattern wiring400formed on the control board40. The CPU4exchanges data with the RAM5and the first storage device6avia the pattern wiring400.

It is noted that another processor such as a DSP (Digital Signal Processor) or an MPU (Micro Processing Unit) may be adopted in place of the CPU4.

The firmware PG0includes a boot loader PG1and a main program PG2, wherein the CPU4executes the boot loader PG1first and then the main program PG2. The boot loader PG1controls the loading of the main program PG2.

By executing the main program PG2, the CPU4controls and causes the display device3b, the image reading device1, and the print processing device2to execute the job.

In the image processing apparatus10, the size of the firmware PG0changes depending on the difference in model and presence/absence of an optional function(s). As a result, in the present embodiment, the boot loader PG1that is a part of the firmware PG0is stored in the first storage device6a, and the main program PG2that is the remaining part of the firmware PG0is stored in the second storage device6b.

The main program PG2is larger than the boot loader PG1in program size. As a result, the second storage device6bhas a larger storage capacity than the first storage device6a. In addition, the third storage device6cthat stores image data has a larger storage capacity than the first storage device6aand the second storage device6b.

The boot loader PG1has a low dependency on the difference in model and presence/absence of an optional function(s), and is a program that is common to many models of the image processing apparatus10. The content and size of the main program PG2change depending on the difference in model of the image processing apparatus10and presence/absence of an optional function(s).

Meanwhile, the second storage device6bis electrically connected with the CPU4via the bus8. The CPU4exchanges data with the second storage device6bvia the bus8. In this case, a data error occurs in the second storage device6bmore easily than in a case where the second storage device6bis mounted on the control board40together with the CPU4, due to dust entering a terminal or due to an influence from other devices connected with the bus8.

In other words, the first storage device6athat is mounted on the control board40together with the CPU4, has hardly a data error due to dust or the like.

In addition, in a case where a memory element, such as an IC card, that can be attached to the image processing apparatus10in a detachable manner by a user, is adopted as a storage device for storing the firmware PG0as a backup, the user needs to manage the memory element. However, the state where the user needs to manage the firmware PG0is not preferable since it degrades the usability.

In addition, providing an additional storage device only for handling the data error is not preferable in terms of cost.

As described above, the second storage device6bstoring the main program PG2is an SSD that is connected to the CPU4via the bus8. As a result, in the image processing apparatus10, it is possible to adopt, as the second storage device6b, an apparatus whose specifications, such as the capacity, change depending on the content of the main program PG2of the firmware PG0.

Furthermore, in the image processing apparatus10, a backup program PG3corresponding to the main program PG2is stored in the third storage device6cin advance, and the CPU4executes a start-up control that is described below. With this configuration, without an additional dedicated device, the image processing apparatus10can automatically execute a process in case a data error occurs in the second storage device6b.

The backup program PG3includes at least a program for controlling the display device3b. Specifically, the backup program PG3includes a control program that displays a graphic screen on the display device3b.

As described below, when an error occurs during reading of the main program PG2from the second storage device6b, the CPU4executes the backup program PG3.

For example, the backup program PG3may cause the CPU4to perform a control to display a screen that explains the status of the image processing apparatus10on the display device3b, and to display various explanation screens in response to operations performed on the operation device3a.

The following describes an example of a procedure of the start-up control performed by the CPU4with reference to a flowchart shown inFIG. 2.

The CPU4performs the start-up control when energization is started or when a predetermined reset operation is performed on the operation device3a. In the following description, S1, S2, . . . are identification signs representing a plurality of steps of the start-up control.

In the start-up control, first, the CPU4reads the boot loader PG1from the first storage device6a, and expands the read boot loader PG1in the RAM5.

Furthermore, the CPU4determines whether or not the reading of the boot loader PG1has normally ended, by executing a well-known error detection process such as a parity check.

Upon determining that the reading of the boot loader PG1has normally ended, the CPU4moves the process to step S3, and otherwise, moves the process to step S6.

In step S3, the CPU4executes the boot loader PG1to read the main program PG2from the second storage device6b, and expand the read main program PG2in the RAM5.

In step S4, the CPU4determines whether or not the reading of the main program PG2has normally ended, by executing a well-known error detection process.

Upon determining that the reading of the main program PG2has normally ended, the CPU4moves the process to step S5, and otherwise, moves the process to step S7.

In step S5, the CPU4executes the main program PG2, and thereby transitions to an operation state in which it is possible to control the display device3b, the image reading device1, the print processing device2, and the communication device7. Thereafter, the CPU4executing the main program PG2ends the start-up process.

In step S6, the CPU4executes a simple warning output process by executing the boot loader PG1. Thereafter, the CPU4executing the boot loader PG1ends the start-up control.

In the simple warning output process, a text screen including a predetermined warning message is displayed on the display device3b.

The text screen includes only text in a single color, without a graphic display. In addition, the single-color text included in the text screen is written in a basic language that has been set initially. The basic language is, for example, English, and cannot be selected by the user.

In step S7, the CPU4reads the backup program PG3from the third storage device6cby executing the boot loader PG1, and expands the read backup program PG3in the RAM5.

In step S8, the CPU4determines whether or not the reading of the backup program PG3has normally ended, by executing a well-known error detection process.

Upon determining that the reading of the backup program PG3has normally ended, the CPU4moves the process to step S9, and otherwise, moves the process to step S6.

Accordingly, the CPU4executing the boot loader PG1executes the simple warning output process also when it has failed to read both the main program PG2and the backup program PG3.

In step S9, the CPU4displays a predetermined warning message screen on the display device3bby executing the backup program PG3.

The warning message screen is a graphic screen including a message that represents predetermined warning information. In addition, the message of the warning information is written in a predetermined language that is selected beforehand by the user of the image processing apparatus10.

For example, the warning information includes an explanation that an error has occurred during a process of reading the main program PG2from the second storage device6b, and includes an explanation of an operation that is recommended to fix the error.

The recommended operation is, for example, an operation to reset the image processing apparatus10, or an operation to restart the image processing apparatus10after temporarily cutting off the power supply to the image processing apparatus10.

The user who has confirmed the warning message screen will recognize that the user himself/herself may normally start up the image processing apparatus10.

Furthermore, the CPU4executing the backup program PG3performs an explanation screen control to display one of various types of explanation screens in accordance with an operation performed on the operation device3a.

The explanation screen is a graphic screen including either or both of an explanation of details of the state of the image processing apparatus10, and an explanation of an action to be taken when the error is not fixed by the recommended operation.

The CPU4executing the backup program PG3ends the start-up control when it detects a predetermined ending operation performed on the operation device3a. When an error occurs during reading of the main program PG2from the second storage device6b, the CPU4automatically executes the above-described processes of steps S7to S10.

In the image processing apparatus10described above, the third storage device6cbased on a known technology serves as a storage for storing image data and a storage for storing the backup program PG3. This allows the image processing apparatus10to automatically execute a process for handling a data error that occurs in the second storage device6b, without adding a dedicated device (steps S7to S10).