CN115422091B - 一种固件调试方法及装置、电子设备、存储介质 - Google Patents
一种固件调试方法及装置、电子设备、存储介质 Download PDFInfo
- Publication number
- CN115422091B CN115422091B CN202211365269.0A CN202211365269A CN115422091B CN 115422091 B CN115422091 B CN 115422091B CN 202211365269 A CN202211365269 A CN 202211365269A CN 115422091 B CN115422091 B CN 115422091B
- Authority
- CN
- China
- Prior art keywords
- debugging
- abnormal
- firmware
- tested
- detection
- 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.)
- Active
Links
Images
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/362—Software debugging
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种固件调试方法及装置、电子设备、存储介质,具体涉及存储技术领域,所述方法包括:通过在主机端的测试装置,依据测试项目发送检测命令;通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测;判断所述测试项目的检测是否出现问题,若出现问题,则所述主机端进入调试流程;通过所述测试装置的调试模块,发送多个调试命令至检测异常的受测端;通过所述检测异常的受测端响应所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程;所述调试流程验证所述固件异常信息,并进行调试判定。本发明能实现灵活且准确地进行固件调试。
Description
技术领域
本申请涉及存储技术领域,具体涉及一种固件调试方法及装置、电子设备、存储介质。
背景技术
随着存储技术的发展,对于存储器出厂前后测试以及调试的要求逐渐严格。其中,EMMC(Embedded Multi Media Card,内嵌式存储器标准规格)设备能够存储代码和数据的管理内存,在移动设备中应用广泛。当EMMC固件测试出现问题时,主要通过在设备固件中添加固定的调试模块进行调试,执行包含调试模块的EMMC固件,通过串口打印获取存储在Nand闪存中的信息,从而根据获取信息分析EMMC的状态,或者重新烧录对应调试模块,直接运行调试模式下的固件,获取相应信息。但是,增加的调试模块占用固件的空间内存,降低了固件的优化性能。并且当固件数据损坏时,将无法完成调试任务。
因此,找到一种高效可靠的技术方案提升固件的调试过程是亟需解决的问题。
发明内容
鉴于以上所述现有技术的缺点,本发明提供一种固件调试方法及装置、电子设备、存储介质,以实现灵活且准确地进行固件调试。
本发明提供的一种固件调试方法,所述方法包括:
通过在主机端的测试装置,依据测试项目发送检测命令;
通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测;
判断所述受测端进行所述测试项目的检测是否出现问题,若未出现问题,则所述测试项目的检测结束;若出现问题,则所述主机端进入调试流程;
通过在所述测试装置的调试模块,发送多个调试命令至检测异常的受测端;
通过所述检测异常的受测端响应多个所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程;以及
通过所述调试流程验证所述固件异常信息,并进行调试判定。
于本发明的一实施例中,通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测后,还包括步骤:通过所述问题检测装置,排除所述受测端的硬件异常问题。
于本发明的一实施例中,所述受测端进行所述测试项目的检测的步骤包括:多个所述受测端独立运行,且当前所述测试项目检测成功时,所述受测端将进行其它所述测试项目的检测。
于本发明的一实施例中,所述调试流程依据所述测试项目进行增加、删除或修改。
于本发明的一实施例中,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程后,还包括步骤:通过问题日志,记录并保存所述固件异常信息。
于本发明的一实施例中,通过所述调试流程验证所述固件异常信息,并进行调试判定的步骤包括:
验证是否为所述主机端的异常问题;
验证是否为所述受测端的异常问题;以及
验证所述调试命令的异常问题。
于本发明的一实施例中,验证是否为所述受测端的异常问题后,还包括步骤:查找问题调试命令,依据问题调式命令调用命令处理案例进行所述调试命令的验证。
于本发明的一实施例中,验证所述调试命令的异常问题的步骤包括:
验证是否为所述受测端的回应问题;
验证是否为所述受测端的超时问题;
验证是否为所述受测端的准备问题;以及
验证是否为所述受测端的等待问题。
本发明还提供一种固件调试装置,所述装置包括:
问题检测模块,通过在主机端安装的测试装置,所述测试装置依据测试项目发送检测命令;通过在多个受测端安装的问题检测装置,接收所述检测命令,并进行所述测试项目的检测;判断所述受测端进行所述测试项目的检测是否出现问题,若未出现问题,则所述测试项目的检测结束;若出现问题,则所述主机端进入调试流程;
问题调试模块,通过在所述测试装置内增加的调试模块,所述调试模块自动发送多个调试命令至检测异常的受测端;通过所述检测异常的受测端响应多个所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程;以及
问题判定模块,通过所述调试流程验证所述固件异常信息,并进行调试判定。
如上所述,本发明提供的一种固件调试方法及装置、电子设备、存储介质,通过在主机端的测试装置发送检测命令,在受测端的问题检测装置接收检测命令,以此进行受测端测试项目的检测。若检测出现问题,则主机端进入调试流程,通过在主机端的调试模块发送多个调试命令至检测异常的受测端,读取检测异常的受测端的固件异常信息。将固件异常信息记录并保存,对主机端和受测端的参数进行调整,并且验证问题调试命令,最终进行调试判定。本发明提供一种固件调试方法及装置、电子设备、存储介质,通过在主机端的调试模块,实现灵活且准确地进行固件调试。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术者来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:
图1是本申请的一示例性实施例示出的固件调试的实施环境示意图;
图2是本申请的一示例性实施例示出的固件调试方法的流程图;
图3是图2所示实施例中的步骤S260在一示例性的实施例中的流程图;
图4是图3所示实施例中的步骤S330在一示例性的实施例中的流程图;
图5是本申请的一示例性实施例示出的固件调试装置的框图;
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。
具体实施方式
以下将参照附图和优选实施例来说明本发明的实施方式,本领域技术人员可由本说明书中所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。应当理解,优选实施例仅为了说明本发明,而不是为了限制本发明的保护范围。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
在下文描述中,探讨了大量细节,以提供对本发明实施例的更透彻的解释,然而,对本领域技术人员来说,可以在没有这些具体细节的情况下实施本发明的实施例是显而易见的,在其他实施例中,以方框图的形式而不是以细节的形式来示出公知的结构和设备,以避免使本发明的实施例难以理解。
首先需要说明的是,固件是写入EPROM(Electrical Programmable Read OnlyMemory,可擦写可编程只读存储器)或EEPROM(Electrically Erasable Programmableread only memory,电可擦可编程只读存储器)中的程序,可以理解为固化在集成电路内部的程序代码,负责控制和协调集成电路的功能,担任着系统最基础、最底层的工作。EMMC作为固件升级设备及存储装置,在封装中集成了一个控制器,提供标准接口并管理闪存。
调试是跟踪程序的运行过程,通过各种手段进行差错和排错,从而发现程序的逻辑错误或者隐藏的缺陷。在调试的过程中,我们可以监控程序的每一个细节,包括变量的值和调用过程等,从而保证设备的正常运行。
图1是本申请的一示例性实施例示出的固件调试的实施环境示意图。如图1所示,主机端110与多个受测端120建立连接,实现数据交互。主机端110发送检测命令至多个受测端120,当受测端120响应检测命令出现测试异常时,通过主机端110发送调试命令至多个受测端120,依次进行多个受测端120的异常情况排查,读取受测端120的固件异常信息,依据固件异常信息对主机端110、受测端120和发送的命令进行调试判定。根据调试判定的结果可以进行相应的固件调试,以此实现受测端120的正常运行。
其中,图1所示的主机端110可以是智能手机、平板电脑、笔记本电脑或者可穿戴设备等任意支持固件调试的终端设备,但并不限于此。图1所示的受测端120是EMMC设备端,例如可以是智能手机、平板电脑或者笔记本电脑等任意支持EMMC固件的终端设备,在此也不进行限制。主机端110可以通过3G(第三代的移动信息技术)、4G(第四代的移动信息技术)、5G(第五代的移动信息技术)等无线网络与受测端120进行通信,本处也不对此进行限制。在进行固件调试时,若是在设备端做相应的修改,例如在固件中增加调试模块,或者调试过程出现问题时,采用将独立于固件的调试模块写入设备端的RAM(Random Access Memory,随机存储器)内等手段,则可能要修改固件或者增加测试成本。
本申请的实施例分别提出一种固件调试方法、一种固件调试装置、一种电子设备和一种存储介质,以下将对这些实施例进行详细描述。
请参阅图2,图2是本申请的一示例性实施例示出的固件调试方法的流程图。该方法可以应用于图1所示的实施环境,并由该实施环境中的主机端110和受测端120具体执行。应理解的是,该方法也可以适用于其它的示例性实施环境,并由其它实施环境中的设备具体执行,本实施例不对该方法所适用的实施环境进行限制。
如图2所示,在一示例性的实施例中,固件调试方法至少包括步骤S210至步骤S260,详细介绍如下:
步骤S210,通过在主机端的测试装置,依据测试项目发送检测命令。
首先需要说明的是,测试项目指的是需要测试的单个元素,在实际的测试过程中,通常有多个测试项目,例如包括功能测试、异常测试等。在本实施例中,通过选择测试项目,进行多个受测端的检测。
示例性的,在主机端安装一套测试装置。如图1所示,主机端通过测试装置,与受测端建立连接关系,以此进行固件调试流程。在本实施例中,测试装置包括衔接受测端的硬件装置,以及可以操作的软件装置。首先,在主机端编写测试脚本,依据选择的测试项目,通过测试装置发送对应的检测命令至多个受测端,按照检测命令对多个受测端进行正常测试项检测。其中,主机端可以同时发送检测命令给多个受测端,实现一个主机端同时检测多个受测端,提高了固件调试的灵活性。
步骤S220,通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测。
示例性的,在多个受测端安装问题检测装置。如图1所示,问题检测装置接收检测命令,进行多个受测端的正常测试项检测,以此同时排查多个受测端是否出现检测问题。其中,多个受测端可以通过问题检测装置初步排除HW(HardWare,硬件)异常问题,对于遇到的HW问题,不进行调试。
步骤S230,判断所述受测端进行所述测试项目的检测是否出现问题,若未出现问题,则所述测试项目的检测结束;若出现问题,则所述主机端进入调试流程。
当通过主机端选择测试项目后,直接在主机端的测试装置上运行相应的测试项目。通过测试装置发送对应的检测命令,使得多个受测端同时接收检测命令。其中,多个受测端独立运行,以此进行相应的测试项目检测。若受测端进行当前测试项目时检测成功,则受测端将进行其它测试项目的检测。此时,判断受测端进行测试项目的检测是否出现问题,若未出现问题,则测试项目的检测结束,若出现问题,则主机端进入调试流程。
步骤S240,通过在所述测试装置的调试模块,发送多个调试命令至检测异常的受测端。
在本实施例中,不额外更改固件,在主机端的测试装置内增加调试模块,并在测试项目中加入相关的调试流程,即不需要另外在固件中增加单独的调试程序,直接依赖现有的调试流程,通过主机端的测试装置获取NAND闪存中记录的信息,以及直接通过主机端的测试装置输出初步的问题判断结论。在其它实施例中,根据具体情况设置,也能实现同样的技术效果。
当受测端的测试项目出现问题时,调试模块自动发送多个调试命令至检测异常的受测端。对于检测异常的受测端,主机端的调试模块发送多个调试命令(vender CMD)。其中,调试命令的数量设置例如0~63个,在本实施例中,调试命令的数量依据具体情况任意设置。
在本实施例中,主机端的调试流程避免了人工操作,在出现问题时进行自动化的初步调试工作以及输出调试结果和基本的NAND闪存信息,从而节省时间,提高了调试效率。同时,根据测试项目出现的各种问题,可以进行调试流程的增加、删除或修改,拓展了调试的灵活性。
步骤S250,通过所述检测异常的受测端响应多个所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程。
在本实施例中,多个受测端同时进行受测端问题的排查检测,且各受测端在进行检测时独立运行。同时,只有测试项目出现问题时,检测异常的受测端才会调用测试流程,以此响应调试命令使得主机端读取固件异常信息。这在一定程度上,可以及时的保存问题现场。
多个检测异常的受测端接收调试命令,并且响应于主机端,使得调试模块读取检测异常的受测端的固件异常信息进行调试流程。在本实施例中,从检测异常的受测端读取的固件异常信息包括当前固件的VCC/VCCQ(供电电压)信息、电流信息、寄存器信息、assert(断言)信息、闪存基本信息和参数信息等。主机端在问题现场直接进行调式,在不掉电的情况下,直接读取受测端的内部信息,所以不会破坏现场信息。因此可以实现在不破坏问题现场的情况下及时读取固件异常信息,并且通过问题日志记录并保存固件异常信息。
步骤S260,通过所述调试流程验证所述固件异常信息,并进行调试判定。
在本实施例中,当主机端获取检测异常的受测端的固件异常信息后,通过进行调试流程验证固件异常信息,调整调整主机端和受测端的参数信息,输出并保存调试结果,并且验证调试命令,以此进行初步的调试判定。
如图3所示,在一示例性的实施例中,当执行步骤S260时,即通过所述调试流程验证所述固件异常信息,并进行调试判定。具体的,步骤S260可以包括步骤S310至步骤S330,详细介绍如下:
S310、验证是否为所述主机端的异常问题,若是所述主机端的异常问题,则输出并保存主机端参数;若不是所述主机端的异常问题,则进行所述受测端的验证。
当受测端的测试项目出现问题时,主机端读取检测异常的受测端的固件异常信息,首先验证主机端的异常问题。通过调整主机端参数信息,重新进行测试项目的检测,验证是否是主机端的异常问题,若是主机端的异常问题,则输出并保存主机端参数,若不是主机端的异常问题,则进行下一步调试流程,即验证受测端的异常问题。
S320、验证是否为所述受测端的异常问题,若是所述受测端的异常问题,则输出并保存受测端参数;若不是所述受测端的异常问题,则进行所述调试命令的验证。
在进行完主机端的异常问题验证后,接着验证受测端的异常问题。通过调整受测端参数信息,重新进行测试项目的检测,验证是否是受测端的异常问题,若是受测端的异常问题,则输出并保存受测端参数,若不是受测端的异常问题,则进行下一步的调试流程,即验证调试命令的异常问题。
S330、验证所述调试命令的异常问题,并进行所述调试判定。
测试项目在运行时,是通过发送多个不同的调试命令来执行测试脚本进行异常受测端的检测。在进行完主机端和受测端的检测后,如果出现检测问题,则问题日志会记录是在执行哪一个命令时出现的问题。根据问题日志,验证调试命令的异常问题,查找问题调试命令,根据问题调试命令调用命令处理案例。在本实施例中,若问题调试命令是第一调试命令(CMD1),则调用第一调试命令的命令处理案例(Case CMD1)。若问题调试命令不是CMD1,则调用其它错误调试命令对应的命令处理案例。最后转向出问题时的命令分析流程,对问题原因进行初步分析,初步得出问题结论并保存调试结果,依据调试结果进行原因归类分析。
如图4所示,在一示例性的实施例中,当执行步骤S330时,即验证所述调试命令的异常问题,并进行所述调试判定。具体的,步骤S330可以包括步骤S410至步骤S440,详细介绍如下:
步骤S410,验证是否为所述受测端的回应问题,若是所述回应问题,则输出并保存验证结果;若不是所述回应问题,则进行超时问题的验证。
具体的,在本实施例中,初步查找得出CMD1是问题调试命令,则调用Case CMD1。首先验证是否为受测端的回应问题,即验证是否为CMD1 no response err(无回应错误),若是回应问题,则输出并保存验证结果,并判定VCCQ有异常问题;若不是回应问题,则进行超时问题的验证,即验证是否为CMD1 timeout(超时)问题。
步骤S420,验证是否为所述受测端的超时问题,若是所述超时问题,则输出并保存验证结果;若不是所述超时问题,则进行准备问题的验证。
在完成受测端的回应问题验证后,进行受测端的超时问题验证。在本实施例中,CMD1例如为0x00FF8080,通过主机端发送CMD1,验证CMD1的Response(回应)是否为0xC0FF8080,若Response是0xC0FF8080,则输出并保存验证结果,并判定为一般性timeout问题;若Response不是0xC0FF8080,则进行准备问题的验证,即验证是否为CMD1 ready(准备)问题。
步骤S430,验证是否为所述受测端的准备问题,若是所述准备问题,则输出并保存验证结果;若不是所述准备问题,则进行等待问题的验证。
在完成受测端的超时问题验证后,进行受测端的准备问题验证。在本实施例中,通过主机端发送CMD0(0x00000000)+CMD1(0x00FF8080),验证CMD1的Response是否为0xC0FF8080,若Response是0xC0FF8080,则输出并保存验证结果,并判定为CMD1 ready问题,同时取下Nand颗粒做进一步验证;若Response不是0xC0FF8080,则进行等待问题的验证,即验证是否为CMD1 Wait(等待)问题。
步骤S440,验证是否为所述受测端的等待问题,若是所述等待问题,则输出并保存验证结果;若不是所述等待问题,则当前所述问题调试命令验证结束。
在完成受测端的准备问题验证后,进行受测端的等待问题验证。在本实施例中,通过主机端发送CMD0(0xF0F0F0F0)+CMD0(0x00000000)+CMD1(0x00FF8080),验证CMD1的Response是否为0xC0FF8080,若Response是0xC0FF8080,则输出并保存验证结果,并判定为Wait first CMD问题,以此直接进行原卡原环境复测,观察复测概率;若Response不是0xC0FF8080,则输出并保存验证结果,并判定为CMD0(0xF0F0F0F0)ready问题。同时,当前问题调试命令验证结束,并对受测端做进一步检测验证。
图5是本申请的一示例性实施例示出的固件调试装置的框图。该装置可以应用于图1所示的实施环境,并具体配置在主机端110中。该装置也可以适用于其它的示例性实施环境,并具体配置在其它设备中,本实施例不对该装置所适用的实施环境进行限制。
如图5所示,该示例性的固件调试装置包括:
问题检测模块510,通过在主机端的测试装置,测试装置依据主机端选择的测试项目发送检测命令。又通过在多个受测端的问题检测装置,接收检测命令,以此进行测试项目的检测。接着判断受测端进行测试项目的检测是否出现问题,若未出现问题,则测试项目的检测结束,若出现问题,则主机端进入调试流程。
问题调试模块520,通过在测试装置的调试模块,当受测端进行测试项目时出现检测问题,调试模块发送多个调试命令至检测异常的受测端。检测异常的受测端响应多个调试命令,主机端读取检测异常的受测端的固件异常信息进行调试流程。
问题判定模块530,通过调试流程验证固件异常信息,并进行调试判定。首先验证是否为所述主机端的异常问题,若是所述主机端的异常问题,则输出并保存主机端参数;若不是所述主机端的异常问题,则进行所述受测端的验证。接着验证是否为所述受测端的异常问题,若是所述受测端的异常问题,则输出并保存受测端参数;若不是所述受测端的异常问题,则进行所述调试命令的验证。最后验证调试命令的异常问题,并进行调试判定。
需要说明的是,上述实施例所提供的固件调试装置与上述实施例所提供的固件调试方法属于同一构思,其中各个模块和单元执行操作的具体方式已经在方法实施例中进行了详细描述,此处不再赘述。上述实施例所提供的固件调试装置在实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能,本处也不对此进行限制。
本申请的实施例还提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述电子设备实现上述各个实施例中提供的固件调试方法。
图6示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。需要说明的是,图6示出的电子设备的计算机系统600仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图6所示,计算机系统600包括中央处理单元(Central Processing Unit,CPU)601,其可以根据存储在只读存储器(Read-Only Memory,ROM)602中的程序或者从储存部分608加载到随机访问存储器(Random Access Memory,RAM)603中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在RAM 603中,还存储有系统操作所需的各种程序和数据。CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(Input/Output,I/O)接口605也连接至总线604。
以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如阴极射线管(Cathode Ray Tube,CRT)、液晶显示器(Liquid Crystal Display,LCD)等以及扬声器等的输出部分607;包括硬盘等的储存部分608;以及包括诸如LAN(Local Area Network,局域网)卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根据需要被安装入储存部分608。
特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的系统中限定的各种功能。
需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、闪存、光纤、便携式紧凑磁盘只读存储器(Compact Disc Read-Only Memory,CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。
附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。
本申请的另一方面还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被计算机的处理器执行时,使计算机执行如前所述的固件调试方法。该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的,也可以是单独存在,而未装配入该电子设备中。
本申请的另一方面还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各个实施例中提供的固件调试方法。
上述实施例仅示例性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,但凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。
Claims (8)
1.一种固件调试方法,其特征在于,所述方法包括以下步骤:
通过在主机端的测试装置,依据测试项目发送检测命令;
通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测;
判断所述受测端进行所述测试项目的检测是否出现问题,若未出现问题,则所述测试项目的检测结束;若出现问题,则所述主机端进入调试流程;
通过在所述测试装置的调试模块,发送多个调试命令至检测异常的受测端;
通过所述检测异常的受测端响应多个所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程;以及
通过所述调试流程验证所述固件异常信息,并进行调试判定;
其中,所述受测端进行所述测试项目的检测的步骤包括:多个所述受测端独立运行,且当前所述测试项目检测成功时,所述受测端将进行其它所述测试项目的检测;
其中,通过所述调试流程验证所述固件异常信息,并进行调试判定的步骤包括:
验证是否为所述主机端的异常问题,若是所述主机端的异常问题,则输出并保存主机端参数;若不是所述主机端的异常问题,则进行所述受测端的验证;
验证是否为所述受测端的异常问题,若是所述受测端的异常问题,则输出并保存受测端参数;若不是所述受测端的异常问题,则进行所述调试命令的验证;以及
验证所述调试命令的异常问题,并进行所述调试判定。
2.根据权利要求1所述的一种固件调试方法,其特征在于,通过在多个受测端的问题检测装置,接收所述检测命令,并进行所述测试项目的检测后,还包括步骤:通过所述问题检测装置,排除所述受测端的硬件异常问题。
3.根据权利要求1所述的一种固件调试方法,其特征在于,所述调试流程依据所述测试项目进行增加、删除或修改。
4.根据权利要求1所述的一种固件调试方法,其特征在于,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程后,还包括步骤:通过问题日志,记录并保存所述固件异常信息。
5.根据权利要求1所述的一种固件调试方法,其特征在于,验证是否为所述受测端的异常问题后,还包括步骤:查找问题调试命令,依据问题调式命令调用命令处理案例进行所述调试命令的验证。
6.根据权利要求1所述的一种固件调试方法,其特征在于,验证所述调试命令的异常问题的步骤包括:
验证是否为所述受测端的回应问题;
验证是否为所述受测端的超时问题;
验证是否为所述受测端的准备问题;以及
验证是否为所述受测端的等待问题。
7.一种固件调试装置,其特征在于,所述装置包括:
问题检测模块,通过在主机端安装的测试装置,所述测试装置依据测试项目发送检测命令;通过在多个受测端安装的问题检测装置,接收所述检测命令,并进行所述测试项目的检测;所述受测端进行所述测试项目的检测的步骤包括:多个所述受测端独立运行,且当前所述测试项目检测成功时,所述受测端将进行其它所述测试项目的检测;判断所述受测端进行所述测试项目的检测是否出现问题,若未出现问题,则所述测试项目的检测结束;若出现问题,则所述主机端进入调试流程;
问题调试模块,通过在所述测试装置内增加的调试模块,所述调试模块自动发送多个调试命令至检测异常的受测端;通过所述检测异常的受测端响应多个所述调试命令,所述主机端读取所述检测异常的受测端的固件异常信息进行所述调试流程;以及
问题判定模块,通过所述调试流程验证所述固件异常信息,并进行调试判定;通过所述调试流程验证所述固件异常信息,并进行调试判定的步骤包括:验证是否为所述主机端的异常问题,若是所述主机端的异常问题,则输出并保存主机端参数;若不是所述主机端的异常问题,则进行所述受测端的验证;验证是否为所述受测端的异常问题,若是所述受测端的异常问题,则输出并保存受测端参数;若不是所述受测端的异常问题,则进行所述调试命令的验证;验证所述调试命令的异常问题,并进行所述调试判定。
8.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,当所述计算机程序被计算机的处理器执行时,使计算机执行权利要求1至6中任一项所述的固件调试方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211365269.0A CN115422091B (zh) | 2022-11-03 | 2022-11-03 | 一种固件调试方法及装置、电子设备、存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211365269.0A CN115422091B (zh) | 2022-11-03 | 2022-11-03 | 一种固件调试方法及装置、电子设备、存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115422091A CN115422091A (zh) | 2022-12-02 |
CN115422091B true CN115422091B (zh) | 2023-04-14 |
Family
ID=84208031
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211365269.0A Active CN115422091B (zh) | 2022-11-03 | 2022-11-03 | 一种固件调试方法及装置、电子设备、存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115422091B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116483639B (zh) * | 2023-04-26 | 2024-03-19 | 珠海妙存科技有限公司 | eMMC信息获取方法和系统、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015081864A1 (zh) * | 2013-12-04 | 2015-06-11 | 华为终端有限公司 | 一种eMMC的监控方法及装置 |
CN108959099A (zh) * | 2018-07-20 | 2018-12-07 | 北京神州绿盟信息安全科技股份有限公司 | 一种获取固件的方法及装置 |
CN112685745A (zh) * | 2020-12-31 | 2021-04-20 | 北京梆梆安全科技有限公司 | 一种固件检测方法、装置、设备及存储介质 |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102916741A (zh) * | 2012-11-06 | 2013-02-06 | 索尔思光电(成都)有限公司 | 一种光模块硬件在线测试方法 |
US10089212B2 (en) * | 2015-07-20 | 2018-10-02 | Toshiba Memory Corporation | Memory system, information processing system, and host device outputting debugging information through a host interface |
CN108615545A (zh) * | 2016-12-09 | 2018-10-02 | 北京京存技术有限公司 | Emmc调试方法和emmc |
CN110289039B (zh) * | 2018-03-19 | 2021-07-27 | 北京兆易创新科技股份有限公司 | 一种eMMC的调试方法和装置 |
CN109490749A (zh) * | 2018-09-13 | 2019-03-19 | 深圳市卓精微智能机器人设备有限公司 | 一种eMMC FLASH类芯片测试系统 |
CN111367710B (zh) * | 2018-12-25 | 2024-02-20 | 兆易创新科技集团股份有限公司 | 一种eMMC问题还原方法和装置 |
CN110648716A (zh) * | 2019-08-05 | 2020-01-03 | 广州妙存科技有限公司 | 一种基于SOC的免拆卸的eMMC调试方法 |
CN110673988A (zh) * | 2019-08-05 | 2020-01-10 | 广州妙存科技有限公司 | 一种不依赖其自带固件的eMMC调试方法 |
CN114974389A (zh) * | 2022-05-26 | 2022-08-30 | 合肥康芯威存储技术有限公司 | 一种存储设备及其测试方法、测试系统 |
-
2022
- 2022-11-03 CN CN202211365269.0A patent/CN115422091B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015081864A1 (zh) * | 2013-12-04 | 2015-06-11 | 华为终端有限公司 | 一种eMMC的监控方法及装置 |
CN108959099A (zh) * | 2018-07-20 | 2018-12-07 | 北京神州绿盟信息安全科技股份有限公司 | 一种获取固件的方法及装置 |
CN112685745A (zh) * | 2020-12-31 | 2021-04-20 | 北京梆梆安全科技有限公司 | 一种固件检测方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115422091A (zh) | 2022-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101738550A (zh) | 电子装置测试装置及测试方法 | |
CN110750396A (zh) | 一种服务器操作系统兼容性测试方法、装置及存储介质 | |
CN115422091B (zh) | 一种固件调试方法及装置、电子设备、存储介质 | |
CN114138644A (zh) | Bmc调试方法及监控方法、系统、装置、设备、介质 | |
CN114442930A (zh) | 组磁盘阵列的控制方法、装置、电子设备及可读存储介质 | |
CN113377586B (zh) | 一种服务器自动化检测方法、装置及存储介质 | |
KR100758850B1 (ko) | 이동통신 시스템에서 테스트 스크립트를 이용한 테스트를위한 장치 및 방법 | |
CN113885899A (zh) | 一种固态硬盘固件烧录方法、装置、设备和存储介质 | |
CN111694684A (zh) | 存储设备的异常构造方法、装置、电子设备及存储介质 | |
CN113450865B (zh) | 存储器测试系统及其测试方法 | |
US7415560B2 (en) | Method of automatically monitoring computer system debugging routine | |
CN115656788B (zh) | 一种芯片测试系统、方法、设备及存储介质 | |
CN111459730A (zh) | 一种Whitley平台下PCH端参数的调整方法及系统 | |
CN115757099A (zh) | 平台固件保护恢复功能自动测试方法和装置 | |
CN115454856A (zh) | 多应用的安全检测方法、装置、介质及电子设备 | |
CN110377477B (zh) | 一种电子设备、功能模组、电子设备的主板、检测方法 | |
US20070169117A1 (en) | Firmware loading device | |
US20070028218A1 (en) | Apparatus, system, and method for a software test coverage analyzer using embedded hardware | |
CN112346919A (zh) | 一种ssd测试方法、系统及存储介质 | |
CN112069009A (zh) | 一种在Recovery模式下进行压力测试的方法、装置和终端设备 | |
CN112965751B (zh) | 一种用于机框式设备的主控板卡 | |
CN115808612B (zh) | 一种芯片物理ip测试系统、方法及电子设备 | |
CN118245311B (zh) | 芯片检测方法、芯片检测装置 | |
CN111240928B (zh) | 设备驱动自动化检测方法、装置、设备及存储介质 | |
CN113836035B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |