[go: up one dir, main page]

CN115705215A - eMMC starting method, device, equipment and storage medium - Google Patents

eMMC starting method, device, equipment and storage medium Download PDF

Info

Publication number
CN115705215A
CN115705215A CN202110896544.0A CN202110896544A CN115705215A CN 115705215 A CN115705215 A CN 115705215A CN 202110896544 A CN202110896544 A CN 202110896544A CN 115705215 A CN115705215 A CN 115705215A
Authority
CN
China
Prior art keywords
emmc
target
main controller
boot data
command
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
Application number
CN202110896544.0A
Other languages
Chinese (zh)
Inventor
左淑新
申思远
王强
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chenxin Technology Co ltd
Original Assignee
Chenxin Technology Co ltd
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 Chenxin Technology Co ltd filed Critical Chenxin Technology Co ltd
Priority to CN202110896544.0A priority Critical patent/CN115705215A/en
Publication of CN115705215A publication Critical patent/CN115705215A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention discloses a method, a device, equipment and a storage medium for starting eMMC, wherein the method comprises the following steps: the master controller controls a target eMMC to perform initial starting in a forced starting mode; if the target eMMC fails to start, adjusting sampling time sequence parameters of the main controller, and sending a starting command to the target eMMC by the main controller to restart the target eMMC; if the master controller receives the boot data within the preset time interval, acquiring a plurality of boot data output by the target eMMC according to the adjusted sampling time sequence parameters; the master controller verifies the collected boot data, and determines a starting result of the target eMMC according to a verification result until the target eMMC is successfully started. The technical scheme of the embodiment of the invention can reduce the loss caused by the scrapping of the eMMC product, and the starting mode of the eMMC is more flexible.

Description

一种eMMC的启动方法、装置、设备及存储介质A startup method, device, equipment and storage medium of eMMC

技术领域technical field

本发明实施例涉及计算机技术领域,尤其涉及一种eMMC的启动方法、装置、设备及存储介质。Embodiments of the present invention relate to the field of computer technology, and in particular, to an eMMC startup method, device, device, and storage medium.

背景技术Background technique

目前,嵌入式多媒体控制器(Embedded Multi Media Card,eMMC)通常采用强制启动(Mandatory Boot)方式进行启动。即主控器(例如HOST控制器)上电后,首先拉低命令(Command,CMD)信号;eMMC检测到CMD信号为低时,如果eMMC的工作模式为待启动模式(pre-idle),则自动输出boot区的数据;主控器检测并采集boot数据,从而实现eMMC启动。Currently, an embedded multimedia controller (Embedded Multi Media Card, eMMC) is usually started in a mandatory boot (Mandatory Boot) manner. That is, after the main controller (such as the HOST controller) is powered on, it first pulls down the command (Command, CMD) signal; when the eMMC detects that the CMD signal is low, if the working mode of the eMMC is the pre-idle mode, then Automatically output the data in the boot area; the main controller detects and collects the boot data to realize eMMC startup.

其中,主控器拉低CMD信号后,如果eMMC的工作模式为pre-idle模式,eMMC则在1s内输出boot数据,然后连续输出多个boot数据,如果检测到主控器拉高CMD信号,则停止数据输出。在eMMC输出boot数据的过程中,主控器会按照固定的采样时序参数对boot数据进行采样。如果主控器采集的boot数据达到预设数据量之后,主控器将拉高CMD信号,以结束强制启动的流程。在此之后,主控器会对采集的多个boot数据进行校验,如果多个boot数据均通过校验,则认为eMMC启动成功,并对eMMC进行下一步操作(例如对eMMC进行进行读写操作等);如果存在boot数据没有通过校验,则认为eMMC启动失败。Among them, after the main controller pulls down the CMD signal, if the working mode of the eMMC is pre-idle mode, the eMMC will output boot data within 1s, and then output multiple boot data continuously. If it is detected that the main controller pulls up the CMD signal, data output is stopped. During the process of eMMC outputting boot data, the main controller will sample the boot data according to the fixed sampling timing parameters. If the boot data collected by the main controller reaches the preset data volume, the main controller will pull up the CMD signal to end the process of forced startup. After that, the main controller will check the multiple boot data collected. If multiple boot data pass the check, it is considered that the eMMC is started successfully, and the next step is performed on the eMMC (such as reading and writing to the eMMC operation, etc.); if there is boot data that fails to pass the verification, it is considered that the eMMC failed to start.

但是,主控器按照固定的采样时钟采集boot数据时,很有可能采集到错误的数据。图1a是主控制器对boot数据的采样示意图,如图1a所示,eMMC输出的boot数据分别为DATA0、DATA1……DATAn。以DATA0为例,当主控器对eMMC的采样时间落在boot数据对应的采样时间窗内时,就能采样到正确的数据。当主控器对eMMC的采样时间落在采样时间窗外,就会有很大概率采到错误的数据,在这种情况下,就认为eMMC启动失败。However, when the main controller collects boot data according to a fixed sampling clock, it is very likely to collect wrong data. Figure 1a is a schematic diagram of the sampling of boot data by the main controller. As shown in Figure 1a, the boot data output by eMMC are DATA0, DATA1...DATAn. Taking DATA0 as an example, when the sampling time of the main controller to eMMC falls within the sampling time window corresponding to the boot data, the correct data can be sampled. When the sampling time of the eMMC by the main controller falls outside the sampling time window, there is a high probability that wrong data will be collected. In this case, it is considered that the eMMC failed to start.

现有技术中,主控器所配置的采样时序参数是固定的,而不同厂家的eMMC芯片的时序参数并不相同。如果当前eMMC采用强制启动方式进行启动失败,则主控器会再次启动下一eMMC,直至找到时序参数与主控器采样时序参数相匹配的eMMC,容易造成eMMC产品报废的损失。In the prior art, the sampling timing parameters configured by the main controller are fixed, but the timing parameters of eMMC chips from different manufacturers are different. If the current eMMC fails to start using the forced startup method, the main controller will start the next eMMC again until it finds an eMMC whose timing parameters match the sampling timing parameters of the main controller, which may easily cause the loss of eMMC product scrapping.

发明内容Contents of the invention

本发明实施例提供一种eMMC的启动方法、装置、设备及存储介质,可以减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。Embodiments of the present invention provide an eMMC startup method, device, equipment, and storage medium, which can reduce losses caused by scrapped eMMC products and make the eMMC startup mode more flexible.

第一方面,本发明实施例提供了一种eMMC的启动方法,所述方法包括:In a first aspect, an embodiment of the present invention provides a method for starting an eMMC, the method comprising:

通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动;Control the target embedded multimedia controller eMMC to start for the first time through the main controller using forced startup;

如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;If it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller, and send a preset start command to the target eMMC through the main controller, so that the target eMMC according to The start command is used to start again;

如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;If the main controller receives the boot data output by the target eMMC within the preset time interval, then collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters;

通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。When determining that the target eMMC ends the output of the boot data by the main controller, a plurality of boot data collected is verified, and the startup result of the target eMMC is determined according to the verification result until it is determined that the target eMMC starts successfully.

第二方面,本发明实施例还提供了一种eMMC的启动装置,该装置包括:In the second aspect, the embodiment of the present invention also provides an eMMC startup device, which includes:

初次启动模块,用于通过主控器采用强制启动的方式,控制目标eMMC进行初次启动;The initial startup module is used to control the target eMMC to start for the first time through the main controller in a forced startup mode;

参数调整模块,用于如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;A parameter adjustment module, configured to adjust the sampling timing parameters corresponding to the main controller if it is determined that the target eMMC fails to start initially, and send a preset startup command to the target eMMC through the main controller to Make the target eMMC restart according to the startup command;

采集模块,用于如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;The acquisition module is used to collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters if the main controller receives the boot data output by the target eMMC within a preset time interval;

校验模块,用于通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。The verification module is used to verify the multiple boot data collected when the main controller determines that the target eMMC ends the output of the boot data, and determine the startup result of the target eMMC according to the verification result until the target is determined eMMC started successfully.

第三方面,本发明实施例还提供了一种计算机设备,该设备包括:In a third aspect, an embodiment of the present invention also provides a computer device, which includes:

一个或多个处理器;one or more processors;

存储装置,用于存储一个或多个程序;storage means for storing one or more programs;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例提供的一种eMMC的启动方法。When the one or more programs are executed by the one or more processors, the one or more processors are made to implement an eMMC startup method provided in any embodiment of the present invention.

第四方面,本发明实施例还提供了一种计算机可读存储介质,该存储介质上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例提供的一种eMMC的启动方法。In a fourth aspect, an embodiment of the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, an eMMC startup method provided in any embodiment of the present invention is implemented.

本发明实施例的技术方案通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,如果确定目标eMMC初次启动失败,则调整与主控器对应的采样时序参数,并通过主控器向目标eMMC发送启动命令,以使目标eMMC根据启动命令进行再次启动,如果主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集,最后通过主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功的技术手段,可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。In the technical solution of the embodiment of the present invention, the main controller adopts a forced start mode to control the target eMMC to start for the first time. If it is determined that the target eMMC fails to start for the first time, then adjust the sampling timing parameters corresponding to the main controller, and report to the main controller through the main controller. The target eMMC sends a startup command so that the target eMMC starts again according to the startup command. If the main controller receives the boot data output by the target eMMC within the preset time interval, it will output the target eMMC according to the adjusted sampling timing parameters. Multiple boot data are collected, and finally the main controller determines that when the target eMMC finishes outputting the boot data, the multiple boot data collected are verified, and the startup result of the target eMMC is determined according to the verification results until the target is determined The technical means of successful eMMC startup can avoid wasting a large amount of eMMC, reduce the loss caused by the scrapping of eMMC products, and make the startup method of eMMC more flexible.

附图说明Description of drawings

图1a是本发明实施例中的一种主控制器对boot数据的采样示意图;Fig. 1a is a schematic diagram of sampling boot data by a master controller in an embodiment of the present invention;

图1b是本发明实施例一中的一种eMMC的启动方法的流程图;Fig. 1b is a flowchart of a method for starting an eMMC in Embodiment 1 of the present invention;

图2a是本发明实施例二中的一种eMMC的启动方法的流程图;Fig. 2a is a flowchart of a method for starting an eMMC in Embodiment 2 of the present invention;

图2b是本发明实施例二中的另一种eMMC的启动方法的流程图;Fig. 2b is a flow chart of another eMMC startup method in Embodiment 2 of the present invention;

图3是本发明实施例三中的一种eMMC的启动装置的结构图;Fig. 3 is a structural diagram of a starting device of an eMMC in Embodiment 3 of the present invention;

图4是本发明实施例四中的一种计算机设备的结构示意图。FIG. 4 is a schematic structural diagram of a computer device in Embodiment 4 of the present invention.

具体实施方式Detailed ways

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。The present invention will be further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described here are only used to explain the present invention, but not to limit the present invention. In addition, it should be noted that, for the convenience of description, only some structures related to the present invention are shown in the drawings but not all structures.

实施例一Embodiment one

图1b为本发明实施例一提供的一种eMMC的启动方法的流程图,本实施例可适用于主控器对eMMC进行启动的情况,该方法可以由eMMC的启动装置来执行,该装置可以由软件和/或硬件来实现,一般可以集成在具有数据处理功能的计算机设备中,例如,终端设备或者服务器中,具体包括如下步骤:Figure 1b is a flow chart of a method for starting eMMC provided by Embodiment 1 of the present invention. This embodiment is applicable to the case where the main controller starts eMMC, and the method can be executed by a starting device for eMMC, which can be It is implemented by software and/or hardware, and generally can be integrated in a computer device with data processing functions, such as a terminal device or a server, and specifically includes the following steps:

步骤110、通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动。Step 110 : Control the target embedded multimedia controller eMMC to start up for the first time by means of forced startup by the main controller.

在本实施例中,主控器可以是具有数据处理和集中控制能力的控制设备,用于控制eMMC进行启动。其中,主控器可以采用强制启动(Mandatory Boot)的方式,控制目标eMMC进行启动。In this embodiment, the master controller may be a control device capable of data processing and centralized control, and is used to control the eMMC to start. Wherein, the main controller may control the target eMMC to start in a manner of mandatory boot (Mandatory Boot).

在一个具体的实施例中,通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,包括:对所述主控器进行上电,并通过所述主控器拉低预设的硬件信号,以使所述目标eMMC根据所述硬件信号,输出boot数据。In a specific embodiment, controlling the target eMMC to start for the first time through the main controller adopts a forced startup method, including: powering on the main controller, and pulling down the preset hardware through the main controller signal, so that the target eMMC outputs boot data according to the hardware signal.

其中,可以通过供电电源对所述主控器进行上电。主控器上电后,可以对主控器与目标eMMC之间的某一硬件信号进行拉低。目标eMMC检测到该硬件信号被拉低后,如果目标eMMC的工作模式为待启动模式(pre-idle),则可以自动输出boot数据。Wherein, the main controller may be powered on through a power supply. After the main controller is powered on, a certain hardware signal between the main controller and the target eMMC can be pulled down. After the target eMMC detects that the hardware signal is pulled low, if the working mode of the target eMMC is a pre-idle mode, it can automatically output boot data.

步骤120、如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动。Step 120, if it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller, and send a preset startup command to the target eMMC through the main controller, so that the The target eMMC starts again according to the startup command.

在本实施例中,可选的,如果目标eMMC检测到该硬件信号被拉低后,没有输出boot数据,也即,主控器没有接收到目标eMMC输出的boot数据时,则可以确定目标eMMC初次启动失败。In this embodiment, optionally, if the target eMMC detects that the hardware signal is pulled low and does not output boot data, that is, when the main controller does not receive the boot data output by the target eMMC, it can be determined that the target eMMC Initial startup failed.

在一个具体的实施例中,确定所述目标eMMC初次启动失败,包括:如果所述主控器在预设时间间隔内没有接收到目标eMMC在初次启动的过程中输出的boot数据,则确定所述目标eMMC初次启动失败;或者,如果所述主控器确定目标eMMC输出的boot数据没有通过校验,则确定所述目标eMMC初次启动失败。In a specific embodiment, determining that the target eMMC fails to start initially includes: if the main controller does not receive the boot data output by the target eMMC during the initial start process within a preset time interval, then determine that the target eMMC fails to start initially. The initial startup of the target eMMC fails; or, if the main controller determines that the boot data output by the target eMMC has not passed the verification, then it is determined that the initial startup of the target eMMC fails.

其中,主控器拉低所述硬件信号后,如果在预设时间间隔内没有接收到目标eMMC在初次启动的过程中输出的boot数据,则可以确定所述目标eMMC初次启动失败。具体的,主控器拉低所述硬件信号后,可以配置一个定时器,如果在所述定时器指定的时长内没有没有接收到目标eMMC在初次启动的过程中输出的boot数据,则可以确定所述目标eMMC初次启动失败。所述时长可以为1s,具体数值以实际情况进行预设,本实施例对此并不限制。Wherein, after the main controller pulls down the hardware signal, if the boot data output by the target eMMC during the initial startup process is not received within a preset time interval, it can be determined that the target eMMC fails to start initially. Specifically, after the main controller pulls down the hardware signal, a timer can be configured. If the boot data output by the target eMMC during the initial startup process is not received within the time specified by the timer, it can be determined The target eMMC failed to start initially. The duration may be 1s, and the specific value is preset according to the actual situation, which is not limited in this embodiment.

在本实施例中,主控器拉低所述硬件信号后,如果在预设时间间隔内接收到目标eMMC在初次启动的过程中输出的boot数据,则可以根据主控器中当前配置的采样时序参数对目标eMMC输出的多个boot数据进行采集,并在采集完成后,对采集到的多个boot数据分别进行循环冗余校验(Cyclic Redundancy Check,CRC),如果存在一个或多个boot数据没有通过CRC校验(也即校验失败),则可以确定所述目标eMMC初次启动失败。In this embodiment, after the main controller pulls down the hardware signal, if it receives the boot data output by the target eMMC during the initial startup process within a preset time interval, it can The timing parameter collects multiple boot data output by the target eMMC, and after the collection is completed, performs a cyclic redundancy check (Cyclic Redundancy Check, CRC) on the multiple boot data collected. If there are one or more boot If the data does not pass the CRC check (that is, the check fails), it can be determined that the target eMMC fails to start initially.

在一个具体的实施例中,eMMC输出的每个boot数据均由数据帧和CRC校验码组成,主控器采集到boot数据后,可以对每个boot数据中的数据帧进行CRC计算,将计算结果与所述boot数据中的CRC校验码进行比对,如果所述计算结果与所述CRC校验码一致,则可以确定所述boot数据通过CRC校验。In a specific embodiment, each boot data output by the eMMC is composed of a data frame and a CRC check code. After the main controller collects the boot data, it can perform CRC calculation on the data frame in each boot data, and the The calculation result is compared with the CRC check code in the boot data, and if the calculation result is consistent with the CRC check code, it can be determined that the boot data passes the CRC check.

在实际应用中,eMMC初次启动失败后,即使主控器继续拉低硬件信号,eMMC也不会根据该硬件信号输出boot数据。因此,在现有技术中,eMMC初次启动失败后,主控器会采用强制启动方式再次启动下一eMMC,直至找到时序参数与主控器采样时序参数相匹配的eMMC,也即找到启动成功的eMMC,这样的做法会浪费大量的eMMC,导致eMMC利用率较低。In practical applications, after the eMMC fails to start for the first time, even if the main controller continues to pull down the hardware signal, the eMMC will not output boot data according to the hardware signal. Therefore, in the prior art, after the eMMC fails to start for the first time, the main controller will start the next eMMC again in a forced start mode until it finds an eMMC whose timing parameters match the sampling timing parameters of the main controller, that is, finds an eMMC that starts successfully. eMMC, such an approach will waste a lot of eMMC, resulting in low utilization of eMMC.

为了解决上述问题,本实施例提出了在eMMC初次启动失败后,通过主控器采用可替代启动(Alternative Boot)方式,控制eMMC再次启动的实施方式。其中,为了避免主控器采集到错误的boot数据,主控器可以对当前配置的采样时序参数进行调整,然后采用可替代启动方式控制eMMC再次启动。具体过程为:主控器向所述目标eMMC发送预设的启动命令,目标eMMC接收到所述启动命令之后,输出boot数据。In order to solve the above problems, this embodiment proposes an implementation manner in which the main controller adopts an alternative boot (Alternative Boot) mode to control the eMMC to start again after the eMMC fails to start initially. Among them, in order to prevent the main controller from collecting wrong boot data, the main controller can adjust the currently configured sampling timing parameters, and then control the eMMC to start again by using an alternative startup method. The specific process is: the main controller sends a preset startup command to the target eMMC, and the target eMMC outputs boot data after receiving the startup command.

在一个具体的实施例中,对主控器当前配置的采样时序参数进行调整时,可以调整主控器的时钟沿与boot数据对应的采样时间窗之间的相位关系,或者调整主控器的调采样时钟。In a specific embodiment, when adjusting the sampling timing parameters currently configured by the main controller, the phase relationship between the clock edge of the main controller and the sampling time window corresponding to the boot data can be adjusted, or the Adjust the sampling clock.

步骤130、如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集。Step 130, if the main controller receives the boot data output by the target eMMC within a preset time interval, collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters.

在一个具体的施例中,主控器向目标eMMC发送启动命令后,可以配置一个定时器,如果在所述定时器指定的时长内接收到目标eMMC输出的boot数据,则可以根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集。所述时长可以为1s,具体数值以实际情况进行预设,本实施例对此并不限制。In a specific embodiment, after the main controller sends the start command to the target eMMC, a timer can be configured, and if the boot data output by the target eMMC is received within the time specified by the timer, the adjusted Sampling timing parameters to collect multiple boot data output by the target eMMC. The duration may be 1s, and the specific value is preset according to the actual situation, which is not limited in this embodiment.

其中,如果在所述时间间隔内,主控器没有接收到目标eMMC输出的boot数据,则可以返回执行步骤120的操作,直至主控器在所述时间间隔内接收到目标eMMC输出的boot数据。Wherein, if the main controller does not receive the boot data output by the target eMMC within the time interval, the operation of step 120 may be returned until the main controller receives the boot data output by the target eMMC within the time interval .

步骤140、通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。Step 140, when the main controller determines that the target eMMC finishes outputting the boot data, check the multiple boot data collected, and determine the start result of the target eMMC according to the check result until it is determined that the target eMMC starts successfully .

在一个具体的实施例中,如果目标eMMC结束对boot数据的输出,主控器可以对采集到的多个boot数据分别进行CRC校验,如果存在一个或多个boot数据没有通过CRC校验,则可以确定所述目标eMMC再次启动失败,并返回执行步骤120的操作,直至确定目标eMMC启动成功。In a specific embodiment, if the target eMMC finishes outputting the boot data, the main controller can perform CRC checks on the multiple boot data collected, and if there is one or more boot data that have not passed the CRC check, Then it may be determined that the target eMMC fails to start again, and return to the operation of step 120 until it is determined that the target eMMC starts successfully.

在本实施例中,对eMMC进行启动时,主控器通常会采用默认的启动方式(即强制启动方式),控制目标eMMC进行初次启动。如果启动失败,主控器将调整对应的采样时序参数,然后采用可替代启动方式控制目标eMMC进行再次启动。本实施例通过将强制启动方式与可替代启动方式进行结合,一方面可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失;另一方面可以使eMMC的启动方式更加灵活。In this embodiment, when starting the eMMC, the main controller usually adopts a default starting mode (ie, a forced starting mode) to control the target eMMC to start up for the first time. If the startup fails, the main controller will adjust the corresponding sampling timing parameters, and then use an alternative startup method to control the target eMMC to start again. In this embodiment, by combining the mandatory startup mode with the alternative startup mode, on the one hand, it can avoid wasting a large amount of eMMCs and reduce the loss caused by scrapped eMMC products; on the other hand, it can make the startup mode of the eMMC more flexible.

本发明实施例的技术方案通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,如果确定目标eMMC初次启动失败,则调整与主控器对应的采样时序参数,并通过主控器向目标eMMC发送启动命令,以使目标eMMC根据启动命令进行再次启动,如果主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集,最后通过主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功的技术手段,可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。In the technical solution of the embodiment of the present invention, the main controller adopts a forced start mode to control the target eMMC to start for the first time. If it is determined that the target eMMC fails to start for the first time, then adjust the sampling timing parameters corresponding to the main controller, and report to the main controller through the main controller. The target eMMC sends a startup command so that the target eMMC starts again according to the startup command. If the main controller receives the boot data output by the target eMMC within the preset time interval, it will output the target eMMC according to the adjusted sampling timing parameters. Multiple boot data are collected, and finally the main controller determines that when the target eMMC finishes outputting the boot data, the multiple boot data collected are verified, and the startup result of the target eMMC is determined according to the verification results until the target is determined The technical means of successful eMMC startup can avoid wasting a large amount of eMMC, reduce the loss caused by the scrapping of eMMC products, and make the startup method of eMMC more flexible.

实施例二Embodiment two

本实施例是对上述实施例的进一步细化,与上述实施例相同或相应的术语解释,本实施例不再赘述。图2a为本实施例二提供的一种eMMC的启动方法的流程图,在本实施例中,本实施例的技术方案可以与上述实施例的方案中的一种或者多种方法进行组合,如图2a所示,本实施例提供的方法还可以包括:This embodiment is a further refinement of the foregoing embodiments, and explanations of terms that are the same as or corresponding to those of the foregoing embodiments will not be repeated in this embodiment. Figure 2a is a flow chart of an eMMC startup method provided in Embodiment 2. In this embodiment, the technical solution of this embodiment can be combined with one or more methods in the solutions of the above embodiments, such as As shown in Figure 2a, the method provided in this embodiment may also include:

步骤210、通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动。Step 210 : Control the target embedded multimedia controller eMMC to start up for the first time by means of forced startup by the main controller.

步骤220、如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数。Step 220, if it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller.

步骤230、通过所述主控器向所述目标eMMC发送复位命令,以使所述目标eMMC根据所述复位命令进行复位。Step 230, sending a reset command to the target eMMC through the main controller, so that the target eMMC is reset according to the reset command.

在一个具体的实施例中,所述复位命令可以为0x00000000。In a specific embodiment, the reset command may be 0x00000000.

步骤240、通过所述主控器向所述目标eMMC发送模式设置命令,以使所述目标eMMC根据所述模式设置命令,将当前工作模式设置为待启动模式。Step 240: Send a mode setting command to the target eMMC through the main controller, so that the target eMMC sets the current working mode as the waiting mode according to the mode setting command.

在一个具体的实施例中,所述模式设置命令可以为0xF0F0F0F0。所述待启动模式(pre-idle)是指目标eMMC可以进入启动模式的工作模式。In a specific embodiment, the mode setting command may be 0xF0F0F0F0. The pre-idle mode refers to a working mode in which the target eMMC can enter the startup mode.

步骤250、通过所述主控器向所述目标eMMC发送数据传输命令,以使所述目标eMMC根据所述数据传输命令,输出多个boot数据。Step 250, sending a data transmission command to the target eMMC through the main controller, so that the target eMMC outputs a plurality of boot data according to the data transmission command.

在一个具体的实施例中,所述数据传输命令可以为0xFFFFFFFA。In a specific embodiment, the data transmission command may be 0xFFFFFFFA.

步骤260、如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集。Step 260, if the main controller receives the boot data output by the target eMMC within the preset time interval, collect multiple boot data output by the target eMMC according to the adjusted sampling timing parameters.

步骤270、通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。Step 270, when the main controller determines that the target eMMC finishes outputting the boot data, verify the multiple boot data collected, and determine the startup result of the target eMMC according to the verification result until it is determined that the target eMMC starts successfully .

在本实施例的一个实施方式中,通过所述主控器确定目标eMMC结束对boot数据的输出,包括:通过所述主控器判断采集到的多个boot数据的数量是否等于预设数值;若是,则通过所述主控器向所述目标eMMC发送预设的复位命令,以使所述目标eMMC根据所述复位命令进行复位。In an implementation manner of this embodiment, determining by the main controller that the target eMMC finishes outputting the boot data includes: judging by the main controller whether the quantity of multiple boot data collected is equal to a preset value; If so, send a preset reset command to the target eMMC through the main controller, so that the target eMMC is reset according to the reset command.

其中,如果主控器采集到的多个boot数据的数量等于预设数值,主控器则向目标eMMC发送复位命令(0x00000000),目标eMMC接收到所述复位命令后,根据所述复位命令进行复位,并结束对boot数据的输出。Wherein, if the quantity of a plurality of boot data collected by the main controller is equal to a preset value, the main controller sends a reset command (0x00000000) to the target eMMC, and after receiving the reset command, the target eMMC proceeds according to the reset command. Reset, and end the output of boot data.

在本实施例的一个实施方式中,通过所述主控器对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功,包括:通过所述主控器对采集到的多个boot数据进行校验,如果每个boot数据均通过校验,则确定目标eMMC启动成功;如果存在至少一个boot数据没有通过校验,则确定目标eMMC启动失败,并返回执行调整与所述主控器对应的采样时序参数,通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至确定目标eMMC启动成功。In one implementation of this embodiment, the plurality of boot data collected is verified by the main controller, and the startup result of the target eMMC is determined according to the verification result until it is determined that the startup of the target eMMC is successful, including: passing The main controller checks the multiple boot data collected, and if each boot data passes the check, it determines that the target eMMC starts successfully; if there is at least one boot data that does not pass the check, then it determines that the target eMMC starts Fail, and return to the operation of adjusting the sampling timing parameters corresponding to the main controller, and sending a preset start command to the target eMMC through the main controller, until it is determined that the target eMMC starts successfully.

在强制启动的方式中,eMMC只有检测到主控器拉低硬件信号,并且eMMC的工作模式为pre-idle时,才会输出boot数据。如果eMMC结束对boot数据的输出,eMMC则会离开pre-idle模式。在这种情况下,如果主控器想要再次获取目标eMMC中的boot数据时,强制启动的方式并不能支持eMMC输出boot数据。In the forced boot mode, eMMC will output boot data only when it detects that the main controller pulls down the hardware signal and the working mode of eMMC is pre-idle. If eMMC finishes outputting boot data, eMMC will leave pre-idle mode. In this case, if the main controller wants to obtain the boot data in the target eMMC again, the forced start method cannot support the eMMC to output the boot data.

为了解决上述问题,本实施例提出了在eMMC结束对boot数据的输出后,通过主控器采用可替代启动方式,控制eMMC再次输出boot数据的实施方式。In order to solve the above problems, this embodiment proposes an embodiment in which the eMMC is controlled to output the boot data again by using an alternative startup mode through the main controller after the eMMC finishes outputting the boot data.

在本实施例的一个实施方式中,在确定目标eMMC启动成功之后,还包括:如果所述主控制器需要再次获取目标eMMC中的boot数据时,则返回执行通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至主控器采集到的每个boot数据均通过校验。In an implementation manner of this embodiment, after determining that the target eMMC is started successfully, it further includes: if the main controller needs to obtain the boot data in the target eMMC again, then return execution to the The target eMMC sends a preset boot command until each boot data collected by the main controller passes the verification.

其中,不管目标eMMC处于何种工作模式,主控器都可以向目标eMMC发送启动命令,以使目标eMMC输出boot数据。Wherein, no matter what working mode the target eMMC is in, the main controller can send a startup command to the target eMMC, so that the target eMMC outputs boot data.

由此,在eMMC结束对boot数据的输出后,通过主控器采用可替代启动方式,控制eMMC再次输出boot数据,可以满足主控器多次获取boot数据的需求。Therefore, after the eMMC finishes outputting the boot data, the main controller adopts an alternative startup method to control the eMMC to output the boot data again, which can meet the requirement of the main controller to obtain the boot data multiple times.

本发明实施例的技术方案通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,如果确定目标eMMC初次启动失败,则调整与主控器对应的采样时序参数,通过主控器向目标eMMC发送复位命令、模式设置命令以及数据传输命令,以使目标eMMC输出多个boot数据,如果主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集,最后通过主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功的技术手段,可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。In the technical solution of the embodiment of the present invention, the main controller adopts a forced start mode to control the target eMMC to start for the first time. If it is determined that the target eMMC fails to start for the first time, then adjust the sampling timing parameters corresponding to the main controller, and send the target eMMC to the target through the main controller. The eMMC sends a reset command, a mode setting command, and a data transmission command to make the target eMMC output multiple boot data. If the host controller receives the boot data output by the target eMMC within a preset time interval, according to the adjusted sampling timing parameters , to collect multiple boot data output by the target eMMC, and finally, when the main controller determines that the target eMMC finishes outputting the boot data, verify the multiple collected boot data, and determine the target eMMC according to the verification result Starting results, until the technical means of determining the successful start of the target eMMC can avoid wasting a large amount of eMMC, reduce the loss caused by the scrapping of eMMC products, and make the starting method of eMMC more flexible.

为了更好的对本发明实施例提供的技术方案进行介绍,本发明实施例可以参考下述的实施方式,如图2b所示:In order to better introduce the technical solutions provided by the embodiments of the present invention, the embodiments of the present invention can refer to the following implementation manners, as shown in Figure 2b:

步骤1:通过主控器采用强制启动的方式,控制目标eMMC进行初次启动;Step 1: Control the target eMMC to start up for the first time through the main controller by means of forced startup;

步骤2:主控器在预设时间间隔内是否接收到目标eMMC输出的boot数据,若是,执行步骤3;若否,执行步骤9。Step 2: Whether the main controller receives the boot data output by the target eMMC within the preset time interval, if yes, perform step 3; if not, perform step 9.

步骤3:主控器根据当前配置的采样时序参数对目标eMMC输出的多个boot数据进行采集。Step 3: The main controller collects multiple boot data output by the target eMMC according to the currently configured sampling timing parameters.

步骤4:主控器采集到的多个boot数据的数量是否等于预设数值,若是,执行步骤5,若否,返回执行执行步骤3。Step 4: Whether the number of multiple boot data collected by the main controller is equal to the preset value, if yes, execute step 5, if not, return to execute step 3.

步骤5:主控器拉高预设的硬件信号,以使目标eMMC停止输出boot数据。Step 5: The main controller pulls up a preset hardware signal so that the target eMMC stops outputting boot data.

步骤6:主控器判断采集到的多个boot数据是否均通过CRC校验,若是,执行步骤7;若否,执行步骤9。Step 6: The main controller judges whether the multiple boot data collected pass the CRC check, if yes, execute step 7; if not, execute step 9.

步骤7:目标eMMC退出pre-idle模式,进入可读写模式,主控器对所述目标eMMC进行读写操作。Step 7: The target eMMC exits the pre-idle mode and enters the readable and writable mode, and the main controller performs read and write operations on the target eMMC.

步骤8:主控器确定是否需要再次获取boot数据,若是,执行步骤10;若否,返回执行步骤7中对所述目标eMMC进行读写的操作。Step 8: The main controller determines whether to obtain the boot data again, if yes, execute step 10; if not, return to execute the operation of reading and writing the target eMMC in step 7.

步骤9:调整与主控器对应的当前采样时序参数。Step 9: Adjust the current sampling timing parameters corresponding to the main controller.

步骤10:通过所述主控器向所述目标eMMC发送预设的启动命令,主控器采用可替代启动方式,控制目标eMMC启动。Step 10: The main controller sends a preset startup command to the target eMMC, and the main controller controls the startup of the target eMMC in an alternative startup mode.

步骤11:主控器在预设时间间隔内是否接收到目标eMMC输出的boot数据,若是,执行步骤12,若否,返回执行步骤9。Step 11: Whether the main controller receives the boot data output by the target eMMC within the preset time interval, if yes, execute step 12, if not, return to execute step 9.

步骤12:主控器根据调整后的采样时序参数对目标eMMC输出的多个boot数据进行采集。Step 12: The main controller collects multiple boot data output by the target eMMC according to the adjusted sampling timing parameters.

步骤13:主控器采集到的多个boot数据的数量是否等于预设数值,若是,执行步骤14,若否,返回执行执行步骤12。Step 13: Whether the number of multiple boot data collected by the main controller is equal to the preset value, if yes, execute step 14, if not, return to execute step 12.

步骤14:主控器向目标eMMC发送复位命令,以使所述目标eMMC根据所述复位命令进行复位,停止输出boot数据,结束可替代启动方式。Step 14: The main controller sends a reset command to the target eMMC, so that the target eMMC is reset according to the reset command, stops outputting boot data, and ends the alternative boot mode.

步骤15:主控器判断采集到的多个boot数据是否均通过CRC校验,若是,执行步骤16;若否,返回执行步骤9。Step 15: The main controller judges whether the multiple boot data collected pass the CRC check, if yes, execute step 16; if not, return to execute step 9.

步骤16:目标eMMC退出pre-idle模式,进入可读写模式,主控器对所述目标eMMC进行读写操作。Step 16: The target eMMC exits the pre-idle mode and enters the readable and writable mode, and the main controller performs read and write operations on the target eMMC.

步骤17:主控器确定是否需要再次获取boot数据,若是,执行步骤10;若否,返回执行步骤16中对所述目标eMMC进行读写的操作。Step 17: The main controller determines whether the boot data needs to be acquired again, if yes, execute step 10; if not, return to execute the operation of reading and writing the target eMMC in step 16.

本发明实施例提供的方法可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。The method provided by the embodiment of the present invention can avoid wasting a large amount of eMMCs, reduce the loss caused by scrapped eMMC products, and make the startup mode of eMMCs more flexible.

实施例三Embodiment Three

图3为本发明实施例三提供的一种eMMC的启动装置的结构图,该装置包括:初次启动模块310、参数调整模块320、采集模块330和校验模块340。FIG. 3 is a structural diagram of an eMMC start-up device provided by Embodiment 3 of the present invention. The device includes: an initial start-up module 310 , a parameter adjustment module 320 , an acquisition module 330 and a verification module 340 .

其中,初次启动模块310,用于通过主控器采用强制启动的方式,控制目标eMMC进行初次启动;Wherein, the initial startup module 310 is used to control the target eMMC to start for the first time by adopting a forced startup mode through the main controller;

参数调整模块320,用于如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;The parameter adjustment module 320 is used to adjust the sampling timing parameters corresponding to the main controller if it is determined that the target eMMC fails to start initially, and send a preset startup command to the target eMMC through the main controller, To make the target eMMC restart according to the startup command;

采集模块330,用于如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;The acquisition module 330 is used to collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters if the main controller receives the boot data output by the target eMMC within a preset time interval;

校验模块340,用于通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。The check module 340 is used to check the multiple boot data collected when the main controller determines that the target eMMC finishes outputting the boot data, and determines the startup result of the target eMMC according to the check result until it is determined Target eMMC started successfully.

本发明实施例的技术方案通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,如果确定目标eMMC初次启动失败,则调整与主控器对应的采样时序参数,并通过主控器向目标eMMC发送启动命令,以使目标eMMC根据启动命令进行再次启动,如果主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集,最后通过主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功的技术手段,可以避免浪费大量的eMMC,减少eMMC产品报废带来的损失,使eMMC的启动方式更加灵活。In the technical solution of the embodiment of the present invention, the main controller adopts a forced start mode to control the target eMMC to start for the first time. If it is determined that the target eMMC fails to start for the first time, then adjust the sampling timing parameters corresponding to the main controller, and report to the main controller through the main controller. The target eMMC sends a startup command so that the target eMMC starts again according to the startup command. If the main controller receives the boot data output by the target eMMC within the preset time interval, it will output the target eMMC according to the adjusted sampling timing parameters. Multiple boot data are collected, and finally the main controller determines that when the target eMMC finishes outputting the boot data, the multiple boot data collected are verified, and the startup result of the target eMMC is determined according to the verification results until the target is determined The technical means of successful eMMC startup can avoid wasting a large amount of eMMC, reduce the loss caused by the scrapping of eMMC products, and make the startup method of eMMC more flexible.

在上述各实施例的基础上,初次启动模块310,可以包括:On the basis of the above-mentioned embodiments, the initial start-up module 310 may include:

主控器上电单元,用于对所述主控器进行上电,并通过所述主控器拉低预设的硬件信号,以使所述目标eMMC根据所述硬件信号,输出boot数据。The main controller power-on unit is configured to power on the main controller, and pull down a preset hardware signal through the main controller, so that the target eMMC outputs boot data according to the hardware signal.

参数调整模块320,可以包括:The parameter adjustment module 320 may include:

第一启动结果确定单元,用于如果所述主控器在预设时间间隔内没有接收到目标eMMC在初次启动的过程中输出的boot数据,则确定所述目标eMMC初次启动失败;The first startup result determining unit is used to determine that the target eMMC fails to start initially if the main controller does not receive the boot data output by the target eMMC during the initial startup process within a preset time interval;

第二启动结果确定单元,用于如果所述主控器确定目标eMMC输出的boot数据没有通过校验,则确定所述目标eMMC初次启动失败;The second startup result determination unit is used to determine that the target eMMC fails to start initially if the main controller determines that the boot data output by the target eMMC has not passed the verification;

第一复位命令发送单元,用于通过所述主控器向所述目标eMMC发送复位命令,以使所述目标eMMC根据所述复位命令进行复位;A first reset command sending unit, configured to send a reset command to the target eMMC through the main controller, so that the target eMMC is reset according to the reset command;

设置命令发送单元,用于通过所述主控器向所述目标eMMC发送模式设置命令,以使所述目标eMMC根据所述模式设置命令,将当前工作模式设置为待启动模式;A setting command sending unit is used to send a mode setting command to the target eMMC through the main controller, so that the target eMMC sets the current working mode as a mode to be started according to the mode setting command;

传输命令发送单元,用于通过所述主控器向所述目标eMMC发送数据传输命令,以使所述目标eMMC根据所述数据传输命令,输出多个boot数据。A transmission command sending unit, configured to send a data transmission command to the target eMMC through the main controller, so that the target eMMC outputs a plurality of boot data according to the data transmission command.

校验模块340,可以包括:The verification module 340 may include:

数量判断单元,用于通过所述主控器判断采集到的多个boot数据的数量是否等于预设数值;Quantity judging unit, used for judging whether the quantity of multiple boot data collected by the main controller is equal to a preset value;

第二复位命令发送单元,用于主控器采集到的多个boot数据的数量等于预设数值时,通过所述主控器向所述目标eMMC发送预设的复位命令,以使所述目标eMMC根据所述复位命令进行复位;The second reset command sending unit is used to send a preset reset command to the target eMMC through the main controller when the number of multiple boot data collected by the main controller is equal to a preset value, so that the target eMMC resets according to the reset command;

多个boot数据校验单元,用于通过所述主控器对采集到的多个boot数据进行校验,如果每个boot数据均通过校验,则确定目标eMMC启动成功;A plurality of boot data verification units are used to verify a plurality of boot data collected by the main controller, and if each boot data passes the verification, it is determined that the target eMMC starts successfully;

返回执行单元,用于如果存在至少一个boot数据没有通过校验,则确定目标eMMC启动失败,并返回执行调整与所述主控器对应的采样时序参数,通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至确定目标eMMC启动成功;Returning to the execution unit is used to determine that the target eMMC fails to start if there is at least one boot data that fails to pass the verification, and returns to execute and adjust the sampling timing parameters corresponding to the main controller, and send the target to the target through the main controller. The operation of eMMC sending a preset start command until it is determined that the target eMMC starts successfully;

Boot数据获取单元,用于在确定目标eMMC启动成功之后,如果所述主控制器需要再次获取目标eMMC中的boot数据时,则返回执行通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至主控器采集到的每个boot数据均通过校验。The Boot data acquisition unit is used to return and perform sending preset information to the target eMMC through the main controller if the main controller needs to obtain the boot data in the target eMMC again after determining that the target eMMC starts successfully. Start the operation of the command until each boot data collected by the main controller passes the verification.

本发明实施例所提供的eMMC的启动装置可执行本发明任意实施例所提供的eMMC的启动方法,具备执行方法相应的功能模块和有益效果。The eMMC booting device provided in the embodiment of the present invention can execute the eMMC booting method provided in any embodiment of the present invention, and has corresponding functional modules and beneficial effects for executing the method.

实施例四Embodiment Four

图4为本发明实施例四提供的一种计算机设备的结构示意图,如图4所示,该计算机设备包括处理器410、存储器420、输入装置430和输出装置440;计算机设备中处理器410的数量可以是一个或多个,图4中以一个处理器410为例;计算机设备中的处理器410、存储器420、输入装置430和输出装置440可以通过总线或其他方式连接,图4中以通过总线连接为例。存储器420作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本发明任意实施例中的一种eMMC的启动方法对应的程序指令/模块(例如,一种eMMC的启动装置中的初次启动模块310、参数调整模块320、采集模块330和校验模块340)。处理器410通过运行存储在存储器420中的软件程序、指令以及模块,从而执行计算机设备的各种功能应用以及数据处理,即实现上述的一种eMMC的启动方法。也即,该程序被处理器执行时实现:FIG. 4 is a schematic structural diagram of a computer device provided in Embodiment 4 of the present invention. As shown in FIG. 4 , the computer device includes a processor 410, a memory 420, an input device 430, and an output device 440; The quantity can be one or more, and a processor 410 is taken as an example in FIG. Take the bus connection as an example. Memory 420, as a computer-readable storage medium, can be used to store software programs, computer-executable programs and modules, such as program instructions/modules corresponding to an eMMC startup method in any embodiment of the present invention (for example, an eMMC The initial startup module 310, the parameter adjustment module 320, the acquisition module 330 and the verification module 340) in the startup device. The processor 410 executes various functional applications and data processing of the computer device by running software programs, instructions and modules stored in the memory 420 , that is, implements the above-mentioned eMMC startup method. That is, the program, when executed by the processor, achieves:

通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动;Control the target embedded multimedia controller eMMC to start for the first time through the main controller using forced startup;

如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;If it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller, and send a preset start command to the target eMMC through the main controller, so that the target eMMC according to The start command is used to start again;

如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;If the main controller receives the boot data output by the target eMMC within the preset time interval, then collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters;

通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。When determining that the target eMMC ends the output of the boot data by the main controller, a plurality of boot data collected is verified, and the startup result of the target eMMC is determined according to the verification result until it is determined that the target eMMC starts successfully.

存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器420可进一步包括相对于处理器410远程设置的存储器,这些远程存储器可以通过网络连接至计算机设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。输入装置430可用于接收输入的数字或字符信息,以及产生与计算机设备的用户设置以及功能控制有关的键信号输入,可以包括键盘和鼠标等。输出装置440可包括显示屏等显示设备。The memory 420 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created according to the use of the terminal, and the like. In addition, the memory 420 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage devices. In some examples, the memory 420 may further include memory located remotely from the processor 410, and these remote memories may be connected to the computer device through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof. The input device 430 can be used to receive input numbers or character information, and generate key signal input related to user settings and function control of the computer equipment, and may include a keyboard and a mouse. The output device 440 may include a display device such as a display screen.

实施例五Embodiment five

本发明实施例五还提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所述方法。当然,本发明实施例所提供的一种计算机可读存储介质,其可以执行本发明任意实施例所提供的一种eMMC的启动方法中的相关操作。也即,该程序被处理器执行时实现:Embodiment 5 of the present invention also provides a computer-readable storage medium, on which a computer program is stored, and when the program is executed by a processor, the method described in any embodiment of the present invention is implemented. Certainly, a computer-readable storage medium provided in an embodiment of the present invention can perform related operations in a method for starting an eMMC provided in any embodiment of the present invention. That is, the program, when executed by the processor, achieves:

通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动;Control the target embedded multimedia controller eMMC to start for the first time through the main controller using forced startup;

如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;If it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller, and send a preset start command to the target eMMC through the main controller, so that the target eMMC according to The start command is used to start again;

如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;If the main controller receives the boot data output by the target eMMC within the preset time interval, then collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters;

通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。When determining that the target eMMC ends the output of the boot data by the main controller, a plurality of boot data collected is verified, and the startup result of the target eMMC is determined according to the verification result until it is determined that the target eMMC starts successfully.

通过以上关于实施方式的描述,所属领域的技术人员可以清楚地了解到,本发明可借助软件及必需的通用硬件来实现,当然也可以通过硬件实现,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如计算机的软盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(RandomAccess Memory,RAM)、闪存(FLASH)、硬盘或光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。Through the above description about the implementation mode, those skilled in the art can clearly understand that the present invention can be realized by means of software and necessary general-purpose hardware, and of course it can also be realized by hardware, but in many cases the former is a better implementation mode . Based on this understanding, the essence of the technical solution of the present invention or the part that contributes to the prior art can be embodied in the form of a software product, and the computer software product can be stored in a computer-readable storage medium, such as a floppy disk of a computer , read-only memory (Read-Only Memory, ROM), random access memory (Random Access Memory, RAM), flash memory (FLASH), hard disk or optical disc, etc., including several instructions to make a computer device (which can be a personal computer, A server, or a network device, etc.) executes the methods described in various embodiments of the present invention.

值得注意的是,上述一种eMMC的启动装置的实施例中,所包括的各个单元和模块只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。It is worth noting that, in the above-mentioned embodiment of an eMMC startup device, the included units and modules are only divided according to functional logic, but are not limited to the above-mentioned division, as long as the corresponding functions can be realized; In addition, the specific names of the functional units are only for the convenience of distinguishing each other, and are not used to limit the protection scope of the present invention.

注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。Note that the above are only preferred embodiments of the present invention and applied technical principles. Those skilled in the art will understand that the present invention is not limited to the specific embodiments described herein, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the protection scope of the present invention. Therefore, although the present invention has been described in detail through the above embodiments, the present invention is not limited to the above embodiments, and can also include more other equivalent embodiments without departing from the concept of the present invention, and the present invention The scope is determined by the scope of the appended claims.

Claims (10)

1.一种eMMC的启动方法,其特征在于,包括:1. A starting method of eMMC, characterized in that, comprising: 通过主控器采用强制启动的方式,控制目标嵌入式多媒体控制器eMMC进行初次启动;Control the target embedded multimedia controller eMMC to start for the first time through the main controller using forced startup; 如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;If it is determined that the target eMMC fails to start initially, adjust the sampling timing parameters corresponding to the main controller, and send a preset start command to the target eMMC through the main controller, so that the target eMMC according to The start command is used to start again; 如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;If the main controller receives the boot data output by the target eMMC within the preset time interval, then collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters; 通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。When determining that the target eMMC ends the output of the boot data by the main controller, a plurality of boot data collected is verified, and the startup result of the target eMMC is determined according to the verification result until it is determined that the target eMMC starts successfully. 2.根据权利要求1所述的方法,其特征在于,通过主控器采用强制启动的方式,控制目标eMMC进行初次启动,包括:2. The method according to claim 1, characterized in that, controlling the target eMMC to start for the first time by means of a forced start by the main controller, including: 对所述主控器进行上电,并通过所述主控器拉低预设的硬件信号,以使所述目标eMMC根据所述硬件信号,输出boot数据。Power on the main controller, and pull down a preset hardware signal through the main controller, so that the target eMMC outputs boot data according to the hardware signal. 3.根据权利要求2所述的方法,其特征在于,确定所述目标eMMC初次启动失败,包括:3. The method according to claim 2, wherein determining that the target eMMC fails to start initially comprises: 如果所述主控器在预设时间间隔内没有接收到目标eMMC在初次启动的过程中输出的boot数据,则确定所述目标eMMC初次启动失败;或者,If the main controller does not receive the boot data output by the target eMMC during the initial startup process within the preset time interval, it is determined that the target eMMC fails to start initially; or, 如果所述主控器确定目标eMMC输出的boot数据没有通过校验,则确定所述目标eMMC初次启动失败。If the main controller determines that the boot data output by the target eMMC has not passed the verification, it determines that the target eMMC fails to start initially. 4.根据权利要求1所述的方法,其特征在于,通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动,包括:4. The method according to claim 1, wherein, the main controller sends a preset start command to the target eMMC, so that the target eMMC starts again according to the start command, including : 通过所述主控器向所述目标eMMC发送复位命令,以使所述目标eMMC根据所述复位命令进行复位;Sending a reset command to the target eMMC through the main controller, so that the target eMMC is reset according to the reset command; 通过所述主控器向所述目标eMMC发送模式设置命令,以使所述目标eMMC根据所述模式设置命令,将当前工作模式设置为待启动模式;Send a mode setting command to the target eMMC through the main controller, so that the target eMMC sets the current working mode as the waiting mode according to the mode setting command; 通过所述主控器向所述目标eMMC发送数据传输命令,以使所述目标eMMC根据所述数据传输命令,输出多个boot数据。Sending a data transmission command to the target eMMC through the main controller, so that the target eMMC outputs a plurality of boot data according to the data transmission command. 5.根据权利要求1所述的方法,其特征在于,通过所述主控器确定目标eMMC结束对boot数据的输出,包括:5. The method according to claim 1, wherein, determining by the main controller that the target eMMC finishes outputting the boot data includes: 通过所述主控器判断采集到的多个boot数据的数量是否等于预设数值;judging by the main controller whether the quantity of multiple boot data collected is equal to a preset value; 若是,则通过所述主控器向所述目标eMMC发送预设的复位命令,以使所述目标eMMC根据所述复位命令进行复位。If so, send a preset reset command to the target eMMC through the main controller, so that the target eMMC is reset according to the reset command. 6.根据权利要求1所述的方法,其特征在于,通过所述主控器对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功,包括:6. The method according to claim 1, wherein the plurality of boot data collected is checked by the main controller, and the starting result of the target eMMC is determined according to the checking result until the target eMMC is determined to start success, including: 通过所述主控器对采集到的多个boot数据进行校验,如果每个boot数据均通过校验,则确定目标eMMC启动成功;A plurality of boot data collected is verified by the main controller, and if each boot data passes the verification, it is determined that the target eMMC starts successfully; 如果存在至少一个boot数据没有通过校验,则确定目标eMMC启动失败,并返回执行调整与所述主控器对应的采样时序参数,通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至确定目标eMMC启动成功。If there is at least one boot data that does not pass the verification, then determine that the target eMMC fails to start, and return to execute the adjustment of the sampling timing parameters corresponding to the main controller, and send a preset start to the target eMMC through the main controller The operation of the command until it is determined that the target eMMC starts successfully. 7.根据权利要求1所述的方法,其特征在于,在确定目标eMMC启动成功之后,还包括:7. The method according to claim 1, characterized in that, after determining that the target eMMC starts successfully, further comprising: 如果所述主控制器需要再次获取目标eMMC中的boot数据时,则返回执行通过所述主控器向所述目标eMMC发送预设的启动命令的操作,直至主控器采集到的每个boot数据均通过校验。If the main controller needs to obtain the boot data in the target eMMC again, return to the operation of sending a preset startup command to the target eMMC through the main controller until each boot data collected by the main controller The data are all verified. 8.一种eMMC的启动装置,其特征在于,包括:8. A starting device for eMMC, characterized in that, comprising: 初次启动模块,用于通过主控器采用强制启动的方式,控制目标eMMC进行初次启动;The initial startup module is used to control the target eMMC to start for the first time through the main controller in a forced startup mode; 参数调整模块,用于如果确定所述目标eMMC初次启动失败,则调整与所述主控器对应的采样时序参数,并通过所述主控器向所述目标eMMC发送预设的启动命令,以使所述目标eMMC根据所述启动命令,进行再次启动;A parameter adjustment module, configured to adjust the sampling timing parameters corresponding to the main controller if it is determined that the target eMMC fails to start initially, and send a preset startup command to the target eMMC through the main controller to Make the target eMMC restart according to the startup command; 采集模块,用于如果所述主控器在预设时间间隔内接收到目标eMMC输出的boot数据,则根据调整后的采样时序参数,对目标eMMC输出的多个boot数据进行采集;The acquisition module is used to collect a plurality of boot data output by the target eMMC according to the adjusted sampling timing parameters if the main controller receives the boot data output by the target eMMC within a preset time interval; 校验模块,用于通过所述主控器确定目标eMMC结束对boot数据的输出时,对采集到的多个boot数据进行校验,并根据校验结果确定目标eMMC的启动结果,直至确定目标eMMC启动成功。The verification module is used to verify the multiple boot data collected when the main controller determines that the target eMMC ends the output of the boot data, and determine the startup result of the target eMMC according to the verification result until the target is determined eMMC started successfully. 9.一种计算机设备,包括:9. A computer device comprising: 一个或多个处理器;one or more processors; 存储装置,用于存储一个或多个程序;storage means for storing one or more programs; 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器执行所述程序时实现如权利要求1-7中任一所述的eMMC的启动方法。When the one or more programs are executed by the one or more processors, so that the one or more processors execute the program, the eMMC startup method according to any one of claims 1-7 is realized . 10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的eMMC的启动方法。10. A computer-readable storage medium, on which a computer program is stored, characterized in that, when the program is executed by a processor, the method for starting the eMMC according to any one of claims 1-7 is realized.
CN202110896544.0A 2021-08-05 2021-08-05 eMMC starting method, device, equipment and storage medium Pending CN115705215A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110896544.0A CN115705215A (en) 2021-08-05 2021-08-05 eMMC starting method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110896544.0A CN115705215A (en) 2021-08-05 2021-08-05 eMMC starting method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
CN115705215A true CN115705215A (en) 2023-02-17

Family

ID=85178921

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110896544.0A Pending CN115705215A (en) 2021-08-05 2021-08-05 eMMC starting method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN115705215A (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN104182264A (en) * 2014-09-03 2014-12-03 福州瑞芯微电子有限公司 eMMC (embedded multi-media card) starting optimization method and device thereof
CN108196869A (en) * 2017-12-21 2018-06-22 北京京存技术有限公司 A kind of EMMC firmwares start method and apparatus
CN111208757A (en) * 2019-12-27 2020-05-29 中国航天科工集团八五一一研究所 eMMC main controller based on FPGA
CN112148649A (en) * 2020-09-03 2020-12-29 深圳市宏旺微电子有限公司 eMMC HS400 transmission mode realization method and device under u-boot system

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
CN104182264A (en) * 2014-09-03 2014-12-03 福州瑞芯微电子有限公司 eMMC (embedded multi-media card) starting optimization method and device thereof
CN108196869A (en) * 2017-12-21 2018-06-22 北京京存技术有限公司 A kind of EMMC firmwares start method and apparatus
CN111208757A (en) * 2019-12-27 2020-05-29 中国航天科工集团八五一一研究所 eMMC main controller based on FPGA
CN112148649A (en) * 2020-09-03 2020-12-29 深圳市宏旺微电子有限公司 eMMC HS400 transmission mode realization method and device under u-boot system

Similar Documents

Publication Publication Date Title
US10514930B2 (en) Setting a startup parameter and controlling startup of a mainboard
CN112732310B (en) Firmware upgrade method, system, device and medium based on embedded boot partition
TWI743395B (en) The method for updating firmware via remote utility、computer system and non-transitory computer-readable medium
US10691569B2 (en) System and method for testing a data storage device
WO2015051633A9 (en) Power failure processing method and system for storage system
CN108762797A (en) A kind of SSD firmwares online updating method, system and SSD
CN112433769A (en) BMC starting method and device, computer equipment and storage medium
CN107608828A (en) Method, system, device and the storage medium that data center's power down recovers automatically
CN115951949A (en) Method, device and computing device for recovering configuration parameters of BIOS
CN112506539B (en) Firmware updating method and device, electronic equipment and storage medium
CN118642763A (en) Server startup control method and device, storage medium and electronic device
CN107168740B (en) A terminal and a control method of its operating system
CN112083972A (en) A BMC system configuration method, apparatus, device and readable storage medium
TWI526934B (en) Method, apparatus, and computer program product for booting an information handling system
US20100153622A1 (en) Data Access Controller and Data Accessing Method
JP6599725B2 (en) Information processing apparatus, log management method, and computer program
CN115705215A (en) eMMC starting method, device, equipment and storage medium
CN116431230B (en) An operating system deployment method, device, computer equipment and storage medium
CN1331050C (en) Method for starting basic input and output system
CN117130673A (en) Startup control method and device
CN114443152B (en) Network wake-up boot method and computer equipment
WO2013097095A1 (en) Method for backing up startup information about storage device
CN1323361C (en) Processor system and method using multi memory of start-up procedure
CN113868128B (en) Method and device for testing PXE (PCI express) guide function and storage medium
CN102184115A (en) Method and device for updating system software

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
CB02 Change of applicant information

Address after: Room 102, Building 16, No. 1699, the Pearl River Road, Huangdao District, Qingdao, Shandong 266499

Applicant after: Chenxin Technology Co.,Ltd.

Address before: No.687 fusion Road, gugukou military civilian integration innovation demonstration area, Binhai street, Huangdao District, Qingdao City, Shandong Province 266500

Applicant before: Chenxin Technology Co.,Ltd.

CB02 Change of applicant information