嵌入式linux驱动之———概览

一、什么是驱动?

驱动全称Device Driver,也称做设备驱动程序。驱动程序是用于计算机和外部设备通信的特殊程序,相当于软件和硬件的接口,通常只有操作系统能使用驱动程序。在现代计算机体系结构中,操作系统并不直接与硬件打交道,而是通过驱动程序与硬件通信。

Linux系统把设备驱动分成字符设备、块设备和网络设备3种类型。内核为设备驱动提供了注册和管理的接口,设备驱动还可以使用内核提供的其他功能,以及访问内核资源。

 二、驱动和应用程序、硬件之间有什么关系?

正如上图所显示的那样,用户空间的应用开发者,只需要通过C库来和内核空间打交道;而内核空间通过系统调用和VFS(virtual file system),来调用各类硬件设备的驱动。如果,有过单片机的经验,那么一定知道,操作硬件简单来说就是操作对应地址的寄存器中的内容。而硬件驱动实际就是和这些寄存器打交道的。通过操作对应硬件的寄存器来直接的控制硬件设备。

那么,对于上面这幅图可以看出,驱动程序实际也是内核的一部分,当然可以把代码直接放到内核中一起编译出来。但是对于很多开发板来说,内核来说早已经编译完成运行在开发板上,那么是不是必须要重新编译并烧写整个内核呢?
换到我们使用pc来说,显然不是这样,如果我们购买了一个键盘,为了键盘还需要重新安装对应的操作系统,那么未免也太不方便,并且我们的使用经验也并非如此。而在之前谈到的内核编译过程中,可以将一些模块编译为module的方式编译,在运行时加载该模块即可,而不用每次都需要完整的对内核进行编译。
 

REF:

嵌入式Linux驱动开发(一)——字符设备驱动框架入门 - 简书

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值