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.