Linux 驱动程序 概说

P { MARGIN-TOP: 0px; MARGIN-BOTTOM: 0px }

早期驱动程序,每个应用单独开发驱动程序,不能复用

驱动程序要设计成共用接口,复用性

驱动程序工程师与应用程序工程师共同定义接口函数

如果接口函数需要修改参数,会导致应用程序同样修改

驱动分类

字符设备、网络接口、块设备

字符设备:按字节来访问,通常实现open, close, read, write系统调用

UNIX系统中,块设备不能按字节处理数据,一次只能传输512(1024,4096)字节的整块数据。

Linux系统中允许块设备传送任意数目的字节 。因此块与字符设备的区别在于驱动与内核的接口不同。

字符设备不能随机访问,块设备可以。

网络接口:RJ45网卡、回环接口(lo, loopback),负责发送和接收数据报文

驱动程序的安装

1、模块方式(开发过程)

无需公布源代码

2、直接编译进内核(发布阶段)

需要公布源代码,License考虑

把驱动编译进内核

 

需要修改两个文件Kconfig, Makefile

Kconfig:

猜你喜欢

转载自jimouyang.iteye.com/blog/869498