买专利,只认龙图腾
首页 专利交易 科技果 科技人才 科技服务 商标交易 会员权益 IP管家助手 需求市场 关于龙图腾
 /  免费注册
到顶部 到底部
清空 搜索

【发明授权】一种EMMC固件启动方法和装置_北京兆易创新科技股份有限公司_201711401683.1 

申请/专利权人:北京兆易创新科技股份有限公司

申请日:2017-12-21

公开(公告)日:2021-02-19

公开(公告)号:CN108196869B

主分类号:G06F8/654(20180101)

分类号:G06F8/654(20180101);G06F11/07(20060101)

优先权:

专利状态码:有效-授权

法律状态:2021.02.19#授权;2018.07.17#实质审查的生效;2018.06.22#公开

摘要:本发明提供了一种EMMC固件启动方法。其中,所述方法包括:EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并保存所述第一启动参数;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。在本发明中,在EMMC无法从NAND启动固件时切换至EMMC前端总线启动固件,从而实现了对各种闪存颗粒型号的兼容且保证EMMC固件的正常启动。

主权项:1.一种EMMC固件启动方法,其特征在于,所述方法包括:EMMC引导程序从EMMC控制器中选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并将所述第一启动参数保存在EMMC控制器,在下次进行EMMC固件启动时,EMMC引导程序不再通过与主机连接的前端总线获取第一启动参数来启动固件,而直接实现EMMC固件的自启动;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤;所述第一启动参数指存储于主机寄存器的NAND闪存颗粒更新后的相关固件启动参数,以及原始NAND闪存颗粒未更新的相关固件启动参数,所述第一启动参数包括:第一启动页大小,第一启动定时模式,第一启动错误检查与纠正水平。

全文数据:_种EMMC固件启动方法和装置技术领域[0001]本发明涉及芯片技术领域,尤其涉及一种EMMC固件启动方法和装置。背景技术[0002]EMMCEmbeddedMultiMediaCard为MMC协会所订立的,主要是针对手机或平板电脑等产品的内嵌式存储器标准规格,由一个嵌入式存储解决方案组成,带有MMC多媒体卡接口,快闪存储器nand-flash及EMMC控制器。越来越多的移动设备采用四]^作为存储单元。[0003]在EMMC的快闪存储器nand-flash中,nand闪存中的颗粒型号更新很快,而EMMC控制器中的引导程序通常固化,不能对引导程序及时更新,容易出现闪存颗粒型号更新很快而引导程序未更新,而引导程序决定了EMMC固件的启动,造成EMMC固件无法启动的问题。发明内容[0004]鉴于上述问题,提出了本发明实施例以便提供一种克服上述问题的一种EMMC固件启动方法和相应的一种EMMC固件启动装置。[0005]为了解决上述问题,本发明实施例公开了一种EMMC固件启动方法,包括:[0006]EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;[0007]若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;[0008]EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数:[0009]EMMC引导程序利用所述第一启动参数从NAND上读取固件;[0010]若所述固件读取成功,则启动固件,并保存所述第一启动参数;[0011]若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。[0012]可选地,所述若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMC前端总线以对主机进行侦听,包括:[0013]若所述引导程序从NAND上启动固件失败,则所述引导程序通过所述EMMC前端总线向主机发送握手连接请求;[0014]基于所述握手连接请求,所述引导程序通过握手协议与主机建立连接。[0015]可选地,所述若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤,还包括:[0016]若EMMC引导程序在所述侦听模式内,超出预设时间阈值时接收不到所述第一启动参数,则固件启动失败。^[0017]可选地,所述EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数,包括:[0018]所述第一启动参数存储于主机寄存器中。[0019]可选地,所述第一启动参数存储于主机寄存器中,包括:[0020]所述第一启动参数包括:第一启动页大小,第一启动定时模式,第一启动错误检查与纠正水平。[0021]可选地,所述EMMC引导程序选取NAND原始启动参数,从NAND上启动固件,包括:[0022]EMMC引导程序选取NAND原始启动参数;[0023]基于选取的所述NAND原始启动参数,从NAND上读取固件;[0024]若所述固件读取成功,则启动固件;[0025]若所述固件读取失败,则执行所述EMMC引导程序选取NAND原始启动参数的步骤。[0026]可选地,所述若所述固件读取失败,则执行所述EMMC引导程序选取NAND原始启动参数的步骤,还包括:[0027]若所述引导程序尝试所有NAND原始启动参数后,从NAND上读取固件失败,则所述引导程序从NAND上启动固件失败。[0028]可选地,所述EMC引导程序选取NAND原始启动参数,包括:[0029]所述NAND原始启动参数存储于EMMC控制器中。[0030]可选地,所述NAND原始启动参数存储于EMMC控制器中,包括:[0031]所述NAND原始启动参数包括:原始页大小,原始定时模式,原始错误检查与纠正水平。[0032]相应的,本发明实施例还公开了一种EMMC固件启动装置,包括:[0033]自启动模块,用于EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;[0034]程序切换模块,用于若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;[0035]第一启动参数获取模块,用于EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;[0036]固件读取判断模块,用于EMMC引导程序利用所述第一启动参数从NAND上读取固件,并判断固件读取结果。[0037]本发明实施例包括以下优点:[0038]本发明实施例在启动EMMC固件时,EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并保存所述第一启动参数;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。在本发明实施例中,在EMMC无法从NAND启动固件时切换至EMMC前端总线启动固件,从而实现了对各种闪存颗粒型号的兼容且保证EMMC固件的正常启动。附图说明[0039]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。[0040]图1示出了本发明实施例一中的一种Emmc固件启动方法的流程图;[0041]图2示出了本发明实施例一中的EMMC从NAND上启动固件的流程图;[0042]图3示出了本发明实施例二中的一种EMMC固件启动方法的示意图;[0043]图4示出了本发明实施例二中的一种EMMC固件启动方法的交互图;[0044]图5示出了本发明实施例三中的一种EMMC固件启动装置的结构框图。具体实施方式[0045]实施例一[0046]参照图1,示出了本发明的一种EMMC固件启动方法的流程图,具体可以包括如下步骤:[0047]步骤1〇141^引导程序选取嫩勵原始启动参数,从嫩勵上启动固件。[0048]EMMC由EMMC控制器和存储器组成raw-nand组成,在EMMC控制器上带有MMC多媒体卡接口,通过丽C接口可以实现与外部主机的连接。E丽C的控制器中有EMMC引导程序,使用此引导程序可以实现对EMMC固件启动。其中,NAND为计算机闪存设备,NAND闪存是一种比硬盘驱动器更换的存储设备,在不超过4GB的低容量应用中表现得尤为明显。NAND闪存是一种非易失性存储技术,在断电后仍能保存数据。在EMMC的控制器中,保存了NAND原始的启动参数,即闪存颗粒未更新前的启动参数。由于在闪存颗粒型号更新后,EMMC的引导程序由于固化不能及时更新,此时EMMC引导程序仍使用NAND原始启动参数来启动固件。上述步骤可具体分为如下步骤:[0049]如图2,示出了本发明的一种EMMC从NAND上启动固件的流程图:[0050]S1011,EMMC引导程序选取NAND原始启动参数。[0051]若EMMC需要启动固件,则EMMC控制器中的EMMC引导程序需要利用NAND原始启动参数来启动固件。在本申请实施例中,NAND原始启动参数存储于EMMC控制器中,EMMC引导程序从EMMC控制器中获取原始NAND启动参数。NAND原始启动参数包括:原始页大小,原始定时模式,原始错误检查与纠正水平。即针对于不同的闪存颗粒型号,其页的大小,定时模式以及错误检查与纠正的水平均不同。在本申请实施例中,EMMC引导程序每次只选取一个NAND原始启动参数。[0052]S1012,基于选取的所述NAND原始启动参数,从NAND上读取固件。[0053]在本申请实施例中,E應C固件具有其对应的启动参数。MMC引导程序选取NAND原始启动参数后,就根据此NAND原始启动参数将固件进行读取。E麵C引导程序可通过向NAND发送读取命令来实现对固件的读取,也可通过其它有效方式实现固件的读取,本申请对此不做限制。[0054]S1013,若所述固件读取成功,则启动固件。[0055]若根据EMMC引导程序选取的NAND原始启动参数,在NAND中将固件成功读取出来,则EMMC引导程序启动固件,S卩EMMC固件启动成功。[0056]S1014,若所述固件读取失败,则执行所述EMMC引导程序选取NAND原始启动参数的步骤。[0057]若根据EMMC引导程序选取的NAND原始启动参数,在NAND中无法成功读取出来,则固件读取失败,此时EMMC引导程序重新从EMMC控制器中再选择一个NAND原始启动参数,利用重新选取的NAND原始启动参数尝试读取固件,直至EMMC固件读取成功为止。[0058]S1015,若所述引导程序尝试所有NAND原始启动参数后,从NAND上读取固件失败,则所述引导程序从NAND上启动固件失败。[0059]在本申请实施例中,由于EMMC引导程序在选取NAND原始启动参数时,每次只能选择一个NAND原始启动参数,而NAND原始启动参数有限。若在使用所有NAND原始启动参数尝试读取固件时,仍然读取固件失败,则可知此时E丽C控制器中所存储的NAND原始启动参数与NAND中闪存颗粒型号完全不匹配,EMMC固件不能完成自启动。此时,EMMC引导程序切换至EMMC前端总线以实现EMMC固件的启动。[0060]步骤102,若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听。[0061]若EMMC无法通过引导程序实现固件的自启动,则说明EMMC控制器中的NAND原始参数无法匹配NAND中闪存颗粒型号,此时EMMC引导程序可通过EMMC前端总线获取主机发送的第一启动参数。[0062]步骤l〇3,EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数。[0063]在本申请实施例中,第一启动参数指存储于主机寄存器的NAND闪存颗粒更新后的相关固件启动参数,以及原始NAND闪存颗粒未更新的相关固件启动参数。在NAND闪存颗粒型号发生更新后,主机就会将新的启动参数存储于寄存器中。第一启动参数中包含了更新后的相关固件的页的大小,定时模式以及错误检查与纠正水平。其中最基本的参数为页的大小,分区大小,块数目,每个块中页的数量。由于固件颗粒型号改变后,其页的大小等小关参数也会发生相应变化,所以主机中保存了所有固件颗粒型号的相关固件启动参数。[0064]步骤104,EMMC引导程序利用所述第一启动参数从NAND上读取固件。[0065]在EMMC引导程序获取第一启动参数后,就利用此参数尝试从NAND上读取固件。[0066]步骤105,若所述固件读取成功,则启动固件,并保存所述第一启动参数。[0067]步骤106,若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。[0068]上述步骤同EMMC从NAND上启动固件的方法类似。[0069]本发明实施例在启动E丽C固件时,E匪C引导程序选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并保存所述第一启动参数;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。在本发明实施例中,在EMMC无法从NAND启动固件时切换至EMMC前端总线启动固件,从而实现了对各种闪存颗粒型号的兼容且保证EMMC固件的正常启动。[0070]实施例二[0071]参照图3,示出了本发明的一种EMMC固件启动方法的流程图,具体可以包括如下步骤:[0072]步骤301,EMMC引导程序选取NAND原始启动参数,从NAND上启动固件。[0073]在本发明实施例中,E麵C引导程序从NAND上启动固件的方法请参照实施例一,具体实现过程不再赘述。[0074]步骤302,若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听。[0075]如图4可知,在EMMC引导程序从NAND上启动固件失败时,EMMC引导程序就切换至与主机的前端总线进行侦听,通过前端总线获取主机发送过来的启动参数数据,来实现固件的启动。上述步骤可具体分为如下步骤:[0076]S3021,若所述引导程序从NAND上启动固件失败,则所述引导程序通过所述EMMC前端总线向主机发送握手连接请求。[0077]在前述步骤若EMMC引导程序在尝试过所有的NAND原始启动参数后,仍然无法成功读取固件,即EMMC引导程序从NAND上启动固件就失败了。此时,EMMC引导程序切换至EMMC前端总线,通过前端总线向主机发送握手连接请求,以请求主机的配合。[0078]S3022,基于所述握手连接请求,所述引导程序通过握手协议与主机建立连接。[0079]EMMC引导程序可以通过握手协议实现与主机的连接,在EMMC引导程序发送握手连接请求时,就可以通过握手协议成功与主机实现连接。EMMC引导程序就可通过前端总线实现对主机的侦听。在本申请实施例中,对主机的侦听理解为EMMC引导程序通过前端总线侦听有没有启动参数发送过来。[0080]步骤303,EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数。[0081]在本申请实施例中,第一启动参数指存储于主机寄存器的NAND闪存颗粒更新后的相关固件启动参数,以及原始NAND闪存颗粒未更新的相关固件启动参数。在NAND闪存颗粒型号更新后,即将关于更新后的NAND闪存颗粒型号的相关固件启动参数存储于主机寄存器中,以应对EMMC无法从NAND启动固件,而EMMC引导程序又无法及时更新的突发情况。[0082]在本申请实施例中,第一启动参数包括:第一启动页大小,第一启动定时模式,第一启动错误检查与纠正水平。此时,第一启动参数与NAND原始启动参数不同,第一启动参数包含了NAND闪存颗粒更新后的相关固件启动参数。[0083]主机通过E匪C前端总线以设定的时间间隔向MMC引导程序逐个发送第一启动参数。此处需要说明的是,可以根据实际需要设置主机向EMMC引导程序发送第一启动参数的时间间隔,可以是5s,10s或其它时间间隔,本申请对此不做限制。[0084]步骤304,EMMC引导程序利用所述第一启动参数从NAND上读取固件。[0085]在EMMC引导程序从前端总线中获取到一个第一启动参数后,就利用此第一启动参数尝试从NAND上读取固件。[0086]步骤305,若所述固件读取成功,则启动固件,并保存所述第一启动参数。[0087]在本申请实施例中,若EMMC引导程序利用获取的第一启动参数从NAND上成功读取至I個件,则说明此第一启动参数与EMMC固件匹配,此时EMMC成功启动固件。同时,EMMC引导程序将此第一启动参数保存在EMMC控制器中,则在下次进行EMMC固件启动时,EMMC引导程序不再通过与主机连接的前端总线获取第一启动参数来启动固件,而是直接可以实现EMMC固件的自启动。[0088]步骤306,若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。[0089]若EMMC引导程序获取的此第一启动参数不能从NAND上成功读取到固件,则说明此第一启动参数与EMMC固件并不匹配。此时,EMMC引导程序继续接收主机通过前端总线发送过来的其它第一启动参数,重新尝试从NAND上读取固件,直至固件读取成功。[0090]步骤307,若EMMC引导程序在所述侦听模式内,超出预设时间阈值时接收不到所述第一启动参数,则固件启动失败。[0091]在本申请实施例中,由于主机在与EMMC引导程序建立连接后,每隔设定的时间间隔(如5s,10s就会发送一个第一启动参数给EMMC,而在发送完所有的第一启动参数后,主机寄存器中所存储的第一启动参数全部发送完毕,在设定的时间间隔内EMMC再也接收不到任何第一启动参数。而为了防止主机发送第一启动参数可能存在的延迟,则为EMMC引导程序的侦听模式设定预设时间阈值,如30s,对此不加以限定。预设时间阈值的设定远远大于主机发送给EMMC第一启动参数的设定时间间隔。如此可以保证EMMC引导程序不会错过任何一个使用第一启动参数尝试启动固件的机会。主机中寄存器存储的第一启动参数有限,而EMMC引导程序在获取所有的第一启动参数,来尝试从NAND上读取固件时仍然失败,则固件启动失败。即EMMC引导程序通过前端总线获取第一启动参数来进行EMC固件启动的方式也为失败。而EMMC引导程序若在侦听情况下,在超出预设时间阈值时,接收不到任何第一启动参数,则说明主机己将所有第一启动参数发送给了EMMC引导程序,再无其它第一启动参数可供EMMC引导程序尝试从NAND上读取参数,固件启动失败。[0092]本发明实施例在启动HMC固件时,E匪C引导程序选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述E匪C前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并保存所述第一启动参数;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。在本发明实施例中,在E丽C无法从NAND启动固件时切换至EMMC前端总线启动固件,从而实现了对各种闪存颗粒型号的兼容且保证EMMC固件的正常启动。[0093]实施例三[0094]参照图5,示出了本发明一种EMMC固件启动装置的结构框图,具体可以包括:[0095]自启动模块501,用于EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;[0096]程序切换模块502,用于若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;[0097]第一启动参数获取模块503,用于EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;[0098]固件读取判断模块5〇4,用于E丽C引导程序利用所述第一启动参数从NAND上读取固件,并判断固件读取结果。[0099]上述装置还包括:[0100]侦听模块505,用于让EMMC引导程序处于侦听模式内,弱超出预设时间阈值时接收不到所述第一启动参数,则固件启动失败。[0101]第一启动参数存储模块506,用于将所述第一启动参数存储于主机寄存器中,其中第一启动参数包括:第一启动页大小,第一启动定时模式,第一启动错误检查与纠正水平。[0102]其中,自启动模块501,包括:[0103]原始启动参数获取模块5011,用于EMMC引导程序选取NAND原始启动参数;[0104]固件读取模块5012,用于基于选取的所述NAND原始启动参数,从NAND上读取固件;[0105]判断模块5013,用于判断EMMC引导程序从NAND上读取固件的结果。[0106]原始启动参数存储模块5014,用于将NAND原始参数存储于EMMC控制器中,其中NAND原始启动参数包括:原始页大小,原始定时模式,原始错误检查与纠正水平。[0107]程序切换模块502,包括:[0108]请求发送模块5021,用于若所述引导程序从NAND上启动固件失败,则所述引导程序通过所述EMMC前端总线向主机发送握手连接请求;[0109]建立连接模块5〇22,用于基于所述握手连接请求,所述引导程序通过握手协议与主机建立连接。[0110]对于装置实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。[0111]本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。[0112]本领域内的技术人员应明白,本发明实施例的实施例可提供为方法、装置、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质包括但不限于磁盘存储器、CD-ROM、光学存储器等上实施的计算机程序产品的形式。[0113]本发明实施例是参照根据本发明实施例的方法、终端设备系统)、和计算机程序产品的流程图和或方框图来描述的。应理解可由计算机程序指令实现流程图和或方框图中的每一流程和或方框、以及流程图和或方框图中的流程和或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的装置。[01M]这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能。[0115]这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和或方框图一个方框或多个方框中指定的功能的步骤。[0116]尽管已描述了本发明实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明实施例范围的所有变更和修改。[0117]最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。[0118]以上对本发明所提供的一种EMMC固件启动方法和一种EMMC固件启动装置,进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

权利要求:1.一种EMMC固件启动方法,其特征在于,所述方法包括:EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;EMMC引导程序利用所述第一启动参数从NAND上读取固件;若所述固件读取成功,则启动固件,并保存所述第一启动参数;若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤。2.据权利要求1所述的方法,其特征在于,所述若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听,包括:若所述引导程序从NAND上启动固件失败,则所述引导程序通过所述EMMC前端总线向主机发送握手连接请求;基于所述握手连接请求,所述引导程序通过握手协议与主机建立连接。3.根据权利要求1所述的方法,其特征在于,所述若所述固件读取失败,则执行所述引导程序从所述EMMC前端总线接收主机发送的第一启动参数的步骤,还包括:若EMMC引导程序在所述侦听模式内,超出预设时间阈值时接收不到所述第一启动参数,则固件启动失败。4.根据权利要求1所述的方法,其特征在于,所述EMMC引导程序从所述MMC前端总线接收主机发送的第一启动参数,包括:所述第一启动参数存储于主机寄存器中。5.根据权利要求4所述的方法,其特征在于,所述第一启动参数存储于主机寄存器中,包括:所述第一启动参数包括:第一启动页大小,第一启动定时模式,第一启动错误检查与纠正水平。6.根据权利要求1所述的方法,其特征在于,所述EMMC引导程序选取NAND原始启动参数,从NAND上启动固件,包括:EMMC引导程序选取NAND原始启动参数;基于选取的所述NAND原始启动参数,从NAND上读取固件;若所述固件读取成功,则启动固件;若所述固件读取失败,则执行所述EMMC引导程序选取NAND原始启动参数的步骤。7.根据权利要求6所述的方法,其特征在于,所述若所述固件读取失败,则执行所述EMMC引导程序选取NAND原始启动参数的步骤,还包括:若所述引导程序尝试所有NAND原始启动参数后,从NAND上读取固件失败,则所述引导程序从NAND上启动固件失败。8.根据权利要求6所述的方法,其特征在于,所述EMMC引导程序选取NAND原始启动参数,包括:所述NAND原始参数存储于EMMC控制器中。9.根据权利要求8所述的方法,其特征在于,所述NAND原始启动参数存储于EMMC控制器中,包括:所述NAND原始启动参数包括:原始页大小,原始定时模式,原始错误检查与纠正水平。10.—种EMMC固件启动装置,其特征在于,所述装置包括:自启动模块,用于EMMC引导程序选取NAND原始启动参数,从NAND上启动固件;程序切换模块,用于若所述引导程序从NAND上启动固件失败,则所述引导程序切换至EMMC前端总线以对主机进行侦听;第一启动参数获取模块,用于EMMC引导程序从所述EMMC前端总线接收主机发送的第一启动参数;固件读取判断模块,用于EMMC引导程序利用所述第一启动参数从NAND上读取固件,并判断固件读取结果。

百度查询: 北京兆易创新科技股份有限公司 一种EMMC固件启动方法和装置

免责声明
1、本报告根据公开、合法渠道获得相关数据和信息,力求客观、公正,但并不保证数据的最终完整性和准确性。
2、报告中的分析和结论仅反映本公司于发布本报告当日的职业理解,仅供参考使用,不能作为本公司承担任何法律责任的依据或者凭证。