- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于VxWorks 的HDLC设备驱动库设计与实现
常诚,陈煦阳
(北京邮电大学电信工程学院,北京 100876)
(北京航空航天大学电子信息工程学院,北京 100083)
Changcheng15@
摘要:在VxWorks操作系统中,传统的HDLC设备驱动采用在应用程序中直接读写硬件寄存器
的方案实现,这种方案存在开发难度大、移植性差等问题。针对这种情况,本文提出了一种
新的HDLC设备驱动方案,将HDLC设备驱动中硬件无关的部分提取出来,在VxWorks I/O系统
和底层硬件驱动之间实现HDLC设备驱动库。描述了HDLC设备驱动库的总体方案,包括读、写、
初始化流程以及缓冲区的存储表示、接口函数,以SAB82538H为硬件验证了HDLC设备驱动库
的可用性。
关键词:VxWorks;HDLC;设备驱动库;SAB82538H
中图分类号:TP316.2
1.引言
为便于在VxWorks下开发设备驱动,VxWorks为开发者提供了串行设备、块设备等几类常
见设备的驱动库[1]。这些设备驱动库实现了同类型设备驱动中硬件无关的部分,驱动开发
者只需要关注硬件的具体细节,编写符合驱动库标准的程序接口。这样不但降低了驱动开发
的难度,而且可以向应用程序提供统一的接口。
高级数据链路控制 (HDLC)是面向比特的串行链路协议,发送和接收以帧为单位进行。
如果借助VxWorks提供的串行设备驱动库开发驱动,一方面需要在数据流中插入帧分隔符,
复杂度增加;另一方面,由于串行设备驱动库只支持单字节的数据操作,驱动的效率较低。
因此传统的HDLC设备驱动采用在应用程序中直接读写硬件寄存器的方案实现,这种方法的优
点在于效率较高,但存在开发难度大、移植性差等问题[2] [3]。
借鉴VxWorks设备驱动库的设计理念,本文提出了一种新的HDLC设备驱动设计方案,将
HDLC设备驱动中硬件无关的部分提取出来,在VxWorks I/O系统和底层硬件驱动之间实现
HDLC设备驱动库,克服了传统方式的缺陷。以西门子公司的HDLC控制芯片SAB82538H为例给
出设备驱动的完整实现过程。VxWorks版本号为5.5.1,集成开发环境选用Tornado2.2.1。
2.HDLC 设备驱动库设计
2.1 总体设计
HDLC 设备驱动库(以下简称 HDLC 驱动库)位于底层 HDLC 硬件驱动和 VxWorks I/O 系
统之间,如图 1 所示:
1
图1 总体方案框图
HDLC 驱动库主要维护 HDLC 帧的输入输出缓冲区,提供对缓冲区的互斥访问,对缓冲区
的读写以帧为单位进行。
HDLC 驱动库向应用程序提供四种基本 I/O 调用:open,read,write,ioctl,分别由
VxWorks I/O系统重定向到 HDLC 驱动库函数 hdlcOpen、hdlcRead、hdlcWrite 和hdlcIoctl。
HDLC 驱动库要求底层 HDLC 硬件驱动为每一个 HDLC 通道提供一个通道描述符
(HDLC_CHAN)。此描述符的数据结构由 HDLC 驱动库定义,其中包含硬件相关的接口函数集
(HDLC_DRV_FUNCS,包括启动发送函数 HDLCTxStartup,硬件配置函数 HDLCIoctl,回调安
装函数 HDLCCallbackInstall)。HDLC 通道描述符在创建 HDLC 设备时(调用 HDLC 驱动库函
数 hdlcDevCreate)作为入口参数传给 HDLC 驱动库。
HDLC 驱动库向底层 HDLC硬件驱动提供 getHDLCFrame 和putHDLCFrame 两个接口函数,
用于从HDLC驱动库的输出缓冲区中获得一帧数据和向HDLC驱动库的输入缓冲区放入一帧数
据。HDLC 驱动库在创建 HDLC 设备时通过调用接口函数集中的 HDLCCa
您可能关注的文档
- 和客户打电话技巧.ppt
- 宏观经济学 第十二讲:国民收入核算.ppt
- 东风标致3008汽车使用手册-上幻灯片.pdf
- 后面只可以接不可数名词解析.ppt
- 东芝笔记本新购机器(即一键恢复机型)如何进行系统恢复课件.doc
- 后勤标识2015.03.24课件.pdf
- 后学院科学与其社会规范_齐曼_真科学_读后_黄欣荣.pdf
- 东芝电脑系统恢复课件.doc
- 动词空缺_左边界省略与英汉语主语位置.pdf
- 动画常用工具与设置.ppt
- 2025年陕西省西安市烧伤外科学(相关专业知识)基层医生备考高频考点.pptx
- 皮肤科医生专业建议书.pptx
- 西方印象派绘画与中国传统水墨画绘画语言之比较.pptx
- 2026年毛概期末考试试题库附参考答案【b卷】.docx
- 2026深圳市事业单位集中招聘高校毕业生658人(公共基础知识)测试题附答案.docx
- 2026年浦发银行长沙分行秋季校园招聘(公共基础知识)测试题附答案.docx
- 2025紫金投资集团秋季校园招聘9人(公共基础知识)综合能力测试题附答案.docx
- 2025成都银行招聘总行专职信用审批人等岗位7人备考题库附答案.docx
- 2025广东云浮市新兴县招聘机关事业单位紧缺人才3人(公共基础知识)综合能力测试题附答案.docx
- 2026年初级经济师之初级经济师基础知识考试题库300道附参考答案ab卷.docx
最近下载
- 《2013年建设工程工程量清单计价规范》GB50500-2013.pdf VIP
- 2025年南京市教师招聘考试公共知识试题卷(含历年真题赠送).docx
- 生物命题培训课件.pptx VIP
- Schneider施耐德安装和操作手册-ATV930 ATV950 御程系列变频器安装手册.pdf
- 2025年国考《行测》真题及完整答案详解【夺冠系列】.docx
- J-BT 10466-2020星形弹性联轴器.PDF VIP
- 数据容灾备份中心建设方案书.docx VIP
- 卫生服务中心“十五五”五年中长期发展规划(2025-2029年).pptx
- 第十一章 地层与地层单位.ppt VIP
- 石膏板生产线联合车间车间施工组织设计.doc VIP
原创力文档


文档评论(0)