没有合适的资源?快使用搜索试试~ 我知道了~
嵌入式系统/ARM技术中的中文资料:vxwork bsp的制作1
需积分: 0 0 下载量 37 浏览量
2020-11-19
12:35:58
上传
评论 1
收藏 79KB PDF 举报
温馨提示
试读
2页
要作的工作: -用开始写的驱动程序的文档替代此文档。 -从该设备的概要开始。指出该驱动实现整个设备的部分还是全部细节。 -描述所有该设备的操作模式,指出该驱动所实现的是哪种。 -写出该设备在BSP中创建和初始化的步骤。写出可把该驱动定制为特殊硬件环境的所有宏(macros)。 -写出所有可帮助用户理解该设备如何工作和设备的接口。 模板概要:这是一个串口驱动模板。可用来作为写Vxworks5.3或更新版本的新驱动的起点。 这些驱动支持旧串口驱动没有的新功能,首先,它们提供一个设置硬件选项的接口;例如,停止位数,数据位,奇偶,等等。 其次,它们提供可
资源详情
资源评论
资源推荐
嵌入式系统嵌入式系统/ARM技术中的中文资料:技术中的中文资料:vxwork bsp的制作的制作1
要作的工作: -用开始写的驱动程序的文档替代此文档。 -从该设备的概要开始。指出该驱动实现整个
设备的部分还是全部细节。 -描述所有该设备的操作模式,指出该驱动所实现的是哪种。 -写出该设备
在BSP中创建和初始化的步骤。写出可把该驱动定制为特殊硬件环境的所有宏(macros)。 -写出所有可帮
助用户理解该设备如何工作和设备的接口。 模板概要:这是一个串口驱动模板。可用来作为写Vxworks5.3
或更新版本的新驱动的起点。 这些驱动支持旧串口驱动没有的新功能,首先,它们提供一个设置硬件选项
的接口;例如,停止位数,数据位,奇偶,等等。 其次,它们提供可
要作的工作:
-用开始写的驱动程序的文档替代此文档。
-从该设备的概要开始。指出该驱动实现整个设备的部分还是全部细节。
-描述所有该设备的操作模式,指出该驱动所实现的是哪种。
-写出该设备在BSP中创建和初始化的步骤。写出可把该驱动定制为特殊硬件环境的所有宏(macros)。
-写出所有可帮助用户理解该设备如何工作和设备的接口。
模板概要:这是一个串口驱动模板。可用来作为写Vxworks5.3或更新版本的新驱动的起点。
这些驱动支持旧串口驱动没有的新功能,首先,它们提供一个设置硬件选项的接口;例如,停止位数,数据位,奇偶,等
等。
其次,它们提供可用来提供串口线上的外部模式调试(如,ROM监视器调试)的轮巡通讯(polled communication)接
口。通常只支持异步模式驱动。贯穿整个文件,单词"template"用来替换一个真实的设备名,按惯例采用厂商名的第一个字母
产品编号。例如,Zilog 8530 串口设备应有一个名为Z8530——DUSAART数据结构,好过TEMPLATE_DUSART.数据结构设
备数据结构在文件 h/drv/sio/templateSio.h里定义。一个数据结构——TEMPLATE_CHAN被定义,为每个通道。具有多串口
通道的设备也为整个芯片定义了一个数据结构。例如,此驱动有一个芯片级的,有两个通道结构作为成员数据结构叫
TEMPLATE_DUSART.回调传输准备就绪(transmitter ready)中断调用服务采用回调至高层库以获得一个字符来传送。
默认地,此驱动安装不做任何事情的傀儡回调程序。使用此驱动的高层库(例如,ttyDrv)将用
SIO_INSTALL_CALLBACK控制命令(ioctl command)安装自己的回调程序。
同样,一个接受中断处理采用回调来将字符传给高层库。
模式理想模式下该驱动应支持轮巡和中断模式,并可动态切换模式。但这并非必须。
Vxworks可支持此设备上的tty设备,即使该驱动只支持中断模式。
增加动态模式切换允许当信息送至时将外部代理激活(例如,在第一桢时中断)。
对允许动态模式切换的驱动,注意驱动将在其输入ISR中间被要求切换模式。一个驱动的输入ISR看起来应如此:inChar
= *pDev->dr;/@ 从数据寄存器里读一个字符 @/ *pDev->cr = GOT_IT;/@ 承认中断@/ pDev->putRcvChar (……);/@
发送字符到高层 @/ /@ give the character to the higher layer @/如果该通道用作外部模式调试的通讯路径,且接收的该字符
是"帧结束"字符,则代理的回调会锁定中断,切换设备到轮巡模式,并使用轮巡模式下的设备片刻。此后代理会解锁中断,切
换模式到中断模式,并返回ISR.特别地,回调能使两模式切换,首先到轮巡模式然后到中断模式,后返回。
这要求小心处理中断处理内的回调。例如,在调用回调前你必须先承认中断。
用法:该驱动通常为BSP调用。该模块里直接调用程序是
templateDevInit(),templateDevInit2(),templateIntRcv(), templateIntTx(), and templateIntErr()。
BSP调用templateDevInit()来初始化或重启芯片。它用intConnect()连接中断处理(templateIntRcv,
templateIntTx,和templateIntErr)。
连接中断处理后,BSP调用templateDevInit2()来告诉驱动中断模式操作已可行。
BSP:按常规所有BSP特定的串口初始化在sysSerial.c(被sysLib.c包含)里进行,sysSerial.c实现至少4个函
数:sysSerialHwInit(),sysSerialHwInit2(),sysSerialChanGet(),和sysSerialReset(),如下工作:
sysSerialHwInit被sysHwInit调用来初始化串口设备。此程序将在调用能复位设备及安装驱动函数指针的templateDevinit前初始
化TEMPLATE_DUSART结构的所有板特定的区域(如,寄存器的I/O地址,等等)。sysSerialHwInit还将执行其他所有串口
驱动所需要的过程,比如适当配置板上的中断控制器。
sysSerialHwInit2被sysHwInit2调用来用intConnect连接驱动的中断处理。连接好中断处理后,templateDevInit2的调用允
许中断模式操作开始。
sysSerialChanGet被usrRoot调用来取得与串口通道号相关的串口通道描述。该程序使用一个0-NUM_TTY之间的一个数
为单一的参数。它返回一个指向相应通道描述——SIO_CHAN * 的指针,它正好是TEMPLATE_CHAN结构的地址。
weixin_38589168
- 粉丝: 7
- 资源: 970
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32单片机心率脉搏监测健康运动计步系统源码带视频演示.7z
- mmexport1713192608513.mp4
- 斯特林V4发动机 斯特林V4发动机
- 基于C实现的N阶数字正方形 ;N阶数字三角形;N阶数字递减三角形;乘法表
- 基于分水岭算法的图像分割的python源码(课程设计).zip
- 基于Java 实现的二进制十进制之间的相互转换
- Pytorch实现基于卷积神经网络的面部表情识别项目源码+数据集+全部资料(毕业设计).zip
- Pytorch实现基于深度学习卷积神经网络的面部表情识别项目源码+面部表情数据集(人脸面部表情识别项目).zip
- 淘金小游戏助手.apk
- 基于卷积神经网络的人脸面部表情识别项目源码+面部表情数据集+训练好的模型(人脸面部表情识别项目).zip
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0