阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
学习中心> 物联网开发 - Linux驱动开发实操演练> 正文

物联网开发 - Linux驱动开发实操演练

12课时 |
217人已学 |
免费
课程介绍
字符设备是Linux系统三大类设备之一,也是应用最广泛的一类设备,本课程将围绕字符设备讲解字符设备驱动的编写,编译及使用。本课程可以掌握字符设备驱动,驱动的概念,内核模块,字符设备驱动等知识。本课程由千锋教育提供。

 

驱动简介

 

内容介绍

一、驱动的概念

二、驱动的地位

 

一、驱动的概念

1、软件驱动

(1)、驱动的作用

驱动硬件,使硬件处于某种工作模式,提供控制硬件方法。

在学习linux驱动之前,大家可能接触过某个代码,比如,做单片机开发肯定操作过硬件设备。当时在操作硬件设备时,大部分人是在裸机上进行操作开发。在裸机上开发时,可能会编写软件代码控制单面机,驱动硬件工作。

我们编写各种硬件设备的init函数也称初始化函数、操作控制的函数比如输出:

gpio_out()、输入:gpio_int()、

某些通讯方式:sent()、recv()收发数据等等,提供这些方法。

在main函数里调用这些方法,首先,调用init数字化,接下来编写一个while循环,在循环里编写相应的操作。



在这个过程中,初始化、硬件设备的控制都属于对硬件设备的驱动工作,对硬件设备的操作都放在main函数里面。

之前大家在做开发时没有驱动的概念是因为我们把驱动和对硬件设备的操作放在一起没有讲什么是驱动,现在linux操作系统运行以后,从整体上分成了两层,一是应用层,二是内核层。

在操作系统运行时必须有一个硬件,系统软件必须运行在硬件平台上才能工作,在此我们只提设备这个硬件平台。

层次清楚之后,首先了解一下内核层。现在我们使用的内核linux内核。

 

之前我们学习linux操作系统时,linux操作系统有五大功能,分别是进程管理、内存管理、文件系统、网络、设备控制,其中的设备控制功能与今天所讲内容相关。

设备控制是内核提供的功能用来管理编写的驱动。

驱动是由内核驱动控制统一管理,驱动在编写时必须遵循内核提供的驱动框架。驱动只是完成对设备的驱动工作,应用层的应用程序完成对设备的具体操作,应用层通过系统调用操作驱动。

 

 

二、驱动地位

1、驱动是连接内核与设备的桥梁

 

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品