Building Real-Time Operating Systems with C Language

Building Real-Time Operating Systems with C Language

Building Real-Time Operating Systems with C Language In modern embedded systems, a real-time operating system (RTOS) is a crucial component. It ensures that the system completes tasks within a specified time, suitable for time-critical applications such as industrial control, automotive electronics, and medical devices. This article will introduce how to build a simple real-time operating … Read more

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

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

Writing a Real-Time Embedded Operating System Kernel in C

Writing a Real-Time Embedded Operating System Kernel in C

Creating content is not easy, if convenient, please follow, thank you This article is based on a thorough review of authoritative literature and materials, forming professional and reliable content. All data in the full text can be referenced and traced back. Special note: Data and materials have been authorized. This article does not involve any … Read more

Advantages of Running RTOS on MCU Compared to Bare Metal

Advantages of Running RTOS on MCU Compared to Bare Metal

Follow+Star Public Account, don’t miss the wonderful content Compiled by | strongerHuang WeChat Official Account | Embedded Column Readers often ask questions about RTOS, such as:Should I learn RTOS now?What are the benefits of learning RTOS?Should my project run on RTOS? The root of these questions is actually a lack of understanding of RTOS and … Read more

How to Learn an Embedded System?

How to Learn an Embedded System?

This is a document I found online, where the author’s goal is to design a simple embedded operating system that implements a basic task scheduler. As the author mentioned, although it cannot be called an operating system, it embodies the essence of a small embedded operating system. This serves as excellent learning material for us, … Read more

FreeRTOS Task States and Switching: A Comprehensive Guide

FreeRTOS Task States and Switching: A Comprehensive Guide

EEWORLD Electronic News Sharp Interpretation Technical Dry Goods Updated Daily Recommended by: cruelfox If you are also willing to become an EEWorld WeChat Recommender, please participate: EEWorld WeChat is in your hands, recommend casually to earn red envelopes! FreeRTOS tasks have the following states: Running Running Ready Ready Blocked Blocked Suspended Suspended Except for the … Read more

Designing Embedded Software Architecture: Task Scheduling

Designing Embedded Software Architecture: Task Scheduling

WeChat Official Account: Follow Orange Crazy Embedded to learn more practical skills in embedded programming. If you have any questions or suggestions, please leave a message on the official account; If you find this article helpful, feel free to like and follow. 1. Introduction In the process of embedded MCU software development, the architecture of … Read more

Creating a Microsecond Resolution Task Scheduling Solution in ThreadX

Creating a Microsecond Resolution Task Scheduling Solution in ThreadX

Explanation:1. In general applications, we usually set the task RTOS system clock tick (heartbeat) to 1ms, but if we directly set the RTOS system clock tick to 1us, the system burden is very high, and many RTOS cannot switch tasks every 1us at a 100MHz main frequency, resulting in the RTOS not having time to … Read more

Understanding the Causes of FreeRTOS Task Scheduling Failures

Understanding the Causes of FreeRTOS Task Scheduling Failures

Recently, a friend and I discussed some strange aspects of the FreeRTOS code generated by STM32CubeMX. void LED01Tog(void const * argument){ /* USER CODE BEGIN LED01Tog */ /* Infinite loop */ for(;;) { HAL_GPIO_TogglePin(GPIOF,GPIO_PIN_10); osDelay(500); } /* USER CODE END LED01Tog */} We added two LED toggle functions, compiled our code, and found that the … Read more