首页
会员中心
到顶部
到尾部
计算机

Linux下的驱动程序开发

时间:2020/10/27 9:20:33  作者:  来源:  查看:0  评论:0
内容摘要:      摘要:本文主要从学习Linux下驱动程序的基本概念入手,了解Linux下驱动程序的结构和框架。通过自己的学习深入了解在Linux环境下开发驱动程序的过程,通过学习,我们自己动手编写了一个USB的鼠标和键盘驱动程序。这对...

      摘要:本文主要从学习Linux下驱动程序的基本概念入手,了解Linux下驱动程序的结构和框架。通过自己的学习深入了解在Linux环境下开发驱动程序的过程,通过学习,我们自己动手编写了一个USB的鼠标和键盘驱动程序。这对我们来说是一个从无到有的过程。
关键词:Linux、驱动程序

引言
Linux设备驱动程序分类
      Linux系统将设备分为三类:字符设备(Char Device)、块设备(Block Device)和网络设备(Network Device)三种。
字符设备(Char Device)是指存取时没有缓存的设备,典型的字符设备包括鼠标,键盘,串行口等。
块设备(Block Device)是指读写都有缓存来支持,并且块设备必须能够随机存取(random access),字符设备则没有这个要求。块设备主要包括硬盘设备,CD-ROM等。
网络设备(Network Device)在Linux里做专门处理。Linux的网络系统主要是基于BSD Unix的socket机制。在系统和驱动程序之间定义有专门的数据结构(sk_buff)进行数据的传递。系统里支持对发送数据和接收数据的缓存,提供流量控制机制,提供对多协议的支持。

Linux下驱动程序的几个基本概念
在学习Linux下的驱动程序的时候,经常会遇到以下一些概念。
1 轮询与中断
内核与外设间的数据传输一般可以采用轮询(polling)或中断(interrupt)方式。
轮询方式:轮询方式的驱动程序在启动设备后会连续读取设备状态直到设备完成操作,处于用户空间的进程进入内核开始执行设备驱动程序。当设备执行I/O操作时,与其相应的任务周期性地轮询设备状态寄存器以决定操作何时完成。
 

Tags:Linux



相关评论
广告联系QQ:45157718 点击这里给我发消息 电话:13516821613 杭州余杭东港路118号雷恩国际科技创新园  网站技术支持:黄菊华互联网工作室 浙ICP备06056032号