Linux 设备驱动开发指南
1. 从 sysfs 了解系统设备与驱动
通过读取 sysfs,我们能够获取大量关于系统中设备(硬件)和驱动(软件)的信息。例如以下这些信息:
bdi force_ro mmcblk1p2 size
capability holders power slaves
dev inflight queue stat
device mmcblk1boot0 range subsystem
discard_alignment mmcblk1boot1 removable uevent
2. 寻找合适的设备驱动
2.1 嵌入式板设计与驱动需求
典型的嵌入式板基于制造商的参考设计,并进行了修改以适应特定应用。参考板附带的 BSP 应支持板上的所有外设。但在定制设计时,可能会添加各种外设,如通过 I2C 连接的温度传感器、通过 GPIO 引脚连接的灯和按钮、通过 MIPI 接口连接的显示面板等。此时,就需要寻找支持这些外设的设备驱动。
2.2 寻找驱动的途径
- 制造商网站或直接咨询 :这是最明显的途径,但硬件制造商可能不太熟悉 Linux,常提供误导性信息,如提供二进制 blob 形式的专有驱动,或提供的源代码适用于不同版本的内核。不过,仍可尝试此方法。
- 内核自带驱动 :主线 Linux 中有数千个驱动,供应商内核中也有许多特定于供应商的驱动。可按以下步骤查找:
超级会员免费看
订阅专栏 解锁全文
1399

被折叠的 条评论
为什么被折叠?



