【技术实现步骤摘要】
一种在单Linux系统镜像中支持多DTB的方法及系统
本专利技术涉及计算机通信
,具体涉及一种在单Linux系统镜像中支持多DTB的方法及系统。
技术介绍
设备树(Devicetree)是一套在Linux系统中用来描述硬件属相的规则,它以树形数据结构描述了目标硬件的参数;DTS(Devicetreesyntax)是设备树源文件,采用的是文本格式;而DTB(Devicetreeblob)则是由DTS文件编译成的的二进制文件,被烧写在存储介质中。DTC(Devicetreecompiler)是一个小工具,负责将DTS转换成DTB(Devicetreeblob)。在Linux系统启动的时候,引导程序bootprogram(例如:Uboot、bootloader)在启动Linux系统镜像前将DTB文件读到内存中,跳转到Linux系统镜像执行的同时将DTB起始地址传给系统镜像。Linux系统镜像通过起始地址就可以根据DTB的结构解析整个设备树,完成硬件驱动的初始化。设备树的引入减少了系统镜像为支持新硬件而需要的改变,提高代码重用,加速了Linux支持包的开发,使得单个 ...
【技术保护点】
1.一种在单Linux系统镜像中支持多DTB的方法,其特征在于,包括:将多个不同的DTB文件整合成一个DTB整合文件,将DTB整合文件和包含同一个Linux系统镜像版本下的所有产品驱动的Linux系统镜像镜像,打包成Linux系统镜像文件;引导程序启动时,通过修改引导程序代码载入各产品对应的DTB文件。
【技术特征摘要】
1.一种在单Linux系统镜像中支持多DTB的方法,其特征在于,包括:将多个不同的DTB文件整合成一个DTB整合文件,将DTB整合文件和包含同一个Linux系统镜像版本下的所有产品驱动的Linux系统镜像镜像,打包成Linux系统镜像文件;引导程序启动时,通过修改引导程序代码载入各产品对应的DTB文件。2.如权利要求1所述的一种在单Linux系统镜像中支持多DTB的方法,其特征在于:所述将多个不同的DTB文件整合成一个DTB整合文件,具体包括以下步骤:使用DTC工具编译生成多个产品的DTB文件;使用脚本工具将生成的每个DTB文件填充成设定大小的文件,或是使用DTC工具在生成DTB文件时指定DTB文件大小为设定大小;使用脚本将多个设定大小的DTB文件合并成一个n*设定大小的DTB整合文件,n为DTB文件的总数。3.如权利要求1所述的一种在单Linux系统镜像中支持多DTB的方法,其特征在于:所述将DTB整合文件和包含同一个Linux系统镜像版本下的所有产品驱动的Linux系统镜像镜像,打包成Linux系统镜像文件,具体包括以下步骤:使用mkimage工具,将DTB整合文件、包含同一个Linux系统镜像版本下的所有产品驱动的Linux系统镜像镜像以及根文件系统,打包成Linux系统镜像文件。4.如权利要求1所述的一种在单Linux系统镜像中支持多DTB的方法,其特征在于:所述引导程序启动时,通过修改引导程序代码载入各产品对应的DTB文件,具体包括以下步骤:判断是否具备产品识别机制;若是,修改引导程序代码,通过产品识别机制跳转到对应代码分支中,自动载入各产品对应的DTB文件;若否,通过设置环境变量,载入各产品对应的DTB文件。5.如权利要求4所述的一种在单Linux系统镜像中支持多DTB的方法,其特征在于:所述通过设置环境变量,载入各产品对应的DTB文件,具体包括以下步骤:设置环境变量为:UBoot>fdtaddrDTB_BASE+m*filesize,其中:fdtaddrDTB_BASE为DTB载入基地址,m为指定的需要载入的DTB文件的序号,filesize为DTB文件的设定大小。6.一种在单Linux系统镜像中支持多DTB的系统,其特...
【专利技术属性】
技术研发人员:张彤,李炎涛,
申请(专利权)人:烽火通信科技股份有限公司,
类型:发明
国别省市:湖北,42
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。