首页 / 专利库 / 资料储存系统 / 大容量存储 / 只读存储器 / 多dts文件支持方法、编译装置及嵌入式设备

多dts文件支持方法、编译装置及嵌入式设备

阅读:211发布:2020-05-08

专利汇可以提供多dts文件支持方法、编译装置及嵌入式设备专利检索,专利查询,专利分析的服务。并且本 发明 公开了一种多dts文件支持方法、编译装置及嵌入式设备,涉及嵌入式领域,用于解决单个uboot只支持一个dtb文件造成的版本管理不便的问题。该方法包括:获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;分别对N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;创建汇编文件;将N个dtb文件添加到汇编文件中;对汇编文件进行编译生成dtb目标文件;将dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,uboot的bin文件用于加载至嵌入式设备的内存后,嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux 内核 。本发明的 实施例 应用于Linux 嵌入式系统 。,下面是多dts文件支持方法、编译装置及嵌入式设备专利的具体信息内容。

1.一种多dts文件支持方法,其特征在于,包括:
获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;
分别对所述N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;
创建汇编文件;
将所述N个dtb文件添加到所述汇编文件中;
对所述汇编文件进行编译生成dtb目标文件;
将所述dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,所述uboot的bin文件用于加载至嵌入式设备的内存运行后,所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核
2.根据权利要求1所述的方法,其特征在于,所述汇编文件包含N个数据段,每个数据段对应N个dtb文件中的一个dtb文件。
3.根据权利要求2所述的方法,其特征在于,所述将所述N个dtb文件添加到所述汇编文件中,包括:
根据所述dtb文件在其对应的当前数据段的起始地址处定义所述当前数据段的起始标识;
从所述当前数据段的起始地址处开始将对应的dtb文件以二进制添加到所述当前数据段中;
将所述当前数据段中所添加的dtb文件的结束地址作为所述当前数据段的结束地址,并且在所述当前数据段的结束地址处定义所述当前数据段的结束标识;
遍历所述N个dtb文件,直至所有所述N个dtb文件添加至所述汇编文件中。
4.根据权利要求3所述的方法,其特征在于,所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件,包括:
所述嵌入式设备在执行uboot过程中,根据所述当前设备型号从加载至内存的uboot的bin文件中访问对应的起始标识和结束标识所限定的内存来获取对应的dtb文件。
5.根据权利要求1所述的方法,其特征在于,在所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核之前,所述方法还包括:
所述嵌入式设备从环境变量或外挂的电可擦可编程只读存储器EEPROM读取所述当前设备型号。
6.一种编译装置,其特征在于,包括:
获取单元,用于获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;
编译单元,用于分别对所述获取单元所获取的所述N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;
创建单元,用于创建汇编文件;
添加单元,用于将所述编译单元所生成的所述N个dtb文件添加到所述创建单元所创建的所述汇编文件中;
所述编译单元,还用于对所述添加单元添加了所述N个dtb文件后的所述汇编文件进行编译生成dtb目标文件;
所述编译单元,还用于将所述dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,所述uboot的bin文件用于加载至嵌入式设备的内存运行后,所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核。
7.根据权利要求6所述的装置,其特征在于,所述汇编文件包含N个数据段,每个数据段对应N个dtb文件中的一个dtb文件。
8.根据权利要求7所述的装置,其特征在于,所述添加单元具体用于:
根据所述dtb文件在其对应的当前数据段的起始地址处定义所述当前数据段的起始标识;
从所述当前数据段的起始地址处开始将对应的dtb文件以二进制添加到所述当前数据段中;
将所述当前数据段中所添加的dtb文件的结束地址作为所述当前数据段的结束地址,并且在所述当前数据段的结束地址处定义所述当前数据段的结束标识;
遍历所述N个dtb文件,直至所有所述N个dtb文件添加至所述汇编文件中。
9.一种嵌入式设备,其特征在于,包括:
加载单元,用于将通用引导加载程序uboot的二进制bin文件加载至内存运行,其中,所述uboot的bin文件由编译装置对设备树二进制dtb目标文件和uboot源码进行编译生成,所述dtb目标文件由所述编译装置对汇编文件进行编译生成,所述汇编文件包含N个dtb文件,每个dtb文件由所述编译装置对一个设备树源dts文件进行编译生成,每个dts文件分别对应一个设备型号;
获取单元,用于根据当前设备型号从所述内存中获取对应的dtb文件;
传递单元,用于将所述获取单元所获取的dtb文件传递给Linux内核。
10.根据权利要求9所述的设备,其特征在于,所述获取单元具体用于:
根据所述当前设备型号从加载至内存的uboot的bin文件中访问对应的起始标识和结束标识所限定的内存来获取对应的dtb文件。
11.根据权利要求9所述的设备,其特征在于,所述获取单元还用于:
从环境变量或外挂的电可擦可编程只读存储器EEPROM读取所述当前设备型号。

说明书全文

多dts文件支持方法、编译装置及嵌入式设备

技术领域

[0001] 本发明涉及嵌入式领域,尤其涉及一种多dts文件支持方法、编译装置及嵌入式设备。

背景技术

[0002] 随着嵌入式设备种类的不断增加,Linux操作系统中出现了大量冗余的板级硬件描述编码,为了便于管理,Linux引入了采用dts(英文全称:device tree source,中文全称:设备树源)文件和dtb(英文全称:device tree binary,设备树二进制)文件来描述的设备树(英文全称:device tree)架构。dts文件是便于人类阅读和理解的源文件,dtb文件是dts文件被DTC(英文全称:device tree compiler,中文全称:设备树编译器)编译后形成的二进制格式文件,可以被Linux内核解析。
[0003] uboot(英文全称:universal boot loader,中文全称:通用引导加载程序)是一种典型的用于引导Linux内核启动的系统引导程序。在启动过程中,uboot需要将dtb文件传递给Linux内核。目前,uboot对dtb文件的支持主要有两种方案,一种是将dtb文件存放在文件系统中,该方案由于dtb文件与uboot是分离的,容易出现uboot与dtb文件不匹配的情况;另一种方案是在编译阶段将dtb文件合并到uboot的bin(英文全称:binary,中文名称:二进制)文件尾部,当uboot启动后再将dtb文件重定位到内存中,但是该方案的一个uboot只能支持一个dtb文件,为版本管理带来不便,例如,针对每款设备对应的dtb文件都需要生成相应版本的uboot,另外,对于硬件相同,只是部分硬件未焊接外部芯片的设备,切换版本时需要重新烧写uboot和dtb文件。

发明内容

[0004] 本发明的实施例提供一种多dts文件支持方法、编译装置及嵌入式设备,用于解决单个uboot只支持一个dtb文件造成的版本管理不便的问题。
[0005] 为达到上述目的,本发明的实施例采用如下技术方案:
[0006] 第一方面,提供了一种多dts文件支持方法,该方法包括:
[0007] 获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;
[0008] 分别对所述N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;
[0009] 创建汇编文件;
[0010] 将所述N个dtb文件添加到所述汇编文件中;
[0011] 对所述汇编文件进行编译生成dtb目标文件;
[0012] 将所述dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,所述uboot的bin文件用于加载至嵌入式设备的内存后,所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核。
[0013] 第二方面,提供了一种编译装置,该装置包括:
[0014] 获取单元,用于获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;
[0015] 编译单元,用于分别对所述N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;
[0016] 创建单元,用于创建汇编文件;
[0017] 添加单元,用于将所述N个dtb文件添加到所述汇编文件中;
[0018] 所述编译单元,还用于对所述汇编文件进行编译生成dtb目标文件;
[0019] 所述编译单元,还用于将所述dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,所述uboot的bin文件用于加载至嵌入式设备的内存运行后,所述嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核。
[0020] 第三方面,提供了一种嵌入式设备,该设备包括:
[0021] 加载单元,用于将通用引导加载程序uboot的二进制bin文件加载至内存运行,其中,所述uboot的bin文件由编译装置对设备树二进制dtb目标文件和uboot源码进行编译生成,所述dtb目标文件由所述编译装置对汇编文件进行编译生成,所述汇编文件包含N个dtb文件,每个dtb文件由所述编译装置对一个设备树源dts文件进行编译生成,每个dts文件分别对应一个设备型号;
[0022] 获取单元,用于根据当前设备型号从所述内存中获取对应的dtb文件;
[0023] 传递单元,用于将所述获取单元所获取的dtb文件传递给Linux内核。
[0024] 本发明提供的多dts文件支持方法、编译装置及嵌入式设备,通过对N个dts文件进行编译后生成N个dtb文件,其中,每个dts文件与一个设备型号相对应,然后将所述N个dtb文件添加到汇编文件中,对汇编文件进行编译后再加入uboot源码中一起编译生成uboot的bin文件,当该uboot的bin文件加载至内存运行后,即可以根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核,实现了一个uboot支持多种dts文件,从而解决了单个uboot只支持一个dtb文件造成的版本管理不便的问题。附图说明
[0025] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0026] 图1为本发明的实施例提供的一种多dts文件支持系统的结构示意图;
[0027] 图2为本发明的实施例提供的一种多dts文件支持方法的流程示意图;
[0028] 图3为本发明的实施例提供的另一种多dts文件支持方法的流程示意图;
[0029] 图4为本发明的实施例提供的一种编译装置的结构示意图;
[0030] 图5为本发明的实施例提供的一种嵌入式设备的结构示意图。

具体实施方式

[0031] 下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0032] 本发明提供了一种多dts文件支持系统,可以如图1(a)中所示包括:编译装置11和嵌入式设备12,或者如图1(b)中所示包括嵌入式设备12,嵌入式设备中包括编译装置11。即编译装置11可以为嵌入式设备12的一部分或者为独立于嵌入式设备12的装置,本发明在此不做限定。
[0033] 本发明提供的方案基本原理为:通过对N个dts文件进行编译后生成N个dtb文件,其中,每个dts文件与一个设备型号相对应,然后将所述N个dtb文件添加到汇编文件中,对汇编文件进行编译后再加入uboot源码中一起编译生成uboot的bin文件,当该uboot的bin文件加载至内存运行后,即可以根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核,实现了一个uboot支持多种dts文件,从而解决了单个uboot只支持一个dtb文件造成的版本管理不便的问题。基于上述的多dts文件支持系统,本发明通过下述实施例具体进行说明。
[0034] 实施例1、
[0035] 本发明提供了一种多dts文件支持方法,参照图2中所示,包括以下步骤:
[0036] S101、获取N个dts文件。
[0037] 具体的,在脚本中遍历文件夹下的所有N个dts文件,获取N个dts文件及其文件名,其中,每个dts文件分别对应一个设备型号。例如,假设文件下个有三个dts文件,包括board1.dts、board2.dts和board3.dts,其中,board1.dts对应于设备型号board1,board2.dts对应于设备型号board2,board3.dts对应于设备型号board3。
[0038] S102、分别对所述N个dts文件进行编译生成N个dtb文件,其中,每个dts文件被编译为一个dtb文件。
[0039] 具体的,在脚本中通过DTC工具将N个dts文件中的每个dts文件编译为一个dtb文件。例如,将board1.dts编译为board1.dtb,将board2.dts编译为board2.dtb,将board3.dts编译为board3.dtb。
[0040] 因为每个dts文件分别对应一个设备型号,因此编译生成的每个dtb文件相应的也对应一个设备型号。
[0041] S103、创建汇编文件。
[0042] 示例性的,假设创建的汇编文件为dtb.s。
[0043] S104、将N个dtb文件添加到汇编文件的对应数据段中。
[0044] S105、对汇编文件进行编译生成dtb目标文件。
[0045] 示例性的,在脚本中对汇编文件dtb.s进行编译,生成dtb目标文件dtb.o。
[0046] S106、将dtb目标文件与uboot源码编译生成uboot的bin文件,其中,uboot的bin文件用于加载至嵌入式设备的内存运行后,嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核。
[0047] 具体的,将dtb目标文件dtb.o加入到uboot源码编译生成uboot的bin文件uboot.bin,在启动过程中uboot.bin会加载至嵌入式设备的内存中以便引导在嵌入式设备中启动Linux内核。因此需要在uboot源码中进行如下设置:在启动过程中,由嵌入式设备从环境变量或外挂的EEPROM(英文全称:electrically erasable programmable read-only memory,中文全称:电可擦可编程只读存储器)读取当前设备型号。由于每个dtb文件相应的也对应一个设备型号,因此可以根据当前设备型号从加载至内存的uboot的bin文件中获取对应的dtb文件并传递给Linux内核。
[0048] 本发明的实施例提供的多dts文件支持方法,通过对N个dts文件进行编译后生成N个dtb文件,其中,每个dts文件与一个设备型号相对应,然后将所述N个dtb文件添加到汇编文件中,对汇编文件进行编译后再加入uboot源码中一起编译生成uboot的bin文件,当该uboot的bin文件加载至内存运行后,即可以根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核,实现了一个uboot支持多种dts文件,从而解决了单个uboot只支持一个dtb文件造成的版本管理不便的问题。
[0049] 可选的,步骤S103中的汇编文件可以包含N个数据段,每个数据段对应N个dtb文件中的一个dtb文件。其中所述N个数据段为只读数据段,示例性的,将数据段定义为.section.rodata,‘dts’,其中,.section表示数据段,.rodata表示只读数据,‘dts’表示数据段名称为dts。
[0050] 进一步可选的,参照图3中所示,步骤S104包括:
[0051] S1041、在紧邻前一数据段的结束地址之后作为当前数据段的起始地址,根据对应的dtb文件在当前数据段的起始地址处定义该当前数据段的起始标识。
[0052] 示例性的,假设当前数据段与board1.dtb对应,可以通过定义.global board1_dtb_begin来作为当前数据段的起始标识,同时将对应的当前数据段的起始地址作为所添加的board1.dtb的起始地址。
[0053] S1042、从该当前数据段的起始地址处开始将对应的dtb文件以二进制添加到当前数据段中。
[0054] 示例性的,从.global board1_dtb_begin所指示的当前数据段的起始地址开始,通过incbin将board1.dtb以二进制添加到当前数据段中。
[0055] S1043、将当前数据段所添加的dtb文件的结束地址作为当前数据段的结束地址,并且在当前数据段的结束地址处定义该当前数据段的结束标识。
[0056] 示例性的,定义.global board1_dtb_end来作为当前数据段的结束标识,同时将所添加的board1.dtb的结束地址作为对应的当前数据段的结束地址。
[0057] S1044、遍历上述N个dtb文件,直至所有N个dtb文件添加至汇编文件中。
[0058] 进一步可选的,步骤S106中所述的嵌入式设备根据当前设备型号从内存中获取对应的dtb文件可以进一步包括:
[0059] 嵌入式设备根据当前设备型号从加载至内存的uboot的bin文件中访问对应的起始标识和结束标识所限定的内存来获取对应的dtb文件。
[0060] 具体的,如果当前设备型号为board1,则在uboot的bin文件uboot.bin加载至内存后,嵌入式设备通过访问board1_dtb_begin和board1_dtb_end所限定的内存来得到对应的dtb文件board1.dtb。
[0061] 实施例2、
[0062] 本发明提供了一种编译装置11,用于上述多dts文件支持方法,参照图4中所示,该装置包括:
[0063] 获取单元111,用于获取N个设备树源dts文件,其中,每个dts文件分别对应一个设备型号;
[0064] 编译单元112,用于分别对获取单元111所获取的N个dts文件进行编译生成N个设备树二进制dtb文件,其中,每个dts文件被编译为一个dtb文件;
[0065] 创建单元113,用于创建汇编文件;
[0066] 添加单元114,用于将编译单元112所生成的N个dtb文件添加到创建单元113所创建的汇编文件中;
[0067] 编译单元112,还用于对添加单元114添加了N个dtb文件后的汇编文件进行编译生成dtb目标文件;
[0068] 编译单元112,还用于将dtb目标文件与通用引导加载程序uboot源码编译生成uboot的二进制bin文件,其中,uboot的bin文件用于加载至嵌入式设备的内存后,嵌入式设备根据当前设备型号从内存中获取对应的dtb文件并传递给Linux内核。
[0069] 由于本发明实施例中的编译装置可以应用于上述多dts文件支持方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
[0070] 可选的,汇编文件包含N个数据段,每个数据段对应N个dtb文件中的一个dtb文件。
[0071] 可选的,添加单元114具体用于:
[0072] 在紧邻前一数据段的结束地址之后作为当前数据段的起始地址,根据对应的dtb文件在当前数据段的起始地址处定义当前数据段的起始标识。
[0073] 从当前数据段的起始地址处开始将对应的dtb文件以二进制添加到当前数据段中。
[0074] 将当前数据段中所添加的dtb文件的结束地址作为当前数据段的结束地址,并且在当前数据段的结束地址处定义当前数据段的结束标识。
[0075] 遍历N个dtb文件,直至所有N个dtb文件添加至汇编文件中。
[0076] 需要说明的是,获取单元、编译单元、创建单元和添加单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上获取单元、编译单元、创建单元和添加单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:central processing unit,英文简称:CPU),或者是特定集成电路(英文全称:application specific integrated circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0077] 实施例3、
[0078] 本发明提供了一种嵌入式设备12,用于上述多dts文件支持方法,参照图5中所示,该设备包括:
[0079] 加载单元121,用于将通用引导加载程序uboot的二进制bin文件加载至内存,其中,uboot的bin文件由编译装置对设备树二进制dtb目标文件和uboot源码进行编译生成,dtb目标文件由编译装置对汇编文件进行编译生成,汇编文件包含N个dtb文件,每个dtb文件由编译装置对一个设备树源dts文件进行编译生成,每个dts文件分别对应一个设备型号。
[0080] 获取单元122,用于根据当前设备型号从内存中获取对应的dtb文件。
[0081] 传递单元123,用于将获取单元所获取的dtb文件传递给Linux内核。
[0082] 由于本发明实施例中的嵌入式设备可以应用于上述多dts文件支持方法,因此,其所能获得的技术效果也可参考上述方法实施例,本发明实施例在此不再赘述。
[0083] 可选的,获取单元122具体用于:根据当前设备型号从加载至内存的uboot的bin文件中访问对应的起始标识和结束标识所限定的内存来获取对应的dtb文件。
[0084] 可选的,获取单元122还用于:在在启动过程中根据当前设备型号从dtb目标文件中选择对应的dtb文件来传递给Linux内核之前,从环境变量或外挂的电可擦可编程只读存储器EEPROM读取当前设备型号。
[0085] 需要说明的是,加载单元、获取单元和传递单元可以为单独设立的处理器,也可以集成在控制器的某一个处理器中实现,此外,也可以以程序代码的形式存储于控制器的存储器中,由控制器的某一个处理器调用并执行以上加载单元、获取单元和传递单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:central processing unit,英文简称:CPU),或者是特定集成电路(英文全称:application specific integrated circuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
[0086] 上述编译装置11可以为嵌入式设备12的一部分或者为独立于嵌入式设备12的装置,本发明在此不做限定。
[0087] 应理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
[0088] 本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0089] 所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0090] 在本申请所提供的几个实施例中,应该理解到,所揭露的系统、设备和方法,可以通过其它的方式实现。例如,以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0091] 所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0092] 另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0093] 所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:read-only memory,英文简称:ROM)、随机存取存储器(英文全称:random access memory,英文简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
[0094] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈