This book is split into four parts to help you learn the key concept of embedded systems; Part one introduces the development process, and includes two chapters on microprocessors and interrupts—-fundamental topics for software engineers; Part two is dedicated to modeling techniques for real-time systems; Part three looks at the design of software architectures and Part four covers software implementations, with a focus on POSIX-compliant operating systems.
With this book you will learn:
The pros and cons of different architectures for embedded systems
POSIX real-time extensions, and how to develop POSIX-compliant real time applications
How to use real-time UML to document system designs with timing constraints
The challenges and concepts related to cross-development
Multitasking design and inter-task communication techniques (shared memory objects, message queues, pipes, signals)
How to use kernel objects (e.g. Semaphores, Mutex, Condition variables) to address resource sharing issues in RTOS applications
The philosophy underpinning the notion of "resource manager" and how to implement a virtual file system using a resource manager
The key principles of real-time scheduling and several key algorithms