In-Depth Notes on ZephyrRTOS (2): Basic Program Structure and Multithreading

In-Depth Notes on ZephyrRTOS (2): Basic Program Structure and Multithreading

I believe that the most important aspect of embedded systems is the scheduler, which I think is also the main value of FreeRTOS. However, in addition to the debugger, ZephyrRTOS offers much more. Main Thread The ZephyrRTOS kernel starts the Main Thread after completing the necessary startup tasks, including the initialization of drivers, before entering … Read more

In-Depth Introduction to ZephyrRTOS: Using Device Tree for Hardware Abstraction

In-Depth Introduction to ZephyrRTOS: Using Device Tree for Hardware Abstraction

In the previous article, we ran a minimal Hello World application. The original code is simply // Copyright (c) 2024 Qingdao IotPi Information Technology Ltd., All rights Reserved #include <zephyr/kernel.h> int main(void){ printk("Hello World! %s\n", CONFIG_BOARD); return 0;} which can output “Hello World” without any hardware configuration. This also reflects the hardware abstraction capability of … Read more

Getting Started with ZephyrRTOS: Development Environment Setup

Getting Started with ZephyrRTOS: Development Environment Setup

Although I personally prefer Rust, the Rust ecosystem does not yet have an embedded system with the structure/abstraction levels and rich ecosystem like ZephyrRTOS. I consider myself a pragmatic + idealistic engineer, so I chose to use the C/C++ based ZephyrRTOS with its rich ecosystem while also trying to integrate the Rust embedded ecosystem. Although … Read more