一种芯片寄存器检索方法、装置和电子设备
【技术领域】
1.本发明涉及计算机技术领域,尤其涉及一种芯片寄存器检索方法、装置和电子设备。
背景技术:2.目前,寄存器的用途十分广泛,但由于各个寄存器的布局不同,导致不同寄存器所携带的寄存器数据之间也存在较大的差异,用户查找某些寄存器信息的过程也变得异常繁琐。为了实现信息的快速聚集、分类以及查询,用户将不同寄存器及其携带的寄存器数据整理到pdf文件或excel文件中,但从相关的pdf文件或excel文件中检索寄存器数据的过程仍然十分复杂,需要用户拥有一定的经验,且检索效率较低,检索结果不精确。
技术实现要素:3.有鉴于此,本发明实施例提供了一种芯片寄存器检索方法,用以解决现有技术中检索效率较低且检索结果不精确的问题。
4.第一方面,本发明实施例提供了一种芯片寄存器检索方法,所述方法包括:
5.获取至少一个关键词;
6.根据所述至少一个关键词,生成多个检索关键词;
7.通过设置的过滤规则,根据所述多个检索关键词对所述寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将所述检索结果确定为第一目标数据,若未检索到检索结果时执行所述获取至少一个关键词的步骤。
8.在一种可能的实现方式中,所述过滤规则包括检索优先级和检索显示范围;所述检索优先级包括具备不同优先级的多个寄存器特征;
9.所述通过设置的过滤规则,根据所述多个检索关键词对所述寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将所述检索结果确定为第一目标数据,若未检索到检索结果时执行所述获取关键词的步骤,包括:
10.识别出所述多个检索关键词对应的寄存器特征;
11.根据所述检索优先级对所述多个寄存器特征进行正序排列,得到排序后的寄存器特征;
12.根据排序后的寄存器特征对对应的所述多个检索关键词进行正序排列,得到排序后的检索关键词,并根据排序后的检索关键词得到关键词优先级;
13.根据当前的关键词优先级对应的当前检索关键词,对所述寄存器数据进行检索;若检索到当前的检索结果,判断所述当前的检索结果是否符合所述检索显示范围;
14.若判断出所述当前的检索结果符合所述检索显示范围,将所述当前的检索结果确定为所述第一目标数据;
15.若判断出当前的检索结果不符合所述检索显示范围,判断当前的关键词优先级是否为最小的关键词优先级;
16.若判断出当前的优先级不是最小的关键词优先级,将当前的优先级关键词设置为下一个的优先级关键词,并执行所述根据当前的关键词优先级对应的当前检索关键词,对所述寄存器数据进行检索的步骤;
17.若判断出当前的优先级为最小的关键词优先级,执行所述获取至少一个关键词的步骤。
18.在一种可能的实现方式中,所述根据当前的关键词优先级对应的当前检索关键词,对所述寄存器数据进行检索,包括:
19.按照设置的步长,将所述寄存器数据划分为多个数据区间;
20.根据所述当前检索关键词,从多个数据区间中选取出至少一个特定数据区间;
21.根据所述当前检索关键词,在所述特定数据区间内进行检索,生成当前的检索结果。
22.在一种可能的实现方式中,所述根据所述当前检索关键词,从多个数据区间中选取出至少一个特定数据区间,包括:
23.将所述当前检索关键词与每个数据区间的两个端点特征进行比较;
24.若当前检索关键词位于两个端点特征之间,将该两个端点特征对应的数据区间确定为所述特定数据区间。
25.在一种可能的实现方式中,所述获取至少一个关键词,包括:
26.接收用户输入的至少一个关键词。
27.在一种可能的实现方式中,所述获取至少一个关键词,包括:
28.接收用户输入的原始关键词和第一过滤选项;
29.通过所述第一过滤选项,对所述原始关键词进行过滤生成所述至少一个关键词。
30.在一种可能的实现方式中,所述获取至少一个关键词,包括:
31.接收用户输入的至少一个关键词;
32.所述将所述检索结果确定为第一目标数据之后,还包括:
33.接收用户输入的第二过滤选项;
34.根据所述第二过滤选项,对所述第一目标数据进行过滤生成第二目标数据。
35.第二方面,本发明实施例提供了一种芯片寄存器检索装置,所述装置包括:
36.获取模块,用于获取至少一个关键词;
37.生成模块,用于根据所述至少一个关键词,生成多个检索关键词;检索模块,用于通过设置的过滤规则,根据所述多个检索关键词对所述寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将所述检索结果确定为第一目标数据,若未检索到检索结果时执行所述获取至少一个关键词的步骤。
38.第三方面,本发明实施例提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第一方面任一项所述的芯片寄存器检索方法。
39.第四方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述非易失性计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如第一方面任一项所述的芯片寄存器检索方法。
40.本发明实施例提供的芯片寄存器检索方法、装置和电子设备的技术方案中,获取
至少一个关键词;根据所述至少一个关键词,生成多个检索关键词;通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,避免了冗余的文档整理及检索流程,从而提高了检索效率,也使得检索结果更加精确。
【附图说明】
41.为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
42.图1为本发明实施例提供的一种芯片寄存器检索方法的流程图;
43.图2为本发明实施例提供的另一种芯片寄存器检索方法的流程图;
44.图3为本发明实施例提供的一种生成当前的检索结果的流程图;
45.图4为本发明实施例提供的另一种芯片寄存器检索方法的流程图;
46.图5为本发明实施例提供的一种芯片寄存器检索装置的结构示意图;
47.图6为本发明实施例提供的一种检索单元的结构示意图;
48.图7为本发明实施例提供的一种电子设备的示意图。
【具体实施方式】
49.为了更好的理解本发明的技术方案,下面结合附图对本发明实施例进行详细描述。
50.应当明确,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
51.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
52.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,甲和/或乙,可以表示:单独存在甲,同时存在甲和乙,单独存在乙这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
53.本发明实施例中,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,得到检索结果。其中,寄存器数据库中存储的寄存器数据为芯片上寄存器的寄存器数据。本发明实施例提供了一种芯片寄存器检索方法、装置和电子设备。
54.图1为本发明实施例提供的一种芯片寄存器检索方法的流程图,如图1所示,该方法包括:
55.步骤101、获取至少一个关键词。
56.本实施例中各步骤可以由电子设备执行。本发明实施例中,电子设备包括但不限
于:手机、计算机设备或平板电脑等,本实施例对上述电子设备的具体形态不作限定。
57.本步骤中,关键词包括寄存器信息关键词,寄存器信息关键词可以包括寄存器偏移地址、寄存器名称、寄存器宽度、寄存器所在域或寄存器描述中至少一个。除此之外,寄存器信息关键词可以包括其它任意可以表示寄存器特征的关键词,本发明实施例对此不作限定。
58.步骤102、根据所述至少一个关键词,生成多个检索关键词。
59.步骤103、通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果,则执行步骤104;若未检索到检索结果,则执行步骤101。
60.例如,用户根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,得到的检索结果的数量为0条,则未检索到检索结果,此时,可执行步骤101,电子设备获取新的关键词。例如,用户根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,得到的检索结果的数量大于或等于1条,则检索到检索结果。
61.本发明实施例中,过滤规则包括检索优先级和检索显示范围。其中,检索优先级包括具备不同优先级的多个寄存器特征。例如,寄存器特征包括寄存器偏移地址、寄存器名称、寄存器宽度、寄存器描述或寄存器所在域中至少一个。检索显示范围为用户对检索结果的显示要求,用户可以根据自身需求自定义检索显示范围。例如,用户可以将检索显示范围设置检索结果的数量,例如,用户将检索显示范围设置为一条检索结果,即用户要求检索出符合用户输入的关键词的唯一寄存器数据。检索显示范围可以是任意一种对于用户检索要求的规定,本发明实施例对此不作限定。
62.步骤104、将检索结果确定为第一目标数据。
63.作为一种可选方案,若未检索到检索结果,用户也可以重新设置过滤规则。
64.本发明实施例提供的芯片寄存器检索方法的技术方案中,获取至少一个关键词;根据所述至少一个关键词,生成多个检索关键词;通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,避免了冗余的文档整理及检索流程,从而提高了检索效率,也使得检索结果更加精确。
65.图2为本发明实施例提供的另一种芯片寄存器检索方法的流程图,如图2所示,该方法包括:
66.步骤201、获取至少一个关键词。
67.作为一种可选方案,步骤201包括:接收用户输入的至少一个关键词。至少一个关键词包括:寄存器偏移地址、寄存器名称、寄存器宽度、寄存器所在域或寄存器描述中至少一个。用户可输入一个或者多个关键词,其中,每个关键词可对应于一个或者多个寄存器特征。例如,用户输入一个关键词0x0613abcd,关键词0x0613abcd对应两个寄存器特征,0x0613对应的寄存器特征为寄存器偏移地址,abcd对应的寄存器特征为寄存器名称。例如,用户输入一个关键词0x0719,关键词0x0719对应一个寄存器特征,0x0719对应的寄存器特征为寄存器偏移地址。
68.作为另一种可选方案,步骤201包括:接收用户输入的原始关键词和第一过滤选
项;通过第一过滤选项,对原始关键词进行过滤生成至少一个关键词。
69.作为一种可选方案,任意两个关键词之间可以通过连接符号进行连接。连接符号用于连接多个关键词,连接符号用于表示多个关键词之间的和/或关系或其它连接关系。连接符号表示的含义及连接符号均可自定义设置,本发明实施例对此不作限定。例如,用户输入一个原始关键词0x2021abcd,用户输入第一过滤选项0x202101,通过第一过滤选项0x202101对原始关键词0x2021abcd进行过滤,得到两个关键词0x2021abcd:not:0x202101。其中,not为两个关键词之间的连接符号,0x2021abcd not 0x202101表示根据关键词0x2021abcd对寄存器数据库中存储的寄存器数据进行检索时,过滤掉包含关键词0x202101的检索结果。“:”为连接符号not与两个关键词之间的间隔符号,避免了not连接符号和两个关键词之间容易混淆的问题。
70.本发明实施例中,第一过滤选项包括常用过滤选项或自定义过滤选项,常用过滤选项或自定义过滤选项均由用户设置,常用过滤选项为每次检索时都默认出现的过滤选项,自定义过滤选项为用户本次检索时出现的自定义设置的过滤选项。
71.本发明实施例中,通过设置第一过滤选项,过滤掉不需要的检索结果,减少了无效检索的次数,从而提高了检索效率,也使得检索结果更加精确。
72.步骤202、根据至少一个关键词,生成多个检索关键词。
73.本步骤中,若用户输入至少一个关键词,其中,每个关键词对应多个寄存器特征。电子设备接收用户输入的至少一个关键词,并通过搜索引擎对至少一个关键词进行划分,将至少一个关键词划分为多个检索关键词。若用户输入至少一个关键词,其中,每个关键词对应一个寄存器特征,电子设备接收用户输入的至少一个关键词,不再通过搜索引擎对该至少一个关键词进行划分。例如,用户输入一个关键词32abcd0x0613,该关键词对应三个寄存器特征,电子设备通过搜索引擎将该关键词划分为多个检索关键词,多个检索关键词包括32、abcd和0x0613。例如,用户输入四个关键词,四个关键词包括w:32、n:abcd、oa:0x0613、d:xxyy,其中,每个检索关键词对应一个寄存器特征,w:32表示寄存器宽度(width,简称w)为32比特,n:abcd表示寄存器名称(name,简称n)为abcd,oa:0x0613表示寄存器偏移地址(offset address,简称oa)为0x0613,d:xxyy表示寄存器描述(describe,简称d)为xxyy。此时,电子设备不再通过搜索引擎对该四个关键词进行划分。
74.步骤203、识别出多个检索关键词对应的寄存器特征。
75.本步骤中,电子设备接收用户输入的多个检索关键词,并通过搜索引擎对多个检索关键词进行识别,以识别出多个检索关键词对应的寄存器特征。例如,多个检索关键词包括32、abcd和0x0613,电子设备通过搜索引擎识别出关键词32表示的寄存器特征为寄存器宽度,识别出关键词abcd表示的寄存器特征为寄存器名称,并识别出关键词0x0613表示的寄存器特征为寄存器偏移地址。
76.步骤204、根据检索优先级对多个寄存器特征进行正序排列,得到排序后的寄存器特征。
77.本步骤中,根据检索优先级对多个寄存器特征进行正序排列。例如,用户设置的检索优先级包括寄存器偏移地址、寄存器名称、寄存器宽度和寄存器描述。根据用户设置的检索优先级对识别出的多个寄存器特征,即寄存器宽度、寄存器名称和寄存器偏移地址进行正序排列,得到排序后的寄存器特征。排序后的寄存器特征为:寄存器偏移地址、寄存器名
称、寄存器宽度和寄存器描述。
78.步骤205、根据排序后的寄存器特征对对应的多个检索关键词进行正序排列,得到排序后的检索关键词,并根据排序后的检索关键词得到关键词优先级。
79.本步骤中,根据排序后的寄存器特征:寄存器偏移地址、寄存器名称、寄存器宽度对多个检索关键词32、abcd和0x0613进行正序排列。其中,关键词32对应的寄存器特征为寄存器宽度,关键词abcd对应的寄存器特征为寄存器名称,关键词0x0613对应的寄存器特征为寄存器偏移地址,排序后的检索关键词为0x0613、abcd、32。根据排序后的检索关键词得到的关键词优先级从大到小依次为:0x0613对应的关键词优先级、abcd对应的关键词优先级和32对应的关键词优先级。
80.步骤206、根据当前的关键词优先级对应的当前检索关键词,对寄存器数据进行检索,若检索到当前的检索结果,则执行步骤207;若未检索到当前的检索结果,则执行步骤201。
81.本步骤中,例如,当前的关键词优先级可表示当前的关键词优先级中最大的关键词优先级。例如,关键词优先级从大到小依次为:0x0613对应的关键词优先级、abcd对应的关键词优先级和32对应的关键词优先级。根据最大的关键词优先级对应的检索关键词0x0613对寄存器数据库中存储的寄存器数据进行检索,判断是否检索到当前的检索结果。
82.表1示出了寄存器数据库中存储的部分寄存器数据。
83.表1
[0084][0085][0086]
如上表1所示,寄存器数据库中存储的寄存器数据包括:寄存器偏移地址、寄存器名称、寄存器宽度和寄存器描述。寄存器数据库中存储的寄存器数据按照首位有效数字或首位有效字母有序排列。例如,寄存器偏移地址为0x2021,由于寄存器偏移地址均以0x开头,所以0x属于无效数字和无效字母,寄存器偏移地址0x2021的首位有效数字为2。寄存器
名称、寄存器描述等英文数据按照首位有效字母排列,若首位有效字母一致按照第二位有效字母排列,依此类推。
[0087]
本步骤中,例如,当前的关键词优先级对应的当前检索关键词为0x0613,根据关键词0x0613对表1中的寄存器数据进行检索,得到表1中寄存器偏移地址包含关于关键词0x0613的寄存器数据,即此时检索到检索结果,执行步骤207。例如,当前的关键词优先级对应的当前检索关键词为0x0834,根据关键词0x0834对表1中的寄存器数据进行检索,不能得到检索结果,即此时未检索到检索结果,执行步骤201。
[0088]
图3为本发明实施例提供的一种生成当前的检索结果的流程图,如图3所示,步骤206具体可包括:
[0089]
步骤2061、按照设置的步长,将寄存器数据划分为多个数据区间。
[0090]
本步骤中,设置的步长包括用户设置的步长或电子设备通过搜索引擎生成的默认步长。按照设置的步长,将寄存器数据库中存储的寄存器数据划分为多个数据区间。可选地,用户可以根据步长和任意一个寄存器特征对寄存器数据库中存储的寄存器数据进行划分。例如,根据步长4和寄存器偏移地址对表1中的寄存器数据进行划分,将表1中的寄存器数据划分为三个数据区间,三个数据区间分别为[0x0322,0x0719]、[0x2021,0x5889]和[0x6666,0x8086]。
[0091]
步骤2062、根据当前检索关键词,从多个数据区间中选取出至少一个特定数据区间。
[0092]
本步骤中,将当前检索关键词与每个数据区间的两个端点特征进行比较,若当前检索关键词位于两个端点特征之间,将该两个端点特征对应的数据区间确定为特定数据区间。其中,当前检索关键词为关键词优先级中最大的关键词优先级对应的关键词。例如,关键词优先级从大到小依次为:0x0613对应的关键词优先级、abcd对应的关键词优先级和32对应的关键词优先级。则当前检索关键词为0x0613,将当前检索关键词0x0613与每个数据区间的两个端点特征进行比较。将当前检索关键词0x0613与数据区间[0x0322,0x0719]进行比较,数据区间[0x0322,0x0719]的两个端点特征为0x0322和0x0719,将当前检索关键词0x0613分别与数据区间[0x0322,0x0719]的两个端点特征0x0322和0x0719进行比较。将当前检索关键词的有效数字与数据区间的两个端点特征的有效数字进行比较,0322<0613<0719,即当前检索关键词0x0613介于数据区间[0x0322,0x0719]的两个端点特征0x0322与0x0719之间,将数据区间[0x0322,0x0719]确定为特定数据区间。
[0093]
步骤2063、根据所述当前检索关键词,在特定数据区间内进行检索,生成当前的检索结果。
[0094]
表2示出了当前的检索结果。
[0095]
表2
[0096]
寄存器偏移地址寄存器名称寄存器宽度寄存器描述0x0613abcd32xxyy0x0613abda32xyxx
[0097]
本步骤中,在特定数据区间对应的寄存器数据中继续进行检索,生成当前的检索结果。例如,根据关键词0x0613在特定数据区间[0x0322,0x0719]中进行检索,得到两条检索结果,如上表2所示。
[0098]
本发明实施例中,通过根据当前检索关键词确定出特定数据区间,避免了在寄存器数据库中按顺序检索寄存器数据的冗余流程,减少了在无效区间范围内的无效检索,从而提高了检索效率,也使得检索结果更加精确。
[0099]
步骤207、判断当前的检索结果是否符合检索显示范围,若判断出当前的检索结果符合用户设置的检索显示范围,则执行步骤208;若判断出当前的检索结果不符合用户设置的检索显示范围,则执行步骤209。
[0100]
如上表2所示,根据当前检索关键词0x0613对寄存器数据库中存储的寄存器数据进行检索,得到当前的检索结果,即寄存器数据库中存储的符合当前检索关键词0x0613的寄存器数据。当前的检索结果包含两条检索结果,每条检索结果包括寄存器偏移地址、寄存器名称、寄存器宽度和寄存器描述。
[0101]
步骤208、将当前的检索结果确定为第一目标数据。
[0102]
步骤209、判断当前的关键词优先级是否为最小的关键词优先级,若判断出当前的优先级为最小的关键词优先级,则执行步骤201;若判断出当前的优先级不是最小的关键词优先级,则执行步骤210。
[0103]
本步骤中,根据关键词优先级判断当前的关键词优先级是否为最小的关键词优先级。例如,关键词优先级从大到小依次为:0x0613对应的关键词优先级、abcd对应的关键词优先级和32对应的关键词优先级。此时关键词32对应的关键词优先级为最小的关键词优先级,关键词0x0613对应的关键词优先级和关键词abcd对应的关键词优先级不是最小的关键词优先级。
[0104]
步骤210、将当前的优先级关键词设置为下一个的优先级关键词,并执行步骤206。
[0105]
表3为按照关键词abcd对表2中的寄存器数据进行检索后的检索结果。
[0106]
表3
[0107]
寄存器偏移地址寄存器名称寄存器宽度寄存器描述0x0613abcd32xxyy
[0108]
本步骤中,将当前的优先级关键词设置为下一个的优先级关键词,即将当前的优先级关键词设置为最大的关键词优先级的下一个关键词优先级。例如,关键词优先级从大到小依次为:0x0613对应的关键词优先级、abcd对应的关键词优先级和32对应的关键词优先级。将当前的优先级关键词设置为下一个的优先级关键词,即将关键词abcd设置为当前的优先级关键词,并根据关键词abcd对寄存器数据进行检索,此时的检索范围为在寄存器数据库中对最大的关键词优先级对应的关键词0x0613进行检索得到的检索结果,即表2。根据关键词abcd对表2中的寄存器数据进行检索,得到按照关键词abcd继续进行检索后的检索结果,如上表3所示。
[0109]
本发明实施例提供的芯片寄存器检索方法的技术方案中,通过获取至少一个关键词;根据所述至少一个关键词,生成多个检索关键词;通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中通过用户输入的第一过滤选项,过滤掉不需要的检索结果,减少了无效检索的次数,从而提高了检索效率,也使得检索结果更加精确。
[0110]
图4为本发明实施例提供的另一种芯片寄存器检索方法的流程图,如图4所示,该
方法包括:
[0111]
步骤401、获取至少一个关键词。
[0112]
本发明实施例中,对步骤401的描述可参见对步骤201的描述,此处不再重复描述。
[0113]
步骤402、将至少一个关键词划分为多个检索关键词。
[0114]
本发明实施例中,对步骤402的描述可参见对步骤202的描述,此处不再重复描述。
[0115]
步骤403、识别出多个检索关键词对应的寄存器特征。
[0116]
本发明实施例中,对步骤403的描述可参见对步骤203的描述,此处不再重复描述。
[0117]
步骤404、根据检索优先级对多个寄存器特征进行正序排列,得到排序后的寄存器特征。
[0118]
本发明实施例中,对步骤404的描述可参见对步骤204的描述,此处不再重复描述。
[0119]
步骤405、根据排序后的寄存器特征对对应的多个检索关键词进行正序排列,得到排序后的检索关键词,并根据排序后的检索关键词得到关键词优先级。
[0120]
本发明实施例中,对步骤405的描述可参见对步骤205的描述,此处不再重复描述。
[0121]
步骤406、根据当前的关键词优先级对应的当前检索关键词,对寄存器数据进行检索,若检索到当前的检索结果,则执行步骤407;若未检索到当前的检索结果,则执行步骤401。
[0122]
本发明实施例中,对步骤406的描述可参见对步骤206的描述,此处不再重复描述。
[0123]
步骤407、判断当前的检索结果是否符合检索显示范围,若判断出当前的检索结果符合用户设置的检索显示范围,则执行步骤408;若判断出当前的检索结果不符合用户设置的检索显示范围,则执行步骤411。
[0124]
本发明实施例中,对步骤407的描述可参见对步骤207的描述,此处不再重复描述。
[0125]
步骤408、将当前的检索结果确定为第一目标数据。
[0126]
步骤409、接收用户输入的第二过滤选项。
[0127]
本步骤中,根据用户输入的关键词对寄存器数据库中存储的寄存器数据进行检索,将检索结果确定为第一目标数据之后,电子设备通过用户界面显示第一目标数据,用户查看用户界面中显示的第一目标数据。若用户对第一目标数据不满意,可以输入第二过滤选项对第一目标数据进行过滤。
[0128]
本发明实施例中,第二过滤选项为用户对第一目标数据的过滤要求。第二过滤选项包括常用过滤选项或自定义过滤选项,常用过滤选项或自定义过滤选项均由用户设置,常用过滤选项为每次检索时都默认出现的过滤选项,自定义过滤选项为用户本次检索时出现的自定义设置的过滤选项。
[0129]
作为一种可选方案,第二过滤选项可以为用户界面中显示的寄存器数据选项。例如,用户输入的关键词为oa:0x1234 n:abcd,其中,oa:0x1234表示寄存器的偏移地址为0x1234,n:abcd表示寄存器名称为abcd,用户可以在搜索界面选择第二过滤选项abcde。
[0130]
作为另一种可选方案,第二过滤选项可以为用户输入的至少一个新关键词,原始关键词与新关键词之间可以通过连接符号进行连接。例如,用户输入一个原始关键词0x0613abcd,根据原始关键词对寄存器数据库进行检索得到第一目标数据后,用户输入“*32”,*为原始关键词与新关键词之间的连接符号,32对应的寄存器特征为寄存器宽度,此时新关键词32为第二过滤选项。
[0131]
步骤410、根据第二过滤选项,对第一目标数据进行过滤生成第二目标数据。
[0132]
作为一种可选方案,若用户输入的第二过滤选项为用户界面中具体的寄存器数据选项,根据该寄存器数据选项对应的寄存器数据对第一目标数据进行过滤。例如,第二过滤选项为abcde,abcde对应的寄存器数据为寄存器名称包含abcde字符串,根据第二过滤选项abcde对第一目标数据进行过滤,得到过滤掉寄存器名称包含abcde字符串的寄存器数据之后的第一目标数据,即第二目标数据。
[0133]
作为另一种可选方案,若用户输入的第二过滤选项为用户输入的至少一个新关键词,根据该新关键词对第一目标数据进行过滤。例如,用户对原始关键词0x0613abcd进行检索得到第一目标数据,用户输入新关键词“*32”,*为原始关键词与新关键词之间的连接符号,32对应的寄存器特征为寄存器宽度,*32表示根据关键词32在第一目标数据中继续检索,得到第一目标数据中寄存器宽度为32比特的寄存器数据。
[0134]
步骤411、判断当前的关键词优先级是否为最小的关键词优先级,若判断出当前的优先级为最小的关键词优先级,则执行步骤401;若判断出当前的优先级不是最小的关键词优先级,则执行步骤412。
[0135]
本发明实施例中,对步骤411的描述可参见对步骤209的描述,此处不再重复描述。
[0136]
步骤412、将当前的优先级关键词设置为下一个的优先级关键词,并执行步骤306。
[0137]
本发明实施例中,对步骤312的描述可参见对步骤210的描述,此处不再重复描述。
[0138]
本发明实施例提供的芯片寄存器检索方法的技术方案中,获取至少一个关键词;根据所述至少一个关键词,生成多个检索关键词;通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中通过用户输入的第二过滤选项,过滤掉不需要的检索结果,从而提高了检索效率,也使得检索结果更加精确。
[0139]
本发明实施例提供了一种芯片寄存器检索装置,装置应用于电子设备。
[0140]
图5为本发明实施例提供的一种芯片寄存器检索装置的结构示意图,如图5所示,该装置包括:获取模块11、生成模块12和检索模块13。获取模块11与生成模块12连接。生成模块12与获取模块11和检索模块13连接。检索模块13与生成模块12连接。
[0141]
获取模块11用于获取至少一个关键词。
[0142]
生成模块12用于根据所述至少一个关键词,生成多个检索关键词。
[0143]
检索模块13用于通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中,检索模块13包括:识别单元131、第一排序单元132、第二排序单元133、检索单元134、第一判断单元135、确定单元136、第二判断单元137和设置单元138。
[0144]
识别单元131用于识别出多个检索关键词对应的寄存器特征。
[0145]
第一排序单元132用于根据检索优先级对多个寄存器特征进行正序排列,得到排序后的寄存器特征。
[0146]
第二排序单元133用于根据排序后的寄存器特征对对应的多个检索关键词进行正序排列,得到排序后的检索关键词,并根据排序后的检索关键词得到关键词优先级。
[0147]
检索单元134用于根据当前的关键词优先级对应的当前检索关键词,对寄存器数据进行检索。
[0148]
第一判断单元135用于若检索到当前的检索结果,判断当前的检索结果是否符合检索显示范围。
[0149]
确定单元136用于若第一判断单元135判断出当前的检索结果符合检索显示范围,将当前的检索结果确定为第一目标数据。
[0150]
第二判断单元137用于若第一判断单元135判断出当前的检索结果不符合检索显示范围,判断当前的关键词优先级是否为最小的关键词优先级,若判断出当前的优先级为最小的关键词优先级,触发获取模块11执行所述获取至少一个关键词的步骤。
[0151]
设置单元138用于若第二判断单元137判断出当前的优先级不是最小的关键词优先级,将当前的优先级关键词设置为下一个的优先级关键词,并触发检索单元134执行根据当前的关键词优先级对应的当前检索关键词,对寄存器数据进行检索的步骤。
[0152]
图6为本发明实施例提供的一种检索单元的结构示意图,如图6所示,检索单元134包括:划分子单元1341、选取子单元1342和检索子单元1343。划分子单元1341与选取子单元1342连接。选取子单元1342与划分子单元1341和检索子单元1343连接。检索子单元1343与选取子单元1342连接。
[0153]
划分子单元1341用于按照设置的步长,将寄存器数据划分为多个数据区间。
[0154]
选取子单元1342用于根据当前检索关键词,从多个数据区间中选取出至少一个特定数据区间。
[0155]
检索子单元1343用于根据当前检索关键词,在特定数据区间内进行检索,生成当前的检索结果。
[0156]
选取子单元1342具体用于将当前检索关键词与每个数据区间的两个端点特征进行比较;若当前检索关键词位于两个端点特征之间,将该两个端点特征对应的数据区间确定为特定数据区间。
[0157]
本发明实施例提供的芯片寄存器检索装置的技术方案中,获取至少一个关键词;根据所述至少一个关键词,生成多个检索关键词;通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,若检索到检索结果时将检索结果确定为第一目标数据,若未检索到检索结果时执行获取至少一个关键词的步骤。本发明实施例中通过设置的过滤规则,根据多个检索关键词对寄存器数据库中存储的寄存器数据进行检索,避免了冗余的文档整理及检索流程,从而提高了检索效率,也使得检索结果更加精确。
[0158]
图7为本发明实施例提供的一种电子设备的示意图。如图7所示,该实施例的电子设备20包括:处理器21、存储器22以及存储在存储22中并可在处理器21上运行的计算机程序23,该计算机程序23被处理器21执行时实现实施例中的应用于芯片寄存器检索方法,为避免重复,此处不一一赘述。或者,该计算机程序被处理器21执行时实现实施例中应用于芯片寄存器检索装置中各模型/单元的功能,为避免重复,此处不一一赘述。
[0159]
电子设备20包括,但不仅限于,处理器21、存储器22。本领域技术人员可以理解,5仅仅是电子设备20的示例,并不构成对电子设备20的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如电子设备还可以包括输入输出设备、网络接入设备、总线等。
[0160]
所称处理器21可以是中央处理单元(central processing unit,简称cpu),还可以是其他通用处理器、数字信号处理器(digital signal processor,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field-programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0161]
存储器22可以是电子设备20的内部存储单元,例如电子设备20的硬盘或内存。存储器22也可以是电子设备20的外部存储设备,例如电子设备20上配备的插接式硬盘,智能存储卡(smart media card,简称smc),安全数字(secure digital,简称sd)卡,闪存卡(flash card)等。进一步地,存储器22还可以既包括电子设备20的内部存储单元也包括外部存储设备。存储器22用于存储计算机程序以及电子设备所需的其他程序和数据。存储器22还可以用于暂时地存储已经输出或者将要输出的数据。
[0162]
本发明实施例提供了一种非易失性计算机可读存储介质,该非易失性计算机可读存储介质存储有计算机程序,计算机程序被处理器执行时实现如前述实施例中任一项所述的芯片寄存器检索方法的步骤。
[0163]
上述非易失性计算机可读存储介质可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(random access memory,简称ram)、只读存储器(read only memory;简称:rom)、可擦式可编程只读存储器(erasable programmable read only memory;简称:eprom)或闪存、光纤、便携式紧凑磁盘只读存储器(compact disc read-only memory,简称cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0164]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0165]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0166]
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0167]
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。