emmc固件开发_eMMC固件升级方法、设备及存储装置_2017103128674_说明书_专利查询_专利网_钻瓜专利网...

技术领域

本发明涉及计算机技术领域,尤其是涉及一种eMMC的固件升级方法、固件升级设备及存储装置。

背景技术

eMMC(Embedded Multi Media Card)为MMC协会所订立的、主要是针对手机或平板电脑等产品的内嵌式存储器标准规格。由一个嵌入式存储解决方案组成,带有MMC(多媒体卡)接口、快闪存储器设备及主控制器。

eMMC已广泛的应用于电子设备中,但如果eMMC本身的固件存在问题,则很容易导致电子设备使用问题以及存储在eMMC中的数据安全问题,因此需要对eMMC的固件进行升级,以解决因固件导致的性能上的问题。

发明内容

本发明提供一种eMMC的固件升级方法、固件升级设备及存储装置,以解决现有技术中eMMC需要进行固件升级的问题。

为解决上述技术问题,本发明提供一种eMMC的固件升级方法,固件升级设备包括eMMC,固件升级设备能够连接于FOTA服务器,固件升级方法包括:从FOTA服务器获取待升级固件信息;比较待升级固件信息和eMMC的固件信息;若待升级固件信息和eMMC的固件信息不一致,则指示eMMC进入FFU模式;并从FOTA服务器下载待升级固件包,将待升级固件包写入处于FFU模式的eMMC中。

为解决上述技术问题,本发明又提供一种eMMC的固件升级设备,固件升级设备包括eMMC、处理器和通信器,处理器分别与通信器和eMMC连接,通信器用于连接于FOTA服务器,处理器用于:通过通信器从FOTA服务器获取待升级固件信息;比较待升级固件信息和eMMC的固件信息;若待升级固件信息和eMMC的固件信息不一致,则指示eMMC进入FFU模式;并从FOTA服务器下载待升级固件包,将待升级固件包写入处于FFU模式的eMMC中。

为解决上述技术问题,本发明还提供一种存储装置,存储装置用于存储程序数据,程序数据能够被执行以实现上述eMMC的固件升级方法。

本发明固件升级设备包括eMMC,固件升级设备能够连接于FOTA服务器,固件升级方法包括:从FOTA服务器获取待升级固件信息;比较待升级固件信息和eMMC的固件信息;若待升级固件信息和eMMC的固件信息不一致,则指示eMMC进入FFU模式;并从FOTA服务器下载待升级固件包,将待升级固件包写入处于FFU模式的eMMC中。本发明中的eMMC通过FOTA获取固件升级包,并在FFU模式中实现固件升级,简单方便。

附图说明

图1是本发明eMMC的固件升级方法一实施例的流程示意图;

图2是图1所示固件升级方法一实施例中eMMC、固件升级设备以及FOTA服务器的关系示意图;

图3是本发明eMMC的固件升级设备一实施例的结构示意图;

图4是图3所示固件升级设备一实施例与FOTA服务器的连接示意图;

图5是本发明存储装置一实施例的结构示意图。

具体实施方式

为使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施方式对本发明eMMC的固件升级方法、固件升级设备及存储装置做出进一步详细描述。

本发明固件升级方法是用于对eMMC进行固件升级,该方法中待升级固件包是通过FOTA的方式获取的,且进行固件升级时,eMMC处于FFU模式。

eMMC(Embedded Multi Media Card)由MMC协会所订立的、主要是针对手机或平板电脑等电子产品的内嵌式存储器标准规格。eMMC相当于一个嵌入式存储解决方案,包括MMC(多媒体卡)接口、存储器及控制器。将存储器和控制器封装集成,并提供一个标准接口即MMC接口。电子产品可通过标准接口直接使用eMMC,而无需处理其他存储设备存在的兼容或管理问题。因而电子产品厂商能够专注于产品开发的其他部分。

eMMC规格的标准以发展到eMMC5.0,eMMC5.0中定义了很多功能,包括FFU(Field Firmware Update)功能,通过FFU功能,eMMC所在的电子设备将新版本的固件下载到eMMC中,成功下载后,指示eMMC将新下载的固件安装到eMMC中。

FOTA(Firmware Over-The-Air)移动终端的空中下载软件升级,指通过云端升级技术,为具有连网功能的设备:例如手机、平板电脑、便携式媒体播放器、移动互联网设备等提供固件升级服务,用户使用网络以按需、易扩展的方式获取智能终端系统升级包,并通过FOTA进行云端升级,完成系统修复和优化。

本发明中eMMC设置于固件升级设备中,即固件升级设备包括eMMC,固件升级设备能够连接于FOTA服务器,固件升级设备能够利用FOTA技术对eMMC进行固件升级,且eMMC在进行固件升级时处于FFU模式。

具体请参阅图1和图2,图1是本发明eMMC的固件升级方法一实施例的流程示意图,图2是图1所示固件升级方法一实施例中eMMC、固件升级设备以及FOTA服务器的关系示意图。

固件升级设备100中包括eMMC11,固件升级设备100与FOTA服务器900无线连接,因此图2中的固件升级设备100与FOTA服务器900采用虚线连接。

基于以上eMMC、固件升级设备以及FOTA服务器的关系,本实施例eMMC的固件升级方法包括以下步骤。

S101:从FOTA服务器获取待升级固件信息。

FOTA服务器中可保存待升级固件包,待升级固件包可以由相关厂商写入。FOTA服务器中的待升级固件包则可通过FOTA的方式提供给用户。在本步骤S101中首先获取待升级固件信息,可以是待升级固件包的版本信息。

S102:比较待升级固件信息和eMMC的固件信息。

在S101中获取到待升级固件信息后,将其与eMMC的固件信息进行比较,以确定待升级固件信息是否与eMMC的固件信息一致,若一致,则认为当前eMMC的固件已升级到最新版本,若不一致,则认为eMMC需要进行固件升级。

本步骤S102中eMMC的固件信息通过指令进行获取,具体是发送CMD6指令给eMMC,从而读取eMMC中的寄存器ECSD[261:254]以获取固件信息。

在本步骤S102中比较待升级固件信息与eMMC的固件信息一致后,对eMMC进行固件升级,即进入步骤S103。

S103:指示eMMC进入FFU模式。

本步骤S103中通过发送CMD6指令给eMMC,以将ECSD[30]的值设置为0x01,从而进入FFU模式。

对于本步骤S103来说,在实现过程中,还包括检测eMMC是否支持FFU模式的步骤。在支持的情况下,才会指示eMMC进入FFU模式。

具体通过发送CMD8指令给eMMC,检测ECSD[493]的值是否为1,若为1,则认为eMMC支持FFU模式。进一步的,还可以检测ECSD[169]的值是否为0x0,若是,则认为eMMC可进行固件更新,即固件升级。

S104:从FOTA服务器下载待升级固件包,将待升级固件包写入处于FFU模式的eMMC中。

在指示eMMC进入FFU模式的同时,从FOTA服务器下载待升级固件包,即步骤S103和步骤S104是可以同时进行的。对于写入,本步骤中使用CMD23+CMD25的指令组合,也可使用CMD25+CMD12的指令组合,以将待升级固件包写入eMMC中。

对于整个写入过程,具体来说,首先,将待升级固件包的长度写入ECSD[61]中,从而获知数据块大小(DATA_SECTOR_SIZE),在此步骤中,eMMC可根据待升级固件包的大小,从而获知使用多少数据块来写入待升级固件包。

然后,开启写入操作,检测ECSD[490:487]中WRITE argument的值是否为0x0000FFFF,若是,则将ECSD[305:302]的值设置为0,并开始写入待升级固件包;若否,则ECSD[26](FFU status)的值设置为0x12,表示固件下载错误,对于eMMC来说,写入过程及下载过程。

在待升级固件包的写入过程中,若出现Reset重置操作或非FFU模式的指令,均认为是无效行为,不做处理。若出现断电或中止等情况,则回到步骤S103和步骤S104的开始,即重新开始步骤S103、S104。

为了节省写入时间,本实施例中还可根据待升级固件包生成待升级固件差分包,所谓差分包,仅包括与前一版本不同的部分,将待升级固件差分包写入处于FFU模式的eMMC中即可。

在完成待升级固件包的写入后,即进行步骤S105。

S105:指示eMMC退出FFU模式。

本步骤的实现是通过发送CMD6指令到eMMC,从而将ECSD[30]的值设置为0x00,以退出FFU模式。

在退出FFU模式之后,需要eMMC或固件升级设备被重启,eMMC中写入的待升级固件包才能被激活。


版权声明:本文为weixin_39651735原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。