欢迎来到天天文库
浏览记录
ID:34410610
大小:235.94 KB
页数:3页
时间:2019-03-05
《linux系统pci设备驱动程序开发58483new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、维普资讯http://www.cqvip.comhttp://www.elecfans.com电子发烧友http://bbs.elecfans.com电子技术论坛计算机测量与控制.2005.13(11)ComouterMeasurement&Control·1289·文章编号:16714598(2005)11—1289—03中图分类号:文献标识码:ALinux系统PCI设备驱动程序开发董春桥,李凯(华中科技大学环境学院,湖北武汉430074)摘要:为了促进“Linux+PCI”技术在工控领域中的应用,通过对Linux系统中PCI局部总线规范实现
2、机制和Linux设备驱动模块的分析,给出了PCI设备驱动程序的基本结构、内容及开发方法;最后用一个基于Linux的数据采集系统PCI设备驱动程序开发实例证明该方法是可行的,而且具有通用性。关键词:L~nux;BIOS;PCI;设备驱动程序Development0fPCIDeviceDriversofLinuxDongChunqiao.LiKai(HuazhongUniversityofScienceandTechnology,Wuhan430074,China)Abstract:Inordertopromoteapplicationof“Lin
3、ux+PCI”inindustrycontrol。theimplementationmechanismofPCILocalBusSpecificationinLinuxandthestructureofdevicedriversareanalyzed,andabasicframework,contentofPEIdevicedriverinLinuxanditsdevelopingmethodaregiven.Finally,allexampleofPCIdevicedriverforadatacollectionsystemt~tifiest
4、hatthemethodisfeasibleanduniversa1.Keywords:Linux;BIOS:PCI;devicedriver间由256个8位寄存器组成,分成“预定义头标区”(64字O引言节)和“设备相关区”两个部分。预定义头标区寄存器布局随着PCI局部总线(PCILocalBus)技术在计算机系统中又可以分为3种,图1为‘0’类型预定义头标区的寄存器布的广泛采用,以PCI局部总线技术为接口的PCII/O设备也得局。其中有些寄存器是只可读的,有些是可读/写的;有些寄到了广泛的应用。但大多数PCII/0设备厂商在提供PCI板卡存器
5、是必选的,而有些是可选的。其中,可选寄存器是否得到时只有比较详细的Windows系统文档,这些文档包括Windows支持取决于PCI设备或卡的功能,但不论是否支持可选的寄存系统的驱动程序和相应的测试程序等,却往往没有相应的器,每种类型的布局结构必须保持一致。Linux系统设备驱动程序或其他文档,这就给以Linux系统为平台的应用带来了阻碍。DeviceIDDeviceIDLinux系统经过近几年的快速发展,已非常成熟和稳定,S啪8Command在各个领域得到了大量的应用。在以Linux系统为平台的虚拟a蚰lCodeRev.Ⅲ嘶咖mm喜写础mm蜘
6、仪表和控制系统中,各种符合PCI局部总线规范的I/O卡或设BISTlH1eapeder:备日益得到了广泛的应用。因而,研究PCI局部总线规范在Linux系统中的实现机制、开发Linux系统的PCI设备驱动程序就具有非常现实的应用价值。BaseAdd~ssae~sten1PCI简介PCI局部总线规范是一种替代ISA总线的技术规范,其CardbusCISPointer目标一是在计算机与外设之间提供性能更好的数据传输,二是SubsystemIDSubsystemv即dOrID使数据传输独立于CPU体系平台,三是取消硬件跳线和手工ExpansionRO
7、MBaseAddress配置,实现即插即用(PnP)的功能。为了实现上述目标,ReservedIReservedPCI局部总线规范详细定义了PCI技术的硬件接口和相应的软Max件接13L2]。本文只介绍与PCI设备驱动程序有关的基本内容,_LatIMin_Gnt’InterruptLine其他部分参见文献[1]和文献[2]。图1‘0’类型预定义头标区的寄存器布局PCI局部总线规范通过对硬件接口的定义不仅实现了性能在上述各寄存器中,PCI设备驱动程序最为关注的寄存器更好的数据传输和独立于CPU平台的目标,而且还利用标准并不多。其中,“Vendor
8、ID”和“DeviceID”用于标识设备;化的配置空间(configur~ionspace)和对该空间操作函数的定“BaseAddressRegist
此文档下载收益归作者所有