Linux内核与驱动开发培训
课程介绍:
驱动程序属于Linux内核的一部分,开发驱动程序是嵌入式Linux项目中很重要的一部分内容。开发出高质量、高性能的驱动程序是项目成败的关键。随着 市场上对嵌入式产品的需求越来越大,从而对驱动程序开发人员的需求也在飞速增加。本课程的最大特点是以项目为培训目标,培养出真正具有实际开发能力的专业 人才。
用户态进程和内核的通信方法;Char,block设备驱动的编写;中断处理和I/O调度;内核时钟;内核同步;网络驱动程序的编写;内核的设备管理模 型;USB,PCI驱动接口;Linux TCP/IP栈结构;LinuxIP协议栈主要数据结构;Netfilter的框架;内核调试方法。
课程对象:
针对Linux驱动开发和Linux内核开发及嵌入式开发系统开发技术人员。
具备Linux应用和开发经验,欲从事Linux平台驱动程序开发或嵌入式开发者。
课程长度:3天
最新时间:定制课程(内训),人满开班(公开课)
课程大纲:
•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缓冲区
•流量统计