What Does Embedded Linux System Include?

What Does Embedded Linux System Include?

Follow and star our public account, and access exciting content directly ID: Technology Makes Dreams Greater Source: Online Materials Embedded Linux includes four major components: bootloader, kernel, driver programs, and root filesystem.1. BootloaderIt is a slightly complex bare-metal program. However, understanding and writing this bare-metal program is not easy at all. The useful tools under … Read more

Design of Linux Kernel Character Device Driver SCULL

Design of Linux Kernel Character Device Driver SCULL

SCULL (Simple Character Utility for Loading Localities) is a classic example of a character device driver in the Linux kernel, often used as an introductory project for learning Linux character device drivers. The design goal of the SCULL device is to provide a simple, purely memory-based character device driver to help developers understand the basic … Read more

Low-Level Implementation of Atomic Operations in Linux Kernel (armv8-aarch64)

Low-Level Implementation of Atomic Operations in Linux Kernel (armv8-aarch64)

Typically, a line of code like a = a + 1 in our code translates to three assembly instructions: ldr x0, &a add x0,x0,#1 str x0,&a That means (1) reading variable a from memory into register X0 (2) adding 1 to register X0 (3) writing X0 back to memory a Since there are three instructions, … Read more

Linux Kernel Learning Notes

Linux Kernel Learning Notes

This article is an excellent piece from the Kanxue Forum. Kanxue Forum Author ID: e*16 a The following is based on the code of linux0.11. 1 Kernel's Five Major Structures 2 Interrupt Workflow 1. ARM Memory (1) Convert CPU working mode (2) Copy and stack registers (3) Set interrupt vector table (4) Save the return … Read more

ARM V8 Exception Vector Table

ARM V8 Exception Vector Table

Among them, el0_sync is the entry address for system synchronous exceptions; el0_irq is the entry address for interrupt exceptions; first, look at synchronous exceptions, where el0_svc is the exception caused by the system call svc;kernel_entry 0: indicates that this is a kernel jump from el0 to el1, performing register saving for user space, mainly saved … Read more

Advanced Windows Kernel Debugging Course in Shanghai

Advanced Windows Kernel Debugging Course in Shanghai

2024 Windows Shanghai Station Advanced Software Debugging Workshop 2024 Shanghai Station Windows Kernel and Advanced Debugging To this day, Windows remains the most complex operating system in software history, and gaining a deep understanding of this operating system is a significant challenge for any software engineer. This training utilizes the debugger as a sharp sword, … Read more

ARMv8 MMU and Linux Page Table Mapping

ARMv8 MMU and Linux Page Table Mapping

Background Read the fucking source code! –By Lu Xun A picture is worth a thousand words. –By Gorky Note: Kernel Version: 4.14 ARM64 Processor, Cortex-A53, Dual-core Tools Used: Source Insight 3.5, Visio 1. Introduction To understand Linux page table mapping well, it is necessary to be familiar with the MMU mechanism, so these two modules … Read more

Running Linux 6.15.3 on ARM Cortex-X925 Platform (Troubleshooting Guide)

Running Linux 6.15.3 on ARM Cortex-X925 Platform (Troubleshooting Guide)

Why Choose boot-wrapper-aarch64? If you are only focused on the Linux kernel, there is no need to run the complete software stack. Using boot-wrapper-aarch64 to boot Linux is quicker, and it is simple and easy to understand, which is sufficient for understanding the ARM boot process. There will be a tutorial later that explains running … Read more

Issues Encountered When Compiling boot.img for RK3588

Issues Encountered When Compiling boot.img for RK3588

The kernel version from Rockchip can be downloaded from GitHub at the link: https://github.com/rockchip-linux/kernel. There is also a complete SDK development environment available directly from the manufacturer, including uboot, buildroot, kernel, etc. Additionally, there are some open-source projects from openEuler, which are quite varied and chaotic. For version 5.10, there are multiple sub-versions, and the … Read more

Local Deployment of DeepSeek-R1 Large Model on RK3588 Platform: NPU Edition

Local Deployment of DeepSeek-R1 Large Model on RK3588 Platform: NPU Edition

Using the NPU to run inference on large models can more effectively plan resource allocation, achieving more efficient applications. 1 Preparation Before Deployment To deploy large language models using the NPU on RK3588, the following files need to be prepared in advance, which include the corresponding files for Rockchip’s NPU and the DeepSeek inference model … Read more