[发明专利]输入/输出端口的访问方法和装置有效
申请号: | 201310576300.X | 申请日: | 2013-11-15 |
公开(公告)号: | CN103744687B | 公开(公告)日: | 2017-01-25 |
发明(设计)人: | 邵宗有;沙超群;郑臣明;李永成 | 申请(专利权)人: | 曙光信息产业(北京)有限公司 |
主分类号: | G06F9/445 | 分类号: | G06F9/445 |
代理公司: | 北京德恒律治知识产权代理有限公司11409 | 代理人: | 章社杲 |
地址: | 100193 北京*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 输入 输出 端口 访问 方法 装置 | ||
技术领域
本发明涉及计算机领域,具体来说,涉及一种输入/输出端口的访问方法及装置。
背景技术
在X86系统架构下,当在用户空间访问IO端口时,通常会使用X86架构提供的IO端口访问指令in和out进行访问。但在单字长定点指令平均执行速度(Million Instructions Per Second,下文中简称为MIPS)等其他系统架构下,并不存在指令in和out。这样,就只能使用其他方式进行IO端口访问了。
现有技术中的其他访问方法包括使用C语言中的mmap函数方式调用将IO端口所处在的地址空间映射到用户空间,通过对此地址空间内的地址进行访问达到对IO端口的访问。但使用mmap函数调用将IO端口所处在的地址空间映射到用户空间,需要用户对系统架构非常熟悉,明确知道IO端口所处在的地址空间的起始地址等信息。此方法不适用于初级用户。而且,此方法在使用过程中发现,经受不起长时间的系统稳定性功能测试。
针对相关技术中在非X86系统架构下,实现在用户空间访问IO端口的方式存在的对用户技术要求高、以及经不起长时间的系统稳定性功能测试的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种输入/输出端口的访问方法及装置,能够在非X86系统架构下,通过预定的功能指令(例如,in指令、out指令),来访问输入/输出端口,从而避免了需要调用mmap函数以及映射等操作来实现在用户空间访问输入/输出端口的麻烦,降低了对用户的技术要求,使得输入/输出端口访问变的更简单、方便。
本发明的技术方案是这样实现的:
根据本发明的一个方面,提供了一种输入/输出端口的访问方法。
该输入/输出端口的访问方法包括:
分析当前操作系统的设备文件,判定操作系统的设备文件中是否具有接口设备文件;
在判定的结果为否的情况下,向操作系统的系统内核中添加设备接口进程信息,促使操作系统的设备文件具备接口设备文件;
通过预定的功能指令,调用接口设备文件访问对应的输入/输出端口。
其中,在通过预定的功能指令,调用接口设备文件访问对应的输入/输出端口时,可通过分析预定的功能指令,确定功能指令对应的输入/输出端口的位置和位宽;再根据位置和位宽,通过设备文件生成与输入/输出端口对应的接口函数;并对接口函数进行编译,生成与接口函数对应的库文件;然后将库文件与含有与功能指令对应的输入/输出端口的应用程序进行链接,促使应用程序通过库文件中的接口函数访问对应的输入/输出端口。
此外,该输入/输出端口的访问方法还包括:对接口函数进行分析,确定接口函数对应的函数声明,函数声明用于描述接口函数的配置信息;将函数声明存储至预先配置的头文件中,并且,将头文件加入到应用程序中,促使应用程序能够显示库文件中的接口函数的配置信息。
其中,功能指令包括in指令和/或out指令。
其中,库文件包括静态库文件和/或动态库文件。
根据本发明的另一方面,提供了一种输入/输出端口的访问装置。
该输入/输出端口的访问装置包括:
判定模块,用于分析当前操作系统的设备文件,判定操作系统的设备文件中是否具有接口设备文件;
添加模块,用于在判定结果为否的情况下,向操作系统的系统内核中添加设备接口进程信息,促使操作系统的设备文件具备接口设备文件;
访问模块,用于通过预定的功能指令,调用接口设备文件访问对应的输入/输出端口。
其中,访问模块进一步包括第一分析模块、生成模块和第一处理模块,其中,第一分析模块,用于分析预定的功能指令,确定功能指令对应的输入/输出端口的位置和位宽;生成模块,用于根据位置和位宽,通过设备文件生成与输入/输出端口对应的接口函数,并且,对接口函数进行编译,生成与接口函数对应的库文件;第一处理模块,将库文件与含有与功能指令对应输入/输出端口的应用程序进行链接,促使应用程序通过库文件中的接口函数访问对应的输入/输出端口。
并且,访问模块还包括第二分析模块和第二处理模块,其中,第二分析模块,用于对接口函数进行分析,确定接口函数对应的函数声明,函数声明用于描述接口函数的配置信息;第二处理模块,用于将函数声明存储至预先配置的头文件中,并且,将头文件加入到应用程序中,促使应用程序能够显示库文件中的接口函数的配置信息。
其中,功能指令包括in指令和/或out指令。
其中,库文件包括静态库文件和/或动态库文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于曙光信息产业(北京)有限公司,未经曙光信息产业(北京)有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310576300.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:造纸机前筛浆机
- 下一篇:改进的干燥设备及方法