Linux下详述多串口扩展卡驱动编写教程

5星 · 超过95%的资源 需积分: 9 15 下载量 158 浏览量 更新于2024-10-12 收藏 634KB PDF 举报
本文档详细介绍了如何在Linux环境下驱动多串口扩展卡,特别关注深圳艾卡公司的ICOM3308和ICOM3504系列8口RS232和4口RS485扩展卡。首先,作者概述了所需的系统和程序要求,包括LINUX各版本、mknod或MAKEDEV工具、setserial命令以及chmod等。支持的串口芯片种类也列出了多个常见的UART型号。 步骤分为四部分: 1. **生成设备文件**: - **MAKEDEV方法**:通过./MAKEDEV ttyS 命令创建设备文件,用户可以自定义设备前缀名,MAKEDEV会查找默认目录/etc/makedev.d/,并在其中依据预设规则生成相应的设备文件。 - **mknod方法**:提供另一种创建设备文件的方式,通过mknod命令手动指定设备类型、设备号和特殊文件类型(如字符设备或块设备)。 2. **链接设备文件到芯片**: - **setserial命令**:用于设置串口参数,包括波特率、校验位、数据位、停止位、中断请求(IRQ)、I/O基地址和端口。 - **串口参数**:包括UART配置(如波特率选择)、中断分配(IRQ编号)、以及物理端口的设置。 - **链接串口**:确保硬件与操作系统之间的正确连接,通过设置参数实现。 3. **添加自动运行脚本**: - 配置文档的可执行属性:赋予配置文件执行权限,使其可以在系统启动时自动运行。 - **系统启动脚本**:将配置文件的调用添加到系统的初始化脚本中,确保在系统启动时自动配置串口。 - **测试**:重启系统后,检查脚本是否按预期工作并进行串口测试。 4. **使用串口的程序编写提示**: - 提供了使用扩展卡时的重要注意事项,包括I/O基地址管理和中断号的使用,以及可能需要在BIOS中开启或定向中断。 - 后续还附有标准PCI/O地址参考、ICOM3308和ICOM3504的具体配置参考,以及板卡的照片供参考。 总结来说,本文档是一份详尽的指南,涵盖了从设备文件生成、配置参数设置到实际应用的全过程,旨在帮助Linux用户顺利地驱动和利用多串口扩展卡进行通信工作。