CN117112443A - 一种BootLoader测试方法、装置及系统 - Google Patents
一种BootLoader测试方法、装置及系统 Download PDFInfo
- Publication number
- CN117112443A CN117112443A CN202311263005.9A CN202311263005A CN117112443A CN 117112443 A CN117112443 A CN 117112443A CN 202311263005 A CN202311263005 A CN 202311263005A CN 117112443 A CN117112443 A CN 117112443A
- Authority
- CN
- China
- Prior art keywords
- bootloader
- tested
- fault
- information
- update
- 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
- 238000010998 test method Methods 0.000 title claims abstract description 11
- 238000004891 communication Methods 0.000 claims abstract description 150
- 238000012360 testing method Methods 0.000 claims abstract description 79
- 238000000034 method Methods 0.000 claims abstract description 43
- 230000008569 process Effects 0.000 claims abstract description 24
- 239000000969 carrier Substances 0.000 claims abstract description 20
- 230000004044 response Effects 0.000 claims description 36
- 238000012795 verification Methods 0.000 claims description 19
- 238000012423 maintenance Methods 0.000 claims description 10
- 230000008030 elimination Effects 0.000 claims description 4
- 238000003379 elimination reaction Methods 0.000 claims description 4
- 238000007689 inspection Methods 0.000 claims description 3
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 4
- 230000007774 longterm Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明公开了一种BootLoader测试方法、装置及系统。该测试方法应用于电池管理系统中BootLoader的测试。该测试方法包括:建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,硬件载体的数量为多个,通信模块的数量为至少一个;控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,并记录更新过程中的通信数据;若接收到通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据故障信息对应的通信通道确定故障的被测BootLoader的位置。本发明实施例的技术方案提高了BootLoader测试的可靠性和准确性。
Description
技术领域
本发明涉及程序测试技术领域,尤其涉及一种BootLoader测试方法、装置及系统。
背景技术
随着新能源技术的快速发展,新能源车辆应用越来越广泛。
为了保证电池运行的安全性和高效性,需要电池管理系统对电池进行控制。在出厂前,电池管理系统中需要烧录BootLoader(引导加载程序)和控制程序。在需要升级控制程序时,可以通过BootLoader实现在线升级。大多数情况下BootLoader存在问题时,就无法升级控制程序或者导致控制程序升级失败,此时就需要将电池包拆卸,返厂更新BootLoader,因此BootLoader的稳定性和可靠性至关重要。
但是,大多数情况下BootLoader是依靠人工模拟更新控制程序的过程来测试其稳定性和可靠性,该方法费时费力,测试次数受限,无法准确测试BootLoader是否故障。
发明内容
本发明提供了一种BootLoader测试方法、装置及系统,以解决BootLoader测试次数受限,无法准确测试BootLoader是否故障的问题。
根据本发明的一方面,提供了一种BootLoader测试方法,BootLoader测试方法包括:
建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,所述硬件载体的数量为多个,所述通信模块的数量为至少一个,每个所述通信模块包括多个所述通信通道;
控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;
若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
可选地,所述若接收到故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,包括:
若接收到故障信息的次数达到1次,则确定存在故障的被测BootLoader。
可选地,所述控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据,包括:
向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录所述被测BootLoader反馈的响应信息;其中,所述响应信息包括积极响应信息和消极响应信息,所述消极响应信息为所述故障信息;
在所述程序更新数据发送完成后,向所述被测BootLoader发送结束指令,并返回执行向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息及密钥信息的步骤,直至向所述被测BootLoader发送所述程序更新数据的次数达到所述预设更新次数。
可选地,所述向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录所述被测BootLoader反馈的响应信息,包括:
向所述被测BootLoader发送预更新指令;
若接收到所述被测BootLoader反馈的成功标志信息,则向所述被测BootLoader发送更新环境检查指令;并记录所述被测BootLoader反馈的成功标志信息或未成功标志信息;
在所述被测BootLoader完成环境检查后,向所述被测BootLoader发送安全校验请求信息;
在接收到所述安全校验请求信息对应的密钥种子信息后,向所述被测BootLoader发送密钥信息;
在所述被测BootLoader根据所述密钥信息进行安全校验并进入更新模式后,向所述被测BootLoader发送程序文件;并记录所述被测BootLoader反馈的安全校验是否成功信息。
可选地,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
在对故障的被测BootLoader维修后,控制维修后的被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新;
若接收到更新成功的信息的次数达到预设更新次数,则确定维修后的被测BootLoader故障排除。
可选地,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
根据所述故障信息对应的响应数据,确定故障的被测BootLoader的故障类型。
可选地,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
输出测试文件;其中,所述测试文件包括所述通信数据及所述故障的被测BootLoader的地址信息。
根据本发明的另一方面,提供了一种BootLoader测试装置,BootLoader测试装置包括:
通道对应关系建立模块,用于建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,所述硬件载体的数量为多个,所述通信模块的数量为至少一个,每个所述通信模块包括多个所述通信通道;
程序更新控制模块,用于控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;
故障确定模块,用于若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
根据本发明的另一方面,提供了一种BootLoader测试系统,所述测试系统包括处理器、至少一个通信模块和多个硬件载体;每个所述通信模块包括多个所述通信通道;所述处理器包括本发明任一实施例所述的BootLoader测试装置;
所述通信模块连接于所述处理器与所述硬件载体之间;所述处理器用于建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;并控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
可选地,所述测试系统还包括电源模块;
所述电源模块分别与所述通信模块和所述硬件载体电连接,所述电源模块用于为所述通信模块和所述硬件载体供电。
本发明实施例的技术方案,通过设置多个硬件载体和至少一个通信模块,建立每个硬件载体与通信模块的通信通道的对应关系,可以同时对多个BootLoader进行测试,有利于提高测试的准确度和可靠性。并且控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,可以对BootLoader在长期运行工况下的可靠性进行测试,有利于提高测试的准确度和可靠性。并且,无需人工模拟更新过程,可以提高测试的效率。还能够根据故障信息对应的通信通道及硬件载体的地址信息与通信通道的对应关系,确定故障信息对应的被测BootLoader的地址信息,从而及时准确的确定故障的被测BootLoader,便于及时返修。本发明实施例的技术方案解决了BootLoader测试次数受限,无法准确测试BootLoader是否故障的问题,提高了BootLoader测试的可靠性和准确性。
应当理解,本部分所描述的内容并非旨在标识本发明的实施例的关键或重要特征,也不用于限制本发明的范围。本发明的其它特征将通过以下的说明书而变得容易理解。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种BootLoader测试方法的流程图;
图2是本发明实施例提供的又一种BootLoader测试方法的流程图;
图3是本发明实施例提供的又一种BootLoader测试方法的流程图;
图4是本发明实施例提供的一种BootLoader测试装置的结构示意图;
图5是本发明实施例提供的一种BootLoader测试系统的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
BootLoader(引导加载程序)一般应用在嵌入式操作系统中,可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。在电池管理系统(Battery Management System,BMS)中,可以烧录BootLoader,BootLoader可以对BMS中的控制程序进行在线升级。在出厂前,对BootLoader进行测试时,一般采用人工模拟更新程序的过程来测试,导致测试费时费力,且测试次数受限,难以测试BootLoader长期运行的可靠性和稳定性,从而导致测试结果准确度较低。
针对上述技术问题,本实施例提供了一种BootLoader测试方法。图1是本发明实施例提供的一种BootLoader测试方法的流程图,本实施例可适用于对电池管理系统中的BootLoader进行测试的情况,该方法可以由BootLoader测试装置来执行,该BootLoader测试装置可配置于处理器中,处理器例如为上位机。如图1所示,该测试方法包括:
S110、建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,硬件载体的数量为多个,通信模块的数量为至少一个,每个通信模块包括多个通信通道。
其中,硬件载体例如为电池管理系统电路(控制)板,电池管理系统电路板上载有(烧录有)相应的控制程序,电池管理系统根据相应的控制程序对电池进行控制,例如对电池的充放电电流进行控制;还可以确定电池的状态,例如根据电池的充放电电流确定电池剩余电量或电池寿命。在测试之前,先将被测BootLoader烧录至硬件载体中。不同硬件载体中载有的被测BootLoader可以相同,也可以不同。不同硬件载体中载有的控制程序可以相同,也可以不同。通信模块可以包括控制器局域网总线(Controller Area Network,CAN)通信工具。控制器局域网总线通信是一种串行异步数据通信协议,可以减少通信线的数量。在其他一些实施方式中,通信模块也可以包括无线通信工具,本实施例并不进行限定。
具体地,通过设置多个硬件载体和至少一个通信模块,建立每个硬件载体与通信模块的通信通道的对应关系,可以同时对多个BootLoader进行测试。当多个硬件载体上的BootLoader相同时,可以同时对一个BootLoader进行多次测试,有利于提高测试的准确度和可靠性。当多个硬件载体上的BootLoader不同时,可以同时测试多个不同的BootLoader,从而提高测试效率。载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系可以为硬件载体的地址信息与通信通道的对应关系。
S120、控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,并记录更新过程中的通信数据。
其中,预设更新次数为多次,例如为几百次或几千次。更新过程中的通信数据包括BootLoader反馈的响应信息,若响应信息为积极响应信息,则表示BootLoader正常运行,若响应信息为消极响应信息,则表示BootLoader故障。其中,积极响应信息例如为执行成功的信息,例如为更新程序成功信息,或者为校验成功信息。消极响应信息例如为未执行成功信息,例如为未更新成功信息,或者为校验未成功信息。
具体地,通过控制被测BootLoader多次对硬件载体中的程序进行更新,可以获得多次更新的通信数据,根据通信数据可以确定每次更新是否成功,便于确定被测BootLoader是否故障。通过进行多次更新,可以对BootLoader在长期运行工况下的可靠性进行测试,有利于提高测试的准确度和可靠性。并且,无需人工模拟更新过程,可以提高测试的效率。
S130、若接收到通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据故障信息对应的通信通道确定故障的被测BootLoader的位置。
其中,故障的被测BootLoader的位置是指故障的被测BootLoader位于哪一个硬件载体上。在一些实施方式中,故障的被测BootLoader的位置为故障的被测BootLoader对应的硬件载体的地址信息。
具体地,预设故障次数例如为预先设定的。在通信输出中故障信息的次数达到预设故障次数时,确定有被测BootLoader存在故障。预设故障次数为多次时,可以保证故障确定的准确性,避免误测。预设故障次数较小时,可以在更新异常时及时发现,避免遗漏故障的BootLoader。并且,通过硬件载体的地址信息与通信通道的对应关系,根据故障信息对应的通信通道,可以确定故障信息对应的被测BootLoader的地址信息,从而确定故障的被测BootLoader位于哪个硬件载体上,即确定故障的被测BootLoader的位置。便于及时准确的确定哪个是故障的被测BootLoader,从而可以及时对故障的BootLoader进行检修,有利于提高返修效率。
本实施例的技术方案,通过设置多个硬件载体和至少一个通信模块,建立每个硬件载体与通信模块的通信通道的对应关系,可以同时对多个BootLoader进行测试,有利于提高测试的准确度和可靠性。并且控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,可以对BootLoader在长期运行工况下的可靠性进行测试,有利于提高测试的准确度和可靠性。并且,无需人工模拟更新过程,可以提高测试的效率。还能够根据故障信息对应的通信通道及硬件载体的地址信息与通信通道的对应关系,确定故障信息对应的被测BootLoader的地址信息,从而及时准确的确定故障的被测BootLoader,便于及时返修。本实施例的技术方案解决了BootLoader测试次数受限,无法准确测试BootLoader是否故障的问题,提高了BootLoader测试的可靠性和准确性。
在上述技术方案的基础上,可选地,若接收到故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,包括:
若接收到故障信息的次数达到1次,则确定存在故障的被测BootLoader。
具体地,预设故障次数为1次,即只要存在故障信息就确定BootLoader故障,可以在更新异常时,及时发现,避免遗漏故障的BootLoader,有利于及时排除BootLoader的故障,避免BootLoader在应用时(载有BootLoader的电池管理系统出厂后)出现故障。
可选地,在一些实施方式中,在进行测试时,若接收到1次故障信息,就停止测试,可以无需更新到预设更新次数。如此,对故障信息对应的故障BootLoader进行检修,可以及时进行检修。
作为本实施例进一步的实施方案,在上述各个技术方案的基础上,图2是本发明实施例提供的又一种BootLoader测试方法的流程图,可选地,如图2所示,BootLoader测试方法包括:
S210、建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,硬件载体的数量为多个,通信模块的数量为至少一个,每个通信模块包括多个通信通道。
S220、向被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录被测BootLoader反馈的响应信息;其中,响应信息包括积极响应信息和消极响应信息,消极响应信息为故障信息。
具体地,指令信息例如包括预更新指令和环境检查指令。校验请求信息例如为安全校验请求信息。通过发送密钥信息,使得被测BootLoader确定是否可以根据处理器的程序更新文件对硬件载体中的程序进行更新。通过依次向被测BootLoader发送更新程序所需的信息和数据,并记录每一次被测BootLoader反馈的响应信息,可以确定每一步是否执行成功,从而确定被测BootLoader是否故障。
S230、判断程序更新数据是否发送完成,若是,执行步骤S240;若否,返回执行步骤S220。
S240、在程序更新数据发送完成后,向被测BootLoader发送结束指令。
具体地,在程序更新数据发送完成后,确定更新程序结束,向被测BootLoader发送结束指令,被测BootLoader就会结束运行,跳转至硬件载体的程序进行运行。如此,完成一次控制被测BootLoader对硬件载体中的程序进行更新的过程,便于测试被测BootLoader是否正常运行。
S250、判断向被测BootLoader发送程序更新数据的次数是否达到预设更新次数,若是,则结束;若否,则返回执行步骤S220。
在上述技术方案的基础上,可选地,向被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录被测BootLoader反馈的响应信息,包括:
步骤a1、向被测BootLoader发送预更新指令。
具体地,预更新指令也叫预升级指令,是在对硬件载体的程序进行更新(升级)前发送的。通过发送预更新指令,可以确定被测BootLoader是否可以正常接收数据,并可以控制被测BootLoader进行更新前的检查,例如环境检查等,便于后续对程序进行更新。
步骤a2、若接收到被测BootLoader反馈的成功标志信息,则向被测BootLoader发送更新环境检查指令;并记录被测BootLoader反馈的成功标志信息或未成功标志信息。
其中,被测BootLoader在接收到更新环境检查指令后,对更新环境进行检查,即对编程环境进行检查,确定当前环境是否可以进行程序的更新。
具体地,通过记录被测BootLoader反馈的成功标志信息,可以确定被测BootLoader在预更新环节未出现故障。若记录的被测BootLoader反馈的成功标志信息为空白,或者被测BootLoader反馈的信息为未成功标志信息(失败信息),则确定被测BootLoader可能存在故障,并且根据被测BootLoader的响应数据,可以确定是预更新处故障,从而确定故障类型。
步骤a3、在被测BootLoader完成环境检查后,向被测BootLoader发送安全校验请求信息。
其中,通过向被测BootLoader发送安全校验请求信息,使得处理器确定被测BootLoader是否为对程序进行更新的BootLoader,使得被测BootLoader确定是否可以根据处理器的程序更新文件对硬件载体中的程序进行更新。
具体地,通过向被测BootLoader发送安全校验请求信息,可以确定被测BootLoader是否可以完成安全校验环节,从而对被测BootLoader进行进一步测试。
步骤a4、在接收到安全校验请求信息对应的密钥种子信息后,向被测BootLoader发送密钥信息。
其中,通过发送密钥信息,使得被测BootLoader确定是否可以根据处理器的程序更新文件对硬件载体中的程序进行更新。避免根据其他程序对应的更新文件对目标程序(与被测BootLoader在同一个硬件载体上的程序)进行更新。
具体地,在接收到安全校验请求信息对应的密钥种子信息后,确定被测BootLoader可以正常进行安全校验。若未接收到被测BootLoader发送的密钥种子信息,则确定被测BootLoader可能存在故障。
步骤a5、在被测BootLoader根据密钥信息进行安全校验并进入更新模式后,向被测BootLoader发送程序文件;并记录被测BootLoader反馈的安全校验是否成功信息。
具体地,被测BootLoader根据密钥信息进行安全校验后,若反馈的响应数据为安全校验成功信息,则确定被测BootLoader可以正常进行安全校验,则向被测BootLoader发送程序文件,便于被测BootLoader对硬件载体中的程序进行更新。被测BootLoader根据密钥信息进行安全校验后,若反馈的响应数据为安全校验未成功信息,则确定被测BootLoader可能存在故障。如此,通过对各个环节(步骤)中被测BootLoader反馈的响应数据,即可确定被测BootLoader是否故障。
在上述各个技术方案的基础上,图3是本发明实施例提供的又一种BootLoader测试方法的流程图,可选地,参考图3,BootLoader测试方法包括:
S310、建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,硬件载体的数量为多个,通信模块的数量为至少一个,每个通信模块包括多个通信通道。
S320、控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,并记录更新过程中的通信数据。
S330、若接收到通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据故障信息对应的通信通道确定故障的被测BootLoader的位置。
S340、在对故障的被测BootLoader维修后,控制维修后的被测BootLoader按照预设更新次数对硬件载体中的程序进行更新。
具体地,在测试出故障的被测BootLoader后,对故障的BootLoader进行检修。并控制维修后的被测BootLoader对硬件载体中的程序进行更新,模拟BootLoader的使用工况,即对维修后的BootLoader再次进行测试,便于测试维修后的被测BootLoader是否排除故障。
S350、若接收到更新成功的信息的次数达到预设更新次数,则确定维修后的被测BootLoader故障排除。
具体地,接收到更新成功的信息的次数达到预设更新次数,即控制维修后的被测BootLoader对硬件载体中的程序每次更新都成功,从而确定维修后的被测BootLoader可以正常使用。如此,保证了维修的可靠性。此外,若维修后的被测BootLoader出现更新未成功,则继续对维修后的被测BootLoader进行检修,直至被测BootLoader每次更新都成功,从而保证了出厂后的硬件载体(电池管理系统)中烧录的BootLoader可以正常运行,有利于提升电池管理系统的可靠性。
在上述各技术方案的基础上,可选地,在根据故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
根据故障信息对应的响应数据,确定故障的被测BootLoader的故障类型。
具体地,通过记录每一次被测BootLoader发送的通信数据,即被测BootLoader的响应数据,可以确定故障信息对应的响应数据,从而可以确定被测BootLoader是在哪一过程出现故障,从而确定被测BootLoader的故障类型。例如在被测BootLoader未返回安全校验请求对应的信息时,确定被测BootLoader可能是安全校验失败,即在安全校验处存在故障;例如在被测BootLoader返回预更新失败信息时,确定被测BootLoader在预更新(即检查更新环境)时出现故障。或者,在被测BootLoader返回响应数据超时时,确定被测BootLoader的故障为通信故障。如此,可以确定被测BootLoader的故障类型,便于及时对被测BootLoader进行检修,有利于提升维修效率。
在上述各技术方案的基础上,可选地,在根据故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
输出测试文件;其中,测试文件包括通信数据及故障的被测BootLoader的地址信息。
具体地,通过输出测试文件,便于对被测BootLoader的通信数据进行分析,从而确定故障的被测BootLoader的故障类型,便于对被测BootLoader进行检修。还可以对被测BootLoader的测试结果进行存储,便于分析BootLoader容易存在的问题,为后续改进BootLoader程序提供基础。
本实施例还提供了一种BootLoader测试装置。图4是本发明实施例提供的一种BootLoader测试装置的结构示意图,如图4所示,该装置包括:通道对应关系建立模块410、程序更新控制模块420和故障确定模块430;通道对应关系建立模块410用于建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,硬件载体的数量为多个,通信模块的数量为至少一个,每个通信模块包括多个通信通道;程序更新控制模块420用于控制被测BootLoader按照预设更新次数对硬件载体中的程序进行更新,并记录更新过程中的通信数据;故障确定模块430用于若接收到通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据故障信息对应的通信通道确定故障的被测BootLoader的位置。
本发明实施例所提供的BootLoader测试装置可执行本发明任意实施例所提供的BootLoader测试方法,具备执行方法相应的功能模块和有益效果。
本实施例还提供了一种BootLoader测试系统,图5是本发明实施例提供的一种BootLoader测试系统的结构示意图,参考图5,测试系统包括处理器510、至少一个通信模块520和多个硬件载体530;每个通信模块520包括多个通信通道;处理器510包括上述任意实施方案提供的BootLoader测试装置;通信模块520连接于处理器510与硬件载体530之间;处理器510用于建立载有被测BootLoader的硬件载体530与通信模块520的通信通道的对应关系;并控制被测BootLoader按照预设更新次数对硬件载体530中的程序进行更新,并记录更新过程中的通信数据;若接收到通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据故障信息对应的通信通道确定故障的被测BootLoader的位置。
具体地,处理器510可以为上位机。通信模块520可以包括控制器局域网总线通信工具。处理器510包括上述任意实施方案提供的BootLoader测试装置,因此具备与上述任意实施方案提供的BootLoader测试装置相同的有益效果,此处不再赘述。
可选地,参考图5,测试系统还包括电源模块540;电源模块540分别与通信模块520和硬件载体530电连接,电源模块540用于为通信模块520和硬件载体530供电。
具体地,硬件载体530例如为电池管理系统电路板,硬件载体上设置有电池管理系统的控制器及其外围电路。电源模块540可以同时为通信模块520和硬件载体530供电,便于通信模块520和硬件载体530可以正常运行。
需要说明的是,图5中只对测试系统包括一个通信模块520和四个硬件载体530的情况进行了示意,但并不进行限定。
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发明中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明的技术方案所期望的结果,本文在此不进行限制。
上述具体实施方式,并不构成对本发明保护范围的限制。本领域技术人员应该明白的是,根据设计要求和其他因素,可以进行各种修改、组合、子组合和替代。任何在本发明的精神和原则之内所作的修改、等同替换和改进等,均应包含在本发明保护范围之内。
Claims (10)
1.一种BootLoader测试方法,其特征在于,包括:
建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,所述硬件载体的数量为多个,所述通信模块的数量为至少一个,每个所述通信模块包括多个所述通信通道;
控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;
若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
2.根据权利要求1所述的方法,其特征在于,所述若接收到故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,包括:
若接收到故障信息的次数达到1次,则确定存在故障的被测BootLoader。
3.根据权利要求1所述的方法,其特征在于,所述控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据,包括:
向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录所述被测BootLoader反馈的响应信息;其中,所述响应信息包括积极响应信息和消极响应信息,所述消极响应信息为所述故障信息;
在所述程序更新数据发送完成后,向所述被测BootLoader发送结束指令,并返回执行向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息及密钥信息的步骤,直至向所述被测BootLoader发送所述程序更新数据的次数达到所述预设更新次数。
4.根据权利要求3所述的方法,其特征在于,所述向所述被测BootLoader发送更新程序所需的指令信息、校验请求信息、密钥信息及程序更新数据,并记录所述被测BootLoader反馈的响应信息,包括:
向所述被测BootLoader发送预更新指令;
若接收到所述被测BootLoader反馈的成功标志信息,则向所述被测BootLoader发送更新环境检查指令;并记录所述被测BootLoader反馈的成功标志信息或未成功标志信息;
在所述被测BootLoader完成环境检查后,向所述被测BootLoader发送安全校验请求信息;
在接收到所述安全校验请求信息对应的密钥种子信息后,向所述被测BootLoader发送密钥信息;
在所述被测BootLoader根据所述密钥信息进行安全校验并进入更新模式后,向所述被测BootLoader发送程序文件;并记录所述被测BootLoader反馈的安全校验是否成功信息。
5.根据权利要求1-4中任一项所述的方法,其特征在于,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
在对故障的被测BootLoader维修后,控制维修后的被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新;
若接收到更新成功的信息的次数达到预设更新次数,则确定维修后的被测BootLoader故障排除。
6.根据权利要求1-4中任一项所述的方法,其特征在于,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
根据所述故障信息对应的响应数据,确定故障的被测BootLoader的故障类型。
7.根据权利要求1-4中任一项所述的方法,其特征在于,在所述根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置之后,还包括:
输出测试文件;其中,所述测试文件包括所述通信数据及所述故障的被测BootLoader的地址信息。
8.一种BootLoader测试装置,其特征在于,包括:
通道对应关系建立模块,用于建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;其中,所述硬件载体的数量为多个,所述通信模块的数量为至少一个,每个所述通信模块包括多个所述通信通道;
程序更新控制模块,用于控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;
故障确定模块,用于若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
9.一种BootLoader测试系统,其特征在于,所述测试系统包括处理器、至少一个通信模块和多个硬件载体;每个所述通信模块包括多个所述通信通道;所述处理器包括权利要求8所述的BootLoader测试装置;
所述通信模块连接于所述处理器与所述硬件载体之间;所述处理器用于建立载有被测BootLoader的硬件载体与通信模块的通信通道的对应关系;并控制所述被测BootLoader按照预设更新次数对所述硬件载体中的程序进行更新,并记录更新过程中的通信数据;若接收到所述通信数据中的故障信息的次数达到预设故障次数,则确定存在故障的被测BootLoader,并根据所述故障信息对应的通信通道确定故障的被测BootLoader的位置。
10.根据权利要求9所述的BootLoader测试系统,其特征在于,所述测试系统还包括电源模块;
所述电源模块分别与所述通信模块和所述硬件载体电连接,所述电源模块用于为所述通信模块和所述硬件载体供电。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263005.9A CN117112443A (zh) | 2023-09-27 | 2023-09-27 | 一种BootLoader测试方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311263005.9A CN117112443A (zh) | 2023-09-27 | 2023-09-27 | 一种BootLoader测试方法、装置及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117112443A true CN117112443A (zh) | 2023-11-24 |
Family
ID=88800231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311263005.9A Pending CN117112443A (zh) | 2023-09-27 | 2023-09-27 | 一种BootLoader测试方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117112443A (zh) |
-
2023
- 2023-09-27 CN CN202311263005.9A patent/CN117112443A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106843957B (zh) | 系统固件升级方法及装置 | |
CN110888414B (zh) | 一种车辆控制器升级的测试方法 | |
CN105930236A (zh) | 一种基于BMS Bootloader升级的应用程序版本回退方法 | |
CN101091158A (zh) | 使用输入程序以便通知系统软件更新服务 | |
CN110928556A (zh) | 轨道车辆用程序自动烧录方法及装置、测试方法及系统 | |
CN109448880B (zh) | 核安全级热备冗余控制站无扰下装方法和系统 | |
CN108920168B (zh) | 支持多个同类ECU同时升级且具防程序不匹配功能的Bootloader方法 | |
CN113759879A (zh) | 一种基于L3整车架构的车载以太网DoIP诊断刷写测试方法及系统 | |
CN110990289B (zh) | 一种自动提交bug的方法、装置、电子设备及存储介质 | |
CN110198222B (zh) | 一种配电自动化终端即插即用测试方法及测试主站 | |
CN114138587A (zh) | 服务器电源固件升级的可靠性验证方法、装置和设备 | |
CN101267645B (zh) | 用于w基站业务流程软件开发的自动化测试方法和系统 | |
CN111078476B (zh) | 一种网卡驱动固件稳定性测试方法、系统、终端及存储介质 | |
CN103026339A (zh) | 对微控制器中的软件参数重新配置的方法以及微控制器和控制设备 | |
CN117112443A (zh) | 一种BootLoader测试方法、装置及系统 | |
CN114793196B (zh) | 固件升级方法、装置、设备和存储介质 | |
CN110674038A (zh) | 一种对软件测试中错误信息的分类方法及装置 | |
CN115373710A (zh) | 车辆ota升级的控制方法、装置、车辆及存储介质 | |
CN111552584B (zh) | 卫星一级故障诊断隔离及恢复功能的测试系统、方法及装置 | |
CN115033258A (zh) | 一种摄像机sd卡固件自动升级和压力测试方法 | |
CN112860582A (zh) | 一种本地语音识别模块生产测试方法 | |
CN113220313A (zh) | Wifi模组的程序烧录方法、装置、设备及介质 | |
CN114610329B (zh) | 固态硬盘部署方法、装置、可读存储介质及电子设备 | |
CN113805921B (zh) | 一种固件远程升级方法及装置 | |
CN112445640A (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 |