一种检测ROM容量的方法、系统、设备以及存储介质与流程

文档序号:32347549发布日期:2022-11-26 11:52阅读:102来源:国知局
一种检测ROM容量的方法、系统、设备以及存储介质与流程
一种检测rom容量的方法、系统、设备以及存储介质
技术领域
1.本发明涉及rom领域,具体涉及一种检测rom容量的方法、系统、设备以及存储介质。


背景技术:

2.bios rom中可能会包含网卡的option rom,me、scp、psp等,不同平台的bios rom大小又呈现不一致的形态,随着bios的不断演变发展,bios的rom越来越大,测试时需要对rom size进行验证,确认是否符合当前设计要求,此rom size并非bios文件的大小,需要包含bios rom size及extended bios rom size。
3.现有技术中,一般确认rom size的方法一般包括:
4.方案一:通过人工测试,直接在系统执行命令,查看rom size大小,把查看到的数值反馈给研发工程师进行确认
5.方案二:通过人工测试,直接在系统执行命令,查看rom size大小,把查看到的数值与spec文档进行确认。
6.但是,方案一中,每个项目进行一次沟通确认,同时受限于研发工程师的空闲时间,增加沟通成本及人力成本;方案二中,降低了沟通成本,但没有减少人力成本,每次都要和spec文档进行确认,测试效率无法有效提高。


技术实现要素:

7.有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种检测rom容量的方法,包括以下步骤:
8.执行第一预设命令以获取rom的第一容量;
9.执行第二预设命令以获取寄存器中第一预设位置的值;
10.判断所述第一预设位置的值是否为第一预设值;
11.响应于不是第一预设值,将所述第一预设位置的值转换为十进制;
12.将转换为十进制的值加1后乘以64作为rom的第二容量;
13.响应于所述第一容量和所述第二容量相等,输出通过。
14.在一些实施例中,还包括:
15.响应于是第一预设值,执行所述第二预设命令以获取寄存器中第二预设位置的值;
16.根据所述第二预设位置的值确定所述rom的第三容量;
17.响应于所述第一容量和所述第三容量相等,输出通过。
18.在一些实施例中,根据所述第二预设位置的值确定所述rom的第三容量,进一步包括:
19.将所述第二预设位置的值转换为16位的二进制的值,其中高位若无值,则用0替代;
20.根据所述16位的二进制的值的第16位和第15位的值确定所述第三容量的单位,其中,若第16位和第15位的值为00,则第三容量的单位为mb;若第16位和第15位的值为01,则第三容量的单位为gb。
21.在一些实施例中,还包括:
22.将所述16位的二进制的值的第1位到第14位的值转换为十进制并与所述第三容量的单位组合得到所述第三容量。
23.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种检测rom容量的系统,包括:
24.第一获取模块,配置为执行第一预设命令以获取rom的第一容量;
25.第二获取模块,配置为执行第二预设命令以获取寄存器中第一预设位置的值;
26.判断模块,配置为判断所述第一预设位置的值是否为第一预设值;
27.转换模块,配置为响应于不是第一预设值,将所述第一预设位置的值转换为十进制;
28.计算模块,配置为将转换为十进制的值加1后乘以64作为rom的第二容量;
29.比较模块,配置为响应于所述第一容量和所述第二容量相等,输出通过。
30.在一些实施例中,还包括第三获取模块,配置为:
31.响应于是第一预设值,执行所述第二预设命令以获取寄存器中第二预设位置的值;
32.根据所述第二预设位置的值确定所述rom的第三容量;
33.响应于所述第一容量和所述第三容量相等,输出通过。
34.在一些实施例中,第三获取模块还配置为:
35.将所述第二预设位置的值转换为16位的二进制的值,其中高位若无值,则用0替代;
36.根据所述16位的二进制的值的第16位和第15位的值确定所述第三容量的单位,其中,若第16位和第15位的值为00,则第三容量的单位为mb;若第16位和第15位的值为01,则第三容量的单位为gb。
37.在一些实施例中,第三获取模块还配置为:
38.将所述16位的二进制的值的第1位到第14位的值转换为十进制并与所述第三容量的单位组合得到所述第三容量。
39.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机设备,包括:
40.至少一个处理器;以及
41.存储器,所述存储器存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时执行如上所述的任一种检测rom容量的方法的步骤。
42.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时执行如上所述的任一种检测rom容量的方法的步骤。
43.本发明具有以下有益技术效果之一:本发明提出的方案能够实现无需人工值守,无需和研发工程师沟通确认,无需参照spec文档即可完成测试,大大提高测试效率,节省人
力成本。
附图说明
44.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
45.图1为本发明的实施例提供的检测rom容量的方法的流程示意图;
46.图2为本发明的实施例提供的检测rom容量的系统的结构示意图;
47.图3为本发明的实施例提供的计算机设备的结构示意图;
48.图4为本发明的实施例提供的计算机可读存储介质的结构示意图。
具体实施方式
49.为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明实施例进一步详细说明。
50.需要说明的是,本发明实施例中所有使用“第一”和“第二”的表述均是为了区分两个相同名称非相同的实体或者非相同的参量,可见“第一”“第二”仅为了表述的方便,不应理解为对本发明实施例的限定,后续实施例对此不再一一说明。
51.根据本发明的一个方面,本发明的实施例提出一种检测rom容量的方法,如图1所示,其可以包括步骤:
52.s1,执行第一预设命令以获取rom的第一容量;
53.s2,执行第二预设命令以获取寄存器中第一预设位置的值;
54.s3,判断所述第一预设位置的值是否为第一预设值;
55.s4,响应于不是第一预设值,将所述第一预设位置的值转换为十进制;
56.s5,将转换为十进制的值加1后乘以64作为rom的第二容量;
57.s6,响应于所述第一容量和所述第二容量相等,输出通过。
58.本发明提出的方案能够实现无需人工值守,无需和研发工程师沟通确认,无需参照spec文档即可完成测试,大大提高测试效率,节省人力成本。
59.在一些实施例中,还包括:
60.响应于是第一预设值,执行所述第二预设命令以获取寄存器中第二预设位置的值;
61.根据所述第二预设位置的值确定所述rom的第三容量;
62.响应于所述第一容量和所述第三容量相等,输出通过。
63.在一些实施例中,根据所述第二预设位置的值确定所述rom的第三容量,进一步包括:
64.将所述第二预设位置的值转换为16位的二进制的值,其中高位若无值,则用0替代;
65.根据所述16位的二进制的值的第16位和第15位的值确定所述第三容量的单位,其中,若第16位和第15位的值为00,则第三容量的单位为mb;若第16位和第15位的值为01,则
第三容量的单位为gb。
66.在一些实施例中,还包括:
67.将所述16位的二进制的值的第1位到第14位的值转换为十进制并与所述第三容量的单位组合得到所述第三容量。
68.具体的,可以准备一台控制机和一台待测机(测rom size),并将控制机和待测机配置好ip,确保控制机能通过sol正常访问并控制待测机。控制机通过sol控制待测机,在系统下执行命令,查看rom size大小,同时读取寄存器中的数值,将寄存器中的数值通过公式进行计算并换算后,与rom size进行比较,比较的结果是相等的。
69.控制机通过命令控制待测机执行dmidecode-t bios|grep"rom size"(第一预设命令),获取的值为rom size1(需包含数值的单位)
70.然后再执行命令dmidecode-u-t 0|grep-a 2"header and data"(第二预设命令),获取寄存器09h(第一预设位置),即第一行第十个的值,检查是否为0xff(第一预设值),如果不是0xff,将此值记为n,将n转换成十进制记为n1,依据64k*(n1+1)这个公式来计算rom size,并将计算出的值记录为rom size2(数值单位是kb),比较rom size1和rom size2,如果相等输出pass。
71.如果是0xff,则执行命令:dmidecode-u-t 0|grep-a 2"header and data",获取18h(第二预设位置),即第二行第九个的值为x,将x换算成二进制,并抓取bit15:14的值为y(y为二进制从右往左数第15和16的值,第16位在左,第15位在右组成一个二位数),将y换算成rom size3的单位为y1(换算关系参考:y的值是00单位是mb,y的值是01单位是gb)。接着将x换算成二进制,并抓取bit13:0的值为z(z为二进制从右往左数第1到14的值,按照第14位在最左边,第1位在最右边排列),将z的值换算成十进制的值为z1,将z1和y1组合为z1y1,最后将z1y1的值记录为rom size3,比较rom size3和rom size1如果相等输出pass。
72.例如,若09h位置读取的数据是ff,继续读取18h位置的值是40,换算成二进制是0100 0000,因此二进制数只有8位数,高位没有值的全部以0替代,可以将40换算成二进制后理解为0000 0000 0100 0000,所以bit15:14的值以00表示,00代表单位是mb;bit13:0的值为00 0000 0100 0000,换算成十进制为64,再加上单位就是64mb。
73.本发明提出的方案能够实现无需人工值守,无需和研发工程师沟通确认,无需参照spec文档即可完成测试,大大提高测试效率,节省人力成本。
74.基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种检测rom容量的系统400,如图2所示,包括:
75.第一获取模块401,配置为执行第一预设命令以获取rom的第一容量;
76.第二获取模块402,配置为执行第二预设命令以获取寄存器中第一预设位置的值;
77.判断模块403,配置为判断所述第一预设位置的值是否为第一预设值;
78.转换模块404,配置为响应于不是第一预设值,将所述第一预设位置的值转换为十进制;
79.计算模块405,配置为将转换为十进制的值加1后乘以64作为rom的第二容量;
80.比较模块406,配置为响应于所述第一容量和所述第二容量相等,输出通过。
81.在一些实施例中,还包括第三获取模块,配置为:
82.响应于是第一预设值,执行所述第二预设命令以获取寄存器中第二预设位置的
值;
83.根据所述第二预设位置的值确定所述rom的第三容量;
84.响应于所述第一容量和所述第三容量相等,输出通过。
85.在一些实施例中,第三获取模块还配置为:
86.将所述第二预设位置的值转换为16位的二进制的值,其中高位若无值,则用0替代;
87.根据所述16位的二进制的值的第16位和第15位的值确定所述第三容量的单位,其中,若第16位和第15位的值为00,则第三容量的单位为mb;若第16位和第15位的值为01,则第三容量的单位为gb。
88.在一些实施例中,第三获取模块还配置为:
89.将所述16位的二进制的值的第1位到第14位的值转换为十进制并与所述第三容量的单位组合得到所述第三容量。
90.基于同一发明构思,根据本发明的另一个方面,如图3所示,本发明的实施例还提供了一种计算机设备501,包括:
91.至少一个处理器520;以及
92.存储器510,存储器510存储有可在处理器上运行的计算机程序511,处理器520执行程序时执行如上的任一种检测rom容量的方法的步骤。
93.基于同一发明构思,根据本发明的另一个方面,如图4所示,本发明的实施例还提供了一种计算机可读存储介质601,计算机可读存储介质601存储有计算机程序610,计算机程序610被处理器执行时执行如上的任一种检测rom容量的方法的步骤。
94.最后需要说明的是,本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关硬件来完成,程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。
95.此外,应该明白的是,本文的计算机可读存储介质(例如,存储器)可以是易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。
96.本领域技术人员还将明白的是,结合这里的公开所描述的各种示例性逻辑块、模块、电路和算法步骤可以被实现为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件和软件的这种可互换性,已经就各种示意性组件、方块、模块、电路和步骤的功能对其进行了一般性的描述。这种功能是被实现为软件还是被实现为硬件取决于具体应用以及施加给整个系统的设计约束。本领域技术人员可以针对每种具体应用以各种方式来实现的功能,但是这种实现决定不应被解释为导致脱离本发明实施例公开的范围。
97.以上是本发明公开的示例性实施例,但是应当注意,在不背离权利要求限定的本发明实施例公开的范围的前提下,可以进行多种改变和修改。根据这里描述的公开实施例的方法权利要求的功能、步骤和/或动作不需以任何特定顺序执行。此外,尽管本发明实施例公开的元素可以以个体形式描述或要求,但除非明确限制为单数,也可以理解为多个。
98.应当理解的是,在本文中使用的,除非上下文清楚地支持例外情况,单数形式“一个”旨在也包括复数形式。还应当理解的是,在本文中使用的“和/或”是指包括一个或者一个以上相关联地列出的项目的任意和所有可能组合。
99.上述本发明实施例公开实施例序号仅仅为了描述,不代表实施例的优劣。
100.本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。
101.所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本发明实施例公开的范围(包括权利要求)被限于这些例子;在本发明实施例的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,并存在如上的本发明实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。因此,凡在本发明实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本发明实施例的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1