一种自动识别硬件版本的方法及终端技术

技术编号:25947342 阅读:52 留言:0更新日期:2020-10-17 03:39
本发明专利技术公开一种自动识别硬件版本的方法及终端,为每一版本的硬件设置硬件版本识别标识;读取待识别的硬件的硬件版本识别标识,根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件,所述存储区存储有所述硬件的每一版本的编译文件,所述编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信息;在进行产品生产时,不需要像现有中在生产线上区分不同的硬件版本来下载对应的编译文件,能够将所有的硬件版本都进行下载存储,后续基于硬件上的硬件版本识别标识确定硬件的版本并匹配对应的编译文件,实现对硬件版本的自动识别,从而能够很好的提高生产效率。

【技术实现步骤摘要】
一种自动识别硬件版本的方法及终端
本专利技术涉及嵌入式
,尤其涉及一种自动识别硬件版本的方法及终端。
技术介绍
在嵌入式领域,为了获得更好的经济效益,一般会根据具体的应用需求进行差异化硬件设计,这就会导致即使是同一系列的产品,因为功能上的细微差异,硬件电路板的设计也会不同。在大规模的产品生产设计中,即使是同一型号的产品,比如某款手机,因为生产的量非常大,可能几十万、甚至几百万台,手机设计公司为了供货有保障,可能会让不同的供应商为同一款手机提供触摸屏、传感器等元器件,这些不同的厂商提供的触摸屏、传感器在内部设计上是有差异的,因而这些不同的元器件对应的控制驱动程序也会不同,对于同一种硬件电路板,这就有不同的硬件版本或硬件的变种,但是它们需要在同一款软件中实现兼容支持。在目前最广泛使用的嵌入式软件系统中,比如手机、平板上广泛使用的Android系统,它的底层是通过Linuxkernel来控制驱动各种硬件设备(元器件),为了代码的精简和可维护性,Linuxkernel利用了dts(devicetreesource,设备树)来描述硬件设备,即对于某个确定的硬件产品电路板,通过一个dts文件来描述这个电路板上所有的硬件元器件,如果有多个硬件版本,就有对应的多个不同的dts文件,但是Linuxkernel只有一个,dts文件最终会被编译成Linuxkernel可以识别的目标文件,这种目标文件叫做dtb(devicetreebinary)文件,并最终在生产线上随着其他软件系统一起下载到与之版本匹配的硬件电路板上的存储设备中,然后在系统启动的初始阶段,通过叫做Bootloader的软件负责从存储设备中把该dtb进行加载,并传递给Linuxkernel,再启动Linuxkernel,Linux就会根据此dtb文件正确地运行对应的硬件驱动,让不同版本的硬件设备能够正常工作。但是,在实际的工程环境中,Bootloader无法知道它要启动的是硬件的哪个版本,因此它也无法加载和这个硬件版本相匹配的dtb文件。所以目前工程上的常用做法是:在软件编译阶段,软件开发人员要指定和对应的硬件版本匹配的dts文件进行编译,生成dtb文件,然后在生产线上将该dtb文件下载到对应的硬件电路板的存储设备上,也就是说,生产线上要严格区分不同的硬件版本,然后下载对应的dtb文件,然后系统启动后,Bootloader才能够加载这个唯一的dtb文件,传递给Linuxkernel。如果某个产品有很多种硬件,并且每种硬件有很多个硬件版本,则产品的生产效率将非常低,因为需要软件开发人员在软件编译阶段,逐一指定每种硬件对应的硬件版本匹配的dts文件进行编译并下载。目前工程中还有这样一种比较广泛使用的方案:在Bootloader阶段根据某个产品硬件具体有多少种版本,维护一个硬件版本和与之对应的dtb文件的映射关系表,在Bootloader加载阶段,先读取硬件ID,然后再根据这个硬件ID去查找映射关系表,找到与该硬件版本匹配的dtb文件,然后传递给内核。这种方案的局限在于:对于不同的产品,这个硬件映射关系表要做针对性的修改,Bootloader无法做到通用。另外,不同的产品可能用不同的方式去实现硬件ID,比如GPIO或者adc,Bootloader无法自适应这种方式的变化,只能和硬件设计工程师约定,指定某种硬件ID方式,不能随意变化,否则就无法正确识别。
技术实现思路
本专利技术所要解决的技术问题是:提供一种自动识别硬件版本的方法及终端,能够提高产品的生产效率。为了解决上述技术问题,本专利技术采用的一种技术方案为:一种自动识别硬件版本的方法,包括步骤:S1、为每一版本的硬件设置硬件版本识别标识;S2、读取待识别的硬件的硬件版本识别标识,根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件,所述存储区存储有所述硬件的每一版本的编译文件,所述编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信息。进一步的,所述步骤S1和S2之间包括:S12、重命名每一版本的硬件的硬件描述文件的编译文件,重命名后的文件名中包含对应硬件的硬件版本识别标识的编码信息;S13、将重命名后的每一版本的硬件的编译文件烧写至所述待识别的硬件的存储区中。进一步的,所述编译文件的文件名包含硬件版本识别标识类型;所述读取待识别的硬件的硬件版本识别标识包括:解码所述待识别的硬件的存储区中的编译文件的文件名,获取对应的硬件版本识别标识类型;根据所述硬件版本识别标识类型读取所述待识别的硬件的硬件版本识别标识。进一步的,所述硬件版本识别标识包括对应的硬件的预设GPIO的电平组合值或数模转换接口的采样电阻值。进一步的,所述根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件包括:逐一解码所述待识别的硬件的存储区中的编译文件的文件名,得到对应的硬件版本识别标识,并将所述对应的硬件版本识别标识与所述读取的硬件版本识别标识进行对比直至找到与所述待识别的硬件匹配的编译文件。为了解决上述技术问题,本专利技术采用的另一种技术方案为:一种自动识别硬件版本的终端,包括存储器、处理器以及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:S1、为每一版本的硬件设置硬件版本识别标识;S2、读取待识别的硬件的硬件版本识别标识,根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件,所述存储区存储有所述硬件的每一版本的编译文件,所述编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信息。进一步的,所述步骤S1和S2之间包括:S12、重命名每一版本的硬件的硬件描述文件的编译文件,重命名后的文件名中包含对应硬件的硬件版本识别标识的编码信息;S13、将重命名后的每一版本的硬件的编译文件烧写至所述待识别的硬件的存储区中。进一步的,所述编译文件的文件名包含硬件版本识别标识类型;所述读取待识别的硬件的硬件版本识别标识包括:解码所述待识别的硬件的存储区中的编译文件的文件名,获取对应的硬件版本识别标识类型;根据所述硬件版本识别标识类型读取所述待识别的硬件的硬件版本识别标识。进一步的,所述硬件版本识别标识包括对应的硬件的预设GPIO的电平组合值或数模转换接口的采样电阻值。进一步的,所述根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件包括:逐一解码所述待识别的硬件的存储区中的编译文件的文件名,得到对应的硬件版本识别标识,并将所述对应的硬件版本识别标识与所述读取的硬件版本识别标识进行对比直至找到与所述待识别的硬件匹配的编译文件。本专利技术的有益效果在于:为每一版本的硬件设置硬件版本识别标识,并在待识别的硬件的存储区中存储硬件的每一版本的编译文件,编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信本文档来自技高网
...

【技术保护点】
1.一种自动识别硬件版本的方法,其特征在于,包括步骤:/nS1、为每一版本的硬件设置硬件版本识别标识;/nS2、读取待识别的硬件的硬件版本识别标识,根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件,所述存储区存储有所述硬件的每一版本的编译文件,所述编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信息。/n

【技术特征摘要】
1.一种自动识别硬件版本的方法,其特征在于,包括步骤:
S1、为每一版本的硬件设置硬件版本识别标识;
S2、读取待识别的硬件的硬件版本识别标识,根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件,所述存储区存储有所述硬件的每一版本的编译文件,所述编译文件的文件名中包含对应硬件的硬件版本识别标识的编码信息。


2.根据权利要求1所述的一种自动识别硬件版本的方法,其特征在于,所述步骤S1和S2之间包括:
S12、重命名每一版本的硬件的硬件描述文件的编译文件,重命名后的文件名中包含对应硬件的硬件版本识别标识的编码信息;
S13、将重命名后的每一版本的硬件的编译文件烧写至所述待识别的硬件的存储区中。


3.根据权利要求1或2所述的一种自动识别硬件版本的方法,其特征在于,所述编译文件的文件名包含硬件版本识别标识类型;
所述读取待识别的硬件的硬件版本识别标识包括:
解码所述待识别的硬件的存储区中的编译文件的文件名,获取对应的硬件版本识别标识类型;
根据所述硬件版本识别标识类型读取所述待识别的硬件的硬件版本识别标识。


4.根据权利要求3所述的一种自动识别硬件版本的方法,其特征在于,所述硬件版本识别标识包括对应的硬件的预设GPIO的电平组合值或数模转换接口的采样电阻值。


5.根据权利要求1或2所述的一种自动识别硬件版本的方法,其特征在于,所述根据所述读取的硬件版本识别标识在所述待识别的硬件的存储区中匹配对应的编译文件包括:
逐一解码所述待识别的硬件的存储区中的编译文件的文件名,得到对应的硬件版本识别标识,并将所述对应的硬件版本识别标识与所述读取的硬件版本识别标识进行对比直至找到与所述待识别的硬件匹配的编译文件。


6.一种自动识别硬件版本的终端,包括存储器、...

【专利技术属性】
技术研发人员:闫孝军
申请(专利权)人:福州瑞芯微电子股份有限公司
类型:发明
国别省市:福建;35

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

1