1. An electronic control unit comprising: a memory area in a non-volatile memory for storing a control program controlling a predetermined control object, the memory area being rewritable, and having a plurality of sub-memory areas exclusively defined in a non-overlapping manner; an operation unit performing a process according to the control program stored in the non-volatile memory and performing a rewrite process to rewrite contents of the control program stored in the memory area when a predetermined rewrite condition is met; a read switch unit selectively switching to one of the plurality of sub-memory areas as the read sub-memory area from which the operation unit reads the control program when the operation unit performs the process according to the control program; and a rewrite switch unit selectively switching to one of the plurality of sub-memory areas as the rewrite sub-memory area in which the rewrite process rewrites program contents of the control program, wherein from among the plurality of sub-memory areas of the memory area, a read sub-memory area, from which the control program is read by the operation unit to perform the process according to the control program, is different and separate from a rewrite sub-memory area, which stores program contents of the control program that is rewritten by the rewrite process, the rewrite switch unit is configured to selectively switch to one of the plurality of sub-memory areas that is different from one of the plurality of sub-memory areas to which the read switch unit is currently switched to, and the read switch unit is configured to switch to one of the plurality of sub-memory areas in which the program contents of the control program have been rewritten by the rewrite process after the rewrite process completes rewriting of the control program and when a read switching condition is fulfilled, the read switching condition is set according to the program contents of the control program rewritten by rewrite process, wherein the read switching condition is defined as a condition that a currently-performed process, which is controlled by the control program, is not controlled by a rewrite-affected portion of the control program, which is changed during a rewrite process of the control program.