内核驱动中断编程实战

在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

一线原厂驱动开发经验,专门为嵌入式精心打造的嵌入式进阶视频教程,详情请点击:王利涛老师个人店