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

Six Steps to Get Started with Embedded Linux

Six Steps to Get Started with Embedded Linux

Many people often ask this question, so here is a summary for everyone’s reference. It must be stated that the following steps are targeted at Linux systems and do not focus on WinCE. You may notice that among those engaged in embedded systems, there are far more people researching Linux than those working with WinCE. … Read more

Asynchronous Rust Practice: Performance, Pitfalls, Analysis

Asynchronous Rust Practice: Performance, Pitfalls, Analysis

Rust Code Updates in the Linux Kernel Introduce More Features Miguel Ojeda has released the latest patch series that implements the foundational infrastructure for the Rust programming language in the Linux kernel, along with initial sample code. The v8 version with Rust support has been released today, adding support for using the Rust programming language … Read more

Does ARM Architecture Support Interrupt Nesting?

Does ARM Architecture Support Interrupt Nesting?

Click the blue "Arm Selected" in the upper left corner and select "Set as Star" Note: This article primarily discusses the ARMV8-aarch64 architecture, gicv3, and Linux kernel 5.14 by default. Consideration: Have you ever thought about a scenario where a high-priority interrupt preempts another interrupt that is currently being processed? This is known as interrupt … Read more

Adding a Syscall to Android 12 Kernel from Source Code

Adding a Syscall to Android 12 Kernel from Source Code

This article is an excellent piece from the Kanxue Forum. Kanxue Forum Author ID: xxxlion Adding a syscall to Android 12 involves quite a bit, and the information available online is often outdated (especially regarding bionic). I encountered many pitfalls along the way. I decided to write this article to document how to add a … Read more

Embedded Linux From a Microcontroller Engineer’s Perspective

Embedded Linux From a Microcontroller Engineer's Perspective

01 【Introduction】 This article will briefly organize some knowledge about Embedded Linux, providing reference for those who, like me, want to progress from microcontrollers to Embedded Linux. With the increasing number of Embedded Linux tutorials, I believe many friends studying microcontrollers have started experimenting with it~ 02 【What to Learn About Embedded Linux】 1. Understanding … Read more

Understanding Makefile, Kconfig, and .config Files

Understanding Makefile, Kconfig, and .config Files

1 We want to add a program (such as a driver) to the kernel and ensure that this driver can be compiled into the kernel, which is fundamentally divided into two main parts. First, we need to tell the kernel, “Please include me in the next compilation,” which requires us to configure the kernel appropriately. … Read more

Embedded Linux Insights from a Microcontroller Engineer’s Perspective

Embedded Linux Insights from a Microcontroller Engineer's Perspective

This article briefly outlines some knowledge about Embedded Linux, providing a reference for those who want to advance from microcontrollers to Embedded Linux. With the increasing number of tutorials on Embedded Linux, I believe many friends studying microcontrollers have started to explore this area! 1. What to Learn About Embedded Linux? 1. Understanding Linux Some … Read more