驱动构建方法、装置及相关设备制造方法及图纸

技术编号:36063150 阅读:6 留言:0更新日期:2022-12-24 10:28
本申请提供一种驱动构建方法、装置及相关设备,其方法包括:获取与操作系统对应的基础代码和驱动框架;解析所述基础代码以提取多个外部设备信息,所述多个外部设备信息包括外部设备的类型,所述多个外部设备包括芯片中除内核以外的设备;获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息;将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系;基于所述对应关系获取所述驱动框架中与所述目标外部设备信息对应的驱动文件,使用所述驱动文件构建驱动。本申请可以提高代码的可读可维护性。高代码的可读可维护性。高代码的可读可维护性。

【技术实现步骤摘要】
驱动构建方法、装置及相关设备


[0001]本申请涉及操作系统驱动构建
,尤其涉及一种驱动构建方法、装置及相关设备。

技术介绍

[0002]现有技术中,针对芯片的嵌入式操作系统没有统一的驱动构建方法,部分操作系统使用官方原有的旧版本BSP(Board Support Package,板级支持包)库进行不断地兼容和拓展,框架冗余复杂,可读可维护性较差。

技术实现思路

[0003]本申请提供一种驱动构建方法、装置及相关设备,以解决代码可读可维护性较差的问题。
[0004]第一方面,本申请实施例提供了一种驱动构建方法,包括:
[0005]获取与操作系统对应的基础代码和驱动框架;
[0006]解析所述基础代码以提取多个外部设备信息,所述多个外部设备信息包括多个外部设备的类型,所述多个外部设备包括芯片中除内核以外的设备;
[0007]获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息;
[0008]将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系;
[0009]基于所述对应关系获取所述驱动框架中与所述目标外部设备信息对应的驱动文件,使用所述驱动文件构建驱动。
[0010]第二方面,本申请实施例还提供一种驱动构建装置,包括:
[0011]第一获取模块,用于获取与操作系统对应的基础代码和驱动框架;
[0012]解析模块,用于解析所述基础代码以提取多个外部设备信息,所述多个外部设备信息包括多个外部设备的类型,所述多个外部设备包括芯片中除内核以外的设备;
[0013]第二获取模块,用于获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息;
[0014]对接模块,用于将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系;
[0015]第三获取模块,用于基于所述对应关系获取所述驱动框架中与所述目标外部设备信息对应的驱动文件,使用所述驱动文件构建驱动。
[0016]第三方面,本申请实施例还提供一种通信设备,包括:收发机、存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序;其特征在于,所述处理器,用于读取存储器中的程序实现如前述第一方面所述方法中的步骤。
[0017]第四方面,本申请实施例还提供一种可读存储介质,用于存储程序,所述程序被处理器执行时实现如前述第一方面所述方法中的步骤。
[0018]本申请实施例中,通过获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息,将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系,基于所述对应关系获取所述驱动框架中与所述目标外部设备信息对应的驱动文件,使用所述驱动文件构建驱动,实现对所述操作系统的支持,从而提高驱动代码的可读可维护性。
附图说明
[0019]为了更清楚地说明本申请的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0020]图1是本申请实施例提供的驱动构建方法的流程示意图之一;
[0021]图2是本申请实施例提供的驱动构建方法的流程示意图之二;
[0022]图3是本申请实施例提供的基础代码目录的示意图;
[0023]图4是本申请实施例提供的驱动构建装置的结构示意图之一;
[0024]图5是本申请实施例提供的驱动构建装置的结构示意图之二;
[0025]图6是本申请实施例提供的驱动构建装置的结构示意图之三;
[0026]图7是本申请实施例提供的驱动构建装置的结构示意图之四;
[0027]图8是本申请实施例提供的驱动构建装置的结构示意图之五;
[0028]图9是本申请实施例提供的通信设备的结构示意图。
具体实施方式
[0029]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0030]本申请实施例中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。此外,本申请中使用“和/或”表示所连接对象的至少其中之一,例如A和/或B和/或C,表示包含单独A,单独B,单独C,以及A和B都存在,B和C都存在,A和C都存在,以及A、B和C都存在的7种情况。
[0031]请参阅图1,图1是本申请实施例提供的驱动构建方法的流程示意图之一,如图1所示,包括以下步骤:
[0032]步骤101、获取与操作系统对应的基础代码和驱动框架。
[0033]其中,上述基础代码可以使用通用的配置工具生成,可靠性和通用性较高,例如:对于STM32系列芯片可以使用对应的官方配置工具STM32CubeMX进行通用外部设备配置以及根据操作系统的设定需求对部分设置进行配置,可以提高对不同系列芯片的兼容性,以
及提高生成代码的可靠性和通用性。并且,上述生成的基础代码与上述操作系统的BSP(Board Support Package,板级支持包)外部设备配置对应。
[0034]步骤102、解析所述基础代码以提取多个外部设备信息,所述多个外部设备信息包括多个外部设备的类型,所述多个外部设备包括芯片中除内核以外的设备。
[0035]其中,上述外部设备具体可以是TIMER(计时器)、UART(Universal Asynchronous Receiver/Transmitter,通用异步收发传输器)、SPI(Serial Peripheral Interface,串行外设接口)、USB(Universal Serial Bus,通用串行总线)、I2C(Inter-Integrated Circuit,两线式串行总线)、存储器等功能模块,对于不同的芯片具体对应的外部设备可以不同。从而,上述提取的多个外部设备信息可以是芯片对应的外部设备的信息,也可以理解为真正使用的外部设备的信息。
[0036]步骤103、获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息。
[0037]其中,上述匹配可以使用脚本解析上述基础代码实现,例如:上述基础代码可以包括main.c(芯片及外部设备初始化代码)文件、stm32xxxx_hal_msp本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种驱动构建方法,其特征在于,包括:获取与操作系统对应的基础代码和驱动框架;解析所述基础代码以提取多个外部设备信息,所述多个外部设备信息包括多个外部设备的类型,所述多个外部设备包括芯片中除内核以外的设备;获取所述多个外部设备信息中类型与所述驱动框架匹配的目标外部设备信息;将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系;基于所述对应关系获取所述驱动框架中与所述目标外部设备信息对应的驱动文件,使用所述驱动文件构建驱动。2.如权利要求1所述的方法,其特征在于,所述解析所述基础代码以提取多个外部设备信息,包括:获取不同外部设备的共用信息;基于所述不同外部设备的共用信息,构建解析脚本;基于所述解析脚本解析所述基础代码以提取多个外部设备信息。3.如权利要求2所述的方法,其特征在于,所述基于所述解析脚本解析所述基础代码以提取多个外部设备信息,包括:基于所述解析脚本匹配多个外部设备;提取所述多个外部设备的句柄;基于所述句柄获取所述多个外部设备信息。4.如权利要求3所述的方法,其特征在于,所述获取与操作系统对应的基础代码和驱动框架之后,所述方法还包括:基于所述解析脚本修改所述基础代码中的第一文件的名称和函数类型,所述第一文件包括芯片及外部设备初始化代码;所述驱动调用所述修改后的第一文件以实现芯片及外部设备的初始化。5.如权利要求1所述的方法,其特征在于,所述将所述目标外部设备信息与所述驱动框架进行对接,以获取所述目标外部设备信息与所述驱动框架的对应关系,包括:将所述目标外部设备信息注册到所述驱动框架中;通过调用封装库将所述目标外部设备信息与所述驱动框架进行对接,以获取...

【专利技术属性】
技术研发人员:袁勇
申请(专利权)人:中国移动通信集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1