一种自动测试寄存器的方法与系统技术方案

技术编号:20362948 阅读:32 留言:0更新日期:2019-02-16 16:33
本发明专利技术提供了一种自动测试寄存器的方法,包括以下步骤:服务器端接收从客户端上传的CPU描述文件;服务器端根据CPU描述文件分析得到CPU寄存器的起始地址;将寄存器的起始地址信息存入数据库表中;以及服务器端从数据库表中读取起始地址信息以生成调用代码来测试所述寄存器。本发明专利技术通过自动化地处理CPU描述文件,获取寄存器的起始地址,能够快速生成测试代码,方便开发人员对寄存器进行测试,节省人力。

【技术实现步骤摘要】
一种自动测试寄存器的方法与系统
本专利技术总体上涉及计算机领域,并且更具体地,涉及一种自动测试寄存器的方法与系统。
技术介绍
在服务器完成样机搭建之后,需要进行各种测试,以保证服务器能够正常运行。在测试CPU能否正常使用时,通常采用访问寄存器的方式进行测试,即编写相关的寄存器脚本,来测试寄存器是否能够正常访问,比较耗时。并且,针对不同型号的CPU,均需要根据CPU型号来调整测试脚本,需要占用很多人工处理,占用大量的人力资源,从事许多比较机械的工作,浪费成本。
技术实现思路
鉴于此,本专利技术实施例的目的在于提出一种自动测试寄存器的方法,该方法可移植性强,能够快速生成测试代码,方便开发人员,节省人力。基于上述目的,本专利技术实施例的一方面提供了一种自动测试寄存器的方法,包括以下步骤:服务器端接收从客户端上传的CPU描述文件;所述服务器端根据所述CPU描述文件分析获取CPU的寄存器的起始地址;将所述寄存器的起始地址信息存入数据库表中;以及所述服务器端从所述数据库表中读取所述起始地址信息以生成调用代码来测试所述寄存器。在一些实施方式中,所述服务器端从所述数据库表中读取所述起始地址信息以生成调用代码来测试所述寄存器包括:根据所述起始地址生成向所述寄存器中写入用户定义的数据的iowrite指令和从所述寄存器中读取所述数据的ioread指令。在一些实施方式中,还包括:通过所述iowrite指令写入的数据和通过所述ioread指令取出的数据一致则判定寄存器正常,否则判定寄存器故障。在一些实施方式中,用户可以选择对哪些寄存器进行测试。在一些实施方式中,所述CPU描述文件为CPU厂商提供的PDF格式的CPU描述文件。在一些实施方式中,所述方法基于C语音编写的程序实现。本专利技术实施例的另一方面提供了一种客户端,所述客户端包括处理器和存储器,存储器包含配置为执行以下步骤的处理器可执行指令:上传CPU描述文件到服务器;选择要测试的寄存器;以及显示从服务器接收的测试结果。在一些实施方式中,所述客户端为web客户端或APP客户端。本专利技术实施例的又一方面提供了一种服务器端,所述服务器端包括处理器和存储器,存储器包含配置为执行上述方法的处理器可执行指令。本专利技术实施例的又一方面提供了一种自动测试寄存器的系统,所述系统包括上述客户端以及上述服务器端。本专利技术具有以下有益技术效果:本专利技术实施例提供的一种自动测试寄存器的方法在对来自相同厂商的CPU进行测试时,通过自动化地处理CPU描述文件,获取寄存器的起始地址,能够快速生成测试代码,方便开发人员对寄存器进行测试,节省人力,移植性较强。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。图1是根据本专利技术实施例的自动测试寄存器的方法流程图。具体实施方式以下描述了本公开的实施例。然而,应该理解,所公开的实施例仅仅是示例,并且其他实施例可以采取各种替代形式。附图不一定按比例绘制;某些功能可能被夸大或最小化以显示特定部件的细节。因此,本文公开的具体结构和功能细节不应被解释为限制性的,而仅仅是作为用于教导本领域技术人员以各种方式使用本专利技术的代表性基础。如本领域普通技术人员将理解的,参考任何一个附图所示出和描述的各种特征可以与一个或多个其他附图中所示的特征组合以产生没有明确示出或描述的实施例。所示特征的组合为典型应用提供了代表性实施例。然而,与本公开的教导相一致的特征的各种组合和修改对于某些特定应用或实施方式可能是期望的。为使本专利技术的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本专利技术实施例进一步详细说明。本专利技术实施例的第一方面提供了一种自动测试寄存器的方法,如图1所示,包括以下步骤:步骤S101:上传CPU描述文件;步骤S103:根据CPU描述文件分析获取CPU的寄存器起始地址;步骤S105:将寄存器的起始地址信息存入数据库表中;步骤S107:从数据库表中读取起始地址信息以生成调用代码来测试寄存器。在一些实施例中,通过客户端将CPU厂商提供的CPU描述文件上传到服务器端。每款CPU均有写着寄存器起始地址的描述文件,通常为PDF格式,该文件描述从什么位置开始读取寄存器数据。于是,在服务器端对CPU描述文件进行分析以分析出需要的寄存器起始地址,并将寄存器的起始地址信息存入数据库表中,在一个实施例中,包含寄存器起始信息的数据库表可以如表1所示。IdNameBusDeviceFunctionoffset1Dmivc1rsts000262Dmivcprctl0002c表1在一些实施例中,可以读取根据上传的CPU描述文件分析出的所有寄存器列表,用户可以选择对所有寄存器进行测试还是对其中一些或一个进行测试。然后,从数据库表中读取将要测试的寄存器的起始地址数据以生成调用代码来测试所述寄存器。在一个实施例中,可以编制程序模板,其中设置有多个待复制或填充的变量,通过解析寄存器的起始位置数据表格,查找到相应字段的内容进行填充,形成一个完整的测试例,可以向查找到的相应字段表示的地址中进行数据的读写操作。在一些实施例中,首先要申请I/O内存,然后建立寄存器地址的映射,映射后的寄存器地址排列顺序和间隔同映射前一致,因此虚拟首地址加上偏移量即可得到具体寄存器的起始地址,然后根据寄存器起始地址生成的调用代码,所述调用代码包括测试需要的iowrite8()和ioread8()指令。在一个实施例中,通过iowrite8()指令向寄存器中写入预定义的数据(例如字符串helloworld),并通过ioread8()指令取出该数据;如果通过iowrite8()指令写入的数据和通过ioread8()指令取出的数据一致则说明寄存器正常,CPU能正常使用,否则说明寄存器故障,CPU不能正常使用。在一些实施例中,将基于上述方法的测试程序安装到需要测试的机器上就可实现自动对寄存器进行测试。通常来自同一厂商的CPU均可基于上述方法使用同一套程序对寄存器进行读写测试,因为同一厂商的CPU描述文件一般具有相同的格式。如果需要对不同厂商的CPU进行测试,只需对测试程序稍作修改以实现不同的文件分析策略。在技术上可行的情况下,以上针对不同实施例所列举的技术特征可以相互组合,或者改变、添加以及省略等等,从而形成本专利技术范围内的另外实施例。从上述实施例可以看出,本专利技术实施例提供的一种自动测试寄存器的方法在对来自相同厂商的CPU进行测试时,通过自动化地处理CPU描述文件,获取寄存器的起始地址,能够快速生成测试代码,方便开发人员对寄存器进行测试,节省人力,移植性较强。基于上述目的,本专利技术实施例的第二个方面,提出了一种客户端,包括处理器和存储器,存储器包含配置为执行以下步骤的处理器可执行指令:上传CPU描述文件到服务器;选择要测试的寄存器;以及显示从服务器接收的测试结果。在一些实施例中,该客户端提供图形化界面,该客户端可以是web客户端或APP客户端。该客户端可以提供简洁友好的用户界面,让测试操作尽可能简便和符合直觉,易于操作。本专利技术实施例的第三个方本文档来自技高网...

【技术保护点】
1.一种自动测试寄存器的方法,其特征在于,包括以下步骤:服务器端接收从客户端上传的CPU描述文件;所述服务器端根据所述CPU描述文件分析获取CPU的寄存器的起始地址;将所述寄存器的起始地址信息存入数据库表中;以及所述服务器端从所述数据库表中读取所述起始地址信息以生成调用代码来测试所述寄存器。

【技术特征摘要】
1.一种自动测试寄存器的方法,其特征在于,包括以下步骤:服务器端接收从客户端上传的CPU描述文件;所述服务器端根据所述CPU描述文件分析获取CPU的寄存器的起始地址;将所述寄存器的起始地址信息存入数据库表中;以及所述服务器端从所述数据库表中读取所述起始地址信息以生成调用代码来测试所述寄存器。2.根据权利要求1所述的方法,其特征在于,所述服务器端从所述数据库表中读取所述起始地址信息以生成调用代码来测试所述寄存器包括:根据所述起始地址生成向所述寄存器中写入用户定义的数据的iowrite指令和从所述寄存器中读取所述数据的ioread指令。3.根据权利要求2所述的方法,其特征在于,还包括:通过所述iowrite指令写入的数据和通过所述ioread指令取出的数据一致则判定寄存器正常,否则判定寄存器故障。4.根据权利...

【专利技术属性】
技术研发人员:张国磊
申请(专利权)人:郑州云海信息技术有限公司
类型:发明
国别省市:河南,41

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

1