资料介绍
嵌入式Linux是一种很受欢迎的操作系统,具有开放源码、不存在黑箱威廉希尔官方网站
、内核小、功能强大、运行稳定、效率高、易于定制裁减等特点[1],广泛应用于工控产品。很多工控产品需要和外部设备进行信息交换,而串口通信是最简单快捷的实现方法。在不同的工控产品中,由于对所选用的串口元件或者串口通信的数据格式、波特率等有不同的需求,需要对串口驱动进行开发。华邦W90P710采用ARM的ARM7TDMI微处理器核心,采用?滋CLinux-2.4.20内核,支持4组通用异步接收发送口(UART),下面基于华邦W90P710的串口驱动详细分析串口驱动的实现方法,实现嵌入式设备通过串口对外通信。
1 华邦W90P710 UART介绍
华邦W90P710支持4组UART,串口的控制主要通过以下寄存器实现[2]:
(1)行寄存器(UART_LCR):设置数据位长度、奇偶校验、停止位数。
(2)波特率除数寄存器(UART_DLL、UART_DLM):波特率发生器的公式为:BaudOut=crystal clock/16×[Divisor +2],Divisor为当前波特率。
(3)Modem控制寄存器(UART_MCR):控制RTS、CTS等信号。
(4)FIFO控制寄存器(UART_FCR):设置FIFO的长度,复位FIFO等控制。
(5)接收超时寄存器(UART_TOR):收到首个字节后接收器启动本超时,之后每收到一个字节后都会重置该值,在此超时时间内不再收到数据时,接收器会产生一个接收中断。
(6)中断控制器(UART_IER):设置接收、发送、行中断等。
在使用RXDn、TXDn前必须对GPIO进行配置,使能RXDn、TXDn,串口才可正常运行。GPIO配置对应表如表1所示。
2 Linux系统驱动介绍
设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。同时,设备驱动程序是内核的一部分[3]。图1所示为设备驱动程序接口流程图。
Linux系统的设备分为字符设备、块设备和网络设备三种。字符设备是指存取时没有缓存的设备,只能顺序读写。典型的字符设备包括鼠标、键盘、串行口等;块设备一般都有缓存来支持,并且块设备必须能够支持随机存取。块设备主要包括硬盘设备、CD-ROM等;网络设备在Linux系统中用做专门的处理,Linux的网络系统主要是基于BSD Unix的socket机制[4]。
1 华邦W90P710 UART介绍
华邦W90P710支持4组UART,串口的控制主要通过以下寄存器实现[2]:
(1)行寄存器(UART_LCR):设置数据位长度、奇偶校验、停止位数。
(2)波特率除数寄存器(UART_DLL、UART_DLM):波特率发生器的公式为:BaudOut=crystal clock/16×[Divisor +2],Divisor为当前波特率。
(3)Modem控制寄存器(UART_MCR):控制RTS、CTS等信号。
(4)FIFO控制寄存器(UART_FCR):设置FIFO的长度,复位FIFO等控制。
(5)接收超时寄存器(UART_TOR):收到首个字节后接收器启动本超时,之后每收到一个字节后都会重置该值,在此超时时间内不再收到数据时,接收器会产生一个接收中断。
(6)中断控制器(UART_IER):设置接收、发送、行中断等。
在使用RXDn、TXDn前必须对GPIO进行配置,使能RXDn、TXDn,串口才可正常运行。GPIO配置对应表如表1所示。
2 Linux系统驱动介绍
设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以像操作普通文件一样对硬件设备进行操作。同时,设备驱动程序是内核的一部分[3]。图1所示为设备驱动程序接口流程图。
Linux系统的设备分为字符设备、块设备和网络设备三种。字符设备是指存取时没有缓存的设备,只能顺序读写。典型的字符设备包括鼠标、键盘、串行口等;块设备一般都有缓存来支持,并且块设备必须能够支持随机存取。块设备主要包括硬盘设备、CD-ROM等;网络设备在Linux系统中用做专门的处理,Linux的网络系统主要是基于BSD Unix的socket机制[4]。
下载该资料的人也在下载
下载该资料的人还在阅读
更多 >
- 基于MDK的STM32处理器开发应用.zip
- 适用于16位处理器的VisualDSP++3.5内核VDK用户指南
- 到底64位处理器和32位处理器有什么区别呢?资料下载
- “硬件软件化”,32位处理器的开发与8位处理器的开发资料下载
- 晶晨S905X4处理器快速参考手册下载 24次下载
- STM32处理器上的示例
- 基于MDK的STM32处理器开发应用PDF电子教材免费下载 59次下载
- M3处理器的详细原理图资料免费下载 58次下载
- 基于STM32处理器的μC_OS_移植 6次下载
- 在W78E58处理器上移植的uCOS-II 12次下载
- 华清远见FPGA代码-使用函数实现简单的八位处理器 4次下载
- Cortex-A9处理器系列 27次下载
- 嵌入式设计及Linux驱动开发指南——基于ARM 9处理器(电子工业出版社+2005) 0次下载
- 华邦ARM W90N740芯片及其在税控机和路由器上的应用
- 基于ARM的PC/104处理器模块设计
- 基于Linux和XScale PXA270处理器实现信息交互系统的设计 2035次阅读
- 基于LPC2114处理器实现人形机器人控制系统的设计 3334次阅读
- 分析Cortex-A7处理器与Cortex-A15处理器各自的优势及区别 6605次阅读
- 华为麒麟980处理器规格曝光 5209次阅读
- cortex-a9是什么处理器_cortex-a9处理器介绍 2.5w次阅读
- TMS320C6678处理器的VLFFT演示探讨与研究 4220次阅读
- 搭载联发科p10处理器的手机有哪些 2.5w次阅读
- 联发科p25处理器安兔兔跑分_p25处理器游戏性能评测 7.1w次阅读
- a11处理器比a10快多少_A11处理器性能媲美英特尔i7? 1105次阅读
- 骁龙625处理器与骁龙652处理器对比评测 10.3w次阅读
- 详细剖析高通发布的骁龙845处理器 5279次阅读
- 单一处理器简化RFID读取器设计及RFID系统范例分析 1196次阅读
- 32位嵌入式处理器与8位处理器应用开发的区别 1528次阅读
- 苹果推出64位处理器:对手机而言,意味着什么? 3983次阅读
- 高通披露Snapdragon 400和200处理器细节 1135次阅读
下载排行
本周
- 1电子电路原理第七版PDF电子教材免费下载
- 0.00 MB | 1490次下载 | 免费
- 2单片机典型实例介绍
- 18.19 MB | 92次下载 | 1 积分
- 3S7-200PLC编程实例详细资料
- 1.17 MB | 27次下载 | 1 积分
- 4笔记本电脑主板的元件识别和讲解说明
- 4.28 MB | 18次下载 | 4 积分
- 5开关电源原理及各功能电路详解
- 0.38 MB | 10次下载 | 免费
- 6基于AT89C2051/4051单片机编程器的实验
- 0.11 MB | 4次下载 | 免费
- 7蓝牙设备在嵌入式领域的广泛应用
- 0.63 MB | 3次下载 | 免费
- 89天练会电子电路识图
- 5.91 MB | 3次下载 | 免费
本月
- 1OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 2PADS 9.0 2009最新版 -下载
- 0.00 MB | 66304次下载 | 免费
- 3protel99下载protel99软件下载(中文版)
- 0.00 MB | 51209次下载 | 免费
- 4LabView 8.0 专业版下载 (3CD完整版)
- 0.00 MB | 51043次下载 | 免费
- 5555集成电路应用800例(新编版)
- 0.00 MB | 33562次下载 | 免费
- 6接口电路图大全
- 未知 | 30320次下载 | 免费
- 7Multisim 10下载Multisim 10 中文版
- 0.00 MB | 28588次下载 | 免费
- 8开关电源设计实例指南
- 未知 | 21539次下载 | 免费
总榜
- 1matlab软件下载入口
- 未知 | 935053次下载 | 免费
- 2protel99se软件下载(可英文版转中文版)
- 78.1 MB | 537791次下载 | 免费
- 3MATLAB 7.1 下载 (含软件介绍)
- 未知 | 420026次下载 | 免费
- 4OrCAD10.5下载OrCAD10.5中文版软件
- 0.00 MB | 234313次下载 | 免费
- 5Altium DXP2002下载入口
- 未知 | 233045次下载 | 免费
- 6电路仿真软件multisim 10.0免费下载
- 340992 | 191183次下载 | 免费
- 7十天学会AVR单片机与C语言视频教程 下载
- 158M | 183277次下载 | 免费
- 8proe5.0野火版下载(中文版免费下载)
- 未知 | 138039次下载 | 免费
评论
查看更多