第六章 串口UART驱动程序开发_第1页
第六章 串口UART驱动程序开发_第2页
第六章 串口UART驱动程序开发_第3页
第六章 串口UART驱动程序开发_第4页
第六章 串口UART驱动程序开发_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.,197,第6章串口UART驱动程序开发,驱动程序的框架及其例子Makefile文件的基本语法串口驱动程序的开发,.,198,1.驱动程序的基本框架,.,199,模块的加载和卸装,.,200,一个2.6内核字符设备驱动,书上的例子是基于linux2.4内核的,2.6内核在具体实现细节上有了新的变化。书上的例子不能直接在2.6内核上运行。这里给出一个具体可以运行的基于2.6内核的驱动程序和测试代码。,.,201,一个2.6内核字符设备驱动,File_operations是应用程序和驱动程序的接口,file_operation把系统调用和驱动程序关联起来的关键数据结构。这个结构的每一个成员都对应着一个系统调用,.,202,Makefile,.,203,Test.c,.,204,UART介绍,RS232-C异步串行接口,传统上采用专用的集成电路即通用异步收发器(UniversalAsynchronousReceiverandTransmitter,UART)实现,UART作为计算机I/O接口中的重要组成部分,主要用于进行串行和并行数据流之间的变换。收发双方取得同步的方法是采用固定的串行数据格式,即在数据格式设置中分别加起始位和停止位,来标志一个数据帧的开始和结束。其串行数据格式如图2所示,包括1位起始位,58位数据位,1位奇偶校验位(可选),1位停止位。,.,205,UART硬件实现,.,206,UART硬件实现,.,207,驱动开发所要了解的知识,实现这么复杂,我真要去了解吗?我应该知道哪些知识?驱动开发人员不用去关心硬件如何实现,只要关心硬件实现的结果是什么。硬件把结果写在寄存器里面所以驱动开发人员只要了解如何使用寄存器就可以了,,.,208,UART中的寄存器,UART2数据寄存器UARTDR,对应的地址:0 xff001480RXdata是要接收和发送8位读写数据。,.,209,UART中的寄存器,UART2波特率和行控制器UBRLCR2,对应的地址:0 xff0014c0本例里中对其设置0 x00070001。*(volatileunsignedlong*)0 xff0014c0=0 x00070001WRDLEN=2b11;FIFOEN=1b1;BitRateDivisor=12b1;,.,210,UART中的寄存器,UART2系统标志寄存器SYSFLG,对应的地址:0 xff001140URXFE2:UART2接收FIFO空标志URXFF2:UART2发送FIFO满标志该寄存器的读取:inti=*(volatileunsignedlong*)0 xff001140,.,211,UART2驱动程序设计,Uart是字符备,在linux设备中是比较简单的。应用程序可以利用它提供给文件系统的接口对它进行操作,包括对设备的打开、读/写及关闭。字符设备对数据的操作以字节库单位,它可以发送或接收一个字符流。驱动程序的几大部分:1.初始化和释放2.与应用程序的接口设计,file_operations3.内部函数的实现,.,212,初始化和释放,在使用uart2之前,必须保证已经对它进行了注册。在设备初始化函数intuart2_kernel_init(void)中调用regiset_chrdev()函数完成这项工作Register_chrdev(UART2_MAJOR,”uart2_ep7312”,if(fd=open(“/dev/uart2”,0)0)printf(“cannotopen/dev/uart2n”)ex

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论