原文:eLinux.org
翻译:@lzufalcon
设备驱动
使用手册
样例驱动
LDT - Linux 驱动模板 - Linux 设备驱动样例模板,用于学习和开始编写一个自定义驱动程序。举了 UART 字符设备驱动的例子,用到了下述 Linux 设施:模块,平台驱动,文件操作(读/写、内存映射、ioctl、阻塞/非阻塞模式、轮询),kfifo, completion, interrupt, tasklet, work, kthread, timer, misc device, proc fs, UART 0x3f8, HW loopbakc, SW loopback, ftracer。代码可以工作并且用测试脚本运行过。
LDD3 - 更新过的第三版《Linux 设备驱动》样例,可以用 3.2.0 内核编译
- pci_skel.c
- PCI 梗概
- sbull.c
- 简单的块设备
- scull
- 简单的字符设备
- snull.c
- 简单的网络设备
- pci_skel.c
- vivi.c - 虚拟设备驱动,使用 V4L2 (可以工作)
- mem2mem_testdev.c - 虚拟的 v4l2-mem2mem 样例设备驱动程序
- usb-skeleton.c - USB 驱动梗概(经过少许修改后可以编译)
- skeletonfb.c - 帧缓冲设备梗概(无法编译。。。)
- pcihp_skeleton.c - PCI 热插拔控制器基本驱动程序
- loopback.c - 一份简单的
net_device
,实现了ifconfig lo
- gpio_driver - 一个为树莓派 B+ 编写的 GPIO 驱动(未经完整测试验证)
资源
- 设备树 - 关于设备树的信息(越来越多地为新的嵌入式驱动程序所需要!)