免费教程_免费网赚教程_破解版软件-寂涯网络学习基地

当前位置: 主页 > 系统综合 > linux > 详解嵌入式Linux设备驱动程序(3)

详解嵌入式Linux设备驱动程序(3)

时间:2012-06-08 16:27来源:未知 整理:寂涯网络 点击:


(3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据。
(4)检测和处理设备出现的错误。
每个设备驱动程序都有以下几个特性:
(l)具有一整套的和硬件设备通讯的例程,并且提供给操作系统一套标准的
软件接口。
(2)有一个可以被操作系统动态调用和移除的自包含组件。
(3)可以控制和管理用户程序和物理设备之间的数据流。
 2.3设备驱动程序的基本结构
对用户程序而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供
了一致的接口。一般设备驱动程序可以分为三个主要组成部分〔川:
(l)自动配置和初始化子程序:自动配置和初始化子程序常在相应的driver
init()中实现,负责检测所要驱动的硬件设备是否存在和是否能正常工
作。如果该设备正常,则对这个设备及其相关的设备驱动程序需要的状
态进行初始化。这部分驱动程序仅在初始化的时候调用一次。
(2)服务于FO请求的子程序:它又称为驱动程序的上半部分,调用这部分
是由于系统调用的结果。这部分程序在执行的时候,系统仍认为是和进
行调用的进程属于同一个进程,只是由用户态变成了核心态,具有进
行此系统调用的用户程序的运行环境。因此可以在其中调用sleeP()等与
进程运行环境有关的函数。
(3)中断服务子程序:在Linux系统中,并不是直接从中断向量表中调用设
备驱动程序的中断服务子程序,而是由系统来接收硬件中断,再由系
统调用中断服务子程序。中断可以产生在任何一个进程运行的时候,因
此,在中断服务程序被调用的时候,不能依赖于任何进程的状态,也
就不能调用任何与进程运行环境有关的函数。因为设备驱动程序一般支
持同一类型的若干设备,所以一般在系统调用中断服务子程序的时候,
都带有一个或多个参数,以唯一标识请求服务的从设备。
 2.4Linux设备驱动与整个软硬件系统的关系
除网络设备外,字符设备与块设备都被映射到Linux文件系统与文件和目录,通
过文件系统调用接口open()、  wr1te()、read()、elose()等函数即可访问字符设备和
块设备。所有的字符设备和块设备很直观的呈现给用户。而块设备则会先建立一个磁
盘 /Flash文件系统,一般是FAT、Ext3、YAFF、JFFS等。应用程序可以通过调用Linux
的系统调用接口编程,而出于代码的可移植行考虑,更多的是使用C库函数。C库函数
也是通过系统调用接口来实现的tg]。图2一1形象的表述了LinuX设备驱动与整个软硬件
系统之间的关系。
Linux设备驱动一与整个软硬件系统的关系
2.5驱动程序开发流程
嵌入式Linux系统驱动程序开发与普通Linux区别在于编译时需进行交叉编译。
嵌入式设备由于硬件种类丰富,在缺省的内核发布版中不一定包括所有驱动程序,可
以在硬件生产厂家或者工nternet上寻找驱动程序,如果找不到,可以根据一个相近
硬件的驱动程序来改写,这样可加快开发速度「’‘)〕。
(1)定义主、次设备号,也可以动态获取;
(2)实现驱动初始化和清除函数。如果驱动程序采用模块方式,则要实现模块
初始化和清除函数;
(3)设计所要实现的文件操作,定义file_叩erations结构;
(4)实现所需的文件操作调用,如read、write等;
(5)实现中断服务函数(中断不是每个设备驱动都需要),并用request_irq向
内核注册;
(6)将驱动交叉编译到内核或交叉编译成模块,用insmod命令加载;
(7)用mknode生成设备文件。
2.6硬件平台
S3C244OA是一款实用的ARMg开发板。它采用 Samsung53C2440为微处理器,并
采用专业稳定的CPU内核电源芯片和复位芯片来保证系统运行时的稳定性。S3C244OA
的PCB采用沉金工艺的四层板设计,专业等长布线,保证关键信号线的信号完整性,
配合相应的手册,可以迅速让人掌握嵌入式Linux和winCE开发的流程。
其各项配置和参数如下
S3C244OA处理器,主频40OMHz,可倍频至533MHz;
64M字节SDRAM,可扩展到256M;
  ZMNORFlash;
64M字节 NANDFlash;
12MHz系统外部时钟源;32.768KHz的RTC时钟源;
支持3.3V或5V电压供电:
采用进口高质量板对板接插件,确保长期运行可靠性。
两个三线串口,一个TTL串口;
一个IOOM网口,采用DM9000AE,带联接和传输指示灯;

本页地址 http://www.jybase.net/linux/20120608946.html

百度搜索更多

谷歌搜索更多

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------

评价:
昵称: 验证码:点击我更换图片
推荐内容
赞助商
赞助商


关于本站免责声明视频更新google百度地图视频地图RRS订阅

如有什么问题请在本站留言,或发邮件到 hxt167#foxmail.com