芯片的测试方法、装置、存储介质及烧录器与流程

文档序号:19471276发布日期:2019-12-21 02:20阅读:275来源:国知局
芯片的测试方法、装置、存储介质及烧录器与流程
本申请涉及芯片测试领域,尤其涉及一种芯片的测试方法、装置、存储介质及烧录器。
背景技术
:烧录器(programmer)用于将目标程序代码写入到芯片中,使芯片实现目标程序代码对应的功能,该芯片称为可编程id,在芯片成功写入目标程序代码之后,需要校验芯片的功能是否正确。在相关技术中,不同型号的芯片可能设置有不同的测试步骤,即使相同型号的芯片也可能具有不同的测试步骤,对应不同的测试需求需要配置不同的测试代码来实现,测试灵活性差。技术实现要素:本申请实施例提供了的芯片的测试方法、装置、存储介质及终端,可以解决相关技术中针对不同的测试需求配置不同的测试代码导致的测试代码冗余和灵活性差的问题。所述技术方案如下:第一方面,本申请实施例提供了一种芯片的测试方法,所述方法包括:检测到芯片上电时,读取预存储的多个执行表,多个执行表各对应一个工作模式;基于目标工作模式在多个执行表中选择目标执行表;根据目标执行表启动状态机对芯片进行测试。第二方面,本申请实施例提供了一种芯片的测试装置,所述芯片的测试装置包括:读取单元,用于检测到芯片上电时,读取预存储的多个执行表;其中,多个执行表各对应一个工作模式;选择单元,用于基于目标工作模式在所述多个执行表中选择目标执行表。执行单元,用于根据所述目标执行表启动状态机对所述芯片执行测试。第三方面,本申请实施例提供一种计算机存储介质,所述计算机存储介质存储有多条指令,所述指令适于由处理器加载并执行上述的方法步骤。第四方面,本申请实施例提供一种烧录器,可包括:处理器和存储器;其中,所述存储器存储有计算机程序,所述计算机程序适于由所述处理器加载并执行上述的方法步骤。本申请一些实施例提供的技术方案带来的有益效果至少包括:检测到芯片上电时,读取预存储的多个执行表,多个执行表各自对应一个工作模式,根据当前的目标工作模式在多个执行表中选择目标执行表,根据目标执行表启动状态机对芯片进行测试,状态机整合有多个执行表,解决了相关技术中分配为不同的工作模式设置状态机代理的测试代码冗余和灵活性差的问题,本申请实施例通过状态机整合多个执行表来实现不同工作模式下测试代码的共用,减低了测试代码的冗余度,同时能够实现多个工作模式之间的灵活切换,可以提高测试的灵活性。附图说明为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1是本申请实施例提供的一种网络架构图;图2是本申请实施例提供的芯片的测试方法的流程示意图;图3是本申请实施例提供的芯片的测试方法的另一流程示意图;图4是本申请实施例提供的一种装置的结构示意图;图5是本申请提供的一种装置的另一结构示意图。具体实施方式为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例方式作进一步地详细描述。图1示出了可以应用于本申请的芯片的测试方法或芯片的测试装置的示例性系统架构100。如图1所示,系统架构100可以包括上位机101和烧录器102。上位机101和烧录器102之间通过通信连接进行通信,通信链路的类型可以是无线通信链路或有线通信链路,例如:有线通信链路包括光纤、双绞线或同轴电缆的,无线通信链路包括蓝牙通信链路、无线保真(wireless-fidelity,wi-fi)通信链路或微波通信链路等。其中,烧录器102包括微控制器、存储器、芯片插座、显示器和通信接口,芯片插座用于插入待测试芯片,显示器用于显示待测试芯片的测试进度、芯片型号、测试状态等信息。上位机101通过通信接口将多个执行表发送给烧录器102,烧录器102将多个执行表存放在存储器中,多个执行表分别对应不同的工作模式,执行表用于对应的工作模式下对应的测试步骤。上位机101可以是计算机,其上还可以安装有显示设备,显示设备显示可以是各种能实现显示功能的设备;例如:显示设备可以是阴极射线管显示器(cathoderaytubedisplay,简称cr)、发光二极管显示器(light-emittingdiodedisplay,简称led)、电子墨水屏、液晶显示屏(liquidcrystaldisplay,简称lcd)、等离子显示面板(plasmadisplaypanel,简称pdp)等。需要说明的是,本申请实施例提供的芯片的测试方法一般由烧录器102执行,相应的,芯片的测试装置一般设置于烧录器102中。例如:烧录器102根据第一工作模式在存储器中选择对应的执行表,根据执行表中的各个测试步骤执行芯片测试;烧录器102在接收到工作模式切换指令时,工作模式切换指令用于将第一工作模式切换为第二工作模式,烧录器102根据第一工作模式在存储器中选择对应的执行表,根据执行表中的各个测试步骤执行芯片测试。应理解,图1中的上位机和烧录器的数目仅是示意性的。根据实现需要,可以是任意数量的上位机和烧录器。下面将结合附图2-附图3,对本申请实施例提供的芯片的测试方法进行详细介绍。其中,本申请实施例中的芯片的测试装置可以是图2-图5所示的服务器。请参见图2,为本申请实施例提供了一种芯片的测试方法的流程示意图。如图2所示,本申请实施例的所述方法可以包括以下步骤:s201、检测到芯片上电时,读取预存储的多个执行表。其中,烧录器设置有芯片插座,芯片插座上插入有芯片。烧录器检测到开机指令后,烧录器执行初始化流程,完成初始化流程之后,烧录器向芯片发送上电指令,上电指令用于指示芯片执行上电操作,为芯片的各个引脚提供电压信号。烧录器检测到芯片成功执行上电操作之后,在存储器的指定存储空间读取预存储的多个执行表。存储器可以是闪存(flash),存储器可以通过spi(serialperipheralinterface,串行外设接口)与烧录器的处理器连接。执行表包括执行不同工作模式下的测试步骤,不同的执行表对应不同的工作模式。各个执行表可能包括相同的执行步骤。例如:执行表1包括:测试步骤1、测试步骤2和测试步骤3,执行表2包括测试步骤1、测试步骤2和测试步骤4,执行表3包括测试步骤1、测试步骤2和测试步骤4。s202、基于目标工作模式在多执行表中选择目标执行表。其中,烧录器预存储的多个执行表各自对应一个工作模式,目标工作模式为多个执行表各自对应的工作模式中的一个,烧录器预存储或预配置有工作模式和执行表之间的映射关系。烧录器根据该映射关系确定目标工作模式对应的目标执行表。例如:烧录器预存储的工作模式和执行表之间的映射关系如表1所示:工作模式1执行表1工作模式2执行表2工作模式3执行表3表1s203、基于目标执行表启动状态机对芯片执行测试。其中,状态机(finitestatemachine)根据触发条件执行相应的流程,状态即整合有多个工作模式下的执行表。即多个工作模式均能触发该状态机执行对应的测试步骤。本申请实施例的方案在执行时,检测到芯片上电时,读取预存储的多个执行表,多个执行表各自对应一个工作模式,根据当前的目标工作模式在多个执行表中选择目标执行表,根据目标执行表启动状态机对芯片进行测试,状态机整合有多个执行表,解决了相关技术中分配为不同的工作模式设置状态机代理的测试代码冗余和灵活性差的问题,本申请实施例通过状态机整合多个执行表来实现不同工作模式下测试代码的共用,减低了测试代码的冗余度,同时能够实现多个工作模式之间的灵活切换,可以提高测试的灵活性。请参见图3,为本申请实施例提供了一种芯片的测试方法流程示意图。本实施例以芯片的测试方法应用于烧录器中来举例说明。该芯片的测试方法可以包括以下步骤:s301、接收来自上位机发送的多个执行表。其中,上位机和烧录器之间建立通信连接,上位机和烧录器之间可以通过串行方式进行通信,例如:上位机和烧录器之间通过rs232接口进行通信。测试人员通过上位机的用户界面配置多个执行表和状态机,多个执行表分别对应多个不同的工作模式,即通过一个状态机输入不同的触发条件实现不同的工作模式下的测试步骤。s302、将多个执行表写入到存储器中。其中,存储器可以是闪存,存储器可以通过spi与烧录器的处理器连接。烧录器的处理器将接收到的多个执行包写入到存储器中。s303、检测到芯片上电时,读取预存储的多个执行表。其中,烧录器设置有芯片插座,芯片插座上插入有芯片。烧录器检测到开机指令后,烧录器执行初始化流程,完成初始化流程之后,烧录器向芯片发送上电指令,上电指令用于指示芯片执行上电操作,为芯片的各个引脚提供电压信号。烧录器检测到芯片成功执行上电操作之后,在存储器的指定存储空间读取预存储的多个执行表s304、根据芯片的id获取测试进度信息。其中,烧录器预存储有芯片的测试芯片和id之间的映射关系,测试进度信息表示芯片的测试进度,芯片的测试进度可预先划分为多个测试阶段,测试进度信息表示多个测试阶段中的一个。例如:芯片预先划分为4个测试阶段:测试阶段1、测试阶段2、测试阶段3和测试阶段4,烧录器根据芯片的id获取到的测试进度信息表示芯片即将进行测试阶段2。s305、根据测试进度信息确定目标工作模式。其中,不同的测试阶段对应不同的工作模式,烧录器根据测试进度信息指示的测试阶段确定对应的目标工作模式。例如:烧录器确定测试进度信息指示测试阶段2,测试节点2对应工作模式1为烧录模式。s306、在多个执行表中选择与目标工作模式对应的目标执行表。其中,烧录器预存储的多个执行表各自对应一个工作模式,目标工作模式为多个执行表各自对应的工作模式中的一个,烧录器预存储或预配置有工作模式和执行表之间的映射关系。烧录器根据该映射关系确定目标工作模式对应的目标执行表。例如:烧录器预存储的工作模式和执行表之间的映射关系如表1所示:工作模式1执行表1工作模式2执行表2工作模式3执行表3表2在一个或多个实施例中,所述基于目标工作模式在所述多个执行表中选择目标执行表,包括:接收来自上位机的工作模式选择指令;根据所述工作模式选择指令确定目标工作模式;在所述多个执行表中选择与所述目标工作模式对应的目标执行表。其中,工作模式选择指令用于在多个工作模式中选择目标工作模式,例如:使用位图来表示工作模式,不同的工作模式对应的比特位的值不同,使用两个比特位来表示工作模式,“00”表示工作模式1、“01”表示工作模式2,“10”表示工作模式3,“11”表示工作模式4,工作模式选择指令中携带比特位,解析比特位的值确定目标工作模式。s307、根据目标执行表启动状态机对芯片进行测试。其中,状态机(finitestatemachine)根据触发条件执行相应的流程,状态即整合有多个工作模式下的执行表。即多个工作模式均能触发该状态机执行对应的测试步骤,通过对状态即输入不同工作模式的触发条件就能执行对应的测试步骤。在一个或多个实施例中,在所述目标工作模式为所述烧录模式时,检测所述芯片的id是否匹配,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,将目标程序烧录到所述芯片中,烧录成功后,校验所述芯片的功能是否正确,若为是,释放所述芯片。在一个或多个实施例中,在所述目标工作模式为校验模式时,检测所述芯片的id是否匹配,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,校验所述芯片的功能是否正确,若为是,释放所述芯片。在一个或多个实施例中,在所述目标工作模式为全片擦除模式时,检测所述芯片的id是否正确,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,对所述芯片进行全片擦除操作,在完成所述全片擦除操作后,检测所述芯片是否为空片,若为是,释放所述芯片。在一个或多个实施例中,在所述目标工作模式为空片检测模式时,检测所述芯片的id是否正确,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,检测所述芯片是否为空片,若为是,释放所述芯片。在一个或多个实施例中,所述目标工作模式可以是:烧录模式、校验模式、全片擦除模式和空片检测模式中的一种或几种。其中,烧录模式用于在芯片中写入程序以使芯片实现程序对应的相关功能,烧录器预存储有id,烧录器比较预存储的id和芯片插座中的芯片的id是否相同,若相同,则芯片的id是匹配的,若不相同,则芯片的id不是匹配的。烧录器可以通过向芯片的复位引脚输入复位信号,指示芯片执行复位操作。驱动程序用于对芯片执行驱动,以便芯片能够写入应用程序。校验表示对芯片中烧录的程序的功能进行校验,判断是否符合期望的功能。释放退出芯片的测试过程。全片擦除操作表示对芯片的存储空间进行擦除,以清除存储空间内的程序。空片检测表示检测芯片的存储空间是否为空。在一个或多个实施例中,烧录器在执行烧录操作之前,会读取预存储的烧录次数,若烧录次数大于预设烧录次数,则退出当前的测试过程,在显示器上显示提示信息。否则继续当前的测试过程。实施本申请的实施例,检测到芯片上电时,读取预存储的多个执行表,多个执行表各自对应一个工作模式,根据当前的目标工作模式在多个执行表中选择目标执行表,根据目标执行表启动状态机对芯片进行测试,状态机整合有多个执行表,解决了相关技术中分配为不同的工作模式设置状态机代理的测试代码冗余和灵活性差的问题,本申请实施例通过状态机整合多个执行表来实现不同工作模式下测试代码的共用,减低了测试代码的冗余度,同时能够实现多个工作模式之间的灵活切换,可以提高测试的灵活性。下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。请参见图4,其示出了本申请一个示例性实施例提供的芯片的测试装置的结构示意图。以下简称装置4,装置4可以通过软件、硬件或者两者的结合实现成为终端的全部或一部分。装置4包括读取单元401、选择单元402和执行单元403。读取单元401,用于检测到芯片上电时,读取预存储的多个执行表;其中,多个执行表各对应一个工作模式。选择单元402,用于基于目标工作模式在所述多个执行表中选择目标执行表。执行单元403,用于根据所述目标执行表启动状态机对所述芯片执行测试。在一个或多个实施例中,所述基于目标工作模式在所述多个执行表中选择目标执行表,包括:接收来自上位机的工作模式选择指令;根据所述工作模式选择指令确定目标工作模式;在所述多个执行表中选择与所述目标工作模式对应的目标执行表。在一个或多个实施例中,所述基于目标工作模式在所述多个执行表中选择目标执行表,包括:根据所述芯片的id获取测试进度信息;根据所述测试进度信息确定目标工作模式;在所述多个执行表中选择与所述目标工作模式对应的目标执行表。在一个或多个实施例中,所述多个工作模式包括:烧录模式、校验模式、全片擦除模式和空片检测模式,所述烧录模式用于将程序烧录到所述芯片中,所述校验模式用于校验所述芯片的功能,所述全部擦除模式用于擦除芯片中的程序,所述空片检测模式用于检测所述芯片是否为空片。在一个或多个实施例中,所述根据所述目标执行表启动状态即对所述芯片进行测试,包括:在所述目标工作模式为所述烧录模式时,检测所述芯片的id是否匹配,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,将目标程序烧录到所述芯片中,烧录成功后,校验所述芯片的功能是否正确,若为是,释放所述芯片;或在所述目标工作模式为校验模式时,检测所述芯片的id是否匹配,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,校验所述芯片的功能是否正确,若为是,释放所述芯片;或在所述目标工作模式为全片擦除模式时,检测所述芯片的id是否正确,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,对所述芯片进行全片擦除操作,在完成所述全片擦除操作后,检测所述芯片是否为空片,若为是,释放所述芯片;或在所述目标工作模式为空片检测模式时,检测所述芯片的id是否正确,若为是,对所述芯片进行复位,下载所述芯片的驱动程序,在使用所述驱动程序成功驱动所述芯片时,检测所述芯片是否为空片,若为是,释放所述芯片。在一个或多个实施例中,所述状态机对应所述烧录模式、所述检验模式、所述全片擦除模式和所述空片检测模式。在一个或多个实施例中,装置4还包括:接收单元,用于接收来自上位机发送的多个执行表和状态机;将所述多个执行表写入到存储器中。需要说明的是,上述实施例提供的装置4在执行芯片的测试方法时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的芯片的测试方法实施例属于同一构思,其体现实现过程详见方法实施例,这里不再赘述。上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。本申请的装置4检测到芯片上电时,读取预存储的多个执行表,多个执行表各自对应一个工作模式,根据当前的目标工作模式在多个执行表中选择目标执行表,根据目标执行表启动状态机对芯片进行测试,状态机整合有多个执行表,解决了相关技术中分配为不同的工作模式设置状态机代理的测试代码冗余和灵活性差的问题,本申请实施例通过状态机整合多个执行表来实现不同工作模式下测试代码的共用,减低了测试代码的冗余度,同时能够实现多个工作模式之间的灵活切换,可以提高测试的灵活性。本申请实施例还提供了一种计算机存储介质,所述计算机存储介质可以存储有多条指令,所述指令适于由处理器加载并执行如上述图2-图3所示实施例的方法步骤,具体执行过程可以参见图2-图3所示实施例的具体说明,在此不进行赘述。本申请还提供了一种计算机程序产品,该计算机程序产品存储有至少一条指令,所述至少一条指令由所述处理器加载并执行以实现如上各个实施例所述的芯片的测试方法。图5为本申请实施例提供的一种芯片的测试装置结构示意图,以下简称装置5,装置5可以集成于前述的烧录器,如图5所示,该装置包括:存储器502、处理器501、输入装置503、输出装置504和通信接口。存储器502可以是独立的物理单元,与处理器501、输入装置503和输出装置8504可以通过总线连接。存储器502、处理器8501、收发器503也可以集成在一起,通过硬件实现等。存储器502用于存储实现以上方法实施例,或者装置实施例各个模块的程序,处理器501调用该程序,执行以上方法实施例的操作。输入装置502包括但不限于键盘、鼠标、触摸面板、摄像头和麦克风;输出装置包括但限于显示屏。通信接口用于收发各种类型的消息,通信接口包括但不限于无线接口或有线接口。可选地,当上述实施例的分布式任务调度方法中的部分或全部通过软件实现时,装置也可以只包括处理器。用于存储程序的存储器位于装置之外,处理器通过电路/电线与存储器连接,用于读取并执行存储器中存储的程序。处理器可以是中央处理器(centralprocessingunit,cpu),网络处理器(networkprocessor,np)或者cpu和np的组合。处理器还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,asic),可编程逻辑器件(programmablelogicdevice,pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,cpld),现场可编程逻辑门阵列(field-programmablegatearray,fpga),通用阵列逻辑(genericarraylogic,gal)或其任意组合。存储器可以包括易失性存储器(volatilememory),例如存取存储器(random-accessmemory,ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,hdd)或固态硬盘(solid-statedrive,ssd);存储器还可以包括上述种类的存储器的组合。其中,处理器501调用存储器502中的程序代码用于执行图2或图3中的步骤。本申请实施例还提供了一种计算机存储介质,存储有计算机程序,该计算机程序用于执行上述实施例提供的芯片的测试方法。本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例提供的芯片的测试方法。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1