[发明专利]一种VxWorks系统的PCI设备排序方法有效
申请号: | 201711214864.3 | 申请日: | 2017-11-28 |
公开(公告)号: | CN108009103B | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 尹加豹;崔凯华;朱涛;毛晓梅;徐骞;夏朋浩;王文俊;刘洁;冯伟 | 申请(专利权)人: | 中国船舶重工集团公司第七一六研究所 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F9/4401;G06F11/07 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 薛云燕 |
地址: | 222000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 vxworks 系统 pci 设备 排序 方法 | ||
本发明公开了一种VxWorks系统的PCI设备排序方法。该方法步骤如下:在Shell下使用pciDeviceShow接口函数查看系统中PCI设备的信息,确定所有待排序PCI设备的槽位信息;编写XML配置文件,在文件中记录PCI设备排序信息;在PCI设备驱动程序中添加解析函数,解析配置文件中的排序信息;根据排序信息确定每个PCI设备的排序序号,并对PCI设备执行初始化操作,然后使用接口函数iosDrvInstall完成驱动程序的注册;最后根据PCI设备的排序序号查找对应的PCI设备,并使用iosDevAdd接口函数为其创建设备节点。本发明在VxWorks系统中将多个同类型PCI设备的节点名与PCI插槽绑定在一起,并且实现了PCI设备的灵活调度。
技术领域
本发明涉及通信技术领域,特别是一种VxWorks系统的PCI设备排序方法。
技术背景
在嵌入式实时操作系统领域,VxWorks系统性能卓越并占据着重要的地位,在通信、航空、航天等领域应用十分广泛。PCI(Peripheral Component Interconnect)总线从1992年创立规范至今,已经成为计算机的一种标准总线,并得到了非常广泛的应用,几乎所有的主板产品上都带有PCI插槽。
每一种PCI设备都有固定的厂商ID和设备ID,在VxWorks系统中,驱动程序使用接口pciFindDevice根据厂商ID、设备ID查找PCI设备,并确定其总线号、设备号和功能号。当系统中存在多个同一种PCI设备时,VxWorks系统会根据总线号、设备号和功能号为其排序,依次为0、1、2…,驱动程序根据此顺序创建设备节点,应用程序则根据设备节点名操作其对应的PCI设备。在实际使用过程中,当其中的一个PCI设备出现故障或被移除时,VxWorks系统会为此种PCI设备重新排序,原来的0、1、2…n号变为0、1…(n-1)号,进而导致驱动程序创建的设备节点名与实际设备可能出现不一致情况,应用程序无法根据原有的设备节点名操作对应的PCI设备。
目前,当VxWorks系统中存在多个同类型PCI设备时,若某一设备出现故障或被移除,排在该设备前的PCI设备节点名不会变化,而排在该设备之后的PCI设备节点名会出现错位,进而导致应用程序出现不可预料的错误。
发明内容
本发明的目的在于提供一种VxWorks系统的PCI设备排序方法,从而实现某个PCI设备故障或移除时,剩余设备仍可正常工作。
实现本发明目的的技术解决方案为:一种VxWorks系统的PCI设备排序方法,在配置文件中依据该类型PCI设备的总线号、设备号和功能号为该PCI设备排好顺序,PCI设备驱动程序初始化时首先解析配置文件中的排序信息,再执行初始化操作,最后按解析的排序顺序创建设备节点,具体包括以下步骤:
步骤1、在Shell下使用pciDeviceShow接口函数查看系统中PCI设备的信息,从中选择待排序PCI设备,确定所有待排序PCI设备的槽位信息;
步骤2、编写XML配置文件,在文件中记录PCI设备排序信息,每个PCI设备的排序信息占用两个标签,分别标记PCI设备的排序序号和槽位信息,配置文件存储在系统磁盘中;
步骤3、在PCI设备驱动程序中添加解析函数,用于解析配置文件中的排序信息,解析函数的输入参数为配置文件路径,输出参数为排序链表的表头地址指针;
步骤4、初始化PCI设备,根据排序链表确定每个PCI设备的排序序号,之后对PCI设备执行包括资源分配、寄存器配置和中断挂接的初始化操作,最后使用接口函数iosDrvInstall完成驱动程序的注册;
步骤5、创建设备节点,根据PCI设备的排序序号查找对应的PCI设备,并使用iosDevAdd接口函数为所查找到的PCI设备创建设备节点。
进一步地,步骤1中PCI设备的槽位信息包括总线号、设备号和功能号,系统中每个PCI设备具有唯一的槽位信息。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一六研究所,未经中国船舶重工集团公司第七一六研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711214864.3/2.html,转载请声明来源钻瓜专利网。