Embedded Sharing #46: RK Display Adjustment – Why No Changes to U-Boot DTS Are Needed?

Embedded Sharing #46: RK Display Adjustment - Why No Changes to U-Boot DTS Are Needed?

Cover Image Shanghai is hosting the White Magnolia Ice and Snow Festival, featuring a rare outdoor ice skating rink.[Previous Highlights]: Comprehensive Guide: Practical Guide to Tuning GPU on RK Platform with Ubuntu Welcome to follow “Embedded Sharing“, updated weekly!☞ Main Content Friends who have debugged both RK and Allwinner platforms know that on the Allwinner … Read more

Configuration and Testing of Touch Screen on M300

Configuration and Testing of Touch Screen on M300

The M300 SDK supports a wide range of touch screens. Due to the limited number of users utilizing screens, the documentation on how to configure the screen on the M300 is somewhat vague. This article introduces how to configure the touch screen in the SDK and the testing process.Note: This article uses SDK v7 for … Read more

Advanced Device Tree (Part 4): Practical Linux Debugging

Advanced Device Tree (Part 4): Practical Linux Debugging

1. Device Tree in the sys Filesystem 1.1 /sys/firmware/devicetree/base The Linux kernel exports device tree information to the<span>/sys/firmware/devicetree/base</span> directory, providing a user-space access interface. Directory Structure: /sys/firmware/devicetree/base/ ├── compatible ├── model ├── #address-cells ├── #size-cells ├── cpus/ │ ├── cpu@0/ │ └── cpu@1/ ├── memory@80000000/ ├── soc/ │ ├── i2c@10002000/ │ ├── uart@10009000/ │ └── … Read more

Basics of Device Tree (Part 4): Common Device Descriptions

Basics of Device Tree (Part 4): Common Device Descriptions

1. I2C Devices 1.1 I2C Controller Description of the I2C bus controller node: i2c0: i2c@10002000 { compatible = "arm,versatile-i2c"; reg = <0x10002000 0x1000>; interrupts = <0 30 4>; #address-cells = <1>; #size-cells = <0>; clocks = <&osc24M>; clock-frequency = <100000>; /* 100KHz standard mode */ status = "okay"; }; Key Attribute Descriptions: <span>#address-cells = <1></span>: … Read more

Embedded Systems Panorama 4: Understanding Driver Models and Device Trees

Embedded Systems Panorama 4: Understanding Driver Models and Device Trees

In embedded Linux systems, drivers serve as the bridge between the kernel and hardware, while the Device Tree (DT) provides an abstraction for hardware information. Understanding the Linux driver model and device trees is crucial for embedded engineers to build a complete system from low-level hardware to user space. This article will gradually analyze the … Read more

Panorama of Embedded Systems 3: In-Depth Analysis of Linux Kernel Boot Mechanism

Panorama of Embedded Systems 3: In-Depth Analysis of Linux Kernel Boot Mechanism

In embedded system development, the Linux kernel is the core of the entire system. Understanding the kernel boot mechanism not only helps developers build a complete system understanding but also plays an important role in troubleshooting boot anomalies, performance optimization, and kernel trimming. This article will systematically analyze the embedded Linux kernel boot process from … Read more

Embedded Systems Panorama 1: From Bare-metal to Linux Kernel (A Comprehensive Guide to Building a Systematic Understanding)

Embedded Systems Panorama 1: From Bare-metal to Linux Kernel (A Comprehensive Guide to Building a Systematic Understanding)

This article is suitable for: engineers who want to build a complete cognitive framework for embedded systems, developers preparing to delve from the application layer to the underlying layers, and those who wish to systematically understand the entire path from “bare-metal → kernel”. In one sentence: After reading this article, you will advance from “fragmented … Read more

Zephyr RTOS Update | November 4, 2025

[ 1 ] Top Story Zephyr is about to “take the stage” at two major global summits! The Zephyr project is entering a spotlight moment. Tomorrow (November 5), the eyes of global developers will be focused on two major events: North America (In-person): Zephyr will hold an in-person developer meetup in Anaheim, coinciding with the … Read more

Building and Compiling Linux Crypto Driver

Driver Create a<span>demo</span> directory under <span>linux/drivers/crypto</span>. Create the following files: $ tree demo ├── demo_crypto_core.c ├── demo_crypto_core.h ├── demo_crypto_hash.c ├── Kconfig └── Makefile The content of the <span>Makefile</span> is as follows: # SPDX-License-Identifier: GPL-2.0-only # Enable debugging ccflags-y := -DDEBUG obj-$(CONFIG_CRYPTO_DEV_DEMO) += demo_crypto.o demo_crypto-objs := demo_crypto_core.o \ demo_crypto_hash.o The contents of the other files will … Read more

In-Depth Analysis of the Linux PWM Subsystem

In-Depth Analysis of the Linux PWM Subsystem 1 Basics of PWM Technology 1.1 Basic Principles and Working Mechanism of PWM Pulse Width Modulation (PWM) is an effective technique that uses digital signals to simulate the control of analog circuits. The core idea is to equivalently obtain different analog voltage values by changing the duty cycle … Read more