Embedded Software Development: The Open-Source Approach
- Length: 554 pages
- Edition: 1
- Language: English
- Publisher: CRC Press
- Publication Date: 2016-01-04
- ISBN-10: 146659392X
- ISBN-13: 9781466593923
- Sales Rank: #3789480 (See Top 100 Books)
Embedded Software Development: The Open-Source Approach delivers a practical introduction to embedded software development, with a focus on open-source components. This programmer-centric book is written in a way that enables even novice practitioners to grasp the development process as a whole.
Incorporating real code fragments and explicit, real-world open-source operating system references (in particular, FreeRTOS) throughout, the text:
- Defines the role and purpose of embedded systems, describing their internal structure and interfacing with software development tools
- Examines the inner workings of the GNU compiler collection (GCC)-based software development system or, in other words, toolchain
- Presents software execution models that can be adopted profitably to model and express concurrency
- Addresses the basic nomenclature, models, and concepts related to task-based scheduling algorithms
- Shows how an open-source protocol stack can be integrated in an embedded system and interfaced with other software components
- Analyzes the main components of the FreeRTOS Application Programming Interface (API), detailing the implementation of key operating system concepts
- Discusses advanced topics such as formal verification, model checking, runtime checks, memory corruption, security, and dependability
Embedded Software Development: The Open-Source Approach capitalizes on the authors’ extensive research on real-time operating systems and communications used in embedded applications, often carried out in strict cooperation with industry. Thus, the book serves as a springboard for further research.
Table of Contents
Chapter 1: Introduction
Part I: Basics of Embedded Software Development
Chapter 2: Embedded Applications and Their Requirements
Chapter 3: Based Software Development Tools
Chapter 4: Execution Models for Embedded Systems
Chapter 5: Concurrent Programming Techniques
Chapter 6: Scheduling Algorithms and Analysis
Chapter 7: Conguration and Usage of Open-Source Protocol Stacks
Chapter 8: Device Driver Development
Chapter 9: Portable Software
Chapter 10: The FREERTOS Porting Layer
Chapter 11: Performance and Footprint at the Toolchain Level
Chapter 12: Example: A MODBUS TCP Device
Part II: Advanced Topics
Chapter 13: Model Checking of Distributed and Concurrent Systems
Chapter 14: Model Checking: An Example
Chapter 15: Memory Protection Techniques
Chapter 16: Security and Dependability Aspects