电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

PCI 设备 RTX 驱动开发方法

7页
  • 卖家[上传人]:tru****en
  • 文档编号:94790899
  • 上传时间:2019-08-11
  • 文档格式:DOCX
  • 文档大小:19.19KB
  • / 7 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、 PCI 设备 RTX 驱动开发方法1. RTX 下操作外设时, 需要把设备从 Windows 移动到 RTX 下面,具体移植方法可以参考 RTX Help 文档中间 Converting a Windows Device to an RTX Device 一节或者参考附件2. PCI驱动程序的特点在设计驱动程序之前,首先要对欲控制的硬件设备进行细致地分析,更需要详细了解硬件设备的特性。硬件设备的特性会对驱动程序设计产生重大的影响。需要了解的最主要的硬件特性包括:(1) 设备的总线结构设备采用什么总线结构非常关键,因为不同的总线类型(如ISA和PCI)在许多硬件工作机制上是不同的,所以驱动程序设计也不同。(2) 寄存器要了解设置的控制寄存器、数据寄存器和状态寄存器,以及这些寄存器工作的特性。(3) 设备错误和状态要了解如何判断设备的状态和错误信号,这些信号要通过驱动程序返回给用户。(4) 中断行为要了解设备产生中断的条件和使用中断的数量。(5) 数据传输机制最常见的数据传输机制是通过I/O端口(port),也就是通过CPU进行数据读写。PC的另一种重要的传输机制是DMA,但PCI规范不

      2、包括从属DMA的说明。(6) 设备内存许多设备自身带有内存,PCI设备大多是采用映射的方式映射到PC系统的物理内存。有的设备还要通过驱动程序设置设备的接口寄存器3. RTX 驱动整体架构使用 RTX Device Driver 开发向导, 选择支持(1) Interrupt Service Routine (ISR)(2) Support for Sharing an Interrupt(3) Basic Port I/O Support(4) Basic Mapped Memory Support,即可生成 RTX PCI 设备驱动程序框架。该程序框架分成两个函数, Driver 文件和 DriverFunc 文件:Driver 文件主要包括 main 函数,中断服务程序和中断服务线程;DriverFunc 文件主要是对 PCI 设备的基本操作函数, 包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断, 处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理等函数。4. 完整的 RTX PCI驱动基于RTX PCI 设备驱动程序框架, 用户需要添加相应的代码, 下面基

      3、于反射内存卡的 RTX 驱动进行分析。反射内存卡的基本特点:(1) PCI、PCIe、PMC、VME 外形, 节点之间组成环形连接或通过光纤 Hub 组成星型连接(2) 节点之间数据确定性的传输延迟, 延迟小于 750usPCI 反射内存卡的 RTX 驱动也分成 Driver 文件和DriverFunc 文件两个文件。Driver 文件主要包括 main 函数,中断服务程序和中断服务线程, 下面是详细的分析:(1) Main 函数:Main 函数并不是 RTX PCI 驱动程序的一部分, 准确的讲它是如何使用 RTX PCI驱动程序的流程。用户需要做的工作:a. 在 RTX PCI 设备驱动程序框架生成的 main 函数需要在设备初始化 (DeviceInit() 完成之后与使能 PCI 中断之前添加设备打开(open()函数, 该函数的功能主要是创建信号量和初始化板卡.b. 使能 PCI 中断之后, 用户即可调用 PCI驱动程序里的读写等函数写一段简单的读写测试程序。(2) 中断服务程序:这个函数接收到中断后交给中断服务线程来处理, 用户一般不需要改动。(3) 中断服务线程:中断服务

      4、线程主要完成读取和记录 PCI 板卡的中断信息, 释放相关的信号量等工作, 一般不完成具体的中断处理工作。PCI 驱动程序一般还提供一个函数来捕捉这些释放的信号量, 完成中断具体含义的解析工作。DriverFunc 文件主要是对 PCI 设备的基本操作函数, 包括 PCI 设备搜索, PCI 设备初始化,使能或关闭中断, 处理 PCI 设备共享中断, 以及 PCI 驱动程序资源清理, 数据读写, 发送和接收消息类中断等函数。下面是详细的分析:(1) DeviceSearch 函数这个函数根据 PCI设备的 Vendor ID 和 Device ID 搜索 PCI 设备, 返回 PCI 配置信息和 slot Number. 用户修改 Vendor ID 和 Device ID 即可。(2) DeviceInit 函数PCI设备初始化函数. 该函数中间调用了两个RTX 系统函数RtTranslateBusAddress() 和 RtMapMemory(), RtTranslateBusAddress() 作用为把 PCI 设备地址转换为 CPU 可以直接访问的物理地址, RtMapMemo

      5、ry() 函数把物理地址映射到虚拟地址。映射到虚拟地址空间后 ring3用户即可以读写 PCI 内存空间或者 I/O 空间了。用户需要关注的是物理地址到虚拟地址映射的地址范围,一般设置为 4K Bytes. RtMapMemory() 函数默认最大可以映射的地址范围为 64M Bytes, 如果需要更大的范围, 可以参考内存管理一节。(3) Enable/Disable Interrupts On Chip 函数使能或者关闭 PCI 设备上的中断。用户根据 PCI 设备进行修改。(4) IsMyInterrupt函数RTX 下 PCI 设备中断号可以共享。如果有 RTX 下 PCI 设备共享, 需要在该函数中间区分是否是该设备的中断.(5) DeviceCleanup 函数该函数释放中断句柄和解除物理地址于虚拟地址之间的映射。用户基本不需要修改该函数。(6) RFM2gOpen 函数反射内存功能函数。该函数的功能主要是为 DMA 通道,发送和接收Event(反射内存的一种消息类中断)等硬件功能模块创建信号量和初始化板卡。为了防止对硬件资源的访问冲突, 使用这些硬件资源前需要先拿到信号量, 使用结束后释放这些信号量。(7) RFM2gEnableEvent函数反射内存功能函数。使能板卡接收消息类中断。(8) RFM2gSendEvent 函数反射内存功能函数。向其它节点发送消息类中断。(9) RFM2gWaitForEvent函数反射内存

      《PCI 设备 RTX 驱动开发方法》由会员tru****en分享,可在线阅读,更多相关《PCI 设备 RTX 驱动开发方法》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    监控施工 信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.