Introduction to Task Notifications in FreeRTOS

Introduction to Task Notifications in FreeRTOS

1. Concept of Task Notifications Task notification functionality was introduced in FreeRTOS starting from version V8.2.0. Each task has a 32-bit notification value, and task notifications can replace binary semaphores, counting semaphores, event groups, and even queues of length 1 (used to pass a 32-bit integer or pointer value). Compared to traditional communication methods, task … Read more

Detailed Explanation of FreeRTOS Task Management Mechanism

Detailed Explanation of FreeRTOS Task Management Mechanism

Detailed Explanation of FreeRTOS Task Management Mechanism 1. Basic Concepts of Tasks In FreeRTOS, a task is the basic unit of execution in the system, similar to an independent small program, with its own execution flow, stack space, local variables, and Task Control Block (TCB). Each task focuses on specific functionality, collaborating to achieve the … Read more

FreeRTOS Operations and Applications – Part One

FreeRTOS Operations and Applications - Part One

In today’s embedded systems development field, the application of Real-Time Operating Systems (RTOS) is becoming increasingly widespread, providing solid support for various complex task scheduling, resource management, and system reliability requirements. As an open-source real-time operating system, FreeRTOS stands out in numerous embedded projects across various industries due to its simplicity, efficiency, ease of portability, … Read more

Common Coding Standards for FreeRTOS

Common Coding Standards for FreeRTOS

According to statistics from a research institution, currently FreeRTOS has the highest market share in the global RTOS market. Of course, we do not know the specific methods of this statistic, but FreeRTOS is indeed very active. Here, I would like to ask everyone, do you have many friends or colleagues around you who use … Read more

Three Open Source Libraries Commonly Used by MCU Experts

Three Open Source Libraries Commonly Used by MCU Experts

The following article is from Xiaomai Dashi , author Xiaomai Dashi The importance of a logging system during system development and adjustment is well understood by everyone. Especially when a project encounters issues, having no logs to help pinpoint the problem can be very painful. Since we cannot always step through the program using a … Read more

Why Do Microcontrollers Have So Little RAM?

Why Do Microcontrollers Have So Little RAM?

You must be curious: mobile phone memory (RAM) often reaches 8G or 12G, but why do microcontrollers have less than 1M of RAM? To understand, the classic AT89C51 microcontroller has only 128 bytes of RAM (memory). Similarly, the classic MSP430F149 also has only 2K of RAM space. Even the STM32F1 series, which is commonly used … Read more

What Happens After main() Exits in Microcontroller?

What Happens After main() Exits in Microcontroller?

For embedded systems, if there is no RTOS running, the main function main() in program development needs to ensure it runs happily forever through some mechanism; it has no endpoint. If you want to exit from the main function, what happens afterwards is determined by the C language compiler being used. 1. Question Raised In … Read more

Causes of Data Loss in UART Communication

Causes of Data Loss in UART Communication

If you don’t want to miss my updates, remember to check the public account in the upper right corner and mark it as a star. Send me a star! UART: Universal Asynchronous Receiver / Transmitter, commonly referred to as serial port. The serial port is one of the most commonly used serial peripherals by engineers, … Read more

Core Computing Unit of Intelligent Bus Monitoring System

Core Computing Unit of Intelligent Bus Monitoring System

In addition to considering the characteristics of hardware devices, compatibility with the bus interior environment must also be taken into account. After a comprehensive market survey of embedded computing modules, NVIDIA’s Jetson Xavier NX was selected as the core computing module. The choice of Jetson Xavier NX is based not only on its high performance … Read more

Two Programming Philosophies for Microcontrollers

Two Programming Philosophies for Microcontrollers

Layered Thinking Layered thinking is not a mysterious concept; in fact, many engineers working on projects are already using it. I’ve seen many posts that do not mention this concept, yet a layered structure is indeed very useful, and once understood, it can lead to a moment of clarity. If I don’t understand how to … Read more