Five Major Embedded Systems in STM32 Development

Five Major Embedded Systems in STM32 Development

Technology often updates very quickly, and it always makes us feel that learning is difficult and somewhat confusing. However, it’s okay; we enthusiasts focus on learning with joy. To learn about STM32, we first need to understand the five major embedded operating systems: μClinux, μC/OS-II, eCos, FreeRTOS, and RT-thread. μClinux μClinux is an excellent version … Read more

Selected Compilation | Embedded Software Design and Development

Selected Compilation | Embedded Software Design and Development

Follow+Star public number, don’t miss wonderful content Author | strongerHuang WeChat public account | Embedded Column In order to facilitate everyone to review and check articles on public transportation, subways, and going out, I have carefully selected and categorized some articles: Embedded Software Architecture Design Layering Ideas Common “Safety” Operations of EEPROM in Projects Ideas … Read more

FreeRTOS Practical Guide: From Beginner to Expert

FreeRTOS Practical Guide: From Beginner to Expert

FreeRTOS Practical Guide: From Beginner to Expert In the field of embedded systems, Real-Time Operating Systems (RTOS) play a crucial role, helping developers better manage task scheduling, memory allocation, and multi-threading. FreeRTOS, as an open-source, lightweight real-time operating system kernel, is widely used in both commercial and academic fields. This article will introduce how to … Read more

Enhancing System Robustness with FreeRTOS MPU

Enhancing System Robustness with FreeRTOS MPU

The MPU (Memory Protection Unit) is an optional module in the Cortex-M core, allowing memory mapping (including Flash, RAM, and peripherals) to be divided into several regions, each assigned different access permissions. FreeRTOS-MPU is a secure version of FreeRTOS designed for MPU, supporting microcontrollers with ARMv7-M (Cortex-M3, Cortex-M4, and Cortex-M7) and ARMv8-M (Cortex-M23 and Cortex-M33) … Read more

Getting Started with FreeRTOS: Detailed Queue Usage Examples

Getting Started with FreeRTOS: Detailed Queue Usage Examples

Introduction In the previous article, we explained the concept of queues and the related API functions. In this article, we will start learning how to use queues. 1. Basic Usage of Queues This example will create three tasks, two of which send data to the queue, and the other reads data from the queue. void … Read more

FreeRTOS Interrupt Testing Guide

FreeRTOS Interrupt Testing Guide

Introduction to FreeRTOS Interrupts The highest interrupt priority that can call interrupt-safe FreeRTOS API functions is determined by the interrupt service routine. Do not call interrupt-safe FreeRTOS API functions from any interrupt with a higher priority than this (the higher the priority, the lower the numerical value). The code is as follows (version FreeRTOS V202107.00): … Read more

Understanding the FreeRTOS License

Understanding the FreeRTOS License

Follow+Star public number, don’t miss the wonderful content Author | strongerHuang WeChat Public Account | Embedded Column Many commercial software requires a License to function properly; otherwise, one can only use illegal “*cracks” to use it. Many software libraries and source codes used by software engineers also need to comply with licenses. Here, I will … Read more

FreeRTOS Queue Usage Example

FreeRTOS Queue Usage Example

FreeRTOS Queue Usage Example This article aims to demonstrate the usage of queues in FreeRTOS. According to the description in this article, a simple usage of queues can be implemented. Experimental conditions: Basic knowledge of C language, with an integrated development environment such as Keil uVision5. Design Experiment In this experiment, we will continue to … Read more

Introduction to FreeRTOS Real-Time Operating System

Introduction to FreeRTOS Real-Time Operating System

FreeRTOS is a small, portable, open-source real-time operating system kernel, commonly used in embedded systems. Due to its lightweight design, it is very suitable for resource-constrained devices, such as microcontrollers. Here are some key features of FreeRTOS: Real-time Task Scheduling: Provides multiple task scheduling strategies to ensure that real-time tasks can be executed on time. … 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