The Volatile Keyword You Might Overlook in MCUs

The Volatile Keyword You Might Overlook in MCUs

Click 👆👆👆 the blue text Follow “Passion Embedded” In embedded development, especially in the development of microcontrollers like STM32, the <span>volatile</span> keyword is a very important concept. 1. Concept of the volatile Keyword <span>volatile</span> is a type modifier in C/C++ that tells the compiler: The variable may be modified unexpectedly (e.g., by hardware, interrupts, or … Read more

Embedded Development Software Architecture in C: Interrupt Service Routines

Embedded Development Software Architecture in C: Interrupt Service Routines

1. Interrupt Mechanism of Microcontrollers The interrupt mechanism refers to the ability of a microcontroller to quickly handle external events (interrupt requests) while executing the main program. When an external event A occurs, the microcontroller pauses the current main program (interrupt response), saves the current state data, and then calls the handler for event A … Read more

Is an Embedded Real-Time Operating System Truly Real-Time?

Is an Embedded Real-Time Operating System Truly Real-Time?

We often refer to RTOS (Real Time Operating System) as a real-time operating system, but what exactly is a real-time operating system? Is it truly real-time?This question is likely to be on the minds of many beginners. Brief Overview of RTOS RTOS: Real Time Operating System, which means real-time operating system. According to Baidu Encyclopedia: … Read more

Understanding Interrupts: Definition, Priority Management, Runtime Triggers, and Program Handling

Understanding Interrupts: Definition, Priority Management, Runtime Triggers, and Program Handling

Follow our official account and reply with “Introductory Materials” to get a comprehensive tutorial from beginner to advanced on microcontroller programming. The development board will guide you in your journey. Written by: Wu Ji (WeChat: 2777492857) The full text is approximately 5582 words, and it takes about 10 minutes to read. Recently, a participant in … Read more

Signal Handling in C: Capturing and Managing Signals

Signal Handling in C: Capturing and Managing Signals

Signal Handling in C: Capturing and Managing Signals In C, a signal is a mechanism used to notify a program that a specific event has occurred. These events may be triggered by external systems, such as user input (like Ctrl+C), software faults, or timer expirations. Signals can interrupt the normal execution flow of a program … Read more

Signal and Interrupt Handling in C++

Signal and Interrupt Handling in C++

Signal and Interrupt Handling in C++ In operating systems, signals and interrupts are two important process control mechanisms. Signals are typically used to notify a program of certain events, while interrupts are responses to hardware events or changes in conditions. In C++ programming, using signals allows for asynchronous event handling, making it crucial to master … Read more

Five Considerations for Microcontroller Embedded Programming

Five Considerations for Microcontroller Embedded Programming

In the process of microcontroller programming, if a designer can master multiple programming languages simultaneously, then that designer is undoubtedly a very talented individual. However, mastering assembly, C, and C++ at the same time is quite challenging, and many beginners struggle significantly while learning just one of these languages. This article specifically compiles insights from … Read more

Overview of Common Microcontroller Programming Frameworks: Frontend, Backend, Timers, Polling, and Operating Systems

Overview of Common Microcontroller Programming Frameworks: Frontend, Backend, Timers, Polling, and Operating Systems

Source: https://blog.csdn.net/twx11213030422 Embedded Miscellaneous Layout What is a Framework? A programming framework is similar to a file outline or template. Writing a program is akin to writing an article; without an outline or template, it can be quite cumbersome. Why Have a Framework? To save time and reduce errors. For a specific type of program, … Read more

Detailed Explanation of ARMv8/ARMv9 Interrupts: Software Aspects – An Introduction to Linux Kernel Interrupts

Detailed Explanation of ARMv8/ARMv9 Interrupts: Software Aspects - An Introduction to Linux Kernel Interrupts

Table of Contents 1 Definition of the Linux Kernel ARM64 Interrupt Vector Table 2 Setting the Base Address of the Interrupt Vector Table in Linux Kernel ARM64 3 Introduction to the kernel_ventry Macro 4 Unimplemented Exception Vectors: elx_yyy_invalid 5 Introduction to el1_irq – Jumping to the Registered Handler Function 6 handle_domain_irq 7 Introduction to Interrupt … Read more

Renesas RA8 Series Tutorial | Configuring IO Interrupts for the Renesas RA8 Microcontroller

Renesas RA8 Series Tutorial | Configuring IO Interrupts for the Renesas RA8 Microcontroller

This article combines the Renesas e2 studio tool and the CPKCOR_RA8D1B evaluation board to explain how to implement IO interrupt configuration for the Renesas RA8D1 microcontroller. We will implement a simple function: configure an LED toggle (on/off) and a button (Key) interrupt, where pressing the button once toggles the LED. Preparation To develop with the … Read more