Three Implementations of Critical Section Protection in Cortex-M Bare Metal

Three Implementations of Critical Section Protection in Cortex-M Bare Metal

Today, Pi Zi Heng will share with you the three implementations of critical section protection in Cortex-M bare metal. Those who have worked with embedded systems and RTOS are likely familiar with the function codes OS_ENTER_CRITICAL() and OS_EXIT_CRITICAL(). In RTOS, multi-tasking (process) handling often occurs, and in some situations, certain special operations (such as Flash … Read more

How to Analyze Cortex-M Exceptions Using Ozone

How to Analyze Cortex-M Exceptions Using Ozone

Ozone helps users quickly analyze and locate software bugs that cause CPU failures. This article explains how to use Ozone’s debugging features to gain insights into these errors on the Cortex-M architecture. Fault Analysis Process We will first demonstrate Ozone’s fault analysis workflow based on a sample application. The sample application can generate different types … Read more

Understanding the Cortex-M Kernel’s MPU Memory Protection Unit

Understanding the Cortex-M Kernel's MPU Memory Protection Unit

Follow/Star Public Account, don’t miss any updates! I believe everyone often sees abbreviations like MCU, MPU, MMU, etc. Do you know about the MPU? 1Introduction Not sure if everyone has paid attention to some aspects of the Cortex-M core, but most STM32 models have an MPU. The MPU is an optional component of Cortex-M. For … Read more

Can Cortex-M Run Linux Operating System?

Can Cortex-M Run Linux Operating System?

▼Click the card below to follow the public account▼ What are the differences between microcontrollers, Cortex-M, and Linux in embedded systems? What processors are needed to run the Linux operating system? ARM9, ARM11? Cortex-M is newer than ARM9, why can’t it run Linux? Many friends might have similar questions, so let’s discuss the related content … Read more

Implementing Critical Section Protection in Cortex-M Bare Metal

Implementing Critical Section Protection in Cortex-M Bare Metal

Source | Pi Zi Heng Embedded Today, I will share with you three implementations of critical section protection in Cortex-M bare metal environments. Friends who have worked with embedded systems and RTOS are probably very familiar with the functionality codes OS_ENTER_CRITICAL() and OS_EXIT_CRITICAL(). In an RTOS, there are often multi-task (process) handling situations where certain … Read more

Understanding OS Features of Cortex-M Kernel: An Easy-to-Follow Guide

Understanding OS Features of Cortex-M Kernel: An Easy-to-Follow Guide

Regarding these knowledge points, if everyone goes to learn from the authoritative guide of the Cortex-M kernel, especially for beginners, it will take a long time to digest. Therefore, to help everyone better understand the OS features of the Cortex-M kernel, this video has been specially produced. Everyone can conveniently grasp the essence of these … Read more

Understanding and Redirecting the Cortex-M Interrupt Vector Table

Understanding and Redirecting the Cortex-M Interrupt Vector Table

Click the card below to follow Arm Technology Academy This article is authorized to be reproduced from the WeChat official account Pi Zi Heng Embedded. Using the NXP i.MXRT1170 model as an example, this article introduces the method of redirecting the interrupt vector table. In embedded code design, sometimes certain special operations (such as Flash … Read more

In-depth Analysis of CMSIS-NN Neural Network Inference Library for ARM Cortex-M Series Chips

In-depth Analysis of CMSIS-NN Neural Network Inference Library for ARM Cortex-M Series Chips

CMSIS_NN Overview Paper Title: “CMSIS-NN: Efficient Neural Network Kernels for Arm Cortex-M CPUs”, 2018 Organization: ARM 0. Introduction CMSIS-NN is a neural network inference library for ARM Cortex-M series chips, designed for deploying neural networks on low-performance chips/architectures. 1. Convolution and Matrix Multiplication Using the 16-bit multiply-accumulate SIMD instruction, SMLAD. 1.1 __SXTB16 Data Extension Most … Read more

Simplifying ARM Cortex-M Microcontroller Development with pyOCD

Simplifying ARM Cortex-M Microcontroller Development with pyOCD

Simplifying ARM Cortex-M Microcontroller Development with pyOCD In embedded development, the choice of debugging and programming tools significantly impacts development efficiency. Today, I would like to introduce a powerful and easy-to-use open-source tool – pyOCD. It is specifically designed for programming and debugging ARM Cortex-M series microcontrollers, supporting multiple platforms to make the development process … Read more