学海网 文档下载 文档下载导航
设为首页 | 加入收藏
搜索 请输入内容:  
 导航当前位置: 文档下载 > 所有分类 > IT/计算机 > 嵌入式Linux中GPIO驱动程序开发

嵌入式Linux中GPIO驱动程序开发

ARM stm32 嵌入式 Linux GpIO

嵌入式Linux中GPIO驱动程序开发

12

仪表技术  2009年第6期

嵌入式Linux中GPIO驱动程序开发

李 涛,胡荣强,张亦敏

(武汉理工大学自动化学院,湖北武汉430070)

  摘要:结合嵌入式开发板S3C2410的GPIO驱动程序的开发,对Linux字符设备驱动程序的组成、实现、调试和发布方法进行了详细地论述。开发嵌入式Linux下的设备驱动程序,可以更好地利用新硬件特性,提高系统访问硬件的效率,提供更多的功能。

关键词:嵌入式Linux;设备驱动程序;内核模块;GPIO

中图分类号:TP39        文献标识码:B        :06-0012-03

DevelopmentofGPIODeviceDriux

LITao,HURong(SchoolofAutomation,Wuhan430070,China)

Abstract:Thecomponents,iponofLinuxcharacterdevicedriversarediscussedindetailcombiningwiththeIOontheS3C2410embeddeddevelopmentboard.Thus,wecantakebetteradvantageofneimprovetheefficiencyofaccessingthehardwaresystemandprovidemorefunctionality.

Keywords:embeddedLinux;devicedriver;kernel;GPIO

0 引言2 设计思想

Linux提供了一种全新的“模块”机制,可根据需

在嵌入式操作系统中,Linux被广泛应用。Linux下设备驱动程序的编写要点是为相应的设备编写完成相应功能的基本函数,然向虚拟文件系统(VFS)注册。当应用程序需要对设备进行操作时,可以访问该设备对应的文件节点,利用VFS调用该设备的相关处理函数即可。1 设备管理概述

要在不必对内核进行重新编译的情况下,将可加载模

块动态地插入运行中的内核,成为内核的一个有机组成部分;也可以动态地卸载已加载的模块。

在Linux操作系统中设备驱动程序是操作系统内核与硬件设备之间的桥梁,它屏蔽了硬件的细节(如总线协议、DMA操作等),在应用程序看来硬件设备只是一个特殊的文件。

以模块化开发设备驱动程序,将块设备当成块序列,以字节流的形式对块设备进行读写,需要解决的接口函数为file_operations结构,主要实现以下几个接口函数:open、read、write、ioctl等和二个加载和卸载模块的系统函数module_init和module_exit。3 设备驱动程序

设备驱动程序,它直接与相应设备打交道,并且向上层提供一组访问接口。内核常常使用设备类型、主

设备号和次设备号来标识一个具体的设备。在设备管理中,用户可以像访问普通文件一样访问外部设备。

在Linux中,所有的硬件设备均被当作特殊的设备文件处理,可以使用标准的文件操作。对于字符设备和块设备,其设备文件用mknod命令创建,用主设备号和次设备号标识,同一个设备驱动程序控制的所有设备具有相同的主设备号,并用不同的次设备号加以区别;然后,对设备进行操作的系统调用和对文件操作类似;最后通过内核将系统调用转换成对物理设备的操作。

驱动程序是指一组子程序,它屏蔽了底层硬件处理细节,同时向上层软件提供与硬件无关的接口,在Linux内核中占据极其重要的地位,是用来完成对物理设备控制操作的功能模块,设备驱动程序控制操作系统和硬件设备访问的交互操作,是操作系统的重要组

  收稿日期:2009-03  作者简介:李涛(1981—),男,硕士,研究方向为嵌入式软件开发。

第1页

TOP相关主题

  • linux gpio驱动
  • linux gpio 中断
  • linux gpio驱动框架
  • linux gpio
  • linux gpio操作
  • linux i2c gpio
  • linux驱动程序开发
  • linux嵌入式开发

我要评论

相关文档

站点地图 | 文档上传 | 侵权投诉 | 手机版
新浪认证  诚信网站  绿色网站  可信网站   非经营性网站备案
本站所有资源均来自互联网,本站只负责收集和整理,均不承担任何法律责任,如有侵权等其它行为请联系我们.
文档下载 Copyright 2013 doc.xuehai.net All Rights Reserved.  email
返回顶部