CN110673988A - 一种不依赖其自带固件的eMMC调试方法 - Google Patents
一种不依赖其自带固件的eMMC调试方法 Download PDFInfo
- Publication number
- CN110673988A CN110673988A CN201910717963.6A CN201910717963A CN110673988A CN 110673988 A CN110673988 A CN 110673988A CN 201910717963 A CN201910717963 A CN 201910717963A CN 110673988 A CN110673988 A CN 110673988A
- Authority
- CN
- China
- Prior art keywords
- debugging
- program
- request
- emmc
- firmware
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2273—Test methods
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提出一种不依赖其自带固件的eMMC调试方法,包括以下步骤:A、在存储单元中写入预设的下载请求程序;B、当读取闪存固件失败时,响应于调试请求进入调试模式;C、确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;D、响应于结果返回请求返回调试结果。
Description
技术领域
本发明涉及存储器测试领域,特别一种不依赖其自带固件的eMMC调试方法。
背景技术
eMMC内部存储介质为NAND闪存,通常情况下厂商会按照功能将NAND闪存存储按照功能划分为不同的几个部分,如存储固件的区域、存储系统数据的区域以及存储用户数据的区域等等。
eMMC调试通常的做法为在eMMC固件中添加用于调试的模块,该调试模块通过自定义的eMMC命令获取必要的存储在Nand Flash中的信息,然后分析eMMC的状态信息。
基于NAND闪存存储不可靠的特性,在某些极端情况下,可能出现存储固件的区域的数据损坏,这种情况下eMMC无法正常启动。一旦出现这种情况,调试人员就无法使用常用的方法对出问题的eMMC进行调试。
现有的依赖于eMMC固件中添加调试模块的调试方式,在固件数据损坏的情况下,无法完成eMMC的调试任务。
依赖于在eMMC固件中添加调试模块的调试方式,如果想要获取NAND闪存内部的数据,可通过在eMMC芯片封装阶段就将NAND pin引出来,然后使用操作NAND的设备,直接与NAND进行通信,获取NAND中的数据,这种方式势必会增加eMMC芯片的封装成本,使产品性价比降低。
另外,eMMC固件中添加调试模块的调试方式,在eMMC固件中定义用于调试的私有命令,在eMMC运行过程中随时响应私有命令,在某些情况下主机的误操作可能给eMMC造成一定的风险。
发明内容
针对现有技术中,当eMMC存储器的固件不可用时无法执行调试任务的问题,本发明提出了一种不依赖其自带固件的eMMC调试方法。
首先,本发明提出一种不依赖其自带固件eMMC调试方法,包括以下步骤:
A、在存储单元中写入预设的下载请求程序;
B、当读取闪存固件失败时,响应于调试请求进入调试模式;
C、确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
D、响应于结果返回请求返回调试结果。
进一步,在本发明提出的上述方法中,所述下载请求程序不包括所述调试程序。
进一步,在本发明提出的上述方法中,所述步骤A中的闪存的存储单元为引导存储器。
进一步,在本发明提出的上述方法中,所述引导存储器为可编程存储器。
进一步,在本发明提出的上述方法中,所述引导存储器为BROM。
进一步,在本发明提出的上述方法中,所述步骤A中的下载请求程序限定了调试程序的目标地址。
进一步,在本发明提出的上述方法中,所述步骤B中的调试请求以及所述步骤D中的结果返回请求均由闪存的Host端发出。
其次,本发明提出一种不依赖其自带固件的eMMC调试装置,包括以下模块:
自定义模块,用于在存储单元中写入预设的下载请求程序;
判断模块,用于当读取闪存固件失败时,响应于调试请求进入调试模式;
执行模块,用于确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
返回模块,用于响应于结果返回请求返回调试结果。
最后,本发明提出一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
本发明的有益成果是:不依赖于eMMC的固件,并不需要对现有的eMMC结构作出改变的前提下,在固件丢失的情况下仍可对eMMC产品进行调试。
附图说明
图1为本发明提出的一种不依赖其自带固件的闪存调试方法的第一实施例的流程图;
图2为本发明提出的一种不依赖其自带固件的闪存调试方法的第二实施例的流程图;
图3为本发明提出的一种不依赖其自带固件的闪存调试装置的框架图。
具体实施方式
以下将结合实施例和附图对本发明的构思、具体结构及产生的技术效果进行清楚、完整的描述,以充分地理解本发明的目的、方案和效果。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。附图中各处使用的相同的附图标记指示相同或相似的部分。
需要说明的是,如无特殊说明,当某一特征被称为“固定”、“连接”在另一个特征,它可以直接固定、连接在另一个特征上,也可以间接地固定、连接在另一个特征上。此外,本申请中所使用的上、下、左、右等描述仅仅是相对于附图中本申请各组成部分的相互位置关系来说的。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
本文及附图所描述的示例性实施例不应视为限制。在不脱离本文和权利要求的范围的情况下,可以进行各种机械的、组成的、结构的、电气的和操作性的变形,包括等同物。在某些情况下,未详细示出或描述公知的结构和技术,以免与本公开混淆。两幅或多幅图表中的相同的附图标记表示相同或类似的元件。此外,参考一个实施例所详细描述的元件及其相关特征,可以在任何可行的情况下包括在未具体示出或描述它们的其他实施例中。例如,如果参考一个实施例详细描述了某个元件,并且没有参考第二实施例描述该元件,则也可以主张包括该元件在第二实施例中。
此外,除非另有定义,本文所使用的所有的技术和科学术语与本技术领域的技术人员通常理解的含义相同。本文说明书中所使用的术语只是为了描述具体的实施例,而不是为了限制本申请。本文所使用的术语“和/或”包括一个或多个相关的所列项目的任意的组合。
应当理解,尽管在本申请中可能采用术语第一、第二、第三等来描述各种元件,但这些元件不应限于这些术语。这些术语仅用来将同一类型的元件彼此区分开。例如,在不脱离本申请范围的情况下,第一元件也可以被称为第二元件,类似地,第二元件也可以被称为第一元件。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”。
在本发明的实施例中,方法步骤可以按另一个顺序执行。本发明并不限于所述的方法步骤确定的顺序。
参照图1所示的本发明提出的一种不依赖其自带固件的闪存调试方法的第一实施例的流程图,在本发明的一个实施例中,所述的方法包括以下步骤:
A、在存储单元中写入预设的下载请求程序;
B、当读取闪存固件失败时,响应于调试请求进入调试模式;
C、确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
D、响应于结果返回请求返回调试结果。
具体地,在本发明中,预设的下载请求程序是存储在ROM中的固化代码。
进一步,在本发明的一个实施例中,所述下载请求程序不包括所述调试程序。
进一步,在本发明的一个实施例中,所述步骤A中的闪存的存储单元为引导存储器。
进一步,在本发明的一个实施例中,所述引导存储器为可编程存储器。
进一步,在本发明的一个实施例中,所述引导存储器为BROM。具体地,BROM又称为引导ROM,其中存储了引导指令。
进一步,在本发明的一个实施例中,所述步骤A中的下载请求程序限定了调试程序的目标地址。
进一步,在本发明的一个实施例中,所述步骤B中的调试请求以及所述步骤D中的结果返回请求均由闪存的Host端发出。
进一步,在本发明的一个实施例中,不限于eMMC存储器,实际上,带有RAM存储器以及处理器的闪存或存储器,均可以使用本发明所提出的方法。
具体地,在本发明的一个优选实施例中,以eMMC存储器为例子,并参照图2,对本发明所提出的方法的优选实施例进行说明,eMMC上电之后,BROM中的程序会读Nand Flash中的eMMC固件,将eMMC固件读到eMMC RAM中运行,由eMMC固件完成eMMC的具体工作。在eMMC固件数据损坏甚至丢失的情况下,由于BROM无法读取到正确的eMMC固件,BROM会等待Host的私有命令下载独立的调试程序,host主机通过eMMC私有命令下载调试程序,调试程序在eMMC RAM中运行,完成调试工作。Host端与eMMC端交互的流程如图2所示:
在eMMC固件丢失的情况下,eMMC上电后并且完成BROM初始化后,BROM中的代码会一直等待Host发送请求进入调试模式的命令,此时Host发送请求进入调试模式命令,eMMC端接收到该命令后,切换到调试模式;此时,eMMC端等待Host端发送调试程序,一旦Host发送调试程序,并且eMMC端接收调试程序完毕后,eMMC会运行该调试程序。eMMC正常运行调试程序,并且完成调试程序的初始化工作后,会一直等待Host发送的调试请求。每当收到调试请求后,eMMC端会处理对应的调试请求,并将处理后的数据返回给Host端,完成一次调试命令。并且,在BROM中的eMMC私有命令仅用于独立调试程序的下载,复杂的调试工作由独立的调试程序完成。eMMC是一个被动的对象,为了进行响应Host命令,eMMC会等待中断,可认为Host命令会产生一个中断事件,eMMC在中断服务程序中完成相应的命令;这里的等待中断视为等待Host的命令。
进一步,参考图3所示的本发明提出的一种不依赖其自带固件的闪存调试装置的框架图,在本发明的一个实施例中,所提出的一种不依赖其自带固件的NAND闪存调试装置,包括以下模块:
自定义模块,用于在闪存的存储单元中写入预设的下载请求程序;
判断模块,用于当读取闪存固件失败时,响应于调试请求进入调试模式;
执行模块,用于确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
返回模块,用于响应于结果返回请求返回调试结果。
进一步,在本发明的一个实施例中,上述的下载请求程序不包括所述调试程序。
进一步,在本发明的一个实施例中,上述的自定义模块中的闪存的存储单元为引导存储器。
进一步,在本发明的一个实施例中,上述的引导存储器为可编程存储器。
进一步,在本发明的一个实施例中,上述的引导存储器为BROM。
进一步,在本发明的一个实施例中,上述的自定义模块中的下载请求程序限定了调试程序的目标地址。
进一步,在本发明的一个实施例中,上述的判断模块中的调试请求以及所述步骤D中的结果返回请求均由闪存的Host端发出。
最后,本发明提出一种计算机可读存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
综上所述,执行本发明所提出的方法步骤,能够不依赖于NAND闪存的固件,并不需要对现有的NAND闪存结构作出改变的前提下,在固件丢失的情况下仍可对NAND闪存产品进行调试,并且具有以下优点:
1.不依赖于eMMC固件,在固件丢失的情况下仍可对eMMC产品进行调试;
2.eMMC芯片不用单独引出NAND闪存pin,一定程度上节约封装成本;
3.使用独立的调试程序,该程序仅在调试时才下载到eMMC RAM中运行,降低了eMMC固件正常工作过程中,误操作带来的风险。
应当认识到,本发明的实施例可以由计算机硬件、硬件和软件的组合、或者通过存储在非暂时性计算机可读存储器中的计算机指令来实现或实施。所述方法可以使用标准编程技术包括配置有计算机程序的非暂时性计算机可读存储介质在计算机程序中实现,其中如此配置的存储介质使得计算机以特定和预定义的方式操作-根据在具体实施例中描述的方法和附图。每个程序可以以高级过程或面向对象的编程语言来实现以与计算机系统通信。然而,若需要,该程序可以以汇编或机器语言实现。在任何情况下,该语言可以是编译或解释的语言。此外,为此目的该程序能够在编程的专用集成电路上运行。
进一步,该方法可以在可操作地连接至合适的任何类型的计算平台中实现,包括但不限于个人电脑、迷你计算机、主框架、工作站、网络或分布式计算环境、单独的或集成的计算机平台、或者与带电粒子工具或其它成像装置通信等等。本发明的各方面可以以存储在非暂时性存储介质或设备上的机器可读代码来实现,无论是可移动的还是集成至计算平台,如硬盘、光学读取和/或写入存储介质、RAM、ROM等,使得其可由可编程计算机读取,当存储介质或设备由计算机读取时可用于配置和操作计算机以执行在此所描述的过程。此外,机器可读代码,或其部分可以通过有线或无线网络传输。当此类媒体包括结合微处理器或其他数据处理器实现上文所述步骤的指令或程序时,本文所述的发明包括这些和其他不同类型的非暂时性计算机可读存储介质。当根据本发明所述的方法和技术编程时,本发明还包括计算机本身。
本文描述了本公开的实施例,包括发明人已知用于执行本发明的最佳模式。在阅读了上述描述后,这些所述实施例的变化对本领域的技术人员将变得明显。发明人希望技术人员视情况采用此类变型,并且发明人意图以不同于如本文具体描述的方式来实践本公开的实施例。因此,经适用的法律许可,本公开的范围包括在此所附的权利要求书中叙述的主题的所有修改和等效物。此外,本公开的范围涵盖其所有可能变型中的上述元素的任意组合,除非本文另外指示或以其他方式明显地与上下文矛盾。
尽管本发明的描述已经相当详尽且特别对几个所述实施例进行了描述,但其并非旨在局限于任何这些细节或实施例或任何特殊实施例,而是应当将其视作是通过参考所附权利要求考虑到现有技术为这些权利要求提供广义的可能性解释,从而有效地涵盖本发明的预定范围。此外,上文以发明人可预见的实施例对本发明进行描述,其目的是为了提供有用的描述,而那些目前尚未预见的对本发明的非实质性改动仍可代表本发明的等效改动。
因此,应以说明性意义而不是限制性意义来理解本说明书和附图。然而,将明显的是:在不脱离如权利要求书中阐述的本申请的更宽广精神和范围的情况下,可以对本申请做出各种修改和改变。
其他变型在本申请的精神内。因此,尽管所公开的技术可容许各种修改和替代构造,但在附图中已示出并且在上文中详细描述所示的其某些实施例。然而,应当理解,并不意图将本申请局限于所公开的一种或多种具体形式;相反,其意图涵盖如所附权利要求书中所限定落在本申请的精神和范围内的所有修改、替代构造和等效物。
Claims (9)
1.一种不依赖其自带固件的eMMC调试方法,其特征在于,包括以下步骤:
A、在存储单元中写入预设的下载请求程序;
B、当读取闪存固件失败时,响应于调试请求进入调试模式;
C、确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
D、响应于结果返回请求返回调试结果。
2.根据权利要求1所述的方法,其特征在于,所述下载请求程序不包括所述调试程序。
3.根据权利要求1所述的方法,其特征在于,所述步骤A中的闪存的存储单元为引导存储器。
4.根据权利要求3所述的方法,其特征在于,所述引导存储器为可编程存储器。
5.根据权利要求3所述的方法其特征在于,所述引导存储器为BROM。
6.根据权利要求1所述的方法,其特征在于,所述步骤A中的下载请求程序限定了调试程序的目标地址。
7.根据权利要求1所述的方法,其特征在于,所述步骤B中的调试请求以及所述步骤D中的结果返回请求均由闪存的Host端发出。
8.一种不依赖其自带固件的eMMC调试装置,其特征在于,包括以下模块:
自定义模块,用于在存储单元中写入预设的下载请求程序;
判断模块,用于当读取闪存固件失败时,响应于调试请求进入调试模式;
执行模块,用于确认进入调试模式并确认调试请求后,运行所述下载请求程序下载调试程序,并将接收到的调试程序在闪存的RAM中执行;
返回模块,用于响应于结果返回请求返回调试结果。
9.一种计算机可读存储介质,其上储存有计算机程序,其特征在于所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述的方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717963.6A CN110673988A (zh) | 2019-08-05 | 2019-08-05 | 一种不依赖其自带固件的eMMC调试方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910717963.6A CN110673988A (zh) | 2019-08-05 | 2019-08-05 | 一种不依赖其自带固件的eMMC调试方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110673988A true CN110673988A (zh) | 2020-01-10 |
Family
ID=69068469
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910717963.6A Pending CN110673988A (zh) | 2019-08-05 | 2019-08-05 | 一种不依赖其自带固件的eMMC调试方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110673988A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114446381A (zh) * | 2022-04-07 | 2022-05-06 | 深圳佰维存储科技股份有限公司 | eMMC故障分析方法、装置、可读存储介质及电子设备 |
CN115422091A (zh) * | 2022-11-03 | 2022-12-02 | 合肥康芯威存储技术有限公司 | 一种固件调试方法及装置、电子设备、存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102874A (ja) * | 2006-10-20 | 2008-05-01 | Toshiba Corp | デバッグ装置及びデバッグ方法 |
CN102316503A (zh) * | 2011-09-30 | 2012-01-11 | 大唐移动通信设备有限公司 | 一种rru的故障处理方法及装置 |
US20140082224A1 (en) * | 2012-09-14 | 2014-03-20 | Samsung Electronics Co., Ltd. | Embedded multimedia card (emmc), emmc system including the emmc, and method of operating the emmc |
CN108196869A (zh) * | 2017-12-21 | 2018-06-22 | 北京京存技术有限公司 | 一种emmc固件启动方法和装置 |
-
2019
- 2019-08-05 CN CN201910717963.6A patent/CN110673988A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008102874A (ja) * | 2006-10-20 | 2008-05-01 | Toshiba Corp | デバッグ装置及びデバッグ方法 |
CN102316503A (zh) * | 2011-09-30 | 2012-01-11 | 大唐移动通信设备有限公司 | 一种rru的故障处理方法及装置 |
US20140082224A1 (en) * | 2012-09-14 | 2014-03-20 | Samsung Electronics Co., Ltd. | Embedded multimedia card (emmc), emmc system including the emmc, and method of operating the emmc |
CN108196869A (zh) * | 2017-12-21 | 2018-06-22 | 北京京存技术有限公司 | 一种emmc固件启动方法和装置 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114446381A (zh) * | 2022-04-07 | 2022-05-06 | 深圳佰维存储科技股份有限公司 | eMMC故障分析方法、装置、可读存储介质及电子设备 |
CN114446381B (zh) * | 2022-04-07 | 2022-07-15 | 深圳佰维存储科技股份有限公司 | eMMC故障分析方法、装置、可读存储介质及电子设备 |
CN115422091A (zh) * | 2022-11-03 | 2022-12-02 | 合肥康芯威存储技术有限公司 | 一种固件调试方法及装置、电子设备、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102945173B (zh) | 用户程序在线升级系统和升级方法 | |
CN108845930B (zh) | 界面操作测试方法和装置、存储介质及电子装置 | |
CN101183330B (zh) | 嵌入式系统的在线调试系统及其调试方法 | |
CN103491134B (zh) | 一种监控容器的方法、装置与代理服务系统 | |
JP2004527826A (ja) | 自動車整備において使用される共通プラットフォーム | |
CN1704763A (zh) | 电子设备诊断方法和系统 | |
CN110673988A (zh) | 一种不依赖其自带固件的eMMC调试方法 | |
CN104572387A (zh) | 一种工程模式下调试终端的方法及装置 | |
CN103064695A (zh) | 现场可编程门阵列的动态加载系统及其加载方法 | |
CN111115398B (zh) | 电梯的调试方法、装置、调试终端和存储介质 | |
CN115314416B (zh) | 网卡状态自动检测方法、装置、电子设备及存储介质 | |
CN104111844A (zh) | 在移动终端内安装应用程序的方法及系统 | |
CN110739025B (zh) | 一种存储设备掉电测试方法、装置及系统 | |
US9600397B2 (en) | Dynamic debugging method of a software module and corresponding device | |
US20160209833A1 (en) | Manufacturing machine and method of operation with a function self-check | |
US9753444B2 (en) | Programmable controller, programmable controller system, and method of creating execution error information | |
US10163281B2 (en) | Adaptive vehicle monitoring system | |
CN110908733A (zh) | 工作模式确定方法及装置、控制方法及装置 | |
CN104850015A (zh) | 一种软件封装方法及一种汽车电子控制器 | |
CN106020918B (zh) | 电视软件编译方法及系统 | |
CN107515730B (zh) | 数据储存装置与操作方法 | |
CN112929212A (zh) | 一种定向板卡的配置方法、装置以及处理设备 | |
CN104503905A (zh) | 一种嵌入式系统的调试方法及调试系统 | |
EP3159756A1 (en) | Method of debugging a plc program by using a general-purpose microprocessor | |
CN114546746A (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 |