The Insider’s Guide to Arm Cortex-M Development: Leverage embedded software development tools and examples to become an efficient Cortex-M developer
- Length: 276 pages
- Edition: 1
- Language: English
- Publisher: Packt Publishing
- Publication Date: 2022-10-27
- ISBN-10: 1803231114
- ISBN-13: 9781803231112
- Sales Rank: #241621 (See Top 100 Books)
Learn and implement the latest Arm Cortex-M microcontroller development concepts such as performance optimization, security, software reuse, machine learning, continuous integration, and cloud-based development from industry experts
Key Features
- Learn how to select the best Cortex-M hardware, software, and tools for your project
- Understand the use of key software components and how to optimize and develop modern applications
- Get hands-on experience implementing quality software using example code provided in the book
- Purchase of the print or Kindle book includes a free eBook in the PDF format
Book Description
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.
What you will learn
- Familiarize yourself with heuristics to identify the right components for your Cortex-M project
- Boot code to efficiently start up a Cortex-M device
- Optimize algorithms with compilers, middleware, and other means
- Get to grips with machine learning frameworks and implementation techniques
- Understand security in the embedded space with solutions like TrustZone and TF-M
- Explore cloud-based development methodologies to increase efficiency
- Dive into continuous integration frameworks and best practices
- Identify future trends that could impact Cortex-M software development
Who this book is for
This book is for practicing engineers and students working with embedded and IoT systems who want to quickly learn how to develop quality software for Arm Cortex-M processors without reading long technical manuals. If you’re looking for a book that explains C or assembly language programming for the purpose of creating a single application or mastering a type of programming such as digital signal processing algorithms, then this book is NOT for you. A basic understanding of embedded hardware and software, along with general C programming skills will assist with understanding the concepts covered in this book.
The Insider’s Guide to Arm Cortex-M Development Contributors About the authors About the reviewer Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Share Your Thoughts Download a free PDF copy of this book Part 1: Get Set Up Chapter 1: Selecting the Right Hardware Processor selection through use cases Medical wearable Industrial flow sensor IoT sensor ML Processor selection based on performance and power Power DSP performance ML performance Security Safety Cost Microcontroller development boards Suppliers Selecting development boards Performance Power Peripherals Summary Further reading Chapter 2: Selecting the Right Software Overview of bare-metal software Overview of RTOSs Exploring middleware and libraries CMSIS DSP libraries ML frameworks and libraries Understanding secure software PSA Trusted Firmware for Cortex-M Implementing safe software Example software stacks for common use cases Medical wearable Industrial flow sensor IoT sensor ML Introducing SDKs for Cortex-M Purpose of an SDK Language bindings Middleware Cloud connectors Security and encryption Development tools Build systems Lower-level considerations Looking at some available SDKs Raspberry Pi NXP ST Summary Further reading Chapter 3: Selecting the Right Tools Examining development platforms Software-centric development platforms Hardware-centric development platforms Metrics for evaluating development platforms Exploring compilers Arm Compiler for Embedded Arm Compiler for Embedded FuSa GNU Arm Embedded Toolchain Navigating IDEs Keil MDK Arm Development Studio IAR Embedded Workbench for Arm Arduino IDE Visual Studio Code Understanding development environments Interactive versus automated development Local environments Virtual environments Cloud environments Summary Further reading Part 2: Sharpen Your Skills Chapter 4: Booting to Main The basics of hello world Arm Virtual Hardware using the Cortex-M55 Running hello world Startup code Memory mapping I/O mechanisms NXP LPC55S69-EVK using the Cortex-M33 Running Blinky Startup code Memory mapping I/O mechanisms The Raspberry Pi Pico using the Cortex-M0+ Running hello world and Blinky Starting from scratch I/O mechanisms Startup code I/O mechanisms (using the UARTs this time) Debugging tips Summary Further reading Chapter 5: Optimizing Performance Our algorithm – the dot product Measuring cycle count System Tick Timer Data Watchpoint and Trace Measuring dot product performance Using the Raspberry Pi Pico Using NXP LPC55S69-EVK Using Arm Virtual Hardware Optimization takeaways Processor performance Compilers Compiler flags Source code / algorithm implementation Summary Further reading Chapter 6: Leveraging Machine Learning Understanding the ML application life cycle Investigating ML frameworks and libraries TensorFlow Lite for Microcontrollers CMSIS-NN TinyML Exploring ML use cases Anomaly detection – vibration Image classification – vision Micro speech – voice Summary Further reading Chapter 7: Enforcing Security Breaking down PSA Analyze – threat modeling and the 10 security goals Architect – References, suggestions, and APIs Implement – Creating a secure system Certify – PSA certification levels Example 1 – Secure versus non-secure hello world Obtaining and building the application Switching security states Calling a secure function from a non-secure state Example 2 – TF-M Obtaining and building the application Running the test suite Analyzing a RoT service connection test Summary Further reading Chapter 8: Streamlining with the Cloud The fundamentals of cloud development Coding and containers in the cloud Using VS Code via github.dev Dev containers Dev container services Initializing Gitpod Workspace images A crash course on containers Creating a Dockerfile Building and storing the containers Building arguments and multi-architecture support Running the dev containers Integrating dev containers with VS Code Executing software and debugging in the cloud Creating a custom Gitpod image Running and debugging Getting to know Keil Studio Cloud Other cloud development possibilities Cloud virtual machines Virtual desktop in VM Summary Further reading Chapter 9: Implementing Continuous Integration Understanding the value of CI Why embedded software CI can be challenging Replacing board farms with virtual farms Examples of CI flows 1 – Simple test scripts 2 – In-house board farm setup 3 – A virtual farm with AVH Summary Further reading Chapter 10: Looking Ahead The now – tips to being a great developer The cloud Testing, CI, and safety Exploring useful examples and code Official Arm projects under development The future – how trends will affect Cortex-M developers Trend 1 – 5G and the Internet of Everything Trend 2 – environmental sustainability Trend 3 – decentralization of information The end Index Why subscribe? Other Books You May Enjoy Packt is searching for authors like you Share Your Thoughts Download a free PDF copy of this book
Donate to keep this site alive
How to download source code?
1. Go to: https://github.com/PacktPublishing
2. In the Find a repository… box, search the book title: The Insider’s Guide to Arm Cortex-M Development: Leverage embedded software development tools and examples to become an efficient Cortex-M developer
, sometime you may not get the results, please search the main title.
3. Click the book title in the search results.
3. Click Code to download.
1. Disable the AdBlock plugin. Otherwise, you may not get any links.
2. Solve the CAPTCHA.
3. Click download link.
4. Lead to download server to download.