11.10 Installing Code on the Target – Non-Volatile Software (Firmware)
11.10.1 Overview
Program environments can be described as volatile or non-volatile. The use of a PC as a target system typifies a volatile setting. Program behavior in these situations can be broken down into two parts: startup and application run, as in Figure 11.55:
Here, a boot program is carried in a non-volatile store, usually an EPROM. This first performs basic checks and housekeeping tasks, including hardware checks. It then loads part (or all) of the operating system from disk into main, usually RAM-based, memory. To run an application program, the user enters appropriate commands using the keyboard. These are interpreted by the operating system, which proceeds to download the user program into the main memory and execute the code. Note that the user may be excluded from the process by having an auto-execute feature...