【发明授权】一种适用于U-Boot的驱动文件动态加载方法及系统_成都菁蓉联创科技有限公司_202110775471.X 

申请/专利权人:成都菁蓉联创科技有限公司

申请日:2021-07-09

公开(公告)日:2021-09-21

公开(公告)号:CN113238819B

主分类号:G06F9/445(20180101)

分类号:G06F9/445(20180101);G06F8/61(20180101);G06F8/71(20180101)

优先权:

专利状态码:有效-授权

法律状态:2021.09.21#授权;2021.08.27#实质审查的生效;2021.08.10#公开

摘要:本发明提供了一种适用于U‑Boot的驱动文件动态加载方法、系统、设备以及计算机介质,属于通信技术领域。该方法包括:提取不同设备的差异部分;构建驱动开发模型;设备驱动重构与开发;划分DTB存储空间;在分区中分别添加DTB文件以及重构与开发的设备驱动;由boot0加载DTB的指令;对加载的DTB进行解析。本发明针对多种单板间存在的部分外设差异设计一个抽象层,将单板之间的差异部分抽象出来,与U‑Boot烧写镜像分开维护管理。使用时,所有同类型单板使用同一个U‑Boot烧写镜像,辅以差异内容的植入,单板运行时,自动根据抽象层的内容来决定如何初始化外设驱动,实现更简单的版本管理与后期维护。

主权项:1.一种适用于U-Boot的驱动文件动态加载方法,其特征在于,包括以下步骤:S1、提取不同设备的差异部分,形成DTS设备树文件;S2、根据所述DTS设备树文件的参数类型以及libftd库提供的扁平设备树解析接口,构建基于DTB的驱动开发模型;所述步骤S2中基于DTB的驱动开发模型支持设备驱动使用由DTB文件传入的驱动配置与驱动参数,以及支持设备驱动根据DTB文件内容确定加载设备的驱动程序;S3、根据所述驱动开发模型,对嵌入式单板进行设备驱动的重构与开发;S4、在嵌入式单板原有的EMMC存储划分基础上,划分DTB文件与设备驱动的存储空间,并将所述存储空间增加到boot-res分区中;或单独划分一个用于存储DTB文件与可动态加载的设备驱动文件分区,并命名为uboot-dydrv分区;S5、在boot-res分区或uboot-dydrv分区中分别添加步骤S1中DTS设备树文件编译得到的DTB文件以及步骤S3的重构与开发的设备驱动;S6、根据步骤S5的添加结果,执行由boot0加载DTB的指令;S7、开发动态驱动加载命令,调用步骤S5中存储在boot-res分区或uboot-dydrv分区中的设备驱动对加载的DTB文件进行解析,完成U-Boot下驱动文件的动态加载。

全文数据:

权利要求:

百度查询: 成都菁蓉联创科技有限公司 一种适用于U-Boot的驱动文件动态加载方法及系统