【VxWorks】龙芯上PCI设备的串口驱动开发

VxWorks上PCI设备的串口驱动开发:直接PCI地址与tty设备两种实现方式

一、概述

在VxWorks系统中,PCI设备的串口驱动开发通常有两种主流方式:直接PCI地址操作(适用于无标准驱动的自定义硬件)和基于tty设备框架(利用系统原生tty驱动接口)。本文结合实际项目代码,详细介绍两种开发流程的核心原理、实现步骤及应用场景,并对比其优缺点。

二、PCI设备与串口驱动基础

1. PCI设备地址映射

PCI设备通过总线与CPU通信,其寄存器空间需映射到CPU可访问的地址空间(如I/O空间或内存空间)。在VxWorks中,可通过pciConfigIn()/pciConfigOut()枚举设备获取基地址,或直接使用硬件手册定义的固定基地址(如代码中PCI_IO_BASE = 0xbfd00000)。

2. 串口控制器核心寄存器

无论哪种开发方式,均需操作UART控制器的核心寄存器(以NS16550兼容控制器为例):

LCR(线路控制寄存器):配置数据位、校验位、停止位,及除数锁存访问位(DLAB);
FCR(FIFO控制寄存器):控制接收/发送FIFO复位与使能;
IER(中断使能寄存器):使能接收/发送中断;
LSR(线路状态寄存器):查询发送缓冲区空、接收数据就绪等状态。

三、直接PCI地址开发流程

直接PCI地址开发适用于无标准tty驱动支持的自定义PCI串口设备,需手动映射PCI地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值