一、课程介绍:
本课程详解Linux内核编程的并发、同步、中断、定时器、内存、DMA和cache等问题,结合实例讲解Linux驱动各种设备驱动架构、I/O模型以及Linux的移植、设备树代码的编写等。
课程讲解语言通俗,讲师授课风格生动趣味性强,全程“说人话”不死板,力求以生活化地表达,带领学员将所学内容掌握并熟练应用到工作当中。
本课程将赠送树莓派ARM64电路板一套。
二、主办单位:
北京中际孚歌科技有限公司
北京中际赛威文化发展有限公司
三、研修时间:2026年7月18–19日 (两天授课)
四、研修地点:上海
五、培训对象:Linux开发者;使用Linux,在Linux上从事开发工作的工程师。
六、课程形式:
为保证内容的时效性,本课程的讲解和实验基于最新的Linux 6.13内核。
课程讲授和学员动手实验并重,课程设置多个上机实验。
通过讲解和讨论来学习概念、方法和原理。为加深和促进了解,学员要单独或分组完成课堂练习。
七、课程大纲
第一章 内核编程
热身,熟悉树莓派板卡
1、板卡介绍和使用
2、Bootloader、kernel、文件系统构成
第1节 内核编程主要API深入剖析
1、同步与并发(atomic, spinlock,mutex,completion深入理解)
2、等待队列
3、内核延时
4、内存申请和释放
5、用作DMA的内存
6、内存屏障与寄存器访问
第2节 定时器
1、内核定时器tick
2、tickless
3、高精度定时器hrtimer
第3节 中断
1、中断顶底半部
2、软中断
3、tasklet
4、工作队列
5、threaded_irq
6、多核中断affinity及软中断负载均衡
第4节 Linux内核模块
1、内核模块init和exit
2、输入参数
3、输出符号
4、模块的license与GPL
第5节 Linux内核的调试
1、printk
2、Oops和panic
3、initcall_debug
4、电源管理suspend/resume debug
5、earlyprintk与low level debug
6、proc和sys
7、soft和hard lockup
8、内核的源码级调试
9、内核模块的源码级调试
10、ftrace
第二章 设备驱动
第1节 Linux设备驱动模型
1、Linux设备分类
2、Sys,总线、设备、驱动和class
3、热插拔
4、电源管理
5、udev
第2节 设备驱动并发控制与I/O模型
1、Linux字符设备驱动结构
2、Linux设备驱动中的并发控制
3、Linux设备驱动中的阻塞与非阻塞I/O
4、Linux多路复用I/O
5、Signal IO与AIO
6、用户空间I/O与多线程设计原则
第3节 Linux复杂设备驱动
1、设备驱动分层框架
2、设备驱动的面向对象设计
3、platform驱动
4、基于I2C/SPI/USB等总线的驱动
5、块设备驱动与块I/O调度
6、网络设备驱动
第三章 Linux移植和BSP构建
第1节 将Linux移植到一个新的SoC或电路板
1、OS timer
2、caches
3、early_printk
4、clk tree
5、GPIO
6 pinmux
7、RQ chip
8、DMA
9、社区维护
第2节 设备树(Device Tree)
1、用一个假设的简单电路板从头到尾构建一个dts文件
2、dts编译为dtb,与dtb反编译为dts
3、machine级的匹配
4、driver和device级的匹配
5、基地址、中断、gpio、时钟、reset、pinmux等常规属性
6、dts节点自定义属性
7、启动过程中dtb的读取与展开
8、i2c, spi子节点的展开
9、dts的分级与dtsi
10、dt binding文档
第3节 ACPI
1、非device tree情况的设备枚举
八、主讲专家:
宋老师:Linux布道者,《Linux设备驱动开发详解》作者,曾为思科、阿尔卡特、朗讯、四方、意法半导体、富士施乐、代傲电子、飞利浦、南瑞、宝信、美国国家仪器、ABB、中国建设银行等知名企业提供嵌入式Linux企业培训和技术服务,受到企业广泛好评。活跃于 Linux社区,Linux内核SCHED_CLUSTER、per-numa CMA、ARM64 BATCHED_UNMAP_TLB_FLUSH、多个mTHP关键feature的作者,累计给Linux主线贡献400+个补丁。已给Linux官方内核贡献了逾3万行代码,是给Linux官方内核贡献代码最多的华人之一。
九、培训费用及注意事宜:
1、培训费:4600元/人 (含培训费、开发板一块、午餐费、资料费等)。
3990元/人(含培训费、午餐费、资料费等)。
2、培训期间食宿统一安排,费用自理。
3、收款、开发票、培训会务工作由北京中际孚歌科技有限公司负责。
十、证书颁发:培训结束后由主办单位向参会单位学员颁发结业证书。
十一、课程咨询:010-64113137