Linux内核与驱动开发培训

课程介绍
驱动程序属于Linux内核的一部分,开发驱动程序是嵌入式Linux项目中很重要的一部分内容。开发出高质量、高性能的驱动程序是项目成败的关键。随着 市场上对嵌入式产品的需求越来越大,从而对驱动程序开发人员的需求也在飞速增加。本课程的最大特点是以项目为培训目标,培养出真正具有实际开发能力的专业 人才。
用户态进程和内核的通信方法;Char,block设备驱动的编写;中断处理和I/O调度;内核时钟;内核同步;网络驱动程序的编写;内核的设备管理模 型;USB,PCI驱动接口;Linux TCP/IP栈结构;LinuxIP协议栈主要数据结构;Netfilter的框架;内核调试方法。

课程对象
针对Linux驱动开发和Linux内核开发及嵌入式开发系统开发技术人员。
具备Linux应用和开发经验,欲从事Linux平台驱动程序开发或嵌入式开发者。

课程长度:3天

最新时间:定制课程(内训),人满开班(公开课)

传统的面对面授课方式。

 

课程大纲:

        1.Linux内核简介
            •Linux系统架构
            •内核的启动原理
       2.Linux内核编译
            •Linux内核编译环境
            •内核裁减
            •使用自定义内核
       3.内核模块简介
            •内核模块管理
       4.内核模块编译
            •内核模块开发环境
            •hello world
       5.字符设备驱动
            •认识linux的字符设备
            •字符设备驱动框架
            •字符设备驱动解析
            •定制字符设备驱动
       6.内核代码的调试
            •内核的调试开关
            •打印调试
            •查询调试
            •kdump
       7.并发机制和临界区
            •多进程模型
            •临界区
            •信号量和互斥锁
            •自旋锁
       8.高级字符设备操作
            •ioctl
            •I/O阻塞
            •poll和select
       9.时间和延时
            •时间的计算
            •当前时间
            •延时
            •内核定时器
            •tasklets
       10.内存分配
            •kmalloc工作原理
            •cache管理
            •vmalloc及类似函数
            •CPU相关变量
            •大缓冲区
       11.与硬件的通信
            •I/O端口和I/O内存
            •访问I/O端口
       12.内存映射和DMA
            •内存管理和mmap
            •Direct I/O
            •直接内存访问
       13.中断处理
            •中断处理程序
            •中断的顶半部和低办部
            •中断共享
            •中断驱动的I/O
       14.内核的数据类型
            •接口特定的数据类型
            •List
       15.PCI设备驱动
            •PCI总线
            •PC/104
            •其他PC总线
       16.USB设备驱动
            •USB设备和主机
            •USB和sysfs
            •USB urbs
            •USB驱动框架
       17.Linux设备驱动模型
            •Kobjects,Ksets和内核子系统
            •地层Sysfs操作
            •热插拔事件
            •总线,设备和驱动
            •类
       18.文件系统驱动
            •vfs驱动框架
            •ext3文件系统
       19.块设备驱动
            •块设备操作
            •请求队列
       20.网络设备驱动
            •网络设备驱动框架
            •数据的收发和ioctl
            •中断处理
            •Socket缓冲区
            •流量统计