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.
About the Author: Ivan Cibrario Bertolotti received the Laurea degree (summa cum laude) in computer science from the University of Torino, Turin, Italy, in 1996. Since then, he has been a researcher with the National Research Council of Italy (CNR). Currently, he is with the CNR's Institute of Electronics, Computer, and Telecommunication Engineering (IEIIT), Turin, Italy. His research interests include real-time operating system design and implementation, industrial communication systems and protocols, and formal methods for vulnerability and dependability analysis of distributed systems. His contributions in this area comprise both theoretical work and practical applications, carried out in cooperation with leading Italian and international companies. He taught several courses on real-time operating systems at Politecnico di Torino, Turin, Italy, from 2003 until 2013, as well as a PhD degree course at the University of Padova in 2009. He regularly serves as a technical referee for the main international conferences and journals on industrial informatics, factory automation, and communication. He has been an IEEE member since 2006.
Tingting Hu holds a master's degree in computer engineering and a PhD degree in computer and control engineering, both from Politecnico di Torino, Turin, Italy. Since 2010, she has been a research fellow with the National Research Council of Italy (CNR). Currently, she is with the CNR's Institute of Electronics, Computer, and Telecommunication Engineering (IEIIT), Turin, Italy. Her main research interests are the design and implementation of real-time operating systems and communication protocols, focusing on deterministic and flexible execution and communication for distributed real-time embedded systems. A significant amount of her research activities are carried out in strict collaboration with industry. She is actively involved in several regional and national industrial research projects in the context of the Italian "Factory of the Future" framework program. Moreover, in 2014 she taught a postgraduate-level course about real-time operating systems and open-source software for embedded applications aimed at company technical managers. She has been an IEEE member since 2011 and serves as technical referee for several primary conferences in her research area.