ARM stm32 嵌入式 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—),男,硕士,研究方向为嵌入式软件开发。
: 嵌入式 Linux 下 GPIO 驱动程序的开发及应用 泉 273 函数 register _ chrdev ( ) 在 < linux/ f s. h > 中定 义 ,用于向内核注册 GPIO 字符设备 ...
嵌入式Linux下的GPIO字符设备驱动程序的开发及应用_计算机软件及应用_IT/计算机_专业资料。龙源期刊网 http://www.qikan.com.cn 嵌入式 Linux 下的 GPIO 字符...
嵌入式Linux中GPIO驱动程序开发_IT/计算机_专业资料。Linux GPIO驱动开发·12· 仪表技术 2009 年第 6 期 嵌入式 L i nux中 GP IO 驱动程序开发李 ,胡荣强...
2007 嵌入式 Linux 下 GPIO 驱动程序的开发及应用* 何泉, 贺玉梅北京 100029) ( 北京化工大学 信息科学与技术学院 摘 要 : 嵌 入式 L inux 是一种适用于...
嵌入式Linux下的GPIO字符设备驱动程序的开发及应用_计算机软件及应用_IT/计算机_专业资料 暂无评价
嵌入式Linux下GPIO驱动程序的开发及应用嵌入式Linux下GPIO驱动程序的开发及应用隐藏>> 分享到: X 分享到: 使用一键分享,轻松赚取财富值, 了解详情 嵌入播放...
第五讲 嵌入式Linux驱动程序开发_信息与通信_工程科技_专业资料。嵌入式Linux...int __init gpio_init(void) { int i; //可以看到下面这句向操作系统注册...
第7章 嵌入式Linux设备驱动程序开发 第7章 嵌入式Linux设备驱动程序开发 9.1 嵌入式Linux的设备管理 9.2 设备驱动模块化编程 9.3 GPIO字符设备驱动程序设计 9...
第七章嵌入式Linux设备驱动程序开发 目录 本章导读 嵌入式Linux的设备管理 设备驱动模块化编程 GPIO字符设备驱动程序设计 A/D转换器驱动程序设计 IC卡驱动程序设计 ...

我要评论