A processor comprises a central processing unit that downloads firmware from outside after starting a second program that depends on a device, stores the downloaded firmware in a volatile memory, and executes predetermined processing based on the firmware stored in the volatile memory; and a non-volatile memory that stores a device-independent first program for downloading the second program in a first program storage area thereof, wherein the central processing unit starts the first program stored in the first program storage area of the non-volatile memory to download the second program from the outside, writes the downloaded second program in a second program storage area of the non-volatile memory, and starts the second program written in the second program storage area to download the firmware from the outside.