查看原文
其他

在调试器下理解RK3588和LINUX5.10

格蠹老雷 格友 2023-06-10

2023

February


在调试器下理解

RK3588和LINUX5.10


如果说20年前最热的软硬件组合是Windows + X86的话,那么今天最热的组合便是LINUX + ARM。对于从事技术工作的广大程序员来说,今天正是学习这一组合的好时机。可是,LINUX的源代码超过1千万行,ARM的技术手册动辄就大几千页,如何能在这个追求速成的时代里快速攻克这两座城堡呢?


本讲座独辟蹊径,选取一款具有代表意义的计算机系统——幽兰代码本,拿着具体的实物来条分缕析,剖析系统中的核心部件和关键过程,结合实物来理解代码,以代码来理解实物。整个讲座由《软件调试》的作者张银奎亲自讲授,深入浅出,现身说法,以“格物”的精神钻研探索,上代码,上调试器,放大关键细节,以亲眼所见来实证,不泛泛,不空谈。



格式:讲解、演示和动手实验

时间长度8次线上讲座

培训对象:

  • 在arm平台上从事开发工作的软件工程师或者希望学习ARM架构的研究者;

  • 开发LINUX系统软件或者应用软件的程序员、测试工程师或者软件安全研究者。



ONE

1.从内核消息讲起

GOOD TO NEW


要点:printk趣说、内核秒记(日记)、内核秒记都写些什么、从内核秒记看RK3588的中央和地方机构、调整内核消息、panic和die、解读panic信息。




TWO

进驻内核

GOOD TO NEW


要点:两大空间的特性、刘姥姥进大观园、编译和加载“刘姥姥”(llaolao)、编写代码与RK3588对话、访问系统寄存器、读取RK3588的体温、开关RK3588的设备。




THREE

硬件差异和

设备树(DTS)


要点:五花八门的ARM硬件、Linus大神看不下去的问题、x86和PC的先进经验、设备树描述、DTS、DTB、编译方法、传递内核命令行、幽兰的设备树、案例(因为命令行参数不当导致的内核Panic)。




Four

特权级别和

系统编程


要点:ARMv8简史、处理器模式、特权级别、处理器扩展、系统寄存器、访问系统寄存器、MRS和MSR指令、在NDB中访问系统寄存器、幽兰的系统软件栈。





Five

启动过程之

开机瞬间


要点:安全的名与义、ATF(ARM Trusted Firmware)代码、对CPU厂商的特殊意义、分阶段初始化、ATF代码的开发模式、U-Boot(两个阶段)、bootloader面面观。




Six

启动过程之内核崛起


要点:独特的init目录、清纯的main.c、start_kernel、start_kernel的任务单——百废待兴、init_call、初始化CPU、给CPU打补丁、创建第一个进程、唤醒其它CPU、初始化IO和设备、创建第一个用户空间的进程、内核命令行。




Seven

软件舞台

GOOD TO NEW


要点:内存中央化、怀念冯·诺伊曼、虚拟内存、地址翻译、页表、页表格式、MMU、页表翻译过程、页属性、访问权限、TLB、进程切换、缺页异常、观察页表、手工翻译内存地址





Eight

闪存时代

和设备管理


要点:奇妙闪存、MMC、eMMC、SD联盟和SDIO、DesignWare的SDIO控制器、DTS中的配置参数、SDIO驱动、连接闪存时的设备栈、连接无线(WiFi)时的软件栈、结合幽兰的深入分析。



本课程将于第一代幽兰代码本同时发布,开课的时间会选择在第一批幽兰的用户拿到幽兰本之后。

幽兰代码本将在本周日发布

希望感兴趣的朋友不要错过




微信群二维码

微信直播预约

02/26 15:00






盛格塾是格蠹科技旗下的知识分享平台,是以“格物致知”为教育理念的现代私塾。


本着为先圣继绝学的思想,盛格塾努力将传统文化中的精华与现代科技密切结合,以传统文化和人文情怀阐释现代科技,用现代科技传播传统文化。


访问方式

  • 手机端

    微信小程序搜索“盛格塾”

  • 电脑端

    下载Nano Code社区版客户端

    https://nanocode.cn/#/download

格友公众号

盛格塾小程序


往期 · 精彩回顾

道法自然:我受益最多的老师

好教育和坏教育

内核夜话:32位应用,奈若何?

新年新镜像——GDK8聊城版本说明


您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存