Zephyr Kernel Data Structures – Red-Black Tree

Zephyr Kernel Data Structures - Red-Black Tree

Overview The search time complexity of a linked list is O(N). As the number of members managed by the linked list increases, the algorithmic cost of searching increases. To address this, Zephyr provides an implementation of a red-black tree, where the time complexity for search and delete operations is O(log2(N)) for a tree of size … Read more

Building ESP Bootloader for ESP32C3 in Zephyr

Building ESP Bootloader for ESP32C3 in Zephyr

In Zephyr, there are two boot processes for the ESP32 series SOC: No MCUboot: ROM-> ESP Bootloader-> Zephyr.bin (App) With MCUboot: ROM-> MCUboot -> Zephyr.bin (App) This article focuses on the no MCUboot part. ROM In ESP32C3, the ROM is referred to as the “First stage bootloader”. The ROM is hard-coded into the ESP32C3 and … Read more

Zephyr Kernel Data Structures – Ring Buffer

Zephyr Kernel Data Structures - Ring Buffer

Overview The ring buffer is one of the commonly used data structures in embedded software development, storing content in a first-in-first-out manner, and is used to implement asynchronous “stream” replication of data. Zephyr provides a struct ring_buf abstraction to manage such data structures. Various drivers in Zephyr (UART, Modem, I2S, etc.), as well as shell, … Read more

Understanding Zephyr System Timer Implementation

Understanding Zephyr System Timer Implementation

The kernel time of Zephyr is driven by sys_clock_announce. Regardless of the SOC type, the system timer is driven by interfacing with this API. For details, refer to the Zephyr Tick Clock Introduction. All system timer drivers for Zephyr are located under zephyr/drivers/timer. How Zephyr Chooses Which Driver to Use All system timer drivers supported … Read more

How to Write Device Drivers for Zephyr RTOS

How to Write Device Drivers for Zephyr RTOS

In embedded system development, developing device drivers is a crucial task. As a bridge connecting hardware and software, the quality of device drivers directly impacts the correctness of system functionality and operational stability. In the rapidly evolving open-source ecosystem, Zephyr RTOS is favored by developers for its lightweight, modular, and highly scalable nature. However, in … Read more

Key Considerations for Zephyr Driver Initialization

Key Considerations for Zephyr Driver Initialization

1. Basic Mechanism of Driver Initialization Zephyr’s driver initialization is implemented through the following mechanisms: Device Tree : Hardware resources are defined through the device tree, and the driver relies on this information for initialization. Initialization Macros (DEVICE_DT_DEFINE and DEVICE_DEFINE) : The driver registers to Zephyr’s device model using these macros. Initialization Priority : The … Read more

Introduction to Zephyr RTOS for Robotics Development

Introduction to Zephyr RTOS for Robotics Development

Robots are not isolated systems; they are a set of distributed sensors and actuators, often running on resource-constrained small embedded devices (microcontrollers) that communicate via wired or wireless connections. However, mainstream robotic operating systems like ROS/ROS2 are too large and heavy, making them unsuitable for robotic scenarios based on microcontrollers with hard real-time requirements. Zephyr … Read more

Evaluating LOWA Zephyr TF GTX Military Boots

Evaluating LOWA Zephyr TF GTX Military Boots

Battle Armor Want to know more about individual equipment, special operations data, and stories? Want to boast about unbeatable victories at the dinner table? Battle Armor Official Weibo: Battle Armor Equipment Research Battle Armor Military Products Taobao Store: Battle Armor Military Products Outdoor Battle Armor Outdoor Channel: Battle Armor_OutdoorGear-Lab As the title suggests, how to … Read more

RT-Thread Platform Bluenrg2 Bluetooth Chip Startup Process

RT-Thread Platform Bluenrg2 Bluetooth Chip Startup Process

RTT Zephyr Polling Package Bluenrg2 Bluetooth Chip Startup Process “Summer of Code” “Bluetooth Host Protocol Stack Zephyr Polling Improvement” personal project record Personal record of a beginner participating in the project Project package address: RTT_PACKAGE_zephyr_polling The SPI interface implementation has been completed. To run zephyr_polling on Bluenrg2, the next step is to implement its special … Read more

Zephyr: The Best Choice for ‘Lowest Memory Usage’ IoT Devices

Zephyr: The Best Choice for 'Lowest Memory Usage' IoT Devices

Source: Zephyr IoT Think Tank Organized and Released Please indicate the source and origin when reprinting —— [Introduction] —— The newly released open-source Zephyr Projectâ„¢ is a small real-time operating system that supports multiple architectures, designed specifically for IoT (Internet of Things) gateways and edge applications, making it an ideal choice for developing applications based … Read more