Patent ID: 7398331

Claim:
A peripheral apparatus which controls itself on the basis of firmware, wherein the firmware is formed from at least a control program and a rewrite program, comprising storage means for reserving and storing, on a nonvolatile storage medium, a first storage area which stores the control program for implementing a function of the peripheral apparatus, and a second storage area which stores the rewrite program for rewriting the control program, and control means for selectively switching and controlling a first mode for updating the firmware by the rewrite program, and a second mode for executing the control program, wherein the first mode comprises reception step for receiving updating data of the control program from an external apparatus, rewrite step for rewriting the control program stored in the first storage area to the updating data received by said reception step, using the rewrite program, determination step for determining whether a rewrite operation executed by said rewrite step has ended normally, and rewrite control step for performing the rewrite operation again by said rewrite step by receiving again the updating data of the control program which failed to rewrite, when said determination step determines that the rewrite operation has not ended normally, wherein the first mode further comprises, in a storage medium, rewrite status information storage step for storing rewrite status information indicating the rewrite status acquired by said rewrite step, and wherein after the rewrite operation executed by said rewrite step is interrupted, when the rewrite operation is to be started again, said rewrite control step rewrites only unrewritten updating data with reference to the rewrite status information stored in the storage medium just before the interruption.