下载此文档

实验八 IO口驱动实验.doc


文档分类:通信/电子 | 页数:约10页 举报非法文档有奖
1/10
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/10 下载此文档
文档列表 文档介绍
【实验目的】1、了解PXA270微处理器GPIO的功能2、熟悉PXA270微处理器GPIO驱动程序的编写方法3、掌握驱动程序的加载过程和方法【实验原理】 Linux以模块的形式加载设备类型,通常来说一个模块对应一个设备驱动,因此是可以分类的。将模块分成不同的类型或者类并不是一成不变的,开发人员可以根据实际工作需要在一个模块中实现不同的驱动程序。一般情况,一个设备驱动对应一类设备的模块方式,这样便于多个设备的协调工作也利于应用程序的开发和扩展。 设备驱动在准备好以后可以编译到内核中(参考实验四的内容),在系统启动时和内核一起启动,这种方法在嵌入式Linux系统中经常被采用。通常情况下设备驱动的动态加载更为普遍(参考实验七的内容),开发人员不必在调试过程中频繁启动机器就能完成设备驱动的开发工作。 设备驱动在加载时首先调用入口函数init_module(),该函数完成设备驱动的初始化工作,比如寄存器置位、结构体赋值等一系列工作,其中最重要的一个工作就是向内核注册该设备,对于字符设备调用register_chrdev()完成注册,对于块设备需要调用register_blkdev()完成注册。注册成功后,该设备获得了系统分配的主设备号、自定义的次设备号,并建立起于文件系统的关联。设备在卸载时需要回收相应的资源,令设备的响应寄存器复位并从系统中注销该设备,字符设备调用unregister_chrdev()、块设备调用unregister_blkdev()。系统调用部分则是对设备的操作过程,比如open、read、write、ioctl等。图8-1为一个设备驱动模块动态挂载、卸载和系统调用的全过程。图8-1设备驱动在内核中的挂载、卸载和系统调用过程 设备驱动程序负责将应用程序如读、写等操作正确无误的传递给相关的硬件,并使硬件能够做出正确反应的代码,因此在编写设备驱动程序时,必须要了解相应的硬件设备的寄存器、IO口及内存的配置参数。1、硬件接口电路介绍(1)、LED和八段数码显示接口电路 目标板LED和八段数码显示接口电路如图8-2所示,74HC574为D锁存器,在时钟信号CLK作用下,该锁存器将输入信号进行锁存,即xQ=xD(x=1~8)。从图中可以看出,LED和八段数码显示电路将74HC574的时钟信号输入端作为片选信号,其中LED显示的片选信号为LED_CS4、八段数码显示的片选信号为LED_CS1。在八段数码显示电路中,8位数据的高位(D7、D15:即数码管的小数点dp段)用作八段数码的公共选通信号,通过控制PNP三极管来控制数码管的显示。图8-2LED和八段数码显示接口电路 显示电路中的片选信号LED_CSx,由目标板系统的PXA270xCPU的地址信号BA22~BA20通过3-8译码器LC138产生(如图8-3所示)。图8-3片选信号产生电路由图可知,当BA22、BA21、BA20=101时产生LED显示电路的片选信号LED_CS4,当BA22、BA21、BA20=010、011、100时分别产生八段数码显示电路的片选信号LED_CS1、LED_CS2、LED_CS3(另外2组八段显示电路参考系统提供的总电路图)。(2)、键盘接口电路 目标平台提供了阵列键盘(如图8-4所示)和单按键键盘(如图8-5所示)两种键盘接口电路,其中阵列键盘中行控制信号线KP-

实验八 IO口驱动实验 来自淘豆网m.daumloan.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数10
  • 收藏数0 收藏
  • 顶次数0
  • 上传人xyb333199
  • 文件大小332 KB
  • 时间2019-04-06