WO2013007068A1 - Automatic test system and method oriented to functions of hardware apparatus - Google Patents

Automatic test system and method oriented to functions of hardware apparatus Download PDF

Info

Publication number
WO2013007068A1
WO2013007068A1 PCT/CN2011/080802 CN2011080802W WO2013007068A1 WO 2013007068 A1 WO2013007068 A1 WO 2013007068A1 CN 2011080802 W CN2011080802 W CN 2011080802W WO 2013007068 A1 WO2013007068 A1 WO 2013007068A1
Authority
WO
WIPO (PCT)
Prior art keywords
test
file
address
automatic
fpga
Prior art date
Application number
PCT/CN2011/080802
Other languages
French (fr)
Chinese (zh)
Inventor
程旭
郑衍松
黄侃
李皓
张涛
陈守亮
Original Assignee
北京北大众志微系统科技有限责任公司
济南众志信息技术有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 北京北大众志微系统科技有限责任公司, 济南众志信息技术有限公司 filed Critical 北京北大众志微系统科技有限责任公司
Publication of WO2013007068A1 publication Critical patent/WO2013007068A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/24Marginal checking or other specified testing methods not covered by G06F11/26, e.g. race tests

Definitions

  • the present invention relates to the field of development and testing technologies for hardware device functions, and in particular, to an automatic test system and method for hardware device functions.
  • FPGA Field Programmable Gate Array
  • test process for a single functional module may involve a large number of test procedures, and it is difficult to test by a manual operation for a large number of test programs involved. .
  • test vectors may involve comparative analysis of binary data. If you use the manual method to test, it often needs to be implemented by other tools, which will inevitably affect the test efficiency.
  • test process is generally completed by writing test scripts.
  • the expressions of the results obtained by testing different modules are not the same, and often need to be Different unit tests write different test scripts, which inevitably result in less efficient and costly results because they are not versatile.
  • the focus of the test scheme is different, and it is not suitable for the software test of each device function in the FPGA-based computer prototype system development platform.
  • the patent application number 200710076906.1 "a software automatic testing tool and method for embedded devices” mainly targets software testing of embedded devices such as mobile phones and fixed machines, and its technical solutions are required. Establish a special test case XML script and parse it.
  • the patent "Multi-chip automatic test method based on programmable logic device” with application number 200710134884.X focuses on testing the electrical characteristics in the FPGA circuit and cannot meet the system level hardware. Test requirements for equipment functions; patent "Embedded software automatic test system and its test method” with application number 200610126966.5 and patent "Application for an embedded software automated test device and method” with application number 200410064302.1 The test method proposed for the software system.
  • the technical problem to be solved by the present invention is to provide an automatic test system and method for hardware device functions, which is used to solve the problem that the test in the existing hardware device test system is complicated and non-universal.
  • the present invention proposes an automatic test system for hardware device functions, including a field programmable gate array (FPGA) test target platform as a test platform for a hardware device under test, and further includes:
  • FPGA field programmable gate array
  • the FPGA bit file management and programming subsystem is connected to the FPGA test target platform through the FPGA interface, and is set as: Manage the specific bit files required by the hardware device function module running on the FPGA test target platform;
  • the FPGA interface burns to the FPGA test target platform a bit file corresponding to the currently tested hardware device function module;
  • BIOS file management and programming subsystem is connected to the FPGA test target platform through the BIOS emulator, and is set to: Burn the BIOS file required for testing to the BIOS emulator when preparing for testing;
  • the automatic test system platform is connected to the FPGA test target platform through a hardware debugger, and is set to: provide test control on the test target platform, save the automatic test script file and test case set required for automatic test, and use the automatic test in the test.
  • the script completes the automated test process, completes the functional test through the test case set, and is used to save the test results.
  • the BIOS file provided by the BIOS file management and programming subsystem to the BIOS emulator includes:
  • the BIOS After skipping the infinite loop corresponding to the above-mentioned infinite loop address, the BIOS initializes the segment descriptor used by the test environment, and the corresponding protection mode, and finally jumps to address 0x0:0x0 to enter the protection mode;
  • the segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
  • the protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
  • Data segment DS, ES, FS, and stack segment SS segment descriptor base address is 0x00000000.
  • segment register corresponding to the segment descriptor is read or written, the actual physical address read and write is equal to the logical address used.
  • test code structure of the test case file saved by the automatic test system platform includes:
  • the automatic test system platform expresses the test result after the test ends includes one of the following methods: whether the execution ends, whether the execution is successful, the test result is saved, and the test result is compared.
  • the automatic test script file of the automatic test system platform includes absolute path information for saving a folder where the test script file is located.
  • the present invention also provides a test method based on the above-mentioned automatic test system for hardware device functions, including:
  • the global test initialization step initializes the automatic test system platform, sets the breakpoint information required for the test run, counts the test case file set, obtains a list of test files, and performs the following two steps for each test case file in the list:
  • the single file test preparation step reset the FPGA test target platform, perform BIOS initialization, load the test case file required for the current test into the memory of the FPGA test target platform, and after entering the protection mode, set the test program to terminate the address breakpoint;
  • Single file test execution step execute the test case program in protected mode, use a specific memory area according to the specified memory usage specification, and save the result in the specified test result data area. After the test execution ends, jump to the termination.
  • the address triggers the termination address breakpoint set in the preparation step.
  • the test result is processed according to the corresponding result representation mode during the test and/or after the test.
  • test code structure of the test case file includes:
  • the method includes: configuring a loop waiting for a corresponding infinite loop address after the initialization process and before starting the test execution; configured to skip the infinite loop corresponding to the infinite loop address, and the BIOS initializes the The segment descriptor used by the test environment, and the corresponding protection mode, and finally jump to address 0x0:0x0 to enter the protection mode;
  • the segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
  • the protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
  • Data segment DS, ES, FS, and stack segment SS segment descriptor base address is 0x00000000.
  • segment register corresponding to the segment descriptor is read or written, the actual physical address read and write is equal to the logical address used.
  • the manner in which the automatic test system platform expresses the test result includes the following manner One: Whether to execute the end, whether the execution is successful, save the test results, and compare the test results.
  • the global test initialization step further comprises: adding the absolute path information of the folder where the test script file is located to the automatic test script file of the automatic test system platform.
  • the automatic test system and the automatic test method of the invention use the support of a hardware debugger (such as FS2) to implement a universal automatic test system by defining a unified test execution specification, and support automatic execution of test modules of different hardware module units, and Analyze and judge the test results and statistics.
  • a hardware debugger such as FS2
  • the automatic test system and method use software to test hardware device functions, and has the following main features:
  • the FPGA target test platform is a complete general-purpose PC hardware system that can run BIOS (Basic Input/Output System) or even an operating system;
  • BIOS Basic Input/Output System
  • the main focus is on the functional verification of one or some hardware modules in the system-level hardware environment, complementing the simulation verification and hardware electrical feature verification, which is of great significance for the operating system development of the target hardware platform;
  • the full implementation control of the FPGA target test platform can be realized in the automatic test system platform to meet the needs of various tests;
  • test can be implemented based on the Tel language, and can run on the Windows/Linux operating system across platforms to meet different hardware environment requirements;
  • test system has strong scalability, and can add specific environment initialization, execution control, and result analysis modules according to actual needs.
  • Figure 1 is a schematic structural view of an automatic test system
  • Figure 2 is an automatic test flow chart of the automatic test system
  • FIG. 3 is a flow chart showing the operation of a specific application embodiment of the automatic test system.
  • the automatic test system for hardware device functions includes the following parts:
  • FPGA test target platform which is the system development platform of FPGA, the FPGA-based hardware device on it is the tested object, and in some environments can also be changed to other system development board platforms;
  • the FPGA bit file management and programming subsystem is connected to the FPGA test target platform through the FPGA interface, and is responsible for managing the hardware device function modules running on the FPGA test target platform, and the specific bit files required by the hardware device function modules are
  • the hardware platform developer provides the FPGA bit file management and programming subsystem. When preparing for testing, the bit file corresponding to the currently tested hardware device function module is programmed into the FPGA board through the FPGA interface.
  • the BIOS file management and programming subsystem is connected to the FPGA test target platform through the BIOS emulator, and is responsible for maintaining the BIOS (Basic Input/Output System) chip program for the FPGA test target platform to ensure the FPGA test target.
  • BIOS Basic Input/Output System
  • the normal operation of the platform which burns the BIOS program used for the test to the BIOS emulator when preparing for testing.
  • the BIOS emulator can also provide a high-efficiency BIOS usage, which avoids the need to change the BIOS chip when updating the BIOS program.
  • the automatic test system platform is connected to the FPGA test target platform through a hardware debugger, and is an operation control platform of the automatic test system for providing control functions for the test target platform.
  • the hardware debugger is an FS2 hardware debugger or other suitable hardware debugger.
  • the automatic test system platform stores the automatic script files and test case sets required for automatic testing. The automatic test process is completed by the automatic test script during the test, and the function test is completed through the test case set.
  • the BIOS initializes the segment descriptor used by the test environment, and jumps to address 0x0:0x0 to enter the protection mode to continue execution.
  • the protection mode has the following characteristics:
  • the segment descriptor base address of segment CS is 0x00000000, that is, the code segment is from the object.
  • a schematic diagram of an automatic test flow of an automatic test system based on the functions of the hardware device shown in Fig. 1 is given.
  • the automated test process implements an automated test process through automated test scripts executed in the debug environment. No manual intervention is required during the test, which greatly reduces the workload and improves test efficiency.
  • the automated testing process is divided into three phases:
  • the initialization of the automatic test system platform and the FPGA target test platform is mainly performed, and the breakpoints required for the test run are set.
  • this stage needs to analyze and save the file name information of the test target file set, which will be used in the subsequent testing process. This process only needs to be performed once in an automated test process.
  • the second phase, single file test preparation phase In the single file test preparation phase, it is responsible for the environmental preparation work before each test file is run.
  • the main tasks include: resetting the FPGA test platform and waiting for the BIOS to be initialized; loading the files to be tested into the memory of the FPGA platform; after the FPGA platform enters the protection mode, setting the test program to terminate the address breakpoint, so that The monitoring test program is executed later.
  • test target file will continue to be executed in the protected mode that was previously initialized.
  • the test program can use a specific memory area as needed according to the specified memory usage specifications, and save the result in the specified test result data area.
  • the test execution After the test execution is completed, it will jump to the termination address, triggering the breakpoint set by the automatic test system.
  • the automatic test system Upon reaching the termination address After the breakpoint, the automatic test system will determine the execution result of the test program according to the settings and save it in the result directory.
  • test file list If all the test files have been tested, the test process is ended. If it is non-empty, it indicates that there are still files to be tested, then the next one is obtained from the test file list.
  • the test file further determines whether the test file has been tested. If it has been tested, it returns a test to check whether the test file list is not empty. If it is not tested, it enters the single file test preparation phase.
  • the RESET (reset) instruction is first issued to reset the FPGA platform, and the first breakpoint (breakpoint 1) is set in the infinite loop phase before entering the protection mode, and then the GO instruction is issued, and the FPGA platform starts to execute the test.
  • the test it is judged whether the first breakpoint is reached, and if it does not arrive, the judgment is continued. If the first breakpoint is reached, the current test file is loaded into the memory (the address is OxOOBOOOOO); then, skip The infinite loop at the first breakpoint sets the second breakpoint (breakpoint 2: EIP 0x00000000) in the first instruction of the protection mode, issues the GO instruction, and the FPGA platform continues to execute, determining whether the second breakpoint is reached during the process. If it does not arrive, continue to judge. If the second breakpoint has been reached, the instruction pointer (EIP) address is changed to the test file entry address OxOOBOOOOO, and the single file test execution phase is entered.
  • EIP instruction pointer
  • the third breakpoint needs to be set as the test termination address breakpoint (breakpoint 3: EIP 0x00F00000), then the GO command is issued, the test code begins execution, and during execution, it is determined whether the third breakpoint is reached. If the judgment is continued, if the third breakpoint has been reached, the test result data is saved to a file and processed as needed. After the single file test is finished, it returns to determine whether the test file list is not empty, until all the test files have been tested, and the whole test process ends.
  • breakpoint 3 EIP 0x00F00000
  • bit file corresponding to the FPGA board is burned from the FPGA bit file management and programming subsystem to the FPGA board via the FPGA interface, and the bit file includes a bit file suitable for the target function module to be tested;
  • S306 Establish a suitable test target file set folder, configure a test file (including but not limited to a test case file) and a test script on the computer system where the FS2 debugger and the test script are located, and create a new directory in the computer system (guarantee this)
  • the absolute path of the mail directory does not contain spaces), H does not have "C:/SomeDir", create a bin directory in the newly created directory, and copy all test binaries into the bin directory;
  • test result data After all tests are completed, all test results are saved in the result directory under the test directory.
  • the result directory can be pre-established or automatically created before the first test.
  • some specifications of the test target assembly code format and memory usage are required.
  • the test system mainly has the following specifications for the test target assembly code.
  • test code structure templates This automated test system supports AT&T format assembly and Intel format assembly test files.
  • AT&T format is used as an example to introduce the relevant conventions and structure templates for writing test code.
  • the code segment and data segment configuration include: The code segment base address starts from the physical address 0x00000000, and the EIP starts from OxOOBOOOOO; The base address starts from the physical address 0x00000000.
  • EAX, EBX, etc. the physical address actually accessed is equal to the EAX/EBX... value.
  • test code structure specification is as follows:
  • test code should start with a text segment and should indicate a 32-bit command mode with an offset of 0, ie the opening portion should be shaped like this:
  • test script saves the part of the data to the result file.
  • test script is completed for notification, and should be redirected to a fixed address.
  • test assembly code is compiled and linked with binutils' gas and Id, and objcopy is used to convert the elf format executable file into a binary file that can be executed directly from the file start address.
  • the recommended parameter is "--32".
  • link script link.lds given below.
  • the parameter is recommended: "-melf_i386 -T link.lds” .
  • Specific examples of link.lds are as follows:
  • stackPT LOAD bootPT— LOAD AT (OxfffffOOO);
  • test results After the test is over, the way the test results are expressed can be selected according to the specific needs of the test program.
  • the representation of the test results can be implemented in a variety of ways. The following examples illustrate some basic results representation methods.
  • test only needs to check if the test program is finished normally. In the test of some hardware modules, it may not be necessary to generate the result data. As long as the test program can be executed normally, it can prove that the test target hardware module works normally.
  • the main abnormal states include:
  • the program is caught in a blocking I/O or interrupt process, and cannot be recovered due to a defect in the hardware module;
  • the test program judges whether the successful completion according to the test process, and changes the data of a specific address in the memory to 1 or 0 according to the success or failure of the test, where 1 means the test succeeds, and vice versa means the test fails.
  • the automatic test system will read the value of the memory address and judge whether the test file is successfully executed according to the value.
  • This type of test saves the data stored in a specific location in memory at the end of the test program as a result file.
  • the result of the test success or failure cannot be clearly obtained. Instead, the working state of the hardware module needs to be analyzed and evaluated according to the result data generated by the test. This type of test can meet the testing needs of such hardware modules.
  • test system compares the results of the actual test with the reference results provided by the test program to determine whether the test results are correct or reasonable.
  • the reference result data can be provided in two ways: One is to directly provide the reference data file form, and after the program finishes running, the running result data file needs to be compared with the reference file to draw conclusions; the other can be passed in the assembly file. Define a special data area, store the reference data, and automatically compare the result data with the reference data through the memory comparison function of the FS2 debugger after the end of the operation to obtain the comparison result.
  • the automatic test system and automatic test method of the present invention utilizes the support of a hardware debugger (such as FS2) to implement a universal automatic test system by defining a unified test execution specification, and supports automatic execution of test modules of different hardware module units. , and can analyze and judge the test results and statistics.
  • a hardware debugger such as FS2

Abstract

An automatic test system and method oriented to functions of a hardware apparatus. The system comprises a field programmable gate array (FPGA) test target platform used as a test platform of a tested hardware apparatus, and further comprises an FPGA bit file management and burning sub-system, a basic input/output system (BIOS) file management and burning sub-system, and an automatic test system platform. After initialization is completed, during a test, the automatic test system platform provides test control for the test target platform, saves an automatic test script file and a test case suite required for the automatic test, and saves a test result. During the test, the automatic test script is used to complete an automatic test process, and the test case suite is used to complete the function test. The test system has generality and strong expandability. Specific environment initialization, execution control, and result analysis modules can be added according to actual requirements.

Description

一种面向硬件设备功能的自动测试系统及方法  Automatic test system and method for hardware device function
技术领域 Technical field
本发明涉及面向硬件设备功能的开发测试技术领域, 尤其涉及一种面向 硬件设备功能的自动测试系统及方法。  The present invention relates to the field of development and testing technologies for hardware device functions, and in particular, to an automatic test system and method for hardware device functions.
背景技术 Background technique
基于 FPGA (现场可编程门阵列, Field Programmable Gate Array )原型系 统的功能验证和性能评测是集成电路开发过程中的一个重要环节。 在基于 FPGA器件的计算机原型系统开发平台中, 对各个硬件设备模块(如硬盘控 制器、 USB控制器、 网络适配器等) 的汇编程序测试是硬件设备功能验证的 必要步骤。 当前在此类测试中一般存在以下几个问题:  Functional verification and performance evaluation based on FPGA (Field Programmable Gate Array) prototype system is an important part of the integrated circuit development process. In the FPGA-based computer prototype system development platform, assembler testing of various hardware device modules (such as hard disk controllers, USB controllers, network adapters, etc.) is a necessary step for hardware device functional verification. Currently there are several problems in this type of testing:
第一, 为保证测试的覆盖率以及满足特定情况下的压力测试需求, 对某 一单独功能模块的测试过程可能涉及大量测试程序, 对于所涉及的大量测试 程序很难凭借纯手工操作方式进行测试。  First, in order to ensure the coverage of the test and to meet the stress test requirements in a specific situation, the test process for a single functional module may involve a large number of test procedures, and it is difficult to test by a manual operation for a large number of test programs involved. .
第二,对于不同的测试, 从测试结果判定测试成功与否的标准不尽相同, 且有些测试向量可能涉及到对二进制数据的比较分析。 若釆用手工操作方式 进行测试, 则往往需要借助其它工具来实现, 必然会影响到测试效率。  Second, for different tests, the criteria for determining the success of the test from the test results are not the same, and some test vectors may involve comparative analysis of binary data. If you use the manual method to test, it often needs to be implemented by other tools, which will inevitably affect the test efficiency.
第三, 对于大量测试结果的记录与统计, 釆用依靠人力的手工测试方式 同样难以实现。  Third, for the recording and statistics of a large number of test results, it is equally difficult to implement manual test methods that rely on manpower.
因此, 目前对于此类测试, 一般釆用编写测试脚本的方式完成测试过程, 但由于模块差异以及测试脚本的程序特性差异, 测试不同模块所得结果的表 示方式等内容也不尽相同,往往需要为不同的单元测试编写不同的测试脚本, 因其不具通用性而必然造成效率较低、 代价较大的结果。  Therefore, at present, for such tests, the test process is generally completed by writing test scripts. However, due to differences in modules and differences in program characteristics of test scripts, the expressions of the results obtained by testing different modules are not the same, and often need to be Different unit tests write different test scripts, which inevitably result in less efficient and costly results because they are not versatile.
目前已有的自动测试相关专利中, 测试方案的侧重点均有所不同, 并不 适应于基于 FPGA的计算机原型系统开发平台中各设备功能的软件测试。 例 如, 申请号为 200710076906.1的专利 "一种嵌入设备的软件自动测试工具及 方法" 主要针对手机、 固定机台等嵌入式设备的软件测试, 其技术方案需要 建立专门的测试用例 XML 脚本并对其进行解析执行; 申请号为 200710134884.X的专利 "基于可编程逻辑器件的多芯片自动测试方法" 则注 重测试 FPGA电路中的电气特性,无法满足系统级硬件设备功能的测试要求; 申请号为 200610126966.5的专利 "嵌入式软件自动测试系统及其测试方法" 和申请号为 200410064302.1的专利 "一种嵌入式软件自动化测试的装置及其 方法" 所提的测试方案则针对软件系统提出的测试方法。 Among the existing automatic test related patents, the focus of the test scheme is different, and it is not suitable for the software test of each device function in the FPGA-based computer prototype system development platform. For example, the patent application number 200710076906.1 "a software automatic testing tool and method for embedded devices" mainly targets software testing of embedded devices such as mobile phones and fixed machines, and its technical solutions are required. Establish a special test case XML script and parse it. The patent "Multi-chip automatic test method based on programmable logic device" with application number 200710134884.X focuses on testing the electrical characteristics in the FPGA circuit and cannot meet the system level hardware. Test requirements for equipment functions; patent "Embedded software automatic test system and its test method" with application number 200610126966.5 and patent "Application for an embedded software automated test device and method" with application number 200410064302.1 The test method proposed for the software system.
所以, 这就需要一种面向硬件设备功能的通用的自动测试系统及方法, 来解决当前测试中所存在的问题。 发明内容  Therefore, this requires a general-purpose automatic test system and method for hardware device functions to solve the problems in the current test. Summary of the invention
本发明所要解决的技术问题在于, 提供一种面向硬件设备功能的自动测 试系统及方法, 用于解决现有硬件设备的测试系统中存在的测试复杂且不具 通用性的问题。  The technical problem to be solved by the present invention is to provide an automatic test system and method for hardware device functions, which is used to solve the problem that the test in the existing hardware device test system is complicated and non-universal.
为了解决上述问题, 本发明提出了一种面向硬件设备功能的自动测试系 统, 包括作为被测硬件设备测试平台的现场可编程门阵列 (FPGA)测试目标平 台, 还包括: In order to solve the above problems, the present invention proposes an automatic test system for hardware device functions, including a field programmable gate array (FPGA) test target platform as a test platform for a hardware device under test, and further includes:
FPGA bit文件管理和烧录子系统, 通过 FPGA接口与 FPGA测试目标平 台相连接, 设置为: 管理 FPGA测试目标平台上所运行的硬件设备功能模块 所需的具体的 bit文件;在准备测试时通过 FPGA接口向 FPGA测试目标平台 烧录与当前被测的硬件设备功能模块相对应的 bit文件;  The FPGA bit file management and programming subsystem is connected to the FPGA test target platform through the FPGA interface, and is set as: Manage the specific bit files required by the hardware device function module running on the FPGA test target platform; The FPGA interface burns to the FPGA test target platform a bit file corresponding to the currently tested hardware device function module;
基本输入 /输出系统(BIOS )文件管理及烧录子系统, 通过 BIOS仿真器 与 FPGA测试目标平台相连接, 设置为: 在准备测试时向 BIOS仿真器烧录 测试所需的 BIOS文件;  The basic input/output system (BIOS) file management and programming subsystem is connected to the FPGA test target platform through the BIOS emulator, and is set to: Burn the BIOS file required for testing to the BIOS emulator when preparing for testing;
自动测试系统平台, 通过硬件调试器与 FPGA测试目标平台连接, 设置 为: 提供对测试目标平台的测试控制, 保存有自动测试所需的自动测试脚本 文件及测试用例集, 在测试时利用自动测试脚本完成自动测试过程, 通过测 试用例集完成功能测试, 并用于保存测试结果。 优选地, 所述 BIOS文件管理及烧录子系统向 BIOS仿真器提供的 BIOS 文件中, 包括: The automatic test system platform is connected to the FPGA test target platform through a hardware debugger, and is set to: provide test control on the test target platform, save the automatic test script file and test case set required for automatic test, and use the automatic test in the test. The script completes the automated test process, completes the functional test through the test case set, and is used to save the test results. Preferably, the BIOS file provided by the BIOS file management and programming subsystem to the BIOS emulator includes:
用于在初始化流程后及开始执行测试前的一个循环等待对应的死循环地 址;  Used to wait for a corresponding infinite loop address after the initialization process and before starting the test;
用于在跳过上述死循环地址对应的死循环后, BIOS初始化供测试环境使 用的段描述符, 以及对应的保护模式, 最后长跳转至地址 0x0:0x0 进入保护 模式; 其中,  After skipping the infinite loop corresponding to the above-mentioned infinite loop address, the BIOS initializes the segment descriptor used by the test environment, and the corresponding protection mode, and finally jumps to address 0x0:0x0 to enter the protection mode;
所述段描述符包括基址为 0x00000000的代码段 CS的段描述符, 代码段 从物理地址 0x00000000开始;  The segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
所述保护模式从 0x0000:0x00B00000处,即物理地址 OxOOBOOOOO处开始 执行;  The protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
数据段 DS、 ES、 FS和堆栈段 SS的段描述符基址均为 0x00000000, 对 上述段描述符对应的段址寄存器进行内存读写时, 实际读写的物理地址与所 用逻辑地址数值相等。  Data segment DS, ES, FS, and stack segment SS segment descriptor base address is 0x00000000. When the segment register corresponding to the segment descriptor is read or written, the actual physical address read and write is equal to the logical address used.
优选地, 所述自动测试系统平台保存的测试用例文件的测试代码结构中 包括:  Preferably, the test code structure of the test case file saved by the automatic test system platform includes:
以 text段开头、 标明 32位指令模式、 偏移量为 0的开头部分;  Start with a text segment, indicate the 32-bit instruction mode, and begin with an offset of 0;
用于在测试过程和结束时保存结果数据的内存区域;  A memory area used to save result data during the test process and at the end;
用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地 址。  A fixed address that should be used to notify the test script that the test has completed after the test has finished.
优选地, 所述自动测试系统平台在测试结束后对测试结果的表示方式包 括如下方式之一: 是否执行结束、 是否执行成功、 保存测试结果、 比较测试 结果。  Preferably, the automatic test system platform expresses the test result after the test ends includes one of the following methods: whether the execution ends, whether the execution is successful, the test result is saved, and the test result is compared.
优选地, 所述自动测试系统平台的自动测试脚本文件中包括用于保存测 试脚本文件的所在文件夹的绝对路径信息。  Preferably, the automatic test script file of the automatic test system platform includes absolute path information for saving a folder where the test script file is located.
本发明还提供一种基于上述面向硬件设备功能的自动测试系统的测试方 法, 包括: 全局测试初始化步骤, 对自动测试系统平台进行初始化, 设置测试运行 所需的断点信息, 统计测试用例文件集, 获得测试文件列表, 对列表中的每 一测试用例文件执行以下两个步骤: The present invention also provides a test method based on the above-mentioned automatic test system for hardware device functions, including: The global test initialization step initializes the automatic test system platform, sets the breakpoint information required for the test run, counts the test case file set, obtains a list of test files, and performs the following two steps for each test case file in the list:
单文件测试准备步骤, 重置 FPGA测试目标平台, 进行 BIOS初始化, 将当前测试所需测试用例文件载入 FPGA测试目标平台内存中, 在进入保护 模式后, 设置测试程序终止地址断点;  The single file test preparation step, reset the FPGA test target platform, perform BIOS initialization, load the test case file required for the current test into the memory of the FPGA test target platform, and after entering the protection mode, set the test program to terminate the address breakpoint;
单文件测试执行步骤, 在保护模式下执行测试用例程序, 根据规定的内 存使用规范按需使用特定的内存区域, 并将结果保存在规定的测试结果数据 区域, 测试执行结束后, 跳转到终止地址, 触发在准备步骤中所设置的终止 地址断点; 测试过程中和 /或测试结束后按对应结果表示方式, 对测试结果进 行处理。  Single file test execution step, execute the test case program in protected mode, use a specific memory area according to the specified memory usage specification, and save the result in the specified test result data area. After the test execution ends, jump to the termination. The address triggers the termination address breakpoint set in the preparation step. The test result is processed according to the corresponding result representation mode during the test and/or after the test.
优选地, 所述测试用例文件的测试代码结构中包括:  Preferably, the test code structure of the test case file includes:
以 text段开头、 标明 32位指令模式、 偏移量为 0的开头部分; 用于在测试过程和结束时保存结果数据的内存区域;  The beginning of the text segment, indicating the 32-bit instruction mode, the beginning of the offset of 0; the memory area used to save the result data during the test process and at the end;
用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地 址。  A fixed address that should be used to notify the test script that the test has completed after the test has finished.
优选地, 在对 BIOS进行初始化过程中, 包括: 配置在初始化流程后及 开始执行测试前的一个循环等待对应的死循环地址; 配置在跳过上述死循环 地址对应的死循环后, BIOS初始化供测试环境使用的段描述符, 以及对应的 保护模式, 最后跳转至地址 0x0:0x0进入保护模式; 其中,  Preferably, in the process of initializing the BIOS, the method includes: configuring a loop waiting for a corresponding infinite loop address after the initialization process and before starting the test execution; configured to skip the infinite loop corresponding to the infinite loop address, and the BIOS initializes the The segment descriptor used by the test environment, and the corresponding protection mode, and finally jump to address 0x0:0x0 to enter the protection mode;
所述段描述符包括基址为 0x00000000的代码段 CS的段描述符, 代码段 从物理地址 0x00000000开始;  The segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
所述保护模式从 0x0000:0x00B00000处,即物理地址 OxOOBOOOOO处开始 执行;  The protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
数据段 DS、 ES、 FS和堆栈段 SS的段描述符基址均为 0x00000000, 对 上述段描述符对应的段址寄存器进行内存读写时, 实际读写的物理地址与所 用逻辑地址数值相等。  Data segment DS, ES, FS, and stack segment SS segment descriptor base address is 0x00000000. When the segment register corresponding to the segment descriptor is read or written, the actual physical address read and write is equal to the logical address used.
优选地, 所述自动测试系统平台对测试结果的表示方式包括如下方式之 一: 是否执行结束、 是否执行成功、 保存测试结果、 比较测试结果。 Preferably, the manner in which the automatic test system platform expresses the test result includes the following manner One: Whether to execute the end, whether the execution is successful, save the test results, and compare the test results.
优选地, 所述全局测试初始化步骤还包括: 将测试脚本文件的所在文件 夹的绝对路径信息加入自动测试系统平台的自动测试脚本文件的步骤。  Preferably, the global test initialization step further comprises: adding the absolute path information of the folder where the test script file is located to the automatic test script file of the automatic test system platform.
本发明的自动测试系统及自动测试方法, 利用硬件调试器(比如 FS2 ) 的支持, 通过定义统一的测试执行规范实现通用的自动测试系统, 支持对不 同硬件模块单元测试程序的自动执行, 并可对测试结果进行分析判定以及统 计。 与现有技术相比, 本自动测试系统及方法釆用软件来测试硬件设备功能, 主要具有以下几个特点:  The automatic test system and the automatic test method of the invention use the support of a hardware debugger (such as FS2) to implement a universal automatic test system by defining a unified test execution specification, and support automatic execution of test modules of different hardware module units, and Analyze and judge the test results and statistics. Compared with the prior art, the automatic test system and method use software to test hardware device functions, and has the following main features:
第一, FPGA目标测试平台为完整的通用 PC硬件系统, 可以运行 BIOS ( Basic Input/Output System )甚至操作系统;  First, the FPGA target test platform is a complete general-purpose PC hardware system that can run BIOS (Basic Input/Output System) or even an operating system;
第二,主要侧重于系统级硬件环境下的某个或某些硬件模块的功能验证, 与模拟验证和硬件电气特性验证等互补, 对于目标硬件平台的操作系统开发 具有重要意义;  Second, the main focus is on the functional verification of one or some hardware modules in the system-level hardware environment, complementing the simulation verification and hardware electrical feature verification, which is of great significance for the operating system development of the target hardware platform;
第三, 基于硬件调试器, 可以在自动测试系统平台实现对 FPGA目标测 试平台的全面执行控制, 满足多种测试的需求;  Third, based on the hardware debugger, the full implementation control of the FPGA target test platform can be realized in the automatic test system platform to meet the needs of various tests;
第四,测试可基于 Tel语言实现,可跨平台运行于 Windows/Linux操作系 统, 满足不同硬件环境需求;  Fourth, the test can be implemented based on the Tel language, and can run on the Windows/Linux operating system across platforms to meet different hardware environment requirements;
第五, 本测试系统具有较强可扩展性, 可根据实际需求, 增加特定的环 境初始化、 执行控制、 结果分析模块。 附图概述  Fifth, the test system has strong scalability, and can add specific environment initialization, execution control, and result analysis modules according to actual needs. BRIEF abstract
图 1是自动测试系统的结构示意图;  Figure 1 is a schematic structural view of an automatic test system;
图 2是自动测试系统的自动测试流程图;  Figure 2 is an automatic test flow chart of the automatic test system;
图 3是自动测试系统具体应用实施例的操作执行流程图。  3 is a flow chart showing the operation of a specific application embodiment of the automatic test system.
本发明的较佳实施方式 Preferred embodiment of the invention
为使本发明的目的、 技术方案和优点更加清楚, 以下结合附图对本发明 作进一步地详细说明。 In order to make the objects, technical solutions and advantages of the present invention more clear, the present invention will be described below with reference to the accompanying drawings. Further details are given.
如图 1所示, 给出了以 FPGA为例的面向硬件设备功能的自动测试系统 的组成示意图。 该面向硬件设备功能的自动测试系统包括如下几个部分: As shown in Figure 1, a schematic diagram of the composition of an automatic test system for hardware device functions using an FPGA as an example is given. The automatic test system for hardware device functions includes the following parts:
FPGA测试目标平台, 其作为 FPGA的系统开发平台, 其上的基于 FPGA 的硬件设备为被测试对象, 在某些环境中也可以改为其它系统开发板平台;FPGA test target platform, which is the system development platform of FPGA, the FPGA-based hardware device on it is the tested object, and in some environments can also be changed to other system development board platforms;
FPGA bit文件管理和烧录子系统, 与 FPGA测试目标平台通过 FPGA接 口相连接,用于负责管理 FPGA测试目标平台上所运行的硬件设备功能模块, 硬件设备功能模块所需的具体的 bit文件由硬件平台开发人员提供到该 FPGA bit文件管理和烧录子系统, 在准备测试时, 通过 FPGA接口向 FPGA板中烧 录与当前被测的硬件设备功能模块相对应的 bit文件。 The FPGA bit file management and programming subsystem is connected to the FPGA test target platform through the FPGA interface, and is responsible for managing the hardware device function modules running on the FPGA test target platform, and the specific bit files required by the hardware device function modules are The hardware platform developer provides the FPGA bit file management and programming subsystem. When preparing for testing, the bit file corresponding to the currently tested hardware device function module is programmed into the FPGA board through the FPGA interface.
BIOS文件管理及烧录子系统, 通过 BIOS仿真器与 FPGA测试目标平台 相连接, 负责维护针对 FPGA 测试目标平台的 BIOS ( Basic Input/Output System, 基本输入 /输出系统) 芯片程序, 保证 FPGA测试目标平台的正常运 行, 其在准备测试时向 BIOS仿真器烧录测试所用的 BIOS程序。其中, BIOS 仿真器还可以提供高效率的 BIOS使用方法,避免在更新 BIOS程序时需要更 换 BIOS芯片。  The BIOS file management and programming subsystem is connected to the FPGA test target platform through the BIOS emulator, and is responsible for maintaining the BIOS (Basic Input/Output System) chip program for the FPGA test target platform to ensure the FPGA test target. The normal operation of the platform, which burns the BIOS program used for the test to the BIOS emulator when preparing for testing. Among them, the BIOS emulator can also provide a high-efficiency BIOS usage, which avoids the need to change the BIOS chip when updating the BIOS program.
自动测试系统平台, 通过硬件调试器与 FPGA测试目标平台连接, 是该 自动测试系统的运行控制平台, 用于提供对测试目标平台的控制功能。 所述 硬件调试器是 FS2硬件调试器或其它适用的硬件调试器。 该自动测试系统平 台保存有自动测试所需的自动脚本文件及测试用例集, 在测试时利用自动测 试脚本完成自动测试过程, 通过测试用例集完成功能测试。  The automatic test system platform is connected to the FPGA test target platform through a hardware debugger, and is an operation control platform of the automatic test system for providing control functions for the test target platform. The hardware debugger is an FS2 hardware debugger or other suitable hardware debugger. The automatic test system platform stores the automatic script files and test case sets required for automatic testing. The automatic test process is completed by the automatic test script during the test, and the function test is completed through the test case set.
为保证自动测试脚本的正常执行, 需要针对 FPGA测试目标平台的内存 布局作出规定, 在该 FPGA测试目标平台所用的 BIOS版本中作出如下规范: 第一, BIOS在完成必要初始化流程后, 在开始执行测试之前进入一个循 环等待, 死循环地址为 0xF000:0x3F2F;  In order to ensure the normal execution of the automatic test script, it is necessary to specify the memory layout of the FPGA test target platform. The following specifications are made in the BIOS version used by the FPGA test target platform: First, after the BIOS completes the necessary initialization process, it starts execution. Before the test, enter a loop waiting, the address of the infinite loop is 0xF000: 0x3F2F;
第二, 在跳过上述死循环地址对应的死循环后, BIOS初始化供测试环境 使用的段描述符, 并跳转至地址 0x0:0x0 进入保护模式继续执行, 该保护模 式有如下特点: 其代码段 CS的段描述符基址为 0x00000000, 即代码段从物 理地址 0x00000000开始;进入该保护模式后,将从 0x0000:0x00B00000处(即 物理地址 OxOOBOOOOO处)开始执行; 数据段 DS、 ES、 FS和堆栈段 SS的段 描述符基址均为 0x00000000, 则在使用这些段址寄存器进行内存读写时, 实 际读写的物理地址与所用逻辑地址数值相等。 需要注意的是, 在上述规范中, 根据设置的段描述符, 理论上所有的 4G 内存地址空间均可读写, 但是考虑到实际的硬件配置以及内存中其它代码和 数据的安全,建议使用的区域为 0x100000到 0x800000以及 OxAOOOOO以上区 域, 并注意不要与 I/O地址空间重叠。 Second, after skipping the infinite loop corresponding to the above-mentioned infinite loop address, the BIOS initializes the segment descriptor used by the test environment, and jumps to address 0x0:0x0 to enter the protection mode to continue execution. The protection mode has the following characteristics: The segment descriptor base address of segment CS is 0x00000000, that is, the code segment is from the object. Start at address 0x00000000; after entering this protection mode, execution will start from 0x0000:0x00B00000 (ie, physical address OxOOBOOOOO); the segment descriptor base addresses of data segments DS, ES, FS and stack segment SS are both 0x00000000, then When these segment registers are used for memory read and write, the physical address actually read and written is equal to the value of the logical address used. It should be noted that in the above specification, according to the set segment descriptor, theoretically all 4G memory address space can be read and written, but considering the actual hardware configuration and the security of other code and data in the memory, it is recommended to use The area is 0x100000 to 0x800000 and the area above OxAOOOOO, and be careful not to overlap with the I/O address space.
如图 2所示, 给出了基于图 1所示硬件设备功能的自动测试系统的自动 测试流程示意图。 所述自动测试流程通过在调试环境执行的自动测试脚本实 现自动测试过程, 测试过程中无需人工干预, 极大减少了工作量并提高了测 试效率。 该自动测试流程主要分为三个阶段:  As shown in Fig. 2, a schematic diagram of an automatic test flow of an automatic test system based on the functions of the hardware device shown in Fig. 1 is given. The automated test process implements an automated test process through automated test scripts executed in the debug environment. No manual intervention is required during the test, which greatly reduces the workload and improves test efficiency. The automated testing process is divided into three phases:
第一阶段, 全局测试初始化阶段  Phase 1, global test initialization phase
在全局测试初始化阶段, 主要进行自动测试系统平台和 FPGA目标测试 平台的初始化工作, 设置测试运行所需的断点等信息。 另外, 本阶段需要解 析并保存测试目标文件集的文件名信息, 这些信息将用于后续的测试过程。 该过程在一次自动测试流程中仅需执行一次。  In the global test initialization phase, the initialization of the automatic test system platform and the FPGA target test platform is mainly performed, and the breakpoints required for the test run are set. In addition, this stage needs to analyze and save the file name information of the test target file set, which will be used in the subsequent testing process. This process only needs to be performed once in an automated test process.
第二阶段, 单文件测试准备阶段 在单文件测试准备阶段, 负责每个测试文件运行前的环境准备工作。 其 主要工作包括: 重置 FPGA测试平台, 并等待 BIOS初始化完毕; 将本次需 要测试的文件载入到 FPGA平台的内存中; 在 FPGA平台进入保护模式后, 设置测试程序终止地址断点, 以便后面监视测试程序是否执行完毕。  The second phase, single file test preparation phase In the single file test preparation phase, it is responsible for the environmental preparation work before each test file is run. The main tasks include: resetting the FPGA test platform and waiting for the BIOS to be initialized; loading the files to be tested into the memory of the FPGA platform; after the FPGA platform enters the protection mode, setting the test program to terminate the address breakpoint, so that The monitoring test program is executed later.
第三阶段, 单文件测试执行阶段  Phase III, single file test execution phase
在单文件测试执行阶段, 将继续在前面完成初始化的保护模式下, 执行 测试目标文件。  During the single file test execution phase, the test target file will continue to be executed in the protected mode that was previously initialized.
该测试过程中, 测试程序可以根据规定的内存使用规范, 按照需要使用 特定的内存区域, 并将结果保存在规定的测试结果数据区域。 测试执行结束 后, 将跳转到终止地址, 触发自动测试系统设置的断点。 在到达该终止地址 断点后, 自动测试系统将根据设定对该测试程序的执行结果进行判定, 并保 存到结果目录中。 During the test, the test program can use a specific memory area as needed according to the specified memory usage specifications, and save the result in the specified test result data area. After the test execution is completed, it will jump to the termination address, triggering the breakpoint set by the automatic test system. Upon reaching the termination address After the breakpoint, the automatic test system will determine the execution result of the test program according to the settings and save it in the result directory.
对于每个尚未测试的文件, 将依次执行上述的第二和第三阶段流程, 直 至所有的文件都测试结束。  For each file that has not been tested, the second and third phase processes described above will be executed in sequence until all files have been tested.
在图 2所示的自动测试流程中, 具体包括如下步骤:  In the automatic test process shown in Figure 2, the following steps are specifically included:
首先, 设置测试所需的触发器, 检测测试文件目录的合法性, 并获取测 试文件列表; 检测结果文件目录的合法性。 通过合法性检测可以避免读取测 试文件或保存测试结果时出现读写错误。  First, set the triggers required for the test, check the legality of the test file directory, and obtain a list of test files; check the validity of the result file directory. Legitimacy testing avoids reading and writing errors when reading test files or saving test results.
然后, 对所获取的测试文件列表进行非空检测, 若否则所有测试文件都 已测试完毕, 结束测试流程; 若为非空, 则表明仍有待测文件, 则从测试文 件列表中获取下一个测试文件, 进一步判断该测试文件是否已经测试过, 若 已测试过, 则返回进行测试文件列表是否非空的检测, 若未经测试, 则进入 单文件测试准备阶段。  Then, non-empty detection is performed on the obtained test file list. If all the test files have been tested, the test process is ended. If it is non-empty, it indicates that there are still files to be tested, then the next one is obtained from the test file list. The test file further determines whether the test file has been tested. If it has been tested, it returns a test to check whether the test file list is not empty. If it is not tested, it enters the single file test preparation phase.
在单文件测试准备阶段, 先发出 RESET (复位 )指令重置 FPGA平台, 在进入保护模式前的死循环阶段设置第一断点 (断点 1 ),然后发出 GO指令, FPGA平台开始执行测试, 测试过程中, 判断是否到达第一断点, 若未到达 则继续进行该判断, 若已到达该第一断点, 则载入当前的测试文件到内存中 (地址为 OxOOBOOOOO); 然后, 跳过第一断点处的死循环, 在保护模式第一 条指令处设置第二断点 (断点 2: EIP 0x00000000 ) , 发出 GO指令, FPGA 平台继续执行, 过程中判断是否到达第二断点, 若未到达则继续判断, 若已 到达第二断点, 则指令指针( EIP )地址改为测试文件入口地址 OxOOBOOOOO , 进入单文件测试执行阶段。  In the single file test preparation phase, the RESET (reset) instruction is first issued to reset the FPGA platform, and the first breakpoint (breakpoint 1) is set in the infinite loop phase before entering the protection mode, and then the GO instruction is issued, and the FPGA platform starts to execute the test. During the test, it is judged whether the first breakpoint is reached, and if it does not arrive, the judgment is continued. If the first breakpoint is reached, the current test file is loaded into the memory (the address is OxOOBOOOOO); then, skip The infinite loop at the first breakpoint sets the second breakpoint (breakpoint 2: EIP 0x00000000) in the first instruction of the protection mode, issues the GO instruction, and the FPGA platform continues to execute, determining whether the second breakpoint is reached during the process. If it does not arrive, continue to judge. If the second breakpoint has been reached, the instruction pointer (EIP) address is changed to the test file entry address OxOOBOOOOO, and the single file test execution phase is entered.
在单文件测试执行阶段, 需要设置第三断点作为测试终止地址断点 (断 点 3: EIP 0x00F00000 ) , 然后发出 GO指令, 测试代码开始执行, 执行过程 中, 判断是否到达第三断点, 若否则继续判断, 若已到达第三断点, 则将测 试结果数据保存到文件, 并根据需要进行相应处理。 该单文件测试结束后, 返回判断测试文件列表是否非空, 直到所有测试文件都已执行测试完毕, 整 个测试过程结束。 如图 3所示, 给出了以 FS2硬件调试器为例的自动测试本系统的基本使 用操作流程图, 其基本使用操作流程包括如下步骤: In the single file test execution phase, the third breakpoint needs to be set as the test termination address breakpoint (breakpoint 3: EIP 0x00F00000), then the GO command is issued, the test code begins execution, and during execution, it is determined whether the third breakpoint is reached. If the judgment is continued, if the third breakpoint has been reached, the test result data is saved to a file and processed as needed. After the single file test is finished, it returns to determine whether the test file list is not empty, until all the test files have been tested, and the whole test process ends. As shown in Figure 3, the basic operation flow chart of the automatic test system with the FS2 hardware debugger as an example is given. The basic operation flow includes the following steps:
S301 : 接通作为测试目标平台的 FPGA板的电源, 开启电源开关加电启 动 FPGA板;  S301: Turn on the power of the FPGA board as the test target platform, turn on the power switch to power on and start the FPGA board;
S302: 从 FPGA bit文件管理及烧录子系统经 FPGA接口向 FPGA板中烧 录与所述 FPGA板相应的 bit文件, 所述 bit文件包括适用于待测试目标功能 模块的 bit文件;  S302: The bit file corresponding to the FPGA board is burned from the FPGA bit file management and programming subsystem to the FPGA board via the FPGA interface, and the bit file includes a bit file suitable for the target function module to be tested;
S303: 从 BIOS文件管理及烧录子系统向 BIOS仿真器烧录测试所需的 BIOS文件;  S303: burning a BIOS file required for testing from the BIOS file management and burning subsystem to the BIOS emulator;
S304: 按下 FPGA板上的复位(reset )按钮, 初始化 FPGA板的状态, 并在自动测试系统中的 FS2后端控制系统执行 HALT命令;  S304: Press the reset button on the FPGA board to initialize the state of the FPGA board and execute the HALT command in the FS2 backend control system in the automatic test system;
S305: 初始化硬件调试器, 在 FS2控制台 (Console )程序的菜单栏中, 选择 File->Source, 载入 FS2附带的 ice-tle.tcl脚本, 加载 ICE基本运行环境 支持;  S305: Initialize the hardware debugger, in the menu bar of the FS2 console (Console) program, select File->Source, load the ice-tle.tcl script attached to the FS2, and load the ICE basic running environment support;
S306: 建立合适的测试目标文件集文件夹, 在 FS2调试程序和测试脚本 所在计算机系统上配置测试文件(包括但不限于测试用例文件 )和测试脚本, 在计算机系统中新建一个目录 (需保证此该信件目录的绝对路径中不包含空 格), H没其为 "C:/SomeDir", 在该新建目录中创建一个 bin 目录, 并将所有 测试二进制文件复制到该 bin目录中;  S306: Establish a suitable test target file set folder, configure a test file (including but not limited to a test case file) and a test script on the computer system where the FS2 debugger and the test script are located, and create a new directory in the computer system (guarantee this) The absolute path of the mail directory does not contain spaces), H does not have "C:/SomeDir", create a bin directory in the newly created directory, and copy all test binaries into the bin directory;
S307: 根据测试目标文件集所在的文件夹路径, 修改自动测试脚本文件 auto— run— test.tcl中第一条指令,将其中的路径改为步骤 S306所新建的目录的 绝对路径;  S307: According to the path of the folder where the test target file set is located, modify the first instruction in the automatic test script file auto_run_test.tcl, and change the path to the absolute path of the newly created directory in step S306;
S308: 加载自动测试脚本执行测试, 在 FS2的控制台 (Console ) 中, 执 行 File->Source, 载入爹改后的自动测试脚本文件 auto— run— test.tcl, 开始执行 测试;  S308: Load an automatic test script to execute the test. In the console of the FS2 (Console), execute File->Source, load the modified automatic test script file auto_run_test.tcl, and start the test;
S309: 收集测试结果数据, 在所有测试结束后, 测试目录下的 result 目 录中保存了所有测试结果,该 result目录可预先建立,也可在第一次测试之前 自动创建。 为保证测试目标汇编代码与本自动测试系统能较好地耦合并正常运行, 需要对测试目标汇编代码的格式和内存使用情况进行一些规范。 目前本测试 系统对于测试目标汇编代码主要有以下规范。 S309: Collect test result data. After all tests are completed, all test results are saved in the result directory under the test directory. The result directory can be pre-established or automatically created before the first test. In order to ensure that the test target assembly code and the automatic test system can be well coupled and functioning properly, some specifications of the test target assembly code format and memory usage are required. At present, the test system mainly has the following specifications for the test target assembly code.
对于测试代码结构模板: 本自动测试系统支持 AT&T格式汇编以及 Intel 格式汇编测试文件。 此处以 AT&T格式为例介绍编写测试代码的相关约定和 结构模板。 对于测试代码内存使用规范: 由于测试代码的执行环境是由 BIOS 临时 构建的保护模式环境, 其代码段与数据段配置包括: 代码段基址从物理地址 0x00000000 开始, EIP从 OxOOBOOOOO 开始执行; 数据段基址从物理地址 0x00000000开始, 在通过 EAX、 EBX等寄存器进行内存读写寻址时, 实际 访问的物理地址与 EAX/EBX…数值相等。根据设置的段描述符, 理论上所有 的 4G 内存地址空间均可读写, 但是考虑到实际的硬件配置以及内存中其它 代码和数据的安全, 本自动测试系统使用的区域为 0x100000到 0x800000以 及 0xa00000以上区域, 并不与其他设备地址空间重叠。 对于测试代码结构规范如下:  For test code structure templates: This automated test system supports AT&T format assembly and Intel format assembly test files. Here, the AT&T format is used as an example to introduce the relevant conventions and structure templates for writing test code. For the test code memory usage specification: Since the execution environment of the test code is a protected mode environment temporarily constructed by the BIOS, the code segment and data segment configuration include: The code segment base address starts from the physical address 0x00000000, and the EIP starts from OxOOBOOOOO; The base address starts from the physical address 0x00000000. When the memory is read or written by EAX, EBX, etc., the physical address actually accessed is equal to the EAX/EBX... value. According to the set segment descriptor, theoretically all 4G memory address space can be read and written, but considering the actual hardware configuration and the security of other code and data in the memory, the area used by the automatic test system is 0x100000 to 0x800000 and 0xa00000. The above areas do not overlap with other device address spaces. The test code structure specification is as follows:
测试代码应以 text段开头, 且应标明 32位指令模式, 偏移量为 0, 即开 头部分应形如:  The test code should start with a text segment and should indicate a 32-bit command mode with an offset of 0, ie the opening portion should be shaped like this:
.text  .text
.code32  .code32
.org 0 在测试过程和结束时, 如果有需要保存的结果数据, 可以保存在 OxAOOOOO开始的 1KB 内存区域中, 当该测试文件测试完成后, 测试脚本会 将该部分数据保存到结果文件。  .org 0 At the end of the test process and at the end, if there is result data that needs to be saved, it can be saved in the 1KB memory area starting with OxAOOOOO. When the test file is tested, the test script saves the part of the data to the result file.
在测试结束后, 为通知测试脚本测试已完成, 应跳转到一个固定地址 After the test is finished, the test script is completed for notification, and should be redirected to a fixed address.
OxFOOOOO o 作为参考, 可以使用如下方式跳转: OxFOOOOO o As a reference, you can jump as follows:
movl %0xf00000, %eax  Movl %0xf00000, %eax
jmp *%eax 综上, 测试代码的整体模板可以表示如下: .text Jmp *%eax In summary, the overall template for the test code can be expressed as follows: .text
.code32  .code32
.org 0  .org 0
// Content of test code, you may save some data to memory start from // Content of test code, you may save some data to memory start from
II 0xa00000(size 1KB)  II 0xa00000(size 1KB)
// End of test, notify the script // End of test, notify the script
movl %0xf00000, %eax  Movl %0xf00000, %eax
jmp *%eax 对于测试目标文件生成方案,测试汇编代码釆用 binutils的 gas和 Id进行 汇编和链接, 并利用 objcopy将 elf格式的可执行文件转换为可直接从文件起 始地址执行的二进制文件。使用 gas进行汇编时, 建议使用的参数为 "--32" 。 使用 Id进行链接时, 建议使用下面给出的参考链接脚本 link.lds。 建议使用参 数: "-melf_i386 -T link.lds" 。 link.lds的具体示例如下:  Jmp *%eax For the test object file generation scheme, the test assembly code is compiled and linked with binutils' gas and Id, and objcopy is used to convert the elf format executable file into a binary file that can be executed directly from the file start address. When assembling with gas, the recommended parameter is "--32". When linking with Id, it is recommended to use the reference link script link.lds given below. The parameter is recommended: "-melf_i386 -T link.lds" . Specific examples of link.lds are as follows:
//link.lds:  //link.lds:
OUTPUT_FORMAT("elB2-i386")  OUTPUT_FORMAT("elB2-i386")
OUTPUT— ARCH(i386)  OUTPUT— ARCH(i386)
PHDRS text PT— LOAD; PHDRS text PT- LOAD;
data PT— LOAD;  Data PT — LOAD;
bssPT— LOAD;  bssPT- LOAD;
stackPT LOAD; bootPT— LOAD AT (OxfffffOOO); stackPT LOAD; bootPT— LOAD AT (OxfffffOOO);
SECTIONS SECTIONS
. = SIZEOF— HEADERS; . = SIZEOF— HEADERS;
.reset OxfffffOOO: {* (bootstrap)}: boot  .reset OxfffffOOO: {* (bootstrap)}: boot
.text OxOObOOOOO: {*.o(.text)}: text  .text OxOObOOOOO: {*.o(.text)}: text
•bss: {*.o(.bss)}: bss  • bss: {*.o(.bss)}: bss
.data OxOOblOOOO: {*.o(.data)}: data  .data OxOOblOOOO: {*.o(.data)}: data
.stack 0x800000: {*.o(statck)}: stack  .stack 0x800000: {*.o(statck)}: stack
/DISCARD/: {*(.note.GNU-stack .comment .note)}  /DISCARD/: {*(.note.GNU-stack .comment .note)}
用 objcopy转换二进制文件, 使用命令参数 "-0 binary" 。 为了简化编译 过程, 建议使用 Makefile。 下面给出了一个可供参考的 Makefile脚本。 Convert the binary file with objcopy, using the command parameter "-0 binary". To simplify the compilation process, it is recommended to use a Makefile. A Makefile script for reference is given below.
# Makefile: # Makefile:
OBJ = generic— 0 l .o  OBJ = generic— 0 l .o
SRC = generic— 01. s all: a.bin  SRC = generic— 01. s all: a.bin
$(OBJ): $(SRC) Makefile $(OBJ): $(SRC) Makefile
as -32 -o $@ $< a.out: $(OBJ) Makefile link.lds Id -melf— i386 -T link.lds $(OBJ) -o $ a.bin: a. out As -32 -o $@ $< a.out: $(OBJ) Makefile link.lds Id -melf— i386 -T link.lds $(OBJ) -o $ a.bin: a. out
objcopy -O binary a. out a.bin clean:  Objcopy -O binary a. out a.bin clean:
rm -f a. out a.bin $(OBJ)  Rm -f a. out a.bin $(OBJ)
在测试结束后, 对于测试结果表示方式, 可根据测试程序的具体需求选 择。 测试结果的表示可以有多种实现方式, 下面举例说明一些基本的结果表 示方法。 After the test is over, the way the test results are expressed can be selected according to the specific needs of the test program. The representation of the test results can be implemented in a variety of ways. The following examples illustrate some basic results representation methods.
方式 1 : 是否执行结束  Method 1: Whether to execute the end
此类测试仅需要检测测试程序是否正常执行结束。 对某些硬件模块的测 试中, 可能并不需要生成结果数据, 只要该测试程序能够正常执行结束, 就 可以证明测试目标硬件模块工作正常。  This type of test only needs to check if the test program is finished normally. In the test of some hardware modules, it may not be necessary to generate the result data. As long as the test program can be executed normally, it can prove that the test target hardware module works normally.
在该类测试过程中, 需要对测试文件执行状态进行判断, 以有效检测程 序运行中的异常状态。 主要异常状态包括:  During this type of testing, it is necessary to judge the execution status of the test file to effectively detect the abnormal state during the running of the program. The main abnormal states include:
1、 程序 "跑飞" , EIP或 CS值非法, 无法继续执行;  1. The program "runs away", the EIP or CS value is illegal and cannot be executed;
2、 程序陷入死循环;  2, the program is in an infinite loop;
3、 程序陷入阻塞 I/O或中断过程, 并由于硬件模块缺陷无法恢复; 3. The program is caught in a blocking I/O or interrupt process, and cannot be recovered due to a defect in the hardware module;
4、 程序由于某些非法指令而无法继续执行。 4. The program cannot be executed due to some illegal instructions.
方式 2: 是否执行成功  Method 2: Whether the execution is successful
此类测试在执行结束时, 测试程序根据测试过程判断是否成功完成, 并 根据测试成功与否将内存中特定地址的数据修改为 1或 0, 其中 1代表测试 成功, 反之代表测试失败。 该文件测试完成后, 本自动测试系统将读取该内 存地址的值, 并依据此值判断本测试文件执行是否成功。  At the end of this type of test, the test program judges whether the successful completion according to the test process, and changes the data of a specific address in the memory to 1 or 0 according to the success or failure of the test, where 1 means the test succeeds, and vice versa means the test fails. After the test of the file is completed, the automatic test system will read the value of the memory address and judge whether the test file is successfully executed according to the value.
另外, 为保证测试文件正常执行结束, 本测试同样需要利用上述测试文 件执行状态检测。 出现异常状态同样表示测试失败。 In addition, in order to ensure the end of the normal execution of the test file, this test also needs to use the above test text. Piece execution status detection. An abnormal state also indicates that the test failed.
方式 3: 保存测试结果  Method 3: Save the test results
此类测试将测试程序运行结束时保存在内存特定位置的数据保存为结果 文件。 某些硬件模块的测试中, 并不能明确地得到测试成功或失败的结果, 而是需要根据测试产生的结果数据, 对硬件模块工作状态进行分析和评测。 该类测试可以满足这类硬件模块的测试需求。  This type of test saves the data stored in a specific location in memory at the end of the test program as a result file. In the test of some hardware modules, the result of the test success or failure cannot be clearly obtained. Instead, the working state of the hardware module needs to be analyzed and evaluated according to the result data generated by the test. This type of test can meet the testing needs of such hardware modules.
同样, 此类测试也需要测试程序执行异常状态的判断机制支持。  Similarly, such tests also require support for the test system to perform abnormal state judgment mechanisms.
方式 4: 比较测试结果  Method 4: Compare test results
此类测试中, 测试系统根据测试程序提供的参考结果, 与实际测试得到 的结果进行对比, 判断测试结果是否正确或合理。  In such tests, the test system compares the results of the actual test with the reference results provided by the test program to determine whether the test results are correct or reasonable.
参考结果数据可以通过两种方式提供: 一种是直接提供参考数据的文件 形式, 程序运行结束后需要将运行结果数据文件与参考文件进行对比, 得出 结论; 另外一种可以通过在汇编文件中定义专门的数据区域, 存储参考数据, 在运行结束后, 通过 FS2调试器的内存比较功能对结果数据与参考数据进行 自动对比, 得到比较结果。  The reference result data can be provided in two ways: One is to directly provide the reference data file form, and after the program finishes running, the running result data file needs to be compared with the reference file to draw conclusions; the other can be passed in the assembly file. Define a special data area, store the reference data, and automatically compare the result data with the reference data through the memory comparison function of the FS2 debugger after the end of the operation to obtain the comparison result.
以上所述仅为本发明的实施例而已, 并不用于限制本发明, 对于本领域 的技术人员来说, 本发明可以有各种更改和变化。 凡在本发明的精神和原则 之内, 所作的任何修改、 等同替换、 改进等, 均应包含在本发明的权利要求 范围之内。  The above is only the embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. All modifications, equivalents, improvements, etc., made within the spirit and scope of the invention are intended to be included within the scope of the appended claims.
工业实用性 本发明的自动测试系统及自动测试方法, 利用硬件调试器(比如 FS2 ) 的支持, 通过定义统一的测试执行规范实现通用的自动测试系统, 支持对不 同硬件模块单元测试程序的自动执行, 并可对测试结果进行分析判定以及统 计。 Industrial Applicability The automatic test system and automatic test method of the present invention utilizes the support of a hardware debugger (such as FS2) to implement a universal automatic test system by defining a unified test execution specification, and supports automatic execution of test modules of different hardware module units. , and can analyze and judge the test results and statistics.

Claims

权 利 要 求 书 Claim
1、一种面向硬件设备功能的自动测试系统, 包括作为被测硬件设备测试 平台的现场可编程门阵列 (FPGA)测试目标平台, 还包括:  1. An automatic test system for hardware device functions, including a field programmable gate array (FPGA) test target platform as a test platform for a tested hardware device, and also includes:
FPGA bit文件管理和烧录子系统, 通过 FPGA接口与 FPGA测试目标平 台相连接, 设置为: 管理 FPGA测试目标平台上所运行的硬件设备功能模块 所需的 bit文件;在准备测试时通过 FPGA接口向 FPGA测试目标平台烧录与 当前被测的硬件设备功能模块相对应的 bit文件;  The FPGA bit file management and programming subsystem is connected to the FPGA test target platform through the FPGA interface, and is set to: manage the bit file required by the hardware device function module running on the FPGA test target platform; pass the FPGA interface when preparing for testing Writing to the FPGA target platform a bit file corresponding to the currently tested hardware device function module;
基本输入 /输出系统(BIOS )文件管理及烧录子系统, 通过 BIOS仿真器 与 FPGA测试目标平台相连接, 设置为: 在准备测试时向 BIOS仿真器烧录 测试所需的 BIOS文件;  The basic input/output system (BIOS) file management and programming subsystem is connected to the FPGA test target platform through the BIOS emulator, and is set to: Burn the BIOS file required for testing to the BIOS emulator when preparing for testing;
自动测试系统平台, 通过硬件调试器与 FPGA测试目标平台连接, 设置 为: 提供对测试目标平台的测试控制, 保存有自动测试所需的自动测试脚本 文件及测试用例集, 在测试时利用自动测试脚本完成自动测试过程, 通过测 试用例集完成功能测试, 并用于保存测试结果。  The automatic test system platform is connected to the FPGA test target platform through a hardware debugger, and is set to: provide test control on the test target platform, save the automatic test script file and test case set required for automatic test, and use the automatic test in the test. The script completes the automated test process, completes the functional test through the test case set, and is used to save the test results.
2、 如权利要求 1所述的自动测试系统, 其中, 所述 BIOS文件管理及烧 录子系统向 BIOS仿真器提供的 BIOS文件中, 包括:  2. The automatic test system according to claim 1, wherein the BIOS file provided by the BIOS file management and burning subsystem to the BIOS emulator comprises:
用于在初始化流程后及开始执行测试前的一个循环等待对应的死循环地 址;  Used to wait for a corresponding infinite loop address after the initialization process and before starting the test;
用于在跳过上述死循环地址对应的死循环后, BIOS初始化供测试环境使 用的段描述符, 以及对应的保护模式, 最后跳转至地址 0x0:0x0 进入保护模 式; 其中,  After skipping the infinite loop corresponding to the above-mentioned infinite loop address, the BIOS initializes the segment descriptor used by the test environment, and the corresponding protection mode, and finally jumps to address 0x0:0x0 to enter the protection mode;
所述段描述符包括基址为 0x00000000的代码段 CS的段描述符, 代码段 从物理地址 0x00000000开始;  The segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
所述保护模式从 0x0000:0x00B00000处,即物理地址 OxOOBOOOOO处开始 执行;  The protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
数据段 DS、 ES、 FS和堆栈段 SS的段描述符基址均为 0x00000000, 上 述段描述符对应的段址寄存器进行内存读写时, 实际读写的物理地址与所用 逻辑地址数值相等。 The segment descriptors of the data segments DS, ES, FS and the stack segment SS are both 0x00000000. When the segment register corresponding to the segment descriptor is read and written in memory, the physical address actually read and written is equal to the value of the logical address used.
3、 如权利要求 1所述的自动测试系统, 其中, 所述自动测试系统平台保 存的测试用例文件的测试代码结构中包括: 3. The automatic test system according to claim 1, wherein the test code structure of the test case file saved by the automatic test system platform includes:
以 text段开头、 标明 32位指令模式、 偏移量为 0的开头部分; 用于在测试过程和结束时保存结果数据的内存区域;  The beginning of the text segment, indicating the 32-bit instruction mode, the beginning of the offset of 0; the memory area used to save the result data during the test process and at the end;
用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地 址。  A fixed address that should be used to notify the test script that the test has completed after the test has finished.
4、 如权利要求 1所述的自动测试系统, 其中, 所述自动测试系统平台在 测试结束后对测试结果的表示方式包括如下方式之一: 是否执行结束、 是否 执行成功、 保存测试结果、 比较测试结果。  4. The automatic test system according to claim 1, wherein the automatic test system platform expresses the test result after the test is completed, including one of the following methods: whether the execution ends, whether the execution is successful, saves the test result, and compares Test Results.
5、 如权利要求 1所述的自动测试系统, 其中, 所述自动测试系统平台的 自动测试脚本文件中包括用于保存测试脚本文件的所在文件夹的绝对路径信 息。  5. The automatic test system according to claim 1, wherein the automatic test script file of the automatic test system platform includes absolute path information for saving a folder in which the test script file is located.
6、一种基于权利要求 1所述面向硬件设备功能的自动测试系统的测试方 法, 包括:  6. A test method for an automatic test system for hardware device functions according to claim 1, comprising:
全局测试初始化步骤, 对自动测试系统平台进行初始化, 设置测试运行 所需的断点信息, 统计测试用例文件集, 获得测试文件列表, 对列表中的每 一测试用例文件执行以下两个步骤:  The global test initialization step initializes the automatic test system platform, sets the breakpoint information required for the test run, counts the test case file set, obtains a list of test files, and performs the following two steps for each test case file in the list:
单文件测试准备步骤, 重置现场可编程门阵列 (FPGA )测试目标平台, 进行基本输入 /输出系统( BIOS )初始化, 将当前测试所需测试用例文件载入 FPGA测试目标平台内存中, 在进入保护模式后, 设置测试程序终止地址断 点;  Single file test preparation step, reset field programmable gate array (FPGA) test target platform, perform basic input/output system (BIOS) initialization, load test case file of current test into FPGA test target platform memory, enter After the protection mode, set the test program to terminate the address breakpoint;
单文件测试执行步骤, 在保护模式下执行测试用例程序, 根据规定的内 存使用规范按需使用特定的内存区域, 并将结果保存在规定的测试结果数据 区域, 测试执行结束后, 跳转到终止地址, 触发在准备步骤中所设置的终止 地址断点; 测试过程中和 /或测试结束后按对应结果表示方式, 对测试结果进 行处理。  Single file test execution step, execute the test case program in protected mode, use a specific memory area according to the specified memory usage specification, and save the result in the specified test result data area. After the test execution ends, jump to the termination. The address triggers the termination address breakpoint set in the preparation step. The test result is processed according to the corresponding result representation mode during the test and/or after the test.
7、 如权利要求 6所述的方法, 其中, 所述测试用例文件的测试代码结构 中包括: 以 text段开头、 标明 32位指令模式、 偏移量为 0的开头部分; 7. The method according to claim 6, wherein the test code structure of the test case file includes: Start with a text segment, indicate the 32-bit command mode, and begin with an offset of 0;
用于在测试过程和结束时保存结果数据的内存区域;  A memory area used to save result data during the test process and at the end;
用于在测试结束后通知测试脚本测试已完成的应跳转到的一个固定地 址。  A fixed address that should be used to notify the test script that the test has completed after the test has finished.
8、 如权利要求 6所述的方法, 其中, 在对 BIOS进行初始化过程中, 包 括: 配置在初始化流程后及开始执行测试前的一个循环等待对应的死循环地 址; 配置在跳过上述死循环地址对应的死循环后, BIOS初始化供测试环境使 用的段描述符, 以及对应的保护模式, 最后跳转至地址 0x0:0x0 进入保护模 式; 其中,  8. The method according to claim 6, wherein, in the initializing the BIOS, the method includes: configuring a loop waiting for a corresponding infinite loop address after the initialization process and before starting the test execution; configuring to skip the infinite loop After the infinite loop corresponding to the address, the BIOS initializes the segment descriptor used by the test environment, and the corresponding protection mode, and finally jumps to address 0x0:0x0 to enter the protection mode;
所述段描述符包括基址为 0x00000000的代码段 CS的段描述符, 代码段 从物理地址 0x00000000开始;  The segment descriptor includes a segment descriptor of a code segment CS having a base address of 0x00000000, and the code segment starts from a physical address of 0x00000000;
所述保护模式从 0x0000:0x00B00000处,即物理地址 OxOOBOOOOO处开始 执行;  The protection mode starts from 0x0000:0x00B00000, that is, the physical address OxOOBOOOOO;
数据段 DS、 ES、 FS和堆栈段 SS的段描述符基址均为 0x00000000, 上 述段描述符对应的段址寄存器进行内存读写时, 实际读写的物理地址与所用 逻辑地址数值相等。  Data segment DS, ES, FS, and stack segment SS segment descriptor base address is 0x00000000. When the segment address register corresponding to the segment descriptor is read or written in memory, the actual physical address read and write is equal to the logical address value used.
9、 如权利要求 6所述的方法, 其中, 所述自动测试系统平台对测试结果 的表示方式包括如下方式之一: 是否执行结束、 是否执行成功、 保存测试结 果、 比较测试结果。  9. The method according to claim 6, wherein the automatic test system platform expresses the test result in one of the following ways: whether the execution ends, whether the execution is successful, the test result is saved, and the test result is compared.
10、 如权利要求 6所述的方法, 其中, 所述全局测试初始化步骤还包括: 将测试脚本文件的所在文件夹的绝对路径信息加入自动测试系统平台的自动 测试脚本文件的步骤。  10. The method according to claim 6, wherein the global test initialization step further comprises: adding the absolute path information of the folder where the test script file is located to the automatic test script file of the automatic test system platform.
PCT/CN2011/080802 2011-07-11 2011-10-14 Automatic test system and method oriented to functions of hardware apparatus WO2013007068A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201110192679.5 2011-07-11
CN2011101926795A CN102346235A (en) 2011-07-11 2011-07-11 Automatic test system and method for hardware device function

Publications (1)

Publication Number Publication Date
WO2013007068A1 true WO2013007068A1 (en) 2013-01-17

Family

ID=45545096

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2011/080802 WO2013007068A1 (en) 2011-07-11 2011-10-14 Automatic test system and method oriented to functions of hardware apparatus

Country Status (2)

Country Link
CN (1) CN102346235A (en)
WO (1) WO2013007068A1 (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371962A (en) * 2016-08-30 2017-02-01 广州广电运通金融电子股份有限公司 Cross-platform drive test method, apparatus and system
CN110362434A (en) * 2019-03-22 2019-10-22 斑马网络技术有限公司 Object test method and equipment
CN111369359A (en) * 2020-02-10 2020-07-03 中科驭数(北京)科技有限公司 Method and device for testing security transaction risk control hardware
CN115033442A (en) * 2022-07-05 2022-09-09 天津普智芯网络测控技术有限公司 FPGA test system and method

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103049380B (en) * 2012-12-22 2016-02-17 中国船舶重工集团公司第七0九研究所 A kind of VBIOS adjustment method of special display controller
CN104698314B (en) * 2015-03-05 2018-01-02 中国空间技术研究院 A kind of SRAM type FPGA device level automatic test platform and its method of testing
CN106681877B (en) * 2015-11-11 2020-02-04 扬智科技股份有限公司 Chip debugging system and method and system chip
CN105868114B (en) * 2016-03-31 2019-04-05 复旦大学 FPGA software systems and its each module test system and method
CN106560797B (en) * 2016-08-24 2019-07-02 北京安天网络安全技术有限公司 A kind of unit test system and method based on debugger
CN106649101B (en) * 2016-11-18 2019-12-03 芯海科技(深圳)股份有限公司 A kind of ICE automatization test system and test method
CN107390110A (en) * 2017-06-20 2017-11-24 广东科学技术职业学院 A kind of method, apparatus and system tested automatically PCBA
CN107846331A (en) * 2017-12-21 2018-03-27 郑州云海信息技术有限公司 A kind of network performance automatic test approach
CN110764947B (en) * 2018-07-27 2023-10-20 深圳大心电子科技有限公司 Data writing method and memory controller
CN109444723B (en) * 2018-12-24 2020-07-24 成都华微电子科技有限公司 Chip testing method based on J750
CN110197698B (en) * 2019-05-23 2021-03-05 东莞记忆存储科技有限公司 Method and device for automatically testing influence of different power states of SSD (solid State drive)
CN110413467A (en) * 2019-07-31 2019-11-05 浪潮商用机器有限公司 A kind of adjustment method, device, equipment and the medium of server B IOS
CN111474441B (en) * 2020-06-19 2020-09-15 北京机电工程研究所 Customized comprehensive hardware-oriented evaluation method
CN112083320A (en) * 2020-09-09 2020-12-15 中国航空工业集团公司雷华电子技术研究所 FPGA (field programmable Gate array) test method, test board, device, equipment and storage medium
CN112131827B (en) * 2020-09-11 2023-03-28 山东云海国创云计算装备产业创新中心有限公司 Chip testing method, system, equipment and storage medium
CN113448863B (en) * 2021-07-12 2024-02-09 度普(苏州)新能源科技有限公司 Method and device for testing utilization rate of dynamic stack of electronic control unit software

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158708A (en) * 2007-10-23 2008-04-09 无锡汉柏信息技术有限公司 Multiple chips automatic test method based on programmable logic device
CN101858953A (en) * 2009-04-07 2010-10-13 上海摩波彼克半导体有限公司 ARM (Advanced RISC Machines) core chip based automatic test system and method of digital-to-analog converter

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100370432C (en) * 2004-08-18 2008-02-20 华为技术有限公司 Automated testing apparatus and method for embedded software
CN100549976C (en) * 2006-09-11 2009-10-14 中兴通讯股份有限公司 Embedded software automatic test system and method for testing thereof
CN101029918B (en) * 2007-01-23 2011-03-16 北京芯技佳易微电子科技有限公司 System and method for testing controllable integrated circuit based on programmable device
CN100580638C (en) * 2007-07-26 2010-01-13 北京神州龙芯集成电路设计有限公司 Method and apparatus for implementing hardware level verification
CN101137170A (en) * 2007-09-04 2008-03-05 深圳市中兴移动通信有限公司 Software automatic testing instrument and method of embedded equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101158708A (en) * 2007-10-23 2008-04-09 无锡汉柏信息技术有限公司 Multiple chips automatic test method based on programmable logic device
CN101858953A (en) * 2009-04-07 2010-10-13 上海摩波彼克半导体有限公司 ARM (Advanced RISC Machines) core chip based automatic test system and method of digital-to-analog converter

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106371962A (en) * 2016-08-30 2017-02-01 广州广电运通金融电子股份有限公司 Cross-platform drive test method, apparatus and system
CN106371962B (en) * 2016-08-30 2019-01-01 广州广电运通金融电子股份有限公司 A kind of cross-platform driving test method, apparatus and system
CN110362434A (en) * 2019-03-22 2019-10-22 斑马网络技术有限公司 Object test method and equipment
CN111369359A (en) * 2020-02-10 2020-07-03 中科驭数(北京)科技有限公司 Method and device for testing security transaction risk control hardware
CN115033442A (en) * 2022-07-05 2022-09-09 天津普智芯网络测控技术有限公司 FPGA test system and method

Also Published As

Publication number Publication date
CN102346235A (en) 2012-02-08

Similar Documents

Publication Publication Date Title
WO2013007068A1 (en) Automatic test system and method oriented to functions of hardware apparatus
US11281570B2 (en) Software testing method, system, apparatus, device medium, and computer program product
CN100555218C (en) Be used to improve the apparatus and method of the simulation velocity of the middle-and-high-ranking language of analogue system on the sheet
US7185321B1 (en) Method and system for debugging through supervisory operating codes and self modifying codes
US20030037225A1 (en) Apparatus and method for microcontroller debugging
CN107577593B (en) Diagnosing code using performing a single step
JP2007500401A (en) Software debugging apparatus and method
US7404178B2 (en) ROM-embedded debugging of computer
TWI566090B (en) Debugging firmware / software to produce tracking systems and methods, recording media and computer program products
CN107329889B (en) Method for automatically testing C compiler
Gotovos et al. Test-driven development of concurrent programs using Concuerror
CN102135877B (en) Automated construction method and device
US11113182B2 (en) Reversible debugging in a runtime environment
US20120110383A1 (en) Method and apparatus for off-line analyzing crashed programs
US9858139B1 (en) Computer system vulnerability analysis apparatus and method
JP4701025B2 (en) Debug support system, debug support method, debug support target program
JP2008135008A (en) Program module verification method
CN113454606A (en) Software checkpoint-recovery between different compiled executables
CN110096888B (en) Method and system for accelerating verification and analyzing SMM potential safety hazard
US8930666B1 (en) Virtual disk carousel
Kansal et al. Fully automated regression tool for post silicon validation
JPH10326203A (en) Debugging devices capable of taking over operation from each other between hardware environments while running programs therein
CN117422026B (en) RISC-V architecture-based processor verification system
KR20190076217A (en) Apparatus and method for dynamic binary instrumentation using multi-core
JP4893028B2 (en) Chipset emulation apparatus and method

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11869392

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11869392

Country of ref document: EP

Kind code of ref document: A1