VxWorks串口驱动的研究与实现

摘要: 本文以基于ARM7TDMI内核的S3C44B0X芯片的串口驱动为例,分析了 VxWorks串口驱动的层次和机理,研究了tty驱动和底层SCC驱动的工作原理。结合S3C44B0X芯片的串口驱动程序,给出了VxWorks串口驱动程序设计方法和注意事项。

关键词: VxWorks;串口驱动;tty设备

引言

VxWorks的程序开发者经常需要解决串口驱动问题,这是BSP和上层应用程序开发必不可少的基本步骤,特别是对于板级支持包(BSP)和上层应用程序的开发,掌握串口驱动的原理和开发串口驱动程序就显得尤为重要。VxWorks串口通信由串行通信控制器SCC(Serial Communication Controller)控制,和标准I/O库通信的是tty驱动,再由tty驱动和底层SCC驱动通信。本文研究VxWorks串口驱动特性,并以S3C44B0X为例,给出开发VxWorks串口驱动的步骤和实现方法。

串口设备层次与tty驱动

串口的层次

VxWorks串行设备的层次采用了3层抽象的软件结构:标准I/O库(ioLib)->tty库(ttyDrv/tyLib)—>底层SCC驱动(xxDrv),如图1所示。从图中可看出串行设备的驱动xxDrv并不是直接和I/O system交互的,中间存在一个ttyDrv(包括tyLib)。实际上,内核启动时在驱动程序表中安装的不是xxDrv的函数,而是ttyDrv/tyLib提供的函数。串口tty驱动(ttyDrv/tyLib)使I/O系统独立于具体SCC驱动,保证了代码可复用和统一界面。SCC驱动(xxDrv/yyDrv)处理和底层硬件有关的部分。因此,在编写串口驱动时需要了解串口tty驱动的原理以及串口输入输出过程。在此基础上,根据VxWorks的程序执行流程和具体的MCU芯片的特点,修改底层SCC驱动代码。

原文阅读

转载于:https://www.cnblogs.com/b2tang/archive/2008/12/24/1361021.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值