In-Depth Understanding of ip rule: Managing the Routing Policy Database in the Linux Kernel

In-Depth Understanding of ip rule: Managing the Routing Policy Database in the Linux Kernel

ip rule manages the rules of the routing policy database in the Linux kernel. Through these rules, complex routing decisions can be made, such as routing based on source address, destination address, protocol type, and other conditions. Command Format ip [ OPTIONS ] rule { COMMAND | help } ip rule [ show [ SELECTOR … Read more

Measuring the Precision of High-Precision Timers in Linux Driver Development

Measuring the Precision of High-Precision Timers in Linux Driver Development

Introduction Today, we will evaluate the high-precision timers in the Linux kernel, while also conducting cross-testing using a Tektronix oscilloscope and a DS100 Mini digital oscilloscope. Due to project requirements for precise timing cycles, we need to assess its feasibility and verify whether the oscilloscope from Atomic Clock can support the embedded development process. Overview … Read more

The Boot Process of Embedded Linux on RK3399

The Boot Process of Embedded Linux on RK3399

1. Introduction The RK3399 is a high-performance SoC launched by Rockchip, widely used in smart devices, embedded systems, and industrial control applications. Understanding its boot process is crucial for developers to optimize system boot time, customize firmware, and troubleshoot boot issues. This article will detail the boot process of the RK3399, including the BootROM, bootloader, … Read more

Principles of Dynamic Module Loading in Embedded Linux

Principles of Dynamic Module Loading in Embedded Linux

Source | Embedded Intelligence Bureau Sometimes we see colleagues discussing memory-related issues in embedded development. Today, I would like to share the principles of dynamic module loading in embedded development. 1. Design Philosophy and Core Advantages of Dynamic Module Loading The Linux dynamic module loading mechanism (Loadable Kernel Modules, LKMs) is not merely a technical … Read more

Embedded Linux | What are BootLoader, Linux Kernel, and File System?

Embedded Linux | What are BootLoader, Linux Kernel, and File System?

01 What is a BootLoader? It is a boot program, which is the first program to execute after hardware reset. Its main job is to initialize the environment for the operating system to run, such as memory, timers, buffers, etc. Once this is done, it loads the operating system’s code into memory, and then the … Read more

Introduction to the Platform Device Driver Model

Introduction to the Platform Device Driver Model

In the Linux kernel, the <span>platform</span> device driver model is used to manage devices that are not directly mounted on physical buses (such as PCI or USB), for example, hardware modules (such as GPIO controllers, timers, etc.) within a System on Chip (SoC). This model associates devices (<span>platform_device</span>) and drivers (<span>platform_driver</span>) through a virtual <span>platform_bus_type</span> … Read more

The Future of Rust Code in the Linux Kernel: Progress Amid Controversy

The Future of Rust Code in the Linux Kernel: Progress Amid Controversy

The Future of Rust Code in the Linux Kernel: Progress Amid Controversy Introduction Since the first integration of Rust code into the Linux kernel in 2022, the controversy surrounding its introduction has never ceased. The Rust language is praised for its excellent memory safety features and is seen by many governments and security experts as … Read more

What is the Difference Between the Linux Kernel and the Linux System? You’ll Understand After Reading This!

What is the Difference Between the Linux Kernel and the Linux System? You'll Understand After Reading This!

Introduction: Why Can Your Computer Run? When you write code on Ubuntu, browse the web on Fedora, or come across news about the “HarmonyOS computer coming soon” on your phone, have you ever wondered how these systems actually work behind the scenes? The key to the answer lies in the relationship between the Linux kernel … Read more

Linux Kernel Synchronization Mechanisms: Unlocking the Secrets of Concurrent Programming

Linux Kernel Synchronization Mechanisms: Unlocking the Secrets of Concurrent Programming

In today’s digital age, multi-core processors have become standard in computer systems, from our everyday office computers to the massive server clusters in data centers. This hardware advancement allows computer systems to handle multiple tasks simultaneously, greatly enhancing computational efficiency. Just like a busy traffic hub with multiple lanes, vehicles move back and forth, seemingly … Read more

Detailed Explanation of ARM GIC Interrupts – IPI Interrupts

Detailed Explanation of ARM GIC Interrupts – IPI Interrupts

1. Introduction to IPI Interrupts IPI interrupts, or Inter-Processor Interrupts, are essentially the SGI interrupts (Software Generated Interrupts) defined in the ARM GIC architecture. In the GICv3 architecture, there are a total of 16 SGI interrupts (excluding extensions), with interrupt numbers ranging from 0 to 15, as shown in the figure below. Inter-Processor Interrupts are … Read more