ABSTRACT

The Aim of this book is to introduce readers to embedded software development. It guides the reader through the key aspects of embedded software development, spanning from the peculiar requirements of embedded systems in contrast to their general-purpose counterparts, without forgetting network communication, implemented by means of open-source protocol stacks. The book focuses on software development techniques, most embedded systems are networked or distributed, that is, they consist of a multitude of nodes that cooperate by communicating through a network. It presents the basic principles of formal verification through model checking, which can profitably be used since the very early stages of algorithm and software design. The book also focuses on improving software quality and dependability. It book makes explicit reference to real fragments of code and, when necessary, to a specific operating system, that is, FreeRTOS. The book discusses a unified approach and consistently emphasizing their relationships and mutual dependencies, rather than isolating them in their own world.