From Novice to Expert: Debugging PCIe Communication on Renesas RZ/T2H

From Novice to Expert: Debugging PCIe Communication on Renesas RZ/T2H

RZ/T2H This article discusses the RZ/T2H’s PCIe peripheral functioning as an Endpoint (EP) and the potential issues that may arise when developing drivers and conducting speed tests on Windows, particularly the problem of Windows not recognizing the device. It summarizes various debugging methods and techniques to identify and resolve these issues. As shown in the … Read more

In-Depth Analysis of Linux NOR Flash Drivers: From Hardware Principles to Kernel Implementation

In-Depth Analysis of Linux NOR Flash Drivers: From Hardware Principles to Kernel Implementation 1 Basic Concepts and Working Principles of NOR Flash Flash memory, as a non-volatile storage medium, plays a critical role in embedded systems, server firmware, and various IoT devices. In the Linux ecosystem, NOR Flash, with its unique characteristics and access methods, … Read more

Linux Embedded Driver Development

Module_Driver_printk – Basic Structure and Log Printing of Modules 1. Creating C and Makefile Files Command to create a folder mkdir <folder_name> Creating a file touch <file_name> Deleting a folder (non-empty) rm -r <folder_name> -r option: Recursively delete, which means deleting all files and subdirectories under the directory. Force delete (avoid confirmation prompt) rm -rf … Read more

Linux Crypto Driver Development: Hash Algorithm

Overview The Linux kernel provides a complete cryptographic algorithm framework (Crypto API), supporting hardware acceleration and software implementation for various cryptographic operations. In actual driver development, we often need to integrate multiple cryptographic algorithms (such as SHA256, AES-CTR, RSA2048, etc.) into the same cryptographic hardware device, utilizing its dedicated computational capabilities to enhance system performance … Read more

Understanding Linux Kernel Timers (Part 10) – Kernel Timers

1.Principles of Linux Kernel Timers 1.1Kernel Time Management 1.The Cortex-M kernel uses systick as the system timer. 2.Hardware timers and software timers rely on the system timer for operation. 3.The frequency of the Linux kernel can be configured through a graphical interface. By opening the .config file in the root directory of the Linux kernel … 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

Adding Version Information to Linux Drivers

During the development of Linux drivers, it is sometimes necessary to print some driver version information, which facilitates iteration and maintenance. The following describes the implementation approach: First, include the header file information #include <linux/version.h> #define DRIVER_VERSION KERNEL_VERSION(0, 0x01, 0x4) Then, in the driver’s probe function or entry function static int imx415_probe(struct i2c_client *client, const … Read more

Comprehensive Driver for W25QXX Suitable for General MCUs and Linux Systems

Comprehensive Driver for W25QXX Suitable for General MCUs and Linux Systems

Follow our official account to keep the embedded knowledge flowing! When working on embedded projects, do you often encounter situations where you need to store some data? For example, storing configuration parameters or logging data. At this point, the W25QXX series of Flash memory comes into play. Today, we will delve into an open-source W25QXX … Read more

Overview of New Book | Practical Embedded Linux Driver Development

Overview of New Book | Practical Embedded Linux Driver Development

Detailed Explanation of Embedded Linux Driver Development and Device System Construction Practical Development of I2C and SPI Drivers Content of the Book The most common interaction in people’s daily lives is with embedded systems. Currently, widely used devices such as smartphones, MP3 players, smart home appliances, drones, autonomous vehicles, and robots all utilize embedded systems. … 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