An in-depth study of embedded software for the Internet of Things (IoT), this book explains various topics, from selecting an operating system (OS) to code maintenance. Due to the resource-constrained nature of IoT, it is always a challenge to utilize central processing unit (CPU) memory and computation properly. This signifies the importance of this book. The book is divided into three parts.
Part 1 is mainly focused on selecting an OS and CPU, which prompts the reader to critically think about the usage of resources. Both these topics are covered in separate chapters. They cover a range of issues, including kernel management, random-access memory (RAM), cache, and flash memory.
Part 2 is mainly focused on software management. It provides details related to software architecture, debugging tools, and code maintenance. This part motivates the reader to incorporate best practices related to code management. It explains concepts through diagrams and code. However, it could have included comments in the code to further explain the concepts. It explains code maintenance and version control well.
Part 3 covers IoT technologies. It presents a detailed study of networks, tools, and security. The included content mainly relates to traditional networks. IoT-specific network protocols such as the advanced message queueing protocol (AMQP) and the extensible messaging and presence protocol (XMPP) are not included. It provides case studies that give the reader a better understanding of wireless concepts.
One of the most challenging factors in IoT is security. This book covers the basics of security protocols. Because security is a detailed topic, it does not include lightweight security protocols. The book is useful as an introduction to security.
Overall, this book is useful for beginners and intermediate-level readers. It provides many fundamental concepts that are needed for advanced studies and research.