Advertisement

开发——字符设备驱动(1)

阅读量:

一、驱动含义

字符设备是Linux系统中驱动程序的基础类型之一,其本质是以单个字节为单位进行数据读写操作的设备,且数据传输具有严格的顺序性。例如,常见的如LED控制、按键检测、IIC通信、SPI接口以及LCD显示等硬件模块均属于字符设备范畴,对应的驱动程序则被归类为字符设备驱动。
在Linux系统中,应用程序通常运行于用户空间,用户主要负责编写应用层代码。然而,若需与内核空间的驱动程序进行交互,则必须掌握应用程序调用内核驱动的具体机制。Linux环境下应用程序对驱动程序的调用流程如图所示:

在这里插入图片描述

在Linux系统中,所有资源均以文件形式进行管理。当驱动程序成功加载后,会在“/dev”目录下生成对应的文件。应用程序通过操作该文件,例如“/dev/xxx”(其中xxx代表具体的驱动文件名称),即可完成对相关硬件的控制。

应用程序运行于用户空间,而Linux驱动则属于内核模块的一部分,因此其运行环境位于内核空间。当用户希望在用户空间执行对内核的操作时,例如调用open函数以访问“/dev/led”设备文件时,由于用户空间无法直接访问内核,必须借助一种称为“系统调用

全部评论 (0)

还没有任何评论哟~