Linux串口驱动深度解析:接口、中断与w83697/w83977应用

4星 · 超过85%的资源 需积分: 19 101 下载量 39 浏览量 更新于2024-11-26 1 收藏 281KB PDF 举报
"本篇文章深入讲解了Linux下的串口驱动开发,内容涵盖了串口接口及层次、中断机制、软中断机制、TTY与串口的关联,以及特定芯片W83697/W83977的超级I/O串口驱动开发。作者侯辉华在文档中强调,虽然Linux对串口支持完善,但开发工作仍需针对不同串口IC定制配置宏,如设置中断、处理接收状态和FIFO管理等。对于硬件资源处理,W83697和W83977在EP93XX板子上的物理地址被明确指出。 串口硬件资源处理是驱动的基础,涉及到与串口IC的直接交互,如读写操作和中断管理。由于串口在内核初始化之前可以作为TTY终端使用,但这时内核虚拟内存机制尚未建立,所以不能像framebuffer那样通过ioremap进行物理内存映射。终端的注册和使用过程详细描述了从内核启动到串口写入的具体流程。 文章特别提到了W83697/W83977系列IC,建议读者查阅相关手册了解其配置寄存器,因为文档中并未详述。此外,还讨论了Linux中断机制,包括中断处理和中断共享,以及软中断在串口缓冲机制中的应用。 最后,文档提供了一个实用的指南,包括串口使用示例说明,帮助开发者更好地理解和实现Linux串口驱动的开发工作。整体上,本文旨在为Linux串口驱动开发者提供一个全面且深入的理解框架,适用于硬件工程师和系统级编程人员。"