使用反射内存卡一般需要以下步骤:
硬件安装:
1. 确认计算机有相应的插槽,如PCI 插槽(以 PCI5565 反射内存卡为例),可打开机箱查看主板上是否预留。
2. 设置反射内存卡上的S1 和 S2 值。S1 是 8 位开关,例如第一位控制反射内存是否打开冗余模式,第二位控制是否打开高性能开关,第三和第四位一起控制需要使用的反射内存空间大小等;S2 用来设置当前反射内存卡的 nodeID,全网的反射内存卡需保证 nodeID 唯一,同一个反射内存网络最多支持 256 块反射内存卡。开始时建议使用默认设置。
3. 插入反射内存卡,连接光纤时需注意:
- 若反射内存卡卡板与机箱 PCI 插卡处不匹配,可使用螺丝刀拆除卡板后直接插卡。
- 若反射内存卡的插针比机箱的 PCI 插槽宽,只要能插入即可,多余插针没插入没关系。
- 插卡前计算机要关机断电,防止静电。
- 保证光纤连接时出口线接入口线,入口线接出口线。
软件安装:
通常需要安装反射内存卡的驱动程序。可到官网下载驱动程序,解压后一般包含API(反射内存 API 接口文件)、diags(官方提供的反射内存命令行程序,通过调用 API 接口实现,可通过此程序以命令方式查询、执行反射内存数据)、driver(驱动程序代码)、include(驱动程序头文件)、samples(官方提供的测试样例,包含发数据、收数据和 map 反射内存数据到本地内存空间三个文件)以及 rfm2g_load(安装驱动后会调用这个脚本创建设备文件、加载驱动 ko 文件等)等文件。具体安装可参考解压后的 install 文件,通常执行#make install 即可。
安装时需注意以下两点:
1. 从官网下载的驱动程序可能有最高支持的Linux 内核版本限制,如最高版本是 r09,支持的最高 Linux 内核版本是3.x,当 Linux 内核版本高于此版本时,安装时大概率会报错。可根据报错信息在网上搜索解决方法,报错原因通常是不同 Linux 内核头文件和宏定义有变更,导致驱动程序代码编译失败。如遇此类情况,可能需要使用新的驱动版本或自行修改驱动代码以适配当前内核。
2. 若安装遇到问题,也可联系反射内存的技术支持获取最新的驱动程序。
数据使用:
可以把反射内存当作一个文件进行操作。首先打开反射内存,然后往规划好的地址写入固定大小的数据,数据会通过某种 I/O 模式(如 DMA 或 PIO)从本地内存传输到反射内存。DMA 模式不需要计算机 CPU 的参与,可直接通过 PCI 总线将数据传输到反射内存;PIO 模式则需要 CPU 参与。一般推荐使用 DMA 模式进行传输。这些数据会在几十微秒内通过光纤传输到下一个反射内存节点,很快整个反射内存网络节点都会收到数据,但并非所有节点都需要这份数据,此时可以通过发送事件来通知需要该数据的节点去读取数据。接收数据的节点读取对应地址固定大小的数据,从而完成两个节点数据的快速交换。
在具体项目中使用时,可在代码中引入驱动程序中的头文件和实现代码,使用对应的 API 函数,将之前需要使用 socket 通信的地方改换成反射内存通信。
反射内存卡的具体使用方式可能会因型号、品牌以及应用场景的不同而有所差异。在实际使用前,建议仔细阅读所使用的反射内存卡的相关文档和手册,以确保正确安装、配置和使用。 如果你能提供具体的反射内存卡型号,我可以给出更有针对性的使用说明。
标签:反射,驱动程序,内存卡,如何,内存,使用,数据 From: https://blog.51cto.com/u_15424984/12089652