课程 |
内容 |
嵌入式Linux设备驱动开发 |
内核及内核编程:内核源码目录结构,内核组成,内核空间与用户空间,内核编译,Kconfig和Makefile,内核引导 |
内核模块:内核模块程序结构,模块加载与卸载,模块使用计数,模块编译 |
文件系统与设备文件:Linux文件操作,Linux文件系统,Devfs设备文件系统,Udev设备文件系统 |
字符设备驱动:Linux字符设备驱动结构(cdev与file_opration),字符设备驱动实例,在用户空间验证字符设备驱动 |
并发控制:并发与竞态的概念,中断屏蔽,原子操作,自旋锁,信号量,互斥体 |
阻塞与非阻塞I/O:等待队列,轮询操作 |
异步通知与异步I/O:异步通知编程,AIO与设备驱动 |
中断与时钟:中断申请、释放、使能、屏蔽,底半部机制,中断共享,内核定时器,内核延时 |
内存与I/O访问:内存空间与I/O空间,内存管理单元MMU,I/O端口与I/O内存访问,I/O内存映射,DMA编程 |
设备驱动调试:printk,proc文件系统,Oops,KGDB |
设备驱动的移植:增加设备驱动可移值性,移植demo驱动、范例驱动,将2.4核驱动移植到2.6核 |
字符设备驱动实例:按键驱动,触摸屏驱动,NVRAM驱动,看门狗驱动 |
块设备驱动程序实例:RamDisk驱动,IDE硬盘设备驱动 |
终端设备驱动实例:UART设备驱动 |
IIC总线设备驱动实例:S3C2440 IIC设备驱动 |
网络设备驱动实例:CS8900网卡设备驱动 |
音频设备驱动实例:OSS音频设备驱动,ALSA音频设备驱动 |
LCD设备驱动实例:S3C2440 LCD设备驱动 |
FLASH设备驱动实例:MTD编程,NOR Flash驱动,NAND Flash驱动,Flash文件系统 |
USB主机与设备驱动实例:USB串口驱动,USB键盘驱动 |
PCI设备驱动实例:PCI总线与PCI设备,PCI设备驱动结构,主板声卡设备驱动 |