ABSTRACT

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.

chapter 1|6 pages

Introduction

part I|368 pages

Basics of Embedded Software Development

chapter 3|42 pages

GCC-Based Software Development Tools

chapter 4|24 pages

Execution Models for Embedded Systems

chapter 5|32 pages

Concurrent Programming Techniques

chapter 6|26 pages

Scheduling Algorithms and Analysis

chapter 8|42 pages

Device Driver Development

chapter 9|34 pages

Portable Software

chapter 10|24 pages

The FreeRTOS Porting Layer

chapter 12|32 pages

Example: A Modbus TCP Device

part II|132 pages

Advanced Topics

chapter 14|20 pages

Model Checking: An Example

chapter 15|40 pages

Memory Protection Techniques

chapter 16|40 pages

Security and Dependability Aspects