知识卡片

驱动接口抽象设备

普通读书笔记卡 · 1794.c

内容

Open、Close、Read、Write、IOCTL 这类驱动接口把不同外设统一成少数操作,既能屏蔽设备差异,也能让调用方按能力而非型号编程。发散:好的驱动接口应表达“这个设备能做什么”,而不是泄露“这个芯片怎么接线”。

参考来源

- 位置:《嵌入式系统设计与实践》第2章《创建系统架构》"2.2.3 驱动程序接口:打开(Open)、关闭(Close)、读(Read)、写(Write)和输入输出控制(IOCTL)"一节(源文件:_epub-src/OEBPS/text00019.html) - 结论依据:原文明确"许多嵌入式系统中的驱动程序都是基于UNIX系统上的应用程序编程接口(API)去调用设备……UNIX驱动程序的接口是简洁明了的",并逐一说明open/close/read/write/ioctl的职责,指出这样设计"驱动程序也更少地针对特定的应用程序,便于创建可重用的代码"。 - 原始内容:许多嵌入式系统中的驱动程序都是基于UNIX系统上的应用程序编程接口(API)去调用设备……UNIX驱动程序的接口是简洁明了的:Open 打开驱动设备……Close 清除驱动程序……read 从设备读取数据……write 将数据发送到设备……这个接口让驱动程序层的操作直接明了,同时驱动程序也更少地针对特定的应用程序,便于创建可重用的代码。