How to Solve the Priority Inversion Problem in RTOS?

How to Solve the Priority Inversion Problem in RTOS?

Hello everyone, I am the Intelligence Guy~ During the development of RTOS, you must have encountered the issue of priority inversion, where a low-priority task is preempted by a higher-priority task due to shared resource access. This contradicts the real-time performance of a preemptive kernel. The core of solving the priority inversion problem in RTOS … Read more

Learning FreeRTOS Code (Part Four)

Learning FreeRTOS Code (Part Four)

•STM32 Cube Software Package Code Structure ARM has added a middleware layer, CMSIS_RTOS/cmsis_os.c, to ensure compatibility with various operating systems. Taking the STM32L4XX MCU software package as an example, other FreeRTOS release code files are located at this path: STM32Cube_FW_L4_V1.18.0\Middlewares\Third_Party\FreeRTOS\Source •vTask/xTask/eTask Online explanations state that both vTask and xTask are tasks within the FreeRTOS system, … Read more

How to Solve Priority Inversion in FreeRTOS?

How to Solve Priority Inversion in FreeRTOS?

In embedded systems, real-time operating systems (RTOS) like FreeRTOS are widely used for managing multitasking scheduling. However, priority inversion is a common issue that can cause high-priority tasks to be delayed by low-priority tasks, affecting the system’s real-time performance. This article will delve into the causes of priority inversion, utilizing mechanisms provided by FreeRTOS, and … Read more

Mutex Priority Inheritance in Real-Time Systems

Mutex Priority Inheritance in Real-Time Systems

1. Introduction The core objective of real-time systems is to ensure that tasks are completed at the correct times and within specified time limits. In the design of real-time systems, not only is functional correctness required, but when to start and when to finish are also important considerations. To achieve this goal, compared to general … Read more