Book Image

The Insider's Guide to Arm Cortex-M Development

By : Zachary Lasiuk, Pareena Verma, Jason Andrews
Book Image

The Insider's Guide to Arm Cortex-M Development

By: Zachary Lasiuk, Pareena Verma, Jason Andrews

Overview of this book

Cortex-M has been around since 2004, so why a new book now? With new microcontrollers based on the Cortex-M55 and Cortex-M85 being introduced this year, Cortex-M continues to expand. New software concepts, such as standardized software reuse, have emerged alongside new topics including security and machine learning. Development methodologies have also significantly advanced, with more embedded development taking place in the cloud and increased levels of automation. Due to these advances, a single engineer can no longer understand an entire project and requires new skills to be successful. This book provides a unique view of how to navigate and apply the latest concepts in microcontroller development. The book is split into two parts. First, you’ll be guided through how to select the ideal set of hardware, software, and tools for your specific project. Next, you’ll explore how to implement essential topics for modern embedded developers. Throughout the book, there are examples for you to learn by working with real Cortex-M devices with all software available on GitHub. You will gain experience with the small Cortex-M0+, the powerful Cortex-M55, and more Cortex-M processors. By the end of this book, you’ll be able to practically apply modern Cortex-M software development concepts.
Table of Contents (15 chapters)
Part 1: Get Set Up
Part 2: Sharpen Your Skills


Arm Cortex-M processors are ideal for a wide variety of applications. They are highly visible in microcontrollers and silently work in every other area of electronic design, from small sensors to large servers. In the fourth quarter of 2020, Arm reported a record 4.4 billion chips shipped with Cortex-M processors.

Consequently, the world of software development for embedded and IoT devices is broad. There are hundreds of companies creating thousands of Cortex-M chips, development boards, software libraries, and development tools. While all these components are intended to make your job developing software for Cortex-M devices easier, it is a challenge to understand which components to use on a specific project.

Our goal is to alleviate these challenges and enable you to focus on building better Cortex-M software. We hope our knowledge and experience will help you avoid frustration and spend more time doing what you enjoy.

This book is split into two parts. Part 1, Get Set Up, focuses on how to select the right components to make a Cortex-M based project successful. We cover which Cortex-M processor makes sense for your application—and hardware options to simplify development. Next is an overview of the large variety of software components available in the Cortex-M ecosystem, with context on when to use them. This part ends with a discussion on embedded software tool selection. After reading Part 1, you should be familiar with what exists in the broad Cortex-M ecosystem and be able to translate your project requirements into the right hardware, software, and tools to be successful.

Part 2, Sharpen Your Skills, dives into specific topics of Cortex-M software development. We cover both software topics (including system startup, optimization, machine learning, and security) and software development topics (including cloud services and continuous integration testing). Each topic will be explained in theory and in practice, with code examples for you to get experience with along the way. If you are interested in a specific topic, feel free to investigate that chapter sooner; just note later chapters may refer to techniques described earlier in the book.