内核驱动中断编程实战
在Linux内核驱动开发中,中断是不可缺少的重要一环。CPU在和外部设备通信,绝大部分是通过中断完成的。
本期课程,为《Linux内核编程》第四期,将会带领大家从中断的基础概念开始,以RTC为例,一步一步编写裸机环境下的中断程序,学习中断处理流程,理解GIC中断控制器的内部逻辑和在中断处理过程中发挥的作用。
熟悉的底层的基本硬件之后,接下来会带领大家在Linux环境下,使用Linux内核提供的编程接口,来完成RTC驱动的中断程序的编写、调试和运行。
最后,在中断下半部中,分别使用软中断、tasklet、workqueue、delayed work、CMWQ、中断线程化来实现RTC驱动的中断下半部实现,并分析各种下半部的原理、运行过程、优缺点对比。
掌握了Linux内核提供的各种中断编程接口和运行流程,基本上也就对Linux的中断子系统有一个系统全面的认识和理解。学完本期课程后,学员可以在以后的驱动开发中,根据自己的需要,熟练掌握中断的各种机制来完成驱动中断程序的编写。熟悉了中断的各种机制和运行过程,我们在分析不同平台、不同内核版本下的具体驱动,都可以很快上手,快速理解各个外设驱动是如何处理 中断的,为我们分析各种复杂的驱动和子系统奠定了一个良好的内核基础。
课程详细目录如下:
- 中断子系统框架构成
- 中断控制器:GIC
- GIC 控制器中断处理流程
- 编写 RTC 裸机中断程序
- 中断函数的编写规则
- 在 Linux 下编写 RTC 驱动中断程序
- Linux 环境下的 中断处理流程分析
- 中断上半部和下半部
- SoftIRQ:软中断
- 软中断的运行流程分析
- 中断下半部编程实战:tasklet
- tasklet 的运行过程分析
- 中断下半部编程实战:workqueue
- 延迟工作队列:delayed work
- workqueue 运行过程分析
- CMWQ 编程实战
- CMWQ 运行过程分析
- 中断线程化:request_threaded_irq
视频、配套的代码、PPT文档、芯片datasheet,已经上传网盘,已经购课的学员,请及时下载观看学校。《Linux内核编程》系列课程预售地址:王利涛老师个人店:Linux内核编程:驱动开发入门实战,Linux内核核心理论干货视频教程
课程咨询微信:brotau
一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店