In-Depth Analysis of Linux Device Trees

In-Depth Analysis of Linux Device Trees 1. Basic Concepts and Historical Background of Device Trees 1.1 What is a Device Tree? A Device Tree is a data structure that describes hardware configuration, using a tree structure to represent system hardware resources in text form, including CPU, memory, buses, peripherals, etc. The core idea of the … Read more

Why the Linux Kernel is So Versatile in the Face of Ever-Changing Devices

Everyone knows that the Linux kernel has a very wide range of applications, permeating many fields of life and production. In the consumer electronics sector, it supports numerous products such as smartphones, smart TVs, smartwatches, and smart locks, enabling functions like communication, entertainment, and health monitoring. In industrial scenarios, industrial PLCs, in-vehicle infotainment systems, and … Read more

Quick Guide to Linux Driver Development | Theory + Practice to Master the Kernel!

Quick Guide to Linux Driver Development | Theory + Practice to Master the Kernel!

For more content, you can join the Linux system knowledge base package (tutorials + videos + Q&A) Contact me on WeChat to receive a large discount coupon for the Linux comprehensive course: 1. Driver Content Learning 1.1. Foundation Must be fully mastered. 1.1.1. Rockchip Development Environment Necessity: The code environment must be set up before … Read more

VxBus Driver Development: A Complete Guide for VxWorks Developers

VxBus Driver Development: A Complete Guide for VxWorks Developers

Introduction Device driver development is at the core of embedded systems. In the industry-leading real-time operating system (RTOS) VxWorks, hardware drivers are implemented using the VxBus framework. This guide will provide a comprehensive overview of VxBus driver development, covering all aspects from architecture to practical implementation. Whether you are a newcomer to VxWorks 7 or … Read more

The Hardware and Software Hierarchical Relationship of Display Drivers in Zephyr

The Hardware and Software Hierarchical Relationship of Display Drivers in Zephyr

In embedded systems, display devices serve as core components for human-machine interaction, and the diversity of their hardware interfaces presents challenges for driver development. The Zephyr RTOS supports a variety of display devices, from low-power OLEDs to high-definition MIPI panels, through a unified driver model. This article explains the hierarchical relationship between hardware and software … Read more

VxWorks BSP Board Support Package Development Manual

VxWorks BSP Board Support Package Development Manual

1. Introduction Board Support Package (BSP) is the hardware abstraction layer for VxWorks, responsible for initializing the processor, memory, clocks, interrupt controllers, and peripherals at system startup, and then handing control over to the operating system kernel. Without a suitable BSP, VxWorks cannot run on your hardware. BSPs are typically highly dependent on specific hardware … Read more

Notes on Porting ZephyrRTOS to Sifli SF32LB58 – Part One

Notes on Porting ZephyrRTOS to Sifli SF32LB58 - Part One

Adding SoC support for ZephyrRTOS (2) The basic framework for porting N32L406 is not yet complete, and recently I started the porting process for the Sifli SF32LB58. One reason is that this chip features Bluetooth and a 2D GPU, making it suitable for low-power display devices such as speedometers, navigation devices, and smart glasses, which … Read more

Barebox: A Revolutionary Evolution of Embedded System Bootloaders, the Successor to U-Boot

Barebox: A Revolutionary Evolution of Embedded System Bootloaders, the Successor to U-Boot

The Ultimate Weapon for Embedded Developers In the field of embedded systems, the bootloader is a critical bridge connecting hardware and the operating system. As the modern successor to U-Boot, Barebox (formerly known as “Das U-Boot v2”) is redefining the possibilities of embedded bootloaders with its innovative design philosophy and developer-friendly features. It not only … Read more

Linux Kernel Subsystem – UART Subsystem

Linux Kernel Subsystem - UART Subsystem

1 Introduction In a formal project, I encountered a problem during serial communication where a sequence of data was unexpectedly interrupted by a 00. The data received from the hardware FIFO was correct, but the data received at the upper layer was abnormal. This issue might be obvious to someone with experience, but for those … Read more

Mastering Linux on MCU Series Part 17: New Boot Design for Loading Linux – Image Layout and Loader Implementation

Mastering Linux on MCU Series Part 17: New Boot Design for Loading Linux - Image Layout and Loader Implementation

1. Introduction We have completed the foundational work, enabling us to have shell interaction capabilities, allowing arbitrary import and export of content in on-chip memory and SPIFLASH. Now we can enter the most critical phase: programming the image and loading it to run. First, we need to design the storage structure of the image in … Read more