四时宝库

程序员的知识宝库

Linux设备驱动简介(linux设备驱动详解)

linux设备驱动是对于存储器和外设而言的,可以分为3大类:

1、字符设备

2、块设备

3、网络设备

字符设备是以串行次序进行访问的设备,例如键盘、鼠标、触摸屏等设备;

块设备是以块为单位进行访问的设备,可以不按顺序访问,例如:硬盘、磁盘等设备;

网络设备是将上层协议传递过来的数据包以某种设备媒介进行发送,然后将接收到的数据包传递给上层协议。

在用户空间,如果要访问字符设备或者块设备,需要用到系统调用接口相关的接口函数,例如open()、close()、read()、write()等,访问网络设备用到的是套接字相关的接口。在Linux系统中,字符设备和块设备都可以看成文件,

上层应用程序可以使用系统调用接口,也可以使用C库函数,其实C库函数也是通过系统调用实现的,C库函数可移植性比较好。

实践是检验真理的唯一标准,驱动开发开发需要会读原理图和芯片数据手册,常用到的工具有万用表、示波器和逻辑分析仪,万用表主要用来测量电压值和电路板上的元器件的连通性,示波器将电信号转换成图像便于调试者观察分析问题,逻辑分析仪利用时钟从测试设备上采集数字信号并展示出来,一般由高低电平形成连续的波形,便于调试者观察分析问题。这3种设备根据问题的复杂性选择使用,后面会写关于这3种设备的介绍。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言
    友情链接