Chapter 13 Embedded Systems Patricia Roy Manatee Community College, Venice, FL ©2008, Prentice Hall Operating Systems: Internals and Design Principles, 6/E William Stallings
Embedded System Hardware and software designed to perform a dedicated function Tightly coupled to their environmnet
Examples
Embedded System Organization
Characteristics of Embedded Operating System Real-time operation Reactive operation –Respond to external events Configurability –Large variation in systems so need flexible configuration
Characteristics of Embedded Operating System I/O device flexibility Streamlined protection mechanisms Direct use of interrupts
Adapting an Existing OS Add real-time capability Streamlining operation Add necessary functionality
eCos Embedded Configurable Operating Systems Open source Royalty-free Real-time OS Most widely used embedded OS
eCos Configuration Tool
Loading an eCos Configuration
eCos Layered Structure
Hardware Abstraction Layer Presents consistent API to upper layers Different for each hardware platform
HAL
HAL Modules Architecture –Processor family type Variant –Support features of specific processor Platform –Support of tightly coupled peripherals
eCos Kernel Low interrupt latency Low task switching latency Small memory footprint Deterministic behavior
Not in eCos Kernel Memory allocation Device driver
eCos I/O System Framework for supporting device drivers
eCos Scheduler Bitmap scheduler –Efficient for small number of threads active –Each thread has different priority
Bitmap Scheduler
eCos Scheduler Multilevel queue scheduler –Appropriate when number of threads is dynamic –Multiple threads at each priority –Time slicing
Multilevel Queue Scheduler
eCos Thread Synchronization Mutexes Semaphores Condition variables
eCos Thread Synchronization Event flags Mailboxes Spinlocks –Useful in SMP (symmetric multiprocessing)
Mutexes
Mutexes and Condition Variables
TinyOS 400 bytes of code Not a real-time OS No kernel No memory protection
Tiny OS Component-based OS No processes No memory allocation Interrupt and exception handling dependent on peripheral Nonblocking
Wireless Sensor Network Topology
TinyOS Goals Allow high concurrency Operate with limited resources Adapt to hardware evolution
TinyOS Goals Support a wide range of applications Support a diverse set of platforms Be robust
TinyOS Components Single-hop networking Ad-hoc routing Power management Times Nonvolatile storage control
TimerM Component
TimerM Configuration
TinyOS Scheduler Operates across all components Only one task executes at one time Simple FIFO queue
Example TinyOS Appliction
TinyOS Resource Interface Dedicated Virtualized Shared
Shared Resource Configuration