linux应用程序驱动程序基础,linux设置驱动程序基础.pdf

linux设置驱动程序基础

Linux

设备驱动程序基础

嵌入式Linux设备驱动程序基础

 设备驱动简介和作用

 无操作系统设备驱动

 Linux操作系统设备驱动

 Linux设备驱动分类

 Linux设备驱动管理

 Linux设备驱动开发调试技术

 Linux内核模块简单实例

 Linux内核模块编译和装载

设备驱动简介和作用

设备驱动是应用程序和硬件设备之间接口,

有了设备驱动编写应用程序就可以使用驱动程序

提供的接口访问硬件,而不必了解硬件的具体情

况,有了设备驱动上层程序员才能在不了解硬件

细节的基础上完成应用程序的开发。

设备驱动程序的作用在于提供机制,而不是

提供策略,编写访问硬件的驱动代码时不要给用

户强加任何策略。

○ 机制:驱动程序能实现什么功能。

○ 策略:用户如何使用这些功能。

无操作系统设备驱动(1)

用于功能比较单一,控制并不复杂的系统,如

公交刷卡机,电冰箱,微波炉,简单的手机和小灵通

等,并不需要多任务调度,文件系统,内在管理等复

杂的功能,用单任务架构完全可以很好的支持.

特点:一个无限循环中夹杂对设备中断的检测

或对设备的轮询是这种系统中软件的典型架构.

无操作系统设备驱动(2 )

应用软件

无操作系统时,应用程序

直接通过设备驱动提供的接

设备驱动

口访问硬件,驱动程序工程

师只需要向应程序工程师提

供驱动程序接口(函数调 硬件

用),应用程序工程师就能 无操作系统时应用程序、驱动

够通过这些接口访问硬件 程序和硬件之间的关系

示例:led_driver.c

Linux操作系统设备驱动(1)

应用层

系统调用接口

虚拟文件接口(VFS)

设备驱动

字符设备 块设备 网络设备

设备接口

设备

Linux设备驱动层次结构

Linux操作系统设备驱动(2 )

在Linux操作系统中,设备驱动位于虚拟

文件接口层和设备接口层(如GPIO接口、usb接

口)之间,驱动程序工程师在编写Linux设备驱

动时就不能根据自己的规范向应用层提供接口。

驱动工程师必须按照Linux的规范实现与上层

(虚拟文件层)和下层(设备接口)的衔接。驱

动工程师还需要根据Linux的规范向内核注册自

己的驱动程序,这样系统才能维护才能维护我们

的驱动程序,同时使用系统的各种资源。编写

Linux设备驱动就是在Linux系统提供的架构中

实现自己的功能。

Linux设备驱动学习方法

首先掌握驱动程序(字符设备、块设备、

网络设备)的架构;再掌握驱动程序必备的知识

要点(如:中断、阻塞、内核定时器等),其实

学起来和高级编程中的系统调用差不多;学到这

一步你已经基本上已近接触了开发Linux设备驱

动用到的所有知识;再经过几个简单的实例你已

经跨入了Linux驱动开发的大门,可以开发自己

的Linux设备驱动,当然是简单一些的。我们会

带领大家一步步实现。最后,等你有了丰富的经

验,掌握了linux设备驱动的各种模型,你就成

为了一个高级Linux设备驱动工程师。

Linux设备驱动与整个软硬件系统的关系

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值