ABSTRACT

This chapter discusses the two approaches, they are software development and system requirements. The execution models generally adopted in embedded system design and development. The chapter introduces the general problem of race conditions in task-based scheduling and how to address it by correctly identifying critical regions in the code and managing them appropriately by means of mutual exclusion. It also introduces the concept of task control block, a data structure managed and maintained by the operating system, which holds all the information needed to represent the execution of a sequential program. A key design point of any embedded system is the selection of an appropriate execution model that, generally speaking, can be defined as the set of rules and constraints that organize the execution of the embedded system’s activities. In most embedded systems, hardware timers are available to provide accurate timing references.