2023
February
Understanding Under the Debugger
RK3588 and Linux 5.10
If twenty years ago, the hottest software and hardware combination was Windows + X86, then today the hottest combination is Linux + ARM. For the vast number of programmers engaged in technical work, now is a great time to learn this combination. However, with Linux source code exceeding 10 million lines and ARM technical manuals often exceeding thousands of pages, how can we conquer these two fortresses quickly in this era that pursues quick success?
This lecture takes a unique approach, selecting a representative computer system – the Youlan Codebook, to analyze the core components and key processes of the system using a tangible object to understand the code, and to understand the object through the code. The entire lecture is personally taught by Zhang Yinkui, the author of “Software Debugging”, making it easy to understand, with practical examples, exploring with the spirit of “gewu”, writing code, using the debugger, amplifying key details, and providing empirical evidence through what can be seen, avoiding generalizations and empty talk.

Format: Explanation, demonstration, and hands-on experiments
Duration: 8 online lectures
Target Audience:
-
Software engineers working on ARM platform development or researchers wishing to learn ARM architecture;
-
Programmers, test engineers, or software security researchers developing Linux system software or application software.
ONE
Starting with Kernel Messages
GOOD TO NEW
Key Points: printk interesting stories, kernel second memory (diary), what is written in the kernel second memory, viewing RK3588’s central and local agencies from kernel second memory, adjusting kernel messages, panic and die, interpreting panic information.
TWO
Entering the Kernel
GOOD TO NEW
Key Points: Characteristics of the two major spaces, Liu Laolao entering the Grand View Garden, compiling and loading “Liu Laolao” (llaolao), writing code to communicate with RK3588, accessing system registers, reading RK3588’s temperature, switching RK3588’s devices.
THREE
Hardware Differences and
Device Tree (DTS)
Key Points: Various ARM hardware, issues that Linus cannot tolerate, advanced experiences of x86 and PC, device tree description, DTS, DTB, compilation methods, passing kernel command lines, Youlan’s device tree, case (kernel panic caused by improper command line parameters).
Four
Privilege Levels and
System Programming
Key Points: Brief history of ARMv8, processor modes, privilege levels, processor extensions, system registers, accessing system registers, MRS and MSR instructions, accessing system registers in NDB, Youlan’s system software stack.


Five
Boot Process –
Boot Moment
Key Points: The name and meaning of safety, ATF (ARM Trusted Firmware) code, special significance to CPU manufacturers, phased initialization, development mode of ATF code, U-Boot (two stages), overview of bootloader.
Six
Boot Process –Kernel Rise
Key Points: Unique init directory, pure main.c, start_kernel, task list of start_kernel – a blank slate, init_call, initializing CPU, patching CPU, creating the first process, waking up other CPUs, initializing IO and devices, creating the first user-space process, kernel command line.
Seven
Software Stage
GOOD TO NEW
Key Points: Centralized memory, nostalgia for von Neumann, virtual memory, address translation, page tables, page table formats, MMU, page table translation process, page attributes, access permissions, TLB, process switching, page fault exceptions, observing page tables, manually translating memory addresses.
Eight
Flash Memory Era
and Device Management
Key Points: Wonderful flash memory, MMC, eMMC, SD Alliance and SDIO, DesignWare’s SDIO controller, configuration parameters in DTS, SDIO driver, device stack when connecting to flash memory, software stack when connecting to wireless (WiFi), in-depth analysis combined with Youlan.
This course will be released simultaneously with the first generation of Youlan Codebook, and the class time will be chosen after the first batch of Youlan users receive their Youlan books.

Youlan Codebook will be released this Sunday
Hope interested friends do not miss it

WeChat Group QR Code
WeChat Live Broadcast Reservation
02/26 15:00



Shengge Academy is a knowledge sharing platform under Gedu Technology, based on the educational philosophy of “gewu zhizhi” (to understand the principles of things).
In the spirit of inheriting the teachings of the sages, Shengge Academy strives to closely combine the essence of traditional culture with modern technology, using traditional culture and humanistic feelings to explain modern technology, and using modern technology to spread traditional culture.
Access Method
-
Mobile End:
Search “Shengge Academy” in WeChat Mini Program
-
Computer End:
Download Nano Code Community Edition client
https://nanocode.cn/#/download

Gedu Friends WeChat Official Account

Shengge Academy Mini Program
Past ยท Highlights Review
The Way of Nature: The Teacher Who Benefited Me the Most
Good Education and Bad Education
Kernel Night Talk: 32-bit Applications, What Can We Do?
New Year New Image – GDK8 Liaocheng Version Description