FreeRTOS Scheduling Algorithms

FreeRTOS Scheduling Algorithms

Scheduling Algorithms The core point of FreeRTOS is how to determine which ready task can be switched to the running state, based on when and how a task is selected for execution. Priority-based preemptive scheduling can be further divided into time-slicing and non-time-slicing. Cooperative Review Points • The running task is in the Running state; … Read more

Why is a Microcontroller System Called an Embedded System?

Why is a Microcontroller System Called an Embedded System?

Whether studying microcontrollers in school or in job postings, the development of microcontrollers is referred to as embedded, such as embedded systems, embedded software, and hardware engineers, etc. But why is it called embedded? This has always been a point of confusion, so today we will explore this peculiar term “embedded”.1. What is embedded?The official … Read more

A Discussion on Real-Time Operating Systems

A Discussion on Real-Time Operating Systems

This article is approximately 7097 words and takes 8 minutes to read A Real-Time Operating System (RTOS) is an operating system that manages hardware resources in real-time, supports applications, and processes data. It defines the timing for real-time task processing, interrupt latency, and the reliability of hardware and applications, which is particularly important for low-power, … Read more

FreeRTOS Task Management

FreeRTOS Task Management

Task Management Single-task system for front and back ends Divide and conquer multi-task system FreeRTOS is a preemptive real-time multi-tasking system, where the core task scheduler allows multiple tasks to appear to execute “in parallel”, while in reality, only one task occupies the CPU at any given time. Tasks Task State • running • not … Read more

Mastering Linux Real-Time Performance: Building Real-Time Applications with PREEMPT_RT and Docker

Mastering Linux Real-Time Performance: Building Real-Time Applications with PREEMPT_RT and Docker

In today’s rapidly advancing digital age, the demand for real-time systems is becoming increasingly prominent. Whether for robotic control, audio development, or CNC applications, real-time performance is key to successfully implementing these functions. As a highly flexible and customizable operating system, Linux’s real-time capabilities are continuously improving. This article will delve into the implementation of … Read more

FreeRTOS Part 1: Introduction to Real-Time Operating Systems

FreeRTOS Part 1: Introduction to Real-Time Operating Systems

This article lays the foundation for Bob’s new series on the open-source FreeRTOS, where he introduces the history of early multitasking real-time operating systems (RTOS) that allowed multiple tasks to run “simultaneously.” He uses FreeRTOS as an example to explain how multitasking RTOS works and its basic components. In 2019, as the world prepared to … Read more

The Cornerstone of Embedded Real-Time Systems: Practical Design of ARM+Linux Interrupts

The Cornerstone of Embedded Real-Time Systems: Practical Design of ARM+Linux Interrupts

In today’s digital age, efficient computing is the core driving force behind technological development. The ARM and Linux interrupt systems serve as the key to unlocking this door to efficient computing. The ARM architecture, with its low power consumption and high performance characteristics, is widely used in various devices from smartphones to industrial control systems, … Read more

Detailed Explanation of Semaphores in Embedded Systems: Comparison and Selection of Common Semaphores

Detailed Explanation of Semaphores in Embedded Systems: Comparison and Selection of Common Semaphores

In embedded system development, semaphores are an important synchronization mechanism used to coordinate resource access among multiple tasks or threads. Through semaphores, developers can ensure the safe use of shared resources, avoiding issues such as race conditions and deadlocks. Today, we will discuss in detail the common types of semaphores in embedded operating systems and … Read more

Chapter Two – Fundamentals of Computer Systems (II) – Embedded Systems and Software

Embedded Systems and Software Illustration An embedded system is a dedicated computer system designed for specific applications, tightly integrating information processing and physical processes. Embedded systems are application-centric, based on computer systems, and integrate configurable and customizable software and hardware into a single dedicated computer system. Illustration The basic working principles of embedded systems Components … Read more

C++ and Embedded Linux: Building Efficient Real-Time Systems

C++ and Embedded Linux: Building Efficient Real-Time Systems

Hello everyone, I am Jiu Cai. Today we will discuss the use of C++ in building efficient real-time systems on Embedded Linux. This is a practical and interesting topic for C++ beginners and enthusiasts. We will explore the wonderful applications of smart pointers and how they can shine in Embedded Linux systems. The magic of … Read more