CN115184764A - 一种芯片测试方法、装置、电子设备及存储介质 - Google Patents
一种芯片测试方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN115184764A CN115184764A CN202110362002.5A CN202110362002A CN115184764A CN 115184764 A CN115184764 A CN 115184764A CN 202110362002 A CN202110362002 A CN 202110362002A CN 115184764 A CN115184764 A CN 115184764A
- Authority
- CN
- China
- Prior art keywords
- target
- chip
- operation data
- test
- platform
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本申请提供一种芯片测试方法、装置、电子设备及存储介质,芯片包括只读存储器和可编程存储器,只读存储器包括芯片运行数据和至少两个平台运行数据,可编程存储器包括多个存储单元,该方法先获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据,再根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片,然后根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,最后调用目标运行数据对芯片进行测试。本申请实现了同一版本的运行数据适应于各类测试平台的测试需求。
Description
技术领域
本申请涉及芯片测试技术领域,尤其涉及一种芯片测试方法、装置、电子设备及存储介质。
背景技术
通过硬件仿真平台(EMU平台)进行芯片验证可以极大地提高仿真效率,因此在验证极大规模的芯片设计时得到广泛应用。Boot ROM是嵌入式处理器芯片内的一小块掩膜ROM或写保护闪存,包含处理器在上电或复位时执行的第一个代码,Boot ROM的开发、测试和测试需要在多个EMU平台进行,但每个EMU平台的测试重点不同,使得每个EMU平台都需要维护一套ROM源码版本,具体在哪个平台测试,就编译哪一个版本的ROM源码。然而,版本较多易发生混乱,且需要花费时间和精力进行版本的维护和发布,使得测试效率较低。
因此,现有的芯片测试过程存在ROM源码版本过多的技术问题,需要改进。
发明内容
本申请实施例提供一种芯片测试方法、装置、电子设备及存储介质,用以缓解现有的芯片测试过程中ROM源码版本过多的技术问题。
为解决上述技术问题,本申请实施例提供以下技术方案:
本申请提供一种芯片测试方法,芯片包括只读存储器和可编程存储器,所述只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,所述可编程存储器包括多个存储单元,所述存储单元用于存储补丁数据,所述芯片测试方法包括:
获取所述多个存储单元的存储信息,根据所述存储信息,从所述多个存储单元中确定目标存储单元,并从所述目标存储单元中获取目标补丁数据;
根据所述目标补丁数据,确定所述芯片的目标测试主体,所述目标测试主体包括所述至少两个测试平台中的目标测试平台或所述芯片;
根据所述目标测试主体,从所述芯片运行数据和所述至少两个平台运行数据中确定目标运行数据,所述目标运行数据包括所述至少两个平台运行数据中的目标平台运行数据或所述芯片运行数据;
调用所述目标运行数据对芯片进行测试。
同时,本申请还提供一种芯片测试装置,芯片包括只读存储器和可编程存储器,所述只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,所述可编程存储器包括多个存储单元,所述存储单元用于存储补丁数据,所述芯片测试装置包括:
获取模块,用于获取所述多个存储单元的存储信息,根据所述存储信息,从所述多个存储单元中确定目标存储单元,并从所述目标存储单元中获取目标补丁数据;
第一确定模块,用于根据所述目标补丁数据,确定所述芯片的目标测试主体,所述目标测试主体包括所述至少两个测试平台中的目标测试平台或所述芯片;
第二确定模块,用于根据所述目标测试主体,从所述芯片运行数据和所述至少两个平台运行数据中确定目标运行数据,所述目标运行数据包括所述至少两个平台运行数据中的目标平台运行数据或所述芯片运行数据;
调用模块,用于调用所述目标运行数据对芯片进行测试。
本申请还提供一种电子设备,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行上述任一项所述的芯片测试方法中的操作。
本申请还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现上述任一项所述的芯片测试方法。
有益效果:本申请提供一种芯片测试方法、装置、电子设备及存储介质,芯片包括只读存储器和可编程存储器,只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,可编程存储器包括多个存储单元,存储单元用于存储补丁数据,芯片测试方法先获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数,再根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片,然后根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括至少两个平台运行数据中的目标平台运行数据或芯片运行数据,最后调用目标运行数据对芯片进行测试。本申请在芯片的只读存储器中统一设置芯片运行数据和至少两个平台运行数据,即运行数据为统一编译的版本,然后在芯片中设置可编程存储器,通过打补丁的方式确定测试主体,且在不同测试主体中可以调用不同类型的运行数据进行芯片测试,实现了同一版本的运行数据适应于各类测试平台的测试需求,从而无需对各测试平台编译不同版本的运行数据。
附图说明
下面结合附图,通过对本申请的具体实施方式详细描述,将使本申请的技术方案及其它有益效果显而易见。
图1是本申请实施例提供的视频显示系统的场景示意图。
图2为本申请实施例提供的芯片测试方法的第一种流程示意图。
图3为本申请实施例提供的芯片测试方法中测试平台和芯片的结构示意图。
图4为本申请实施例提供的芯片测试方法中可编程存储器中存储表的示意图。
图5为本申请实施例提供的芯片测试方法的第二种流程示意图。
图6为本申请实施例提供的芯片测试装置的结构示意图。
图7为本申请实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
需要说明的是,本申请中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1为本申请实施例所提供的测试信息获取系统的场景示意图,该应用场景中包括芯片10和测试平台20;其中:
芯片10可以是仅包括集成电路的单一芯片,也可以是以电子系统的系统功能为出发点,把系统模型、处理机制、芯片结构、各层次电路以及器件的设计紧密结合起来,在单一芯片上完成整个系统的功能的集成芯片;
测试平台20为Emulator平台,或者叫EMU平台,也即硬件仿真平台,可看做软件simulator的硬件化,是一种通过软件运算模拟芯片环境来实现对芯片功能和性能验证的仿真平台,可用于极大规模的芯片验证。
芯片10和测试平台20通过接口进行数据和信号的传输,以实现两者之间的数据交互,其中:
芯片10包括只读存储器和可编程存储器,只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,可编程存储器包括多个存储单元,存储单元用于存储补丁数据,在测试时,测试平台20先获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据,再根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片,然后根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括至少两个平台运行数据中的目标平台运行数据或芯片运行数据,最后调用目标运行数据对芯片10进行测试,并通过分析测试平台20中的相关测试结果来判断芯片10的各项功能是否符合预期。
需要说明的是,图1所示的系统场景示意图仅仅是一个示例,本申请实施例描述的服务以及场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着系统的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。以下分别进行详细说明。需说明的是,以下实施例的描述顺序不作为对实施例优选顺序的限定。
请参阅图2,图2是本申请实施例提供的芯片测试方法的第一种流程示意图,该方法包括:
S201:获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据。
随着工艺技术以及应用领域的不断发展,一方面芯片设计的复杂度不断提高,另一方面对芯片研发周期的要求越来越严格,这就要求对于芯片的各种验证工作需要尽早和高效地进行,以保证芯片设计的实际功能特性与设计规格书中定义的功能特性保持一致。如图3所示,在极大规模的芯片验证中,常使用硬件仿真平台(EMU平台)作为测试平台20来进行芯片10的测试和验证,将芯片10相关的软件代码及测试文件下载至测试平台20后,测试平台20根据这些软件代码来模拟芯片10的运行,根据测试文件中的各条件模拟芯片10在处于相同条件下的输出,在测试后根据测试输出结果来判断芯片10的各项功能是否符合预期。
在本申请中,芯片10可以是嵌入式处理器芯片,芯片10包括只读存储器11和可编程存储器12,只读存储器11包括芯片运行数据和至少两个平台运行数据,芯片运行数据指测试时与芯片相关的通用代码,平台运行数据指测试时与测试平台相关的代码。可编程存储器12包括多个存储单元,存储单元用于存储补丁数据。只读存储器11为Boot ROM,是嵌入式处理器芯片内的一小块掩膜ROM或写保护闪存,Boot ROM存储的代码包含处理器在上电或复位时执行的第一个代码,可编程存储器12为一次性可编程存储器EFUSE,Boot ROM根据EFUSE中补丁数据的相关信息,决定从哪里加载执行代码的下一部分。
芯片与测试平台之间通过接口进行数据和信号的传输,以实现两者之间的数据交互,芯片在平台上测试时,根据测试阶段的不同,所需的测试主体也不同,测试主体可以是芯片自身或测试平台。当测试平台作为测试主体时,需要将芯片中的相关代码也即平台运行数据下载至测试平台,并由测试平台根据这些代码来模拟芯片的运行,当芯片作为测试主体时,直接调用芯片中的相关代码也即芯片运行数据进行测试,而不需要将相关代码放在测试平台中进行。通常情况下,芯片在某个测试平台进行测试时,先将测试平台作为测试主体,在测试平台上完成后再将芯片自身作为测试主体。
为保证芯片的设计和制造结果满足预期,芯片需要在多个不同的硬件仿真平台进行测试,如Palladium Z1平台、ZEBU平台、VCS平台等,在不同的测试平台进行测试和验证时,测试的侧重点也不相同,例如有的测试平台侧重于验证启动流程,有的测试平台侧重于验证物理层的初始化等。当测试主体为芯片时,由于芯片运行数据的调用和执行均在芯片中进行,与测试平台无关,则芯片运行数据可以同时兼容所有测试平台。当测试主体为测试平台时,需要用测试平台模拟芯片的运行,由于测试侧重点不同,在不同测试平台上所需的设置参数、触发条件等信息会有差异,使得各测试平台需要的平台运行数据也不同,针对不同的测试平台,需要将该测试平台对应的平台运行数据下载至测试平台后才能进行正常测试。因此,本申请中芯片运行数据可以同时兼容多个测试平台,而各平台运行数据分别适用于不同的测试平台,芯片运行数据和至少两个平台运行数据均基于Jenkins编译,在只读存储器中作为一个完整的版本发布。
在芯片测试时,先进行初始化,然后从可编程存储器中获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据,目标补丁数据包括权限标识、补丁运行地址和测试主体标识。目标补丁数据中,权限标识用于表征该目标补丁数据是否有权参与地址匹配,补丁运行地址用于表征匹配后只读存储器中待运行数据的位置,测试主体标识用于表征芯片在哪个测试主体上进行测试。当目标补丁数据的权限标识为有权时,如果补丁运行地址与只读存储器中各运行数据的某个原始运行地址相等,芯片的CPU核会访问该原始运行地址,并将该原始运行地址对应的运行数据读出作为下一步执行代码,当目标补丁数据的权限标识为无权时,则继续调用当前运行数据作为下一步执行代码进行测试,即目标补丁数据用于表征只读存储器中下一步执行代码的相关信息。
在一种实施例中,S201具体包括:根据存储信息,将可编程存储器中存储有补丁数据的存储单元确定为目标存储单元;从目标存储单元中获取目标补丁数据。可编程存储器包括多个存储单元,在测试时根据需要,对其中一些存储单元执行烧写操作,写入补丁数据,其他存储单元不做处理,然后获取各存储单元的存储信息,仅将烧写有补丁数据的存储单元作为目标存储单元,从中获取目标补丁数据。
S202:根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片。
在一种实施例中,S202具体包括:根据目标补丁数据的权限标识,判断目标补丁数据是否有效;在目标补丁数据有效时,若测试主体标识为零,将芯片确定为目标测试主体;在目标补丁数据有效时,若测试主体标识不为零,根据测试主体标识和预设测试平台标识,从至少两个测试平台中确定目标测试平台,将目标测试平台作为目标测试主体。
可编程存储器包括多个存储单元,存储单元用于存储补丁数据。可编程存储器内设置有存储表,存储表包括多个存储单元,各存储单元可用于存储补丁数据。存储表的具体格式如图4所示,每个存储单元包括第一存储区和第二存储区,以32bit的存储器为例,OFFSET+0x0至OFFSET+0x1FF表示第一存储区的地址区间,OFFSET+0x200至OFFSET+0x3FF表示第二存储区的地址区间,其中第一存储区的第0位至第1位为权限存储区,用于存储权限标识,用“EN”表示;第2至16位为地址存储区,用于存储补丁运行地址,用“ADDRESS0[14:0]”至ADDRESS127[14:0]”表示;第17至第31位为其他数据的预留存储位,用“Reserved”表示;第二存储区的所有位均为数据存储区,用于存储测试主体标识,用“DATA0[31:0]”至“DATA127[31:0]”表示。
本申请的可编程存储器为一次性可编程存储器EFUSE,当对存储单元进行烧写数据时,目标补丁数据的权限标识由2bit构成,支持两次修改,可以让权限标识有效,也可以再次把该权限标识设置为无效。权限标识默认为2’b00,表示该补丁运行地址无效;当权限标识为2’b01或2’b10时,表示该补丁运行地址有效,参与原始运行地址匹配;当权限标识为2’b11时,表示该补丁运行地址无效,不参与原始运行地址匹配。后续在判断目标补丁数据是否有效时,直接根据权限标识的2bit数据的具体值来判断。只有在目标补丁数据有效时,才会进行后续的目标测试主体确定操作,在根据目标补丁数据确定出下一步的运行代码后,可以再将该目标补丁数据的权限标识烧写为无效,并对其他存储单元执行烧写工作,从而获得不同的目标补丁数据,即本申请可以通过烧写不同的目标补丁数据以及对目标补丁数据设置不同的权限,从而灵活适应不同的目标测试主体。
在对芯片测试时,先根据测试需求选择是否需要在可编程存储器的存储单元中烧写补丁数据、以及如何烧写补丁数据。例如,当想要在Palladium Z1平台上测试时,在存储表中的目标存储单元的地址存储区烧写补丁运行地址0x5ff01ffc,在数据存储区烧写测试主体标识0x563157ac,将权限标识烧写为有效,则在获取目标补丁数据后,由于该目标补丁数据有效,且测试主体标识不为零,则将该测试主体标识与各测试平台的预设测试平台标识进行对比,如果测试主体标识与某个预设测试平台标识相同,则将对应的测试平台作为目标测试平台,如根据0x563157ac确定目标测试主体为Palladium Z1平台,则将PalladiumZ1平台确定为目标测试主体。当想要在芯片本身测试时,在数据存储区设置测试主体标识为零,也即不对数据存储区进行烧写操作使其维持默认值0,则直接将芯片确定为目标测试主体。
S203:根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括芯片运行数据或芯片运行数据与目标平台运行数据的整体。
在一种实施例中,S203具体包括:在目标测试主体为芯片时,将芯片运行数据确定为目标运行数据;在目标测试主体为目标测试平台时,从至少两个平台运行数据中确定适用于目标测试平台的目标平台运行数据,将目标平台运行数据确定为目标运行数据。当目标测试主体为芯片时,表示相关运行数据的调用和执行均在芯片中进行,与测试平台无关,因此直接将芯片运行数据确定为目标运行数据。当目标测试主体为某个测试平台时,需要将该测试平台对应的平台运行数据下载至测试平台后才能进行正常测试,因此将该测试平台对应的目标平台运行数据的整体确定为目标运行数据。
S204:调用目标运行数据对芯片进行测试。
在一种实施例中,S204具体包括:在目标测试主体为芯片时,调用芯片运行数据对芯片进行测试;在目标测试主体为目标测试平台时,根据目标补丁数据中的补丁运行地址,确定目标平台运行数据的目标运行地址,基于目标运行地址调用目标平台运行数据对芯片进行测试。当目标测试主体为芯片时,直接在芯片上调用芯片运行数据进行测试。当目标测试主体为某个测试平台时,需要调用目标平台运行数据进行测试,在调用时需要先获取目标平台运行数据的地址,因此先获取目标补丁数据中的补丁运行地址,将该补丁运行地址与只读存储器中的各运行数据的多个原始运行地址进行匹配,各运行数据中的代码可以包括多个逻辑运算或指令等,因此具有多个原始运行地址,当补丁运行地址与某个原始运行地址相等时,将该原始运行地址作为目标运行地址,在测试平台上从目标运行地址中调用目标平台运行数据对芯片进行测试。
在一种实施例中,基于目标运行地址调用目标平台运行数据对芯片进行测试的步骤之后,还包括:在目标平台运行数据运行完成后,调用芯片运行数据继续对芯片进行测试。当目标平台运行数据运行完成后,表示需要在当前测试平台上进行的测试完成,下一阶段需要在芯片自身进行测试,则调用芯片运行数据继续对芯片进行测试。
当在某个测试平台的整个测试过程都结束后,重新在其他测试平台进行测试时,再次根据测试需求选择是否需要在可编程存储器的存储单元中烧写补丁数据、以及如何烧写补丁数据,然后再一次执行上述步骤S201至S204,直至在所有的测试平台上都完成测试。
在当前的芯片测试方法中,对于每个测试平台,均将芯片运行数据和该测试平台对应的平台运行数据作为一个整体版本进行发布,则对于多个测试平台需要多个版本,使得版本过多,测试效率较低且不便于维护。
而通过上述分析可知,本申请的芯片测试方法,先获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据,目标补丁数据包括权限标识、补丁运行地址和测试主体标识,再根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片,然后根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括芯片运行数据或芯片运行数据与目标平台运行数据的整体,最后调用目标运行数据对芯片进行测试。本申请在芯片的只读存储器中统一设置芯片运行数据和至少两个平台运行数据,即运行数据为统一编译的版本,然后在芯片中设置可编程存储器,通过打补丁的方式确定测试主体,且在不同测试主体中可以调用不同类型的运行数据进行芯片测试,从而无需对各测试平台编译不同版本的运行数据。
本申请中测试平台可用于对各类嵌入式处理器芯片进行硬件仿真模拟,其中嵌入式处理器芯片可以是车载系统级芯片,车载系统级芯片安装在各类交通工具上使用,用于与其他电子设备连接并处理与其他电子设备之间的交互信令,以辅助交通工具实现视频显示、音频播放、导航、倒车等各项功能。当然,测试平台也可用于其他类型芯片的硬件仿真模拟,本申请不以此为限。
如图5所示,为本申请实施例提供的芯片测试方法的第二种流程示意图,该方法包括:
S501:开始。
S502:只读存储器初始化。对芯片架构进行初始化,架构可以是Aarch64架构或其他架构,将内存如Icache、Dcache、Stack align等进行禁用。
S503:读取测试主体标识。在可编程存储器中的目标存储单元中获取目标补丁数据,并在目标补丁数据有效时,获取目标补丁数据的补丁运行地址(platform base)和测试主体标识(platform code),在补丁运行地址读取对应的测试主体标识,例如在补丁运行地址0x5ff01ffc中读取到测试主体标识0x563157ac。
S504:判断测试主体标识是否不为0。若是,执行S505:读取测试主体标识具体值。当测试主体标识具体值为0x563157ac时,其不为0,则表示测试主体为某个测试平台。
S506:判断测试主体是哪个测试平台。先获取第一测试平台、第二测试平台和第三测试平台的预设测试平台标识,在测试主体标识0x563157ac与某个预设测试平台标识相同时,将该测试平台作为目标测试主体,平台运行数据分别包括第一平台运行数据、第二平台运行数据和第三平台运行数据,从只读存储器中获取该测试平台的平台运行数据,也即相关配置文件,然后根据平台运行数据执行相应测试平台的特殊初始化部分。
S507:执行其他运行数据。在平台运行数据执行完成后,调用芯片运行数据执行平台串口初始化,UFG/EMMC/USB初始化,加载证书,加载验证SBL固件等。
在S504判断后,若否,直接执行S507:执行其他运行数据。当测试主体标识具体值为0时,表示测试主体为芯片自身,则直接调用芯片运行数据,执行平台串口初始化,UFG/EMMC/USB初始化,加载证书,加载验证SBL固件等。
在S507后,执行S508:结束。跳转到SBL。
由上述步骤可知,本申请在芯片的只读存储器中统一设置芯片运行数据和至少两个平台运行数据,即运行数据为统一编译的版本,然后在芯片中设置可编程存储器,通过打补丁的方式使得在不同测试主体中调用不同类型的运行数据进行芯片测试,实现了同一版本的运行数据适应于各类测试平台的测试需求,从而无需对各测试平台编译不同版本的运行数据。
在上述实施例所述方法的基础上,本实施例将从芯片测试装置的角度进一步进行描述,请参阅图6,图6具体描述了本申请实施例提供的芯片测试装置,芯片包括只读存储器和可编程存储器,只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,可编程存储器包括多个存储单元,存储单元用于存储补丁数据,该装置可以包括:
获取模块110,用于获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据;
第一确定模块120,用于根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片;
第二确定模块130,用于根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括至少两个平台运行数据中的目标平台运行数据或芯片运行数据;
调用模块140,用于调用目标运行数据对芯片进行测试。
在一种实施例中,获取模块110包括:
第一确定子模块,用于根据存储信息,将可编程存储器中存储有补丁数据的存储单元确定为目标存储单元;
第一获取子模块,用于从目标存储单元中获取目标补丁数据。
在一种实施例中,目标补丁数据包括权限标识、补丁运行地址和测试主体标识,第一确定模块120包括:
判断子模块,用于根据目标补丁数据的权限标识,判断目标补丁数据是否有效;
第二确定子模块,用于在目标补丁数据有效时,若测试主体标识为零,将芯片确定为目标测试主体;
第三确定子模块,用于在目标补丁数据有效时,若测试主体标识不为零,根据测试主体标识和预设测试平台标识,从至少两个测试平台中确定目标测试平台,将目标测试平台作为目标测试主体。
在一种实施例中,第二确定模块130包括:
第四确定子模块,用于在目标测试主体为芯片时,将芯片运行数据确定为目标运行数据;
第五确定子模块,用于在目标测试主体为目标测试平台时,从至少两个平台运行数据中确定适用于目标测试平台的目标平台运行数据,将目标平台运行数据确定为目标运行数据。
在一种实施例中,调用模块140包括:
第一调用子模块,用于在目标测试主体为芯片时,调用芯片运行数据对芯片进行测试;
第二调用子模块,用于在目标测试主体为目标测试平台时,根据目标补丁数据中的补丁运行地址,确定目标平台运行数据的目标运行地址,基于目标运行地址调用目标平台运行数据对芯片进行测试。
在一种实施例中,第二调用子模块用于,在目标测试主体为目标测试平台时,匹配补丁运行地址和只读存储器中各运行数据的多个原始运行地址;将与补丁运行地址相等的原始运行地址确定为目标运行地址。
在一种实施例中,调用模块140还包括第三调用子模块,第三调用子模块在第二调用子模块之后工作,第三调用子模块用于,在目标平台运行数据运行完成后,调用芯片运行数据继续对芯片进行测试。
区别于现有技术,本申请提供的芯片测试装置,先获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据,目标补丁数据包括权限标识、补丁运行地址和测试主体标识,再根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或芯片,然后根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括芯片运行数据或芯片运行数据与目标平台运行数据的整体,最后调用目标运行数据对芯片进行测试。本申请在芯片的只读存储器中统一设置芯片运行数据和至少两个平台运行数据,即运行数据为统一编译的版本,然后在芯片中设置可编程存储器,通过打补丁的方式使得在不同测试主体中调用不同类型的运行数据进行芯片测试,实现了同一版本的运行数据适应于各类测试平台的测试需求,从而无需对各测试平台编译不同版本的运行数据。
相应的,本申请实施例还提供一种电子设备,如图7所示,该电子设备可以包括射频(RF,Radio Frequency)电路701、包括有一个或一个以上计算机可读存储介质的存储器702、输入单元703、显示单元704、传感器705、音频电路706、WiFi模块707、包括有一个或者一个以上处理核心的处理器708、以及电源709等部件。本领域技术人员可以理解,图7中示出的电子设备结构并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路701可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器708处理;另外,将涉及上行的数据发送给基站。存储器702可用于存储软件程序以及模块,处理器708通过运行存储在存储器702的软件程序以及模块,从而执行各种功能应用以及数据处理。输入单元703可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。
显示单元704可用于显示由用户输入的信息或提供给用户的信息以及服务器的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。
电子设备还可包括至少一种传感器705,比如光传感器、运动传感器以及其他传感器。音频电路706包括扬声器,扬声器可提供用户与电子设备之间的音频接口。
WiFi属于短距离无线传输技术,电子设备通过WiFi模块707可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图7示出了WiFi模块707,但是可以理解的是,其并不属于电子设备的必须构成,完全可以根据需要在不改变申请的本质的范围内而省略。
处理器708是电子设备的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器702内的软件程序和/或模块,以及调用存储在存储器702内的数据,执行电子设备的各种功能和处理数据,从而对手机进行整体监控。
电子设备还包括给各个部件供电的电源709(比如电池),优选的,电源可以通过电源管理系统与处理器708逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,电子设备还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,服务器中的处理器708会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器702中,并由处理器708来运行存储在存储器702中的应用程序,从而实现以下功能:
获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据;根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或所述芯片;根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括至少两个平台运行数据中的目标平台运行数据或芯片运行数据;调用目标运行数据对芯片进行测试。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文的详细描述,此处不再赘述。
本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。
为此,本申请实施例提供一种计算机可读存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以实现以下功能:
获取多个存储单元的存储信息,根据存储信息,从多个存储单元中确定目标存储单元,并从目标存储单元中获取目标补丁数据;根据目标补丁数据,确定芯片的目标测试主体,目标测试主体包括至少两个测试平台中的目标测试平台或所述芯片;根据目标测试主体,从芯片运行数据和至少两个平台运行数据中确定目标运行数据,目标运行数据包括至少两个平台运行数据中的目标平台运行数据或芯片运行数据;调用目标运行数据对芯片进行测试。
以上各个操作的具体实施可参见前面的实施例,在此不再赘述。
其中,该计算机可读存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,Random Access Memory)、磁盘或光盘等。
由于该计算机可读存储介质中所存储的指令,可以执行本申请实施例所提供的任一种方法中的步骤,因此,可以实现本申请实施例所提供的任一种方法所能实现的有益效果,详见前面的实施例,在此不再赘述。
以上对本申请实施例所提供的一种芯片测试方法、装置、电子设备及存储介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的技术方案及其核心思想;本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例的技术方案的范围。
Claims (10)
1.一种芯片测试方法,其特征在于,芯片包括只读存储器和可编程存储器,所述只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,所述可编程存储器包括多个存储单元,所述存储单元用于存储补丁数据,所述芯片测试方法包括:
获取所述多个存储单元的存储信息,根据所述存储信息,从所述多个存储单元中确定目标存储单元,并从所述目标存储单元中获取目标补丁数据;
根据所述目标补丁数据,确定所述芯片的目标测试主体,所述目标测试主体包括所述至少两个测试平台中的目标测试平台或所述芯片;
根据所述目标测试主体,从所述芯片运行数据和所述至少两个平台运行数据中确定目标运行数据,所述目标运行数据包括所述至少两个平台运行数据中的目标平台运行数据或所述芯片运行数据;
调用所述目标运行数据对芯片进行测试。
2.如权利要求1所述的芯片测试方法,其特征在于,根据所述存储信息,从所述多个存储单元中确定目标存储单元,并从所述目标存储单元中获取目标补丁数据的步骤,包括:
根据所述存储信息,将所述可编程存储器中存储有补丁数据的存储单元确定为目标存储单元;
从所述目标存储单元中获取目标补丁数据。
3.如权利要求1所述的芯片测试方法,其特征在于,所述目标补丁数据包括权限标识、补丁运行地址和测试主体标识,根据所述目标补丁数据,确定所述芯片的目标测试主体的步骤,包括:
根据所述目标补丁数据的权限标识,判断所述目标补丁数据是否有效;
在所述目标补丁数据有效时,若所述测试主体标识为零,将所述芯片确定为所述目标测试主体;
在所述目标补丁数据有效时,若所述测试主体标识不为零,根据所述测试主体标识和预设测试平台标识,从所述至少两个测试平台中确定目标测试平台,将所述目标测试平台作为所述目标测试主体。
4.如权利要求3所述的芯片测试方法,其特征在于,根据所述目标测试主体,从所述芯片运行数据和所述至少两个平台运行数据中确定目标运行数据的步骤,包括:
在所述目标测试主体为芯片时,将所述芯片运行数据确定为目标运行数据;
在所述目标测试主体为目标测试平台时,从所述至少两个平台运行数据中确定适用于所述目标测试平台的目标平台运行数据,将所述目标平台运行数据确定为目标运行数据。
5.如权利要求4所述的芯片测试方法,其特征在于,调用所述目标运行数据对芯片进行测试的步骤,包括:
在所述目标测试主体为芯片时,调用所述芯片运行数据对芯片进行测试;
在所述目标测试主体为目标测试平台时,根据所述目标补丁数据中的补丁运行地址,确定所述目标平台运行数据的目标运行地址,基于所述目标运行地址调用所述目标平台运行数据对芯片进行测试。
6.如权利要求5所述的芯片测试方法,其特征在于,在所述目标测试主体为目标测试平台时,根据所述目标补丁数据中的补丁运行地址,确定所述目标平台运行数据的目标运行地址的步骤,包括:
在所述目标测试主体为目标测试平台时,匹配所述补丁运行地址和所述只读存储器中各运行数据的多个原始运行地址;
将与所述补丁运行地址相等的原始运行地址确定为目标运行地址。
7.如权利要求5所述的芯片测试方法,其特征在于,在基于所述目标运行地址调用所述目标平台运行数据对芯片进行测试的步骤之后,还包括:
在所述目标平台运行数据运行完成后,调用所述芯片运行数据继续对芯片进行测试。
8.一种芯片测试装置,其特征在于,芯片包括只读存储器和可编程存储器,所述只读存储器包括芯片运行数据和至少两个平台运行数据,各平台运行数据适用于不同测试平台,所述可编程存储器包括多个存储单元,所述存储单元用于存储补丁数据,所述芯片测试装置包括:
获取模块,用于获取所述多个存储单元的存储信息,根据所述存储信息,从所述多个存储单元中确定目标存储单元,并从所述目标存储单元中获取目标补丁数据;
第一确定模块,用于根据所述目标补丁数据,确定所述芯片的目标测试主体,所述目标测试主体包括所述至少两个测试平台中的目标测试平台或所述芯片;
第二确定模块,用于根据所述目标测试主体,从所述芯片运行数据和所述至少两个平台运行数据中确定目标运行数据,所述目标运行数据包括所述至少两个平台运行数据中的目标平台运行数据或所述芯片运行数据;
调用模块,用于调用所述目标运行数据对芯片进行测试。
9.一种电子设备,其特征在于,包括存储器和处理器;所述存储器存储有应用程序,所述处理器用于运行所述存储器内的应用程序,以执行权利要求1至7任一项所述的芯片测试方法中的操作。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现权利要求1至7任一项所述的芯片测试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110362002.5A CN115184764A (zh) | 2021-04-02 | 2021-04-02 | 一种芯片测试方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110362002.5A CN115184764A (zh) | 2021-04-02 | 2021-04-02 | 一种芯片测试方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115184764A true CN115184764A (zh) | 2022-10-14 |
Family
ID=83511347
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110362002.5A Pending CN115184764A (zh) | 2021-04-02 | 2021-04-02 | 一种芯片测试方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115184764A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344434A (zh) * | 2022-10-19 | 2022-11-15 | 紫光同芯微电子有限公司 | 用于打补丁的方法及装置、电子设备、存储介质 |
CN116643801A (zh) * | 2023-07-26 | 2023-08-25 | 常州楠菲微电子有限公司 | 一种芯片安全启动地址空间修复的方法及芯片 |
CN116719724A (zh) * | 2023-06-05 | 2023-09-08 | 珠海妙存科技有限公司 | eMMC多平台测试方法和装置、电子设备 |
CN116933703A (zh) * | 2023-07-17 | 2023-10-24 | 合芯科技(苏州)有限公司 | 基于多平台的集成电路验证方法、系统、装置及存储介质 |
CN118227397A (zh) * | 2024-05-22 | 2024-06-21 | 湖北芯擎科技有限公司 | 一种多平台BootROM测试方法及装置 |
-
2021
- 2021-04-02 CN CN202110362002.5A patent/CN115184764A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115344434A (zh) * | 2022-10-19 | 2022-11-15 | 紫光同芯微电子有限公司 | 用于打补丁的方法及装置、电子设备、存储介质 |
CN116719724A (zh) * | 2023-06-05 | 2023-09-08 | 珠海妙存科技有限公司 | eMMC多平台测试方法和装置、电子设备 |
CN116719724B (zh) * | 2023-06-05 | 2024-06-04 | 珠海妙存科技有限公司 | eMMC多平台测试方法和装置、电子设备 |
CN116933703A (zh) * | 2023-07-17 | 2023-10-24 | 合芯科技(苏州)有限公司 | 基于多平台的集成电路验证方法、系统、装置及存储介质 |
CN116643801A (zh) * | 2023-07-26 | 2023-08-25 | 常州楠菲微电子有限公司 | 一种芯片安全启动地址空间修复的方法及芯片 |
CN116643801B (zh) * | 2023-07-26 | 2023-10-31 | 常州楠菲微电子有限公司 | 一种芯片安全启动地址空间修复的方法及芯片 |
CN118227397A (zh) * | 2024-05-22 | 2024-06-21 | 湖北芯擎科技有限公司 | 一种多平台BootROM测试方法及装置 |
CN118227397B (zh) * | 2024-05-22 | 2024-08-09 | 湖北芯擎科技有限公司 | 一种多平台BootROM测试方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115184764A (zh) | 一种芯片测试方法、装置、电子设备及存储介质 | |
CN110046101B (zh) | 页面自动化测试方法、装置及计算机存储介质 | |
CN113076227A (zh) | Mcu验证方法、系统和终端设备 | |
CN102662701A (zh) | Cpld在线升级方法、装置及业务单板 | |
CN105426298A (zh) | 一种基于adb的软件测试方法和系统 | |
CN105573902A (zh) | 一种应用程序的测试方法及系统 | |
CN112214405B (zh) | 一种软件测试方法、装置、电子设备和可读存储介质 | |
CN107480327A (zh) | 一种仿真验证方法、装置和电子设备 | |
CN111339731A (zh) | 一种面向SoC的FPGA验证平台和验证方法 | |
CN113672441A (zh) | 对智能设备的测试方法及装置 | |
CN109597653A (zh) | Bios与bmc命令交互的方法、bios及bmc | |
CN112133357A (zh) | 一种eMMC的测试方法及装置 | |
CN107608923B (zh) | 测试的处理方法及相关产品 | |
CN114417563A (zh) | 多核机制的仿真方法、装置和电子设备 | |
CN112561690B (zh) | 信用卡分期业务接口的测试方法、系统、设备及存储介质 | |
CN108228965A (zh) | 一种存储单元的仿真验证方法、装置和设备 | |
CN113133041A (zh) | 动态间隔列控车载中车车通信功能的测试方法及装置 | |
CN113468069A (zh) | 应用测试方法、装置、计算机设备及存储介质 | |
CN111128139B (zh) | 无侵入式语音测试方法及装置 | |
CN104679648A (zh) | 跨应用的自动化测试方法 | |
CN112885403B (zh) | 一种Flash控制器的功能测试方法、装置及设备 | |
CN113672260B (zh) | 一种处理器cpu初始化方法 | |
CN115509924A (zh) | 一种故障模拟方法、装置及相关设备 | |
CN116048952A (zh) | 一种基于可裁剪ip的实例化模块仿真验证方法及装置 | |
CN112306954A (zh) | 一种文件系统的测试方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |