If the conditions are satisfied at step 812, the processor code portion (e.g., first (μP) portion 630) may be installed within the processor, as indicated by step 816. If desired, code for at least one processor that does not exercise independent authority in updating its code can be installed at this step. For example, the third and fourth processors (e.g., the high power wireless communications circuitry 212 and the low power wireless communications circuitry 214, respectively), but not the second processor (e.g., safety processor 230) can be updated at this step. The second processor (e.g., safety processor 230) may independently decide when to update itself, and is not committed to being updated at a time commensurate with the software updating of any other processor. The installation process can include several steps, which are discussed in more detail in connection with FIG. 9. Generally speaking, installation can include deletion of the existing processor code in the processor's non-volatile memory, programming of the new processor code in its NV M, and verification that the new code successfully completed installation. If installation is successful at step 818, the first processor is rebooted and processing may proceed to step 820 where it is determined whether that reboot is successful. As will be discussed in more detail below, if installation of the new processor code is not successful, the system may try to install the old processor code. If installation of any processor code is not successful, at step 818, then the process may proceed to restore required step 819. The system may reach step 819 if no code installation is successfully completed, and as a result, the system may require a restore operation that requires connecting the system to a computer via port 528 to receive new software.