Understanding Cortex-M Interrupt Vector Table and Redirection Methods

Understanding Cortex-M Interrupt Vector Table and Redirection Methods

Hello everyone, I am Pi Zi Heng, a serious techie. Today, I will share with you the principles of the Cortex-M interrupt vector table and its redirection methods. Continuing from the previous article “Three Implementations of Critical Section Protection in Embedded Cortex-M Bare Metal Environment”, in embedded code design, sometimes certain special operations (such as … Read more

Comprehensive Guide to ARM GICv3

Comprehensive Guide to ARM GICv3

1 You must have learned about it. Some say it can interrupt the CPU’s sequential execution, which is the essence of microcontroller learning. Others say it helps the CPU achieve asynchronous multitasking, thereby improving CPU efficiency. Some also say it effectively manages various system resources and coordinates relationships between multiple CPUs. The knowledge I am … Read more

Arduino Uno External Interrupt Tutorial with Exercises

Arduino Uno External Interrupt Tutorial with Exercises

Performance Parameters① Main Control Chip: ATmega328P② Digital Input/Output Pins: 14③ PWM Pins: 6④ Storage (Code Space): 32KB⑤ RAM (Runtime Storage): 2KB; EEPROM (Power-off Save Space): 1KB⑥ Crystal Oscillator: 16MHz Online Simulation: https://wokwi.com/ Arduino Uno Tutorial ①: Installing Arduino IDE Arduino Uno Tutorial ②: Development Board and LED Test Arduino Uno Tutorial ③: Button Control LED, … Read more

FreeRTOS Interrupt Testing Guide

FreeRTOS Interrupt Testing Guide

Introduction to FreeRTOS Interrupts The highest interrupt priority that can call interrupt-safe FreeRTOS API functions is determined by the interrupt service routine. Do not call interrupt-safe FreeRTOS API functions from any interrupt with a higher priority than this (the higher the priority, the lower the numerical value). The code is as follows (version FreeRTOS V202107.00): … Read more

FreeRTOS Queue Usage Example

FreeRTOS Queue Usage Example

FreeRTOS Queue Usage Example This article aims to demonstrate the usage of queues in FreeRTOS. According to the description in this article, a simple usage of queues can be implemented. Experimental conditions: Basic knowledge of C language, with an integrated development environment such as Keil uVision5. Design Experiment In this experiment, we will continue to … Read more

Understanding the Cortex-M Interrupt/Exception System and Priority/Nesting

Understanding the Cortex-M Interrupt/Exception System and Priority/Nesting

Follow and star the public account to access wonderful content Compiled by: Technology makes dreams greater | Li Xiaoyao Link: https://itexp.blog.csdn.net/article/details/85029696 Problem Recently, while using the STM32F3 chip, I encountered a problem: If the frequency of external interrupts is fast enough, how to handle the new interrupt if the previous one has not been processed? … Read more

Is RTOS Really a Real-Time Operating System?

Is RTOS Really a Real-Time Operating System?

Follow+Star public number, don’t miss wonderful content Author | strongerHuang WeChat public account | strongerHuang Everyone knows that RTOS (Real Time Operating System) is a real-time operating system. So what exactly is a real-time operating system? Is RTOS really real-time? I believe many beginners have such doubts. What is RTOS RTOS:Real Time Operating System, which … Read more

STM32 Serial Communication: Interrupt vs Polling

STM32 Serial Communication: Interrupt vs Polling

1. From Polling to Interrupt Many students prefer polling over interrupt-driven operations. Is this related to our nature? Everyone likes to have everything under control and dislikes being interrupted. We often have experiences where we are talking to someone and suddenly receive a phone call, and after the call, we can’t remember what we were … Read more

Understanding Priority in Embedded Systems

Understanding Priority in Embedded Systems

Source: WeChat Official Account [Osprey Talks on Microcontrollers] Author: Osprey ID: emOsprey In embedded software development, we inevitably encounter the concept of priority. Mastering the concept of priority is crucial for designing a good software system. The main content of this note includes the following aspects: 1. Interrupt priority 2. Task priority in the operating … Read more