This document discusses embedded programming and is divided into several sections. It begins by stating the objectives and describing the target system. It then covers the main components of an embedded program including finite state machines, circular buffers, and queues. Different models of program design are explained such as C-text, data flow graphs, and control-data flow graphs. Finally, it discusses the processes of assembly, linking, and loading which involve generating symbol tables, combining object modules, and resolving addresses across modules in two phases.