Task Scheduling in FreeRTOS

Task Scheduling in FreeRTOS

Convention: This article is based on freeRTOSv202212.01. Defining a Task Task scheduling involves the “tasks” that need to be managed, so we need to first understand what a “task” looks like. An independent task must consider the following points: 1. The system must recognize and manage this task, so the task needs an identification card … Read more

Getting Started with FreeRTOS: Memory Management

Getting Started with FreeRTOS: Memory Management

1. Concept and Classification of Memory In computing systems, memory is used to store variables and intermediate data. The system memory can be divided into two types: Internal Storage Space (RAM): Typically refers to Random Access Memory, which allows fast data access and random access, but data is lost when power is off. External Storage … Read more

Considerations for Porting MCU Touch Programs to FreeRTOS

Considerations for Porting MCU Touch Programs to FreeRTOS

Source | Renesas Embedded Encyclopedia Previously, I discussed 【Several MCU Capacitive Touch Sensing Principles】, today I will discuss the considerations when porting Renesas MCU capacitive touch (CTSU) programs to FreeRTOS. CTSU Touch Button Program Running Requirements In a bare-metal system, the CTSU APIs should be called in a loop at certain time intervals. In the … Read more

Getting Started with FreeRTOS Software Timers

Getting Started with FreeRTOS Software Timers

1. Concept of Software Timers A software timer is a mechanism used to trigger events after a specific time, similar to an alarm clock in real life. Users can set the timer to specify when and how often an event occurs, and call a predefined callback function when the time is reached. Unlike hardware timers, … Read more

FreeRTOS Study Notes: Interrupts and Task Switching

FreeRTOS Study Notes: Interrupts and Task Switching

EEWorld Electronic News Sharp Interpretation Technical Insights Updated Daily With FreeRTOS providing memory resources for tasks through stack management mechanisms, it can perform context switching based on task status and priority, and offers communication channels for necessary task synchronization and mutual exclusion, multiple tasks can work together. However, since it is called a Real-Time Operating … Read more

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

How to Determine If Cortex-M Processor Is Executing Interrupt Function?

How to Determine If Cortex-M Processor Is Executing Interrupt Function?

Follow+Star Public Account, don’t miss wonderful content Author | strongerHuang WeChat Official Account | Embedded Column Today, I want to share some knowledge I encountered while debugging code: the usage of __get_CONTROL, and the differences between xQueueSend and xQueueSendFromISR; 1 Source of the Problem I previously ported some code written by others on the FreeRTOS … Read more