FreeRTOS: Save Memory and Speed Up by Ten Times with Task Notification Mechanism!

FreeRTOS: Save Memory and Speed Up by Ten Times with Task Notification Mechanism!

1. Basic Concepts In FreeRTOS, there is an efficient and lightweight inter-task communication mechanism: <span>Task Notification</span>. This mechanism is used in FreeRTOS to implement unidirectional communication, event flags, counting semaphores, binary semaphores, and message passing. The message notification mechanism in FreeRTOS can also be referred to as “Direct to Task Notifications”. Each task (<span>TaskHandle_t</span>) has … Read more

FreeRTOS Development: Message Buffer – An Advanced Choice for Task Communication

FreeRTOS Development: Message Buffer - An Advanced Choice for Task Communication

1. Basic Concepts In FreeRTOS, the “message buffer” refers to <span>Message Buffer</span>, which is a communication mechanism provided by FreeRTOS for transmitting variable-length data (byte streams) between tasks or between interrupts and tasks. It is part of FreeRTOS and was officially introduced in version <span>v10.0.0</span>. Simply put, a message buffer (Message Buffer) is equivalent to … Read more

Priority Inversion Problem in FreeRTOS

Priority Inversion Problem in FreeRTOS

Priority inversion in FreeRTOS occurs when a high-priority task is blocked while waiting for resources (such as a mutex) held by a low-priority task, allowing a medium-priority task to execute in the meantime, which leads to scheduling anomalies where the high-priority task cannot run in a timely manner. Scenario Example: Task Priorities: There are three … Read more

Learning FreeRTOS: Mutex Semaphores

Learning FreeRTOS: Mutex Semaphores

Scan to followLearn Embedded Together, learn and grow together A mutex semaphore (Mutex, short for Mutual Exclusion) is a special type of binary semaphore in FreeRTOS, specifically designed for implementing mutual access to resources. Compared to ordinary semaphores, mutex semaphores have the following key characteristics: Ownership Concept: Only the task that takes the mutex can … Read more

A Step-by-Step Guide to Developing a Multitasking Project Based on FreeRTOS

A Step-by-Step Guide to Developing a Multitasking Project Based on FreeRTOS

Source | Embedded Software GuesthouseFreeRTOS is currently the most commonly used RTOS, yet many beginners find it difficult to get started. Today, we willprovide a step-by-step guide on how to develop a multitasking project based on FreeRTOS. 1. FreeRTOS Multitasking Basic Architecture 1.1 Overview of Task Model As a lightweight real-time operating system, FreeRTOS’s core … Read more

In-Depth Analysis of Stream Buffers: A Powerful Tool for Real-Time Byte Stream Communication in FreeRTOS

In-Depth Analysis of Stream Buffers: A Powerful Tool for Real-Time Byte Stream Communication in FreeRTOS

1. Basic Concepts Stream buffers are a type of memory buffer specifically designed for FreeRTOS to transmit byte stream data. It is a FIFO (First In, First Out) buffer, but unlike message queues, stream buffers transmit data continuously in bytes rather than as discrete “messages”. Design Purpose To solve the problem of passing variable-length byte … Read more

Learning FreeRTOS: Counting Semaphores

Learning FreeRTOS: Counting Semaphores

Scan to followLearn Embedded Together, learn and grow together This is a series of introductory articles on FreeRTOS. While organizing my knowledge, I hope to help beginners quickly get started and master the basic principles and usage of FreeRTOS. Quick Start with FreeRTOS – Initial Exploration of the System The official Chinese version of the … Read more

FreeRTOS Queue Module (Part 1)

FreeRTOS Queue Module (Part 1)

The Queue in real-time operating systems (RTOS) such as FreeRTOS is a very important communication mechanism, mainly used for 1. Inter-Process Communication (IPC) and data transfer between tasks and interrupts.2. It can facilitate task synchronization and resource management. General queues can protect and utilize resources by implementing semaphores and mutexes.This article, as the first part … Read more

Microcontroller, RTOS, and Low-Level Driver Integration | Embedded Application Designer | Examination Details

Microcontroller, RTOS, and Low-Level Driver Integration | Embedded Application Designer | Examination Details

Embedded Application Designer Embedded Application Designer refers to professional technical personnel engaged in the development, debugging, optimization, and maintenance of embedded system hardware and software platforms. This position focuses on specialized device control, smart terminals, IoT devices, industrial automation, and serves as a critical technical bridge connecting hardware and high-level applications. Embedded systems are characterized … Read more

Which Embedded Software Products Will Be Popular in 2025?

Which Embedded Software Products Will Be Popular in 2025?

Against the backdrop of over 30 billion IoT devices and the rise of Industry 4.0 and edge computing, embedded software is undergoing a qualitative change from tool support to technology-driven. This article focuses on seven major technological directions, revealing the core products and breakthroughs that will attract attention in 2025. 1. Deep Integration of Edge … Read more