易截截图软件、单文件、免安装、纯绿色、仅160KB

linux UART串口驱动


linux UART串口驱动开发文档
时间:2010-01-09 14:24:55来源:网络 作者:未知 点击:482次
内容简介: 介绍了Linux下的串口驱动的设计层次及接口, 并指出串口与TTY终端之间的关联层次(串口可作TTY终端使用), 以及Linux下的中断处理机制/中断共享机制, 还有串口缓冲机制当中涉及的软中断机制; 其中有关w83697/
内容简介: 介绍了Linux下的串口驱动的设计层次及接口, 并指出串口与TTY终端之间的关联层次(串口可作TTY终端使用), 以及Linux下的中断处理机制/中断共享机制, 还有串口缓冲机制当中涉及的软中断机制; 其中有关w83697/w83977 IC方面的知识, 具体参考相关手册, 对串口的配置寄存器有详细介绍, 本文不再进行说明.
目录索引:
一. Linux的串口接口及层次.
二. Linux的中断机制及中断共享机制.
三. Linux的软中断机制.
四. TTY与串口的具体关联.
一. Linux的串口接口及层次.
    串口是使用已经非常广的设备了, 因此在linux下面的支持已经很完善了, 具有统一的编程接口, 驱动开发者所要完整的工作就是针对不同的串口IC来做完成相应的配置宏, 这此配置宏包括读与写, 中断打开与关闭(如传送与接收中断), 接收状态处理, 有FIFO时还要处理FIFO的状态. 如下我们就首先切入这一部分, 具体了解一下与硬件串口IC相关的部分在驱动中的处理, 这一部分可以说是串口驱动中的最基础部分, 直接与硬件打交道, 完成最底层具体的串口数据传输.
1. 串口硬件资源的处理.
    W83697及W83977在ep93xx板子上的映射的硬件物理空间如下:
W83697: 0x20000000起1K空间.
W83977: 0x30000000起1K空间.
    因为串口设备的特殊性, 可以当作终端使用, 但是终端的使用在内核还未完全初始化之前(关于串口与终端的关联及层次在第四节中详细), 此时还没有通过mem_init()建立内核的虚存管理机制, 所以不能通过ioreamp来进行物理内存到虚存的映射(物理内存必须由内核映射成系统管理的虚拟内存后才能进行读写访问), 这与先前所讲的framebuffer的物理内存映射是不同的, 具体原因如下:
√终端在注册并使用的调用路径如下:
start_kernel→console_init→uart_console_init→ep93xxuart_console_init→register_console→csambuart_console_write.
√FrameBuffer显卡驱动中的物理内存映射调用路径如下:
start_kernel→ rest_init→init(内核初始线程)→


相关文档:

嵌入式Linux交叉编译环境的建立(基于 ubuntu 8.10)


在进行嵌入式开发之前,首先要建立一个交叉编译环境,这是一套编译器、连接器和libc库等组成的开发环境。本文具体说明了嵌入式交叉编译环境的建立过程
和具体的操作步骤,希望能够对各位朋友搭建对应的交叉编译环境有所帮助。
一、所需软硬件环境
■ 主机环境
建立交叉编译工具链的主机环境:
Ubuntu 8.10,gcc-4.3 ......

Linux发行版本介绍

1.Ubuntu
它的意思每一位Geek应该都知道,这是一个古非洲语单词,代表“人性”或者“我的存在是因为大家的存在”。
2.PCLinuxOS
PC + Linux + Operating System,用户界面很像Windows。
3.openSUSE
是Novell和AMD资助的SUSE社区项目,SUSE取德语单词首字母“Software- und System-Entwicklun ......

oracle下载地址 for linux or windows


Oracle9i Database Release 2 Enterprise/Standard/Personal Edition for Windows NT/2000/XP
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk1.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk2.zip
http://download.oracle.com/otn/nt/oracle9i/9201/92010NT_Disk3.zip
Oracle9i ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号