技术新讯 > 计算推算,计数设备的制造及其应用技术 > 一种对讲设备机型识别的方法与流程  >  正文

一种对讲设备机型识别的方法与流程

  • 国知局
  • 2024-09-05 14:29:03

本发明涉及对讲设备机型识别,尤其涉及一种对讲设备机型识别的方法。

背景技术:

1、现有技术中的对讲设备需要同时管理数十个机型的软件版本,修复一个系统bug时,必须逐一同步每个软件版本,这种冗余工作会造成人力成本浪费,而且在软件开发过程中,稍有不慎就可能引入新的bug,导致项目进度延误,不能满足使用需求,综合上述情况,因此我们提出了一种对讲设备机型识别的方法。

技术实现思路

1、基于背景技术存在的技术问题,本发明提出了一种对讲设备机型识别的方法。

2、本发明提出的一种对讲设备机型识别的方法,包括以下步骤:

3、s1:通过硬件或软件环境参数的方式获取机型号,其机型号的格式为v160-1-0,其中第一个参数为系统名称,第二个参数表示同一大类(如门口机、室内机),第三个参数表示子版本号,用于区分硬件板载上的模块差异,并将获取的机型号以dts文件格式储存;

4、s2:将s1中获取地所有机型的dts文件经过dtc(device tree compiler)工具编译,然后通过mkdtbs添加包头并组合打包所有的dtb文件,并通过特殊的包头协议对dtb及相关信息进行排序;

5、s3:获取机型号后,使用flash读取操作接口读取dtbs分区的数据,根据dtbs包头的协议通过dtb.name和机型号进行字符匹配,采用轮询方式进行配对,最终筛选出相应的dtb,然后更新获取到的dtb数据,如果未找到相应的dtb,则使用默认设置。

6、优选地,所述s1中,采用硬件获取机型号时,采用机型识别电路,结合gpio和ad的方式,可组合成数十种型号,在uboot的初始化链表(init_sequence_r)中添加一个io/adc检测接口,通过硬件预留的io或adc电压检测引脚,根据对应的io电平信号赋予机型号;

7、采用软件环境参数获取机型号时,在uboot中待环境变量初始化完毕后,通过getenv接口读取对应机型号的变量名,如swversion,采用自定义格式,无组合上限,可通过上位机软件将对应的机型号嵌入整机镜像包中,这些信息存储在env分区中。

8、优选地,所述s2中,mkdtbs是一个自定义的shell脚本,需要根据不同系统稍作调整,以ssd20x soc为例,该处理器采用小端模式,第一个字节以0xaabbccdd作为dtbs文件的标识,第二字节表示dtb的数量,然后是每个dtb文件的信息;脚本需要计算每个dtb文件的偏移位置,程序会通过匹配dtb名称,并以对应的偏移地址进行读取对应的dtb资源文件。

9、优选地,所述s3中,对应dtb的起始地址为gd->fdt_blob变量,由于每个系统的uboot初始化流程可能会有差异,以ssd20x为例,说明解析包头协议的函数应放置在flash操作接口初始化后。

10、优选地,所述s3中,解析更新dtb的流程如下:

11、s301:获取dtbs_hdr起始地址:使用dev_part_read读分区接口从“dtb”分区读取相应数据,读取成功后,解析defauit_dtb的字节大小,通过dtb_header结构体解析,推算出dtbs_hdr的起始地址;

12、s302:读取“hwversion”环境中的变量,判断分区中是否存在对应的机型,若不存在或为空时,则使用默认dtb或者采用默认机型0-0,紧接着通过getenv接口读取“swversion”变量值,然后通过比较dtb->name来选择匹配的dtb_info参数;

13、s303:读取相应的dtb数据,并将其拷贝至gd->fdt_blob地址:根据dtbs header中dtb_info的字节大小、偏移和crc32参数,读取相应的dtb数据,确认数据合法无误后,将其拷贝至系统全局变量gd->fdt_blob所指向的地址。

14、优选地,所述s1中,dts为device tree source,即设备树源文件。

15、优选地,所述s2中,dtb为device tree blob,即设备树二进制文件。

16、优选地,所述s3中,dtbs为device tree blobs,即设备树二进制文件合集。

17、与现有的技术相比,本发明的有益效果是:

18、本发明通过针对每个机型的硬件特性创建一份对应的资源文件,并通过硬件电路或软件环境变量获取当前机型对应的资源文件,实现一份内核镜像包兼容所有机型,从而在修复一个系统bug时,只需要更新获取到的dtb数据即可,不需要逐一同步每个软件版本,降低劳动强度和开发人员的维护成本。

技术特征:

1.一种对讲设备机型识别的方法,其特征在于,包括以下步骤:

2.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s1中,采用硬件获取机型号时,采用机型识别电路,结合gpio和ad的方式,可组合成数十种型号,在uboot的初始化链表(init_sequence_r)中添加一个io/adc检测接口,通过硬件预留的io或adc电压检测引脚,根据对应的io电平信号赋予机型号;

3.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s2中,mkdtbs是一个自定义的shell脚本,需要根据不同系统稍作调整,以ssd20x soc为例,该处理器采用小端模式,第一个字节以0xaabbccdd作为dtbs文件的标识,第二字节表示dtb的数量,然后是每个dtb文件的信息;脚本需要计算每个dtb文件的偏移位置,程序会通过匹配dtb名称,并以对应的偏移地址进行读取对应的dtb资源文件。

4.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s3中,对应dtb的起始地址为gd->fdt_blob变量,由于每个系统的uboot初始化流程可能会有差异,以ssd20x为例,说明解析包头协议的函数应放置在flash操作接口初始化后。

5.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s3中,解析更新dtb的流程如下:

6.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s1中,dts为device tree source,即设备树源文件。

7.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s2中,dtb为device tree blob,即设备树二进制文件。

8.根据权利要求1所述的一种对讲设备机型识别的方法,其特征在于,所述s3中,dtbs为device tree blobs,即设备树二进制文件合集。

技术总结本发明公开了一种对讲设备机型识别的方法,包括以下步骤:S1:通过硬件或软件环境参数的方式获取机型号,其机型号的格式为v160‑1‑0,其中第一个参数为系统名称,第二个参数表示同一大类(如门口机、室内机),第三个参数表示子版本号,用于区分硬件板载上的模块差异,并将获取的机型号以dts文件格式储存。本发明通过针对每个机型的硬件特性创建一份对应的资源文件,并通过硬件电路或软件环境变量获取当前机型对应的资源文件,实现一份内核镜像包兼容所有机型,从而在修复一个系统bug时,只需要更新获取到的dtb数据即可,不需要逐一同步每个软件版本,降低劳动强度和开发人员的维护成本。技术研发人员:陈斯受保护的技术使用者:厦门狄耐克智能科技股份有限公司技术研发日:技术公布日:2024/9/2

本文地址:https://www.jishuxx.com/zhuanli/20240905/286679.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。