- 1
- 2
- 3
- 4
- 5
PCI 设备 RTX 驱动开发方法
资料介绍
反射内存卡的基本特点:
(1) PCI、PCIe、PMC、VME 外形, 节点之间组成环形连接或通过光纤 Hub 组成星型连接
(2) 节点之间数据确定性的传输延迟, 延迟小于 750us
PCI 反射内存卡的 RTX 驱动也分成 Driver 文件和DriverFunc 文件两个文件。Driver 文件主要包括 main 函数,中断服务程序和中断服务线程, 下面是详细的分析:
(1) Main 函数:
Main 函数并不是 RTX PCI 驱动程序的一部分, 准确的讲它是如何使用 RTX PCI驱动程序的流程。用户需要做的工作:
a. 在 RTX PCI 设备驱动程序框架生成的 main 函数需要在设备初始化 (DeviceInit()) 完成之后与使能 PCI 中断之前添加设备打开(open())函数, 该函数的功能主要是创建信号量和初始化板卡.
b. 使能 PCI 中断之后, 用户即可调用 PCI驱动程序里的读写等函数写一段简单的读写测试程序。
(2) 中断服务程序:
这个函数接收到中断后交给中断服务线程来处理, 用户一般不需要改动。
(3) 中断服务线程:
中断服务线程主要完成读取和记录 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 可以直接访问的物理地址, RtMapMemory() 函数把物理地址映射到虚拟地址。映射到虚拟地址空间后 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 函数
部分文件列表
文件名 | 大小 |
PCI_设备_RTX_驱动开发方法_.docx | 19K |
最新上传
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic下载 打赏310.00元 3天前
用户:小猫做电路
-
21ic下载 打赏310.00元 3天前
用户:gsy幸运
-
21ic下载 打赏310.00元 3天前
用户:liqiang9090
-
21ic下载 打赏310.00元 3天前
用户:zhengdai
-
21ic下载 打赏160.00元 3天前
用户:w1966891335
-
21ic下载 打赏160.00元 3天前
用户:w178191520
-
21ic下载 打赏160.00元 3天前
用户:kk1957135547
-
21ic下载 打赏40.00元 3天前
用户:WK520077778
-
21ic下载 打赏40.00元 3天前
用户:sun2152
-
21ic下载 打赏30.00元 3天前
用户:xuzhen1
-
21ic下载 打赏50.00元 3天前
用户:铁蛋锅
-
21ic下载 打赏30.00元 3天前
用户:xzxbybd
-
21ic下载 打赏40.00元 3天前
用户:z00
-
21ic下载 打赏40.00元 3天前
用户:forgot
-
21ic下载 打赏40.00元 3天前
用户:happypcb
-
21ic下载 打赏20.00元 3天前
用户:zhaoqshan
-
21ic下载 打赏5.00元 3天前
用户:17724187683
-
21ic下载 打赏5.00元 3天前
用户:zmm1818
-
21ic小能手 打赏15.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
chenruiji 打赏1.00元 3天前
资料:血糖仪原理图
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
资料:测试智能语音控制模块
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏5.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
21ic小能手 打赏10.00元 3天前
-
cai0603 打赏3.00元 3天前
用户:CJQ_ENJOY
-
21ic小能手 打赏5.00元 3天前
全部评论(0)