一种基于二进制翻译技术的外设驱动翻译方法及其装置与流程

文档序号:36503871发布日期:2023-12-28 08:25阅读:40来源:国知局
一种基于二进制翻译技术的外设驱动翻译方法及其装置与流程

本发明涉及二进制翻译,特别涉及一种基于二进制翻译技术的外设驱动翻译方法及其装置。


背景技术:

1、外设厂商会提供设备的linux官方驱动安装包,驱动的物理接口一般是usb接口或者网络接口。但厂商提供的官方linux驱动安装包仅支持少数架构,其他架构无法得到官方支持,因此无法运行设备。

2、近些年,随着二进制翻译技术的发展和逐步成熟,借助二进制翻译技术翻译不同架构指令的能力,可以翻译目标架构的二进制驱动,实现设备的运行。


技术实现思路

1、本发明的目的在于提供一种基于二进制翻译技术的外设驱动翻译方法及其装置,在没有驱动支持的机器平台翻译上运行目标架构(x86,arm等)的驱动,实现外设运行,以解决实际场景中设备因没有驱动支持而无法使用的问题。

2、为解决上述技术问题,本发明提供了一种基于二进制翻译技术的外设驱动翻译方法,包括如下步骤:

3、步骤1:在linux运行平台上部署二进制翻译工具,用于用户态程序的翻译执行,实现将目标架构的二进制程序中的指令翻译为linux运行平台架构的指令,且两者指令的运行效果及功能相同;

4、步骤2:在linux运行平台上部署二进制文件识别处理装置,用于识别目标架构的二进制文件,并调用对应目标架构的二进制翻译工具来翻译执行;确保在多进程驱动的每一个进程都能能够被二进制翻译工具正确处理;

5、步骤3:在linux运行平台上部署目标架构的驱动运行环境,作为二进制翻译工具的处理对象;

6、步骤4:在运行时,建立linux运行平台的设备树目录和驱动运行环境的设备树目录之间的联系,使得二进制翻译工具能够正确识别并操作linux运行平台设备。设备在linux系统下的表现形式是文件,主要是系统根目录下的sys、dev等目录。二进制翻译工具翻译执行过程中需要与物理外设交互,这就要求建立驱动运行环境与运行平台设备文件的联系。

7、优选的,所述步骤3中的驱动运行环境包括:驱动程序以及驱动所需的目标架构依赖库、dev和sys设备树目录;其中驱动程序和其依赖库打包并作为一个整体目录放置在运行平台上。

8、优选的,所述步骤4中建立linux运行平台的设备树目录和驱动运行环境的设备树目录之间的联系,具体采用如下方法:

9、使用mount挂载指令建立驱动运行环境中的设备树目录与运行平台设备树目录的硬链接;

10、或者,在二进制翻译工具中添加重定向功能,使得二进制翻译工具在查找模拟驱动运行环境的设备树目录时,直接定向为linux运行平台的设备树目录。

11、本发明还提供了一种基于二进制翻译技术的外设驱动翻译装置,该翻译装置由上述所述的翻译方法中的二进制翻译工具、二进制文件识别处理装置以及目标架构的驱动运行环境构成。

12、优选的,该外设驱动分为两层:

13、第一层为用户层驱动,所述用户层驱动主要负责设备的特有功能;

14、第二层为内核层驱动,所述内核层驱动管理更下层的设备,响应用户层的请求操作设备。

15、优选的,该linux运行平台架构的内核驱动和目标架构的内核驱动基于同源开发,以使不同架构间的api接口和功能相一致,且使所述用户层驱动和所述内核层驱动两者之间通过api接口相沟通。

16、本发明与现有技术相比,具有如下有益效果:

17、本发明利用二进制翻译工具翻译运行驱动运行环境中的驱动程序,功能等价的实现了目标架构驱动的在另一种架构平台的运行,因为可以操作连接到运行平台的物理设备。而且本发明翻译装置的核心原理是:翻译装置读取并翻译运行目标架构驱动程序,实现方式是两种架构之间的指令翻译,外在表现是用户层驱动与内核的交互功能相同。因为不同架构的内核驱动是同源开发,同用户层交互的api基本一致。这就实现了物理设备的正常运转。故此本发明可以在没有驱动支持的机器平台翻译上运行目标架构(x86,arm等)的驱动,实现外设运行,以解决实际场景中设备因没有驱动支持而无法使用的问题。



技术特征:

1.一种基于二进制翻译技术的外设驱动翻译方法,其特征在于,包括如下步骤:

2.如权利要求1所述的一种基于二进制翻译技术的外设驱动翻译方法,其特征在于,所述步骤3中的驱动运行环境包括:驱动程序以及驱动所需的目标架构依赖库、dev和sys设备树目录。

3.如权利要求1所述的一种基于二进制翻译技术的外设驱动翻译方法,其特征在于,所述步骤4中建立linux运行平台的设备树目录和驱动运行环境的设备树目录之间的联系,具体采用如下方法:

4.一种基于二进制翻译技术的外设驱动翻译装置,其特征在于,该翻译装置由权利要求1-3任一项所述的翻译方法中的二进制翻译工具、二进制文件识别处理装置以及目标架构的驱动运行环境构成。

5.如权利要求4所述的一种基于二进制翻译技术的外设驱动翻译装置,其特征在于,该外设驱动分为两层:

6.如权利要求5所述的一种基于二进制翻译技术的外设驱动翻译装置,其特征在于,该linux运行平台架构的内核驱动和目标架构的内核驱动基于同源开发,以使不同架构间的api接口和功能相一致,且使所述用户层驱动和所述内核层驱动两者之间通过api接口相沟通。


技术总结
本发明涉及二进制翻译技术领域,特别涉及一种基于二进制翻译技术的外设驱动翻译方法及其装置。包括:步骤1:在Linux运行平台上部署二进制翻译工具;步骤2:在Linux运行平台上部署二进制文件识别处理装置,用于识别目标架构的二进制文件,并调用对应目标架构的二进制翻译工具来翻译执行;步骤3:在Linux运行平台上部署目标架构的驱动运行环境,作为二进制翻译工具的处理对象;步骤4:建立Linux运行平台的设备树目录和驱动运行环境的设备树目录之间的联系。本发明可以在没有驱动支持的机器平台翻译上运行目标架构的驱动,实现外设运行,以解决实际场景中设备因没有驱动支持而无法使用的问题。

技术研发人员:高清
受保护的技术使用者:中电科申泰信息科技有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1