[发明专利]一种VxWorks系统的PCI设备排序方法有效
申请号: | 201711214864.3 | 申请日: | 2017-11-28 |
公开(公告)号: | CN108009103B | 公开(公告)日: | 2021-03-26 |
发明(设计)人: | 尹加豹;崔凯华;朱涛;毛晓梅;徐骞;夏朋浩;王文俊;刘洁;冯伟 | 申请(专利权)人: | 中国船舶重工集团公司第七一六研究所 |
主分类号: | G06F13/10 | 分类号: | G06F13/10;G06F9/4401;G06F11/07 |
代理公司: | 南京理工大学专利中心 32203 | 代理人: | 薛云燕 |
地址: | 222000 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 vxworks 系统 pci 设备 排序 方法 | ||
1.一种VxWorks系统的PCI设备排序方法,其特征在于,在配置文件中依据PCI设备的总线号、设备号和功能号为该PCI设备排好顺序,PCI设备驱动程序初始化时首先解析配置文件中的排序信息,再执行初始化操作,最后按解析的排序顺序创建设备节点,具体包括以下步骤:
步骤1、在Shell下使用pciDeviceShow接口函数查看系统中PCI设备的信息,从中选择待排序PCI设备,确定所有待排序PCI设备的槽位信息,PCI设备的槽位信息包括总线号、设备号和功能号,系统中每个PCI设备具有唯一的槽位信息;
步骤2、编写XML配置文件,在文件中记录PCI设备排序信息,每个PCI设备的排序信息占用两个标签,分别标记PCI设备的排序序号和槽位信息,配置文件存储在系统磁盘中;所述在文件中记录PCI设备排序信息,其中排序采用手动排序,每个PCI设备的次序任意指定,但每个设备有唯一的排序序号;
步骤3、在PCI设备驱动程序中添加解析函数,用于解析配置文件中的排序信息,解析函数的输入参数为配置文件路径,输出参数为排序链表的表头地址指针;
步骤4、初始化PCI设备,根据排序链表确定每个PCI设备的排序序号,之后对PCI设备执行包括资源分配、寄存器配置和中断挂接的初始化操作,最后使用接口函数iosDrvInstall完成驱动程序的注册;
步骤5、创建设备节点,根据PCI设备的排序序号查找对应的PCI设备,并使用iosDevAdd接口函数为所查找到的PCI设备创建设备节点。
2.根据权利要求1所述的VxWorks系统的PCI设备排序方法,其特征在于,步骤3所述在PCI设备驱动程序中添加解析函数,用于解析配置文件中的排序信息,具体为:
(1)打开配置文件,读取其中的PCI设备排序信息;
(2)建立排序链表,链表结点的数据结构包括设备序号、总线号、设备号、功能号和下一结点的地址指针;
(3)将PCI设备的排序信息转存到排序链表中,其中每一个PCI设备分别对应一个链表结点;
(4)返回排序链表的表头地址指针。
3.根据权利要求1所述的VxWorks系统的PCI设备排序方法,其特征在于,步骤4所述根据排序链表确定每个PCI设备的排序序号,具体为:
(1)调用解析函数解析配置文件,获得排序链表;
(2)根据厂商ID、设备ID循环扫描PCI设备,直至扫描失败即没有扫描到PCI设备;每次成功扫到PCI设备后均遍历一遍排序链表,从中匹配该PCI设备的总线号、设备号和功能号,进而确定该PCI设备的排序序号。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一六研究所,未经中国船舶重工集团公司第七一六研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711214864.3/1.html,转载请声明来源钻瓜专利网。