eMMC固件升级方法、固件升级设备和存储装置制造方法及图纸

技术编号:39250100 阅读:16 留言:0更新日期:2023-10-30 12:02
本申请公开了一种eMMC固件升级方法、固件升级设备和存储装置,基于安卓平台的eMMC固件升级方法包括步骤:识别待升级固件的数据大小;若所述待升级固件的数据小于预设值时,则下载并存储所述待升级固件至引导区中;对eMMC进行初始化后,读取所述引导区内的所述待升级固件,根据所述待升级固件对eMMC进行固件升级;若所述待升级固件的数据大于预设值时,则下载并存储所述待升级固件至安卓平台的只读分区中,并在所述引导区写入操作指令;对eMMC进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对eMMC进行固件升级。通过上述方案以提高基于安卓平台的eMMC固件升级的可靠性。件升级的可靠性。件升级的可靠性。

【技术实现步骤摘要】
eMMC固件升级方法、固件升级设备和存储装置


[0001]本申请涉及数据存储
,尤其涉及一种基于安卓平台的eMMC固件升级方法、固件升级设备和存储装置。

技术介绍

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

flash)及eMMC控制器。eMMC的一个明显优势是在封装中集成了一个eMMC控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。越来越多的移动设备采用eMMC作为存储单元。
[0003]目前,基于安卓平台的固件软件升级基本都是在引导区(BootLoader)进行,但是BootLoader空间是非常有限的,一般是1M或者是2M。但是待升级固件较大时,往往无法存储在BootLoader内,所以基于安卓平台的固件软件升级,通常把需要升级的固件数据放在BootLoader通常是行不通的。

技术实现思路

[0004]本申请的目的是提供一种eMMC固件升级方法、固件升级设备和存储装置,以提高基于安卓平台的eMMC固件升级的可靠性。
[0005]本申请公开了一种基于安卓平台的eMMC固件升级方法,包括步骤:
[0006]识别待升级固件的数据大小;
[0007]若所述待升级固件的数据小于预设值时,则下载并存储所述待升级固件至引导区中;
[0008]对eMMC进行初始化后,读取所述引导区内的所述待升级固件,根据所述待升级固件对eMMC进行固件升级;
[0009]若所述待升级固件的数据大于预设值时,则下载并存储所述待升级固件至安卓平台的只读分区中,并在所述引导区写入操作指令;
[0010]对eMMC进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对eMMC进行固件升级。
[0011]可选的,所述识别待升级固件的数据大小的步骤之前,包括:
[0012]获取eMMC的待升级固件信息和固件信息;
[0013]将所述待升级固件信息和所述固件信息进行比较,得到比较结果;
[0014]若所述比较结果为所述待升级固件信息与所述固件信息不一致,则执行识别待升级固件的数据大小的步骤。
[0015]可选的,所述安卓平台的只读分区包括安卓平台的开机图标存储分区。
[0016]可选的,在所述下载并存储待升级固件的步骤之后,还包括:
[0017]对所述待升级固件的完整性进行校验;
[0018]若所述待升级固件具备完整性,则执行下一步;若所述待升级固件不具备完整性,则重新下载待升级固件。
[0019]可选的,对eMMC进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对eMMC进行固件升级,具体包括以下步骤:
[0020]执行重启操作,对eMMC进行初始化后,进入固件升级模式;
[0021]执行引导区的操作指令,根据所述操作指令进行读取只读分区中的所述待升级固件,将所述待升级固件写入eMMC的固件存储区;
[0022]执行固件升级后,退出固件升级模式。
[0023]可选的,所述待升级固件信息包括版本信息、文件信息或厂商代码信息。
[0024]可选的,所述待升级固件至少包括固件升级文件,所述固件升级文件存储在所述安卓平台的只读分区内。
[0025]本申请公开了一种基于安卓平台的eMMC的固件升级设备,所述固件升级设备包括eMMC和处理器,所述处理器与所述eMMC连接;所述安卓平台设置有只读分区;所述处理器用于识别待升级固件的大小;若所述待升级固件小于预设值时,则下载并存储所述待升级固件至引导区中;对eMMC进行初始化后,读取引导区内的待升级固件,根据所述待升级固件对eMMC进行固件升级;若待升级固件大于预设值时,则下载并存储待升级固件至安卓平台的只读分区中,并在引导区写入操作指令;对eMMC进行初始化后,执行引导区的操作指令,读取只读分区中的待升级固件,对eMMC进行固件升级。
[0026]可选的,所述处理器用于指示所述eMMC进入或退出FFU模式。
[0027]本申请公开了一种存储装置,所述存储装置用于存储程序数据,所述程序数据能够被执行以实现上述的eMMC固件升级方法。
[0028]本申请通过区别较大的待升级固件和较小的待升级固件,且进行分别存储,将较小的待升级固件存储在引导区直接进行eMMC固件升级,而较大的待升级固件则存储在安卓平台的只读分区中,在进行FFU升级时,通过引导区内预存的操作指令,读取只读分区中的待升级固件,对eMMC进行FFU升级。本申请的优势在于,通过在引导区设置操作指令,读取可读分区的固件数据,解决了引导区的存储固件数据的空间不够问题。其次,该方法避免了在Kernel的多线程会打断eMMC固件升级,避免了Kernel中的多线程影响,提高了本申请的eMMC固件升级方案的可靠性,而且方便对eMMC快速进行固件的更新。
附图说明
[0029]所包括的附图用来提供对本申请实施例的进一步的理解,其构成了说明书的一部分,用于例示本申请的实施方式,并与文字描述一起来阐释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:
[0030]图1是本申请的一种基于安卓平台的eMMC固件升级方法的步骤示意图;
[0031]图2是本申请的另一种基于安卓平台的eMMC固件升级方法的步骤示意图;
[0032]图3是本申请的又一种基于安卓平台的eMMC固件升级方法的步骤示意图;
[0033]图4是本申请的又一种基于安卓平台的eMMC固件升级方法的步骤示意图;
[0034]图5是本申请的一种基于安卓平台的eMMC的固件升级设备的示意图。
具体实施方式
[0035]需要理解的是,这里所使用的术语、公开的具体结构和功能细节,仅仅是为了描述具体实施例,是代表性的,但是本申请可以通过许多替换形式来具体实现,不应被解释成仅受限于这里所阐述的实施例。
[0036]下面参考附图和可选的实施例对本申请作详细说明。
[0037]本申请固件升级方法适用于安卓平台的eMMC固件升级方法。在嵌入式操作系统中,例如安卓平台中,引导区(BootLoader)是在操作系统内核运行之前运行。可以初始化硬件设备、建立内存空间映射图,从而将系统的软硬件环境带到一个合适状态,以便为最终调用操作系统内核准备好正确的环境。BootLoader是一个小型的程序,它是在系统启动时运行的第一个程序,负责启动操作系统内核。在安卓(Android)设备中,Boo本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于安卓平台的eMMC固件升级方法,其特征在于,包括步骤:识别待升级固件的数据大小;若所述待升级固件的数据小于预设值时,则下载并存储所述待升级固件至引导区中;对eMMC进行初始化后,读取所述引导区内的所述待升级固件,根据所述待升级固件对eMMC进行固件升级;若所述待升级固件的数据大于预设值时,则下载并存储所述待升级固件至安卓平台的只读分区中,并在所述引导区写入操作指令;对eMMC进行初始化后,执行所述引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对eMMC进行固件升级。2.根据权利要求1所述的基于安卓平台的eMMC固件升级方法,其特征在于,所述识别待升级固件的数据大小的步骤之前,包括步骤:获取eMMC的待升级固件信息和固件信息;将所述待升级固件信息和所述固件信息进行比较,得到比较结果;若所述比较结果为所述待升级固件信息与所述固件信息不一致,则执行识别待升级固件的数据大小的步骤。3.根据权利要求1所述的基于安卓平台的eMMC固件升级方法,其特征在于,所述安卓平台的只读分区包括安卓平台的开机图标存储分区。4.根据权利要求1所述的基于安卓平台的eMMC固件升级方法,其特征在于,在所述下载并存储待升级固件的步骤之后,还包括:对所述待升级固件的完整性进行校验;若所述待升级固件具备完整性,则执行下一步;若所述待升级固件不具备完整性,则重新下载待升级固件。5.根据权利要求1所述的基于安卓平台的eMMC固件升级方法,其特征在于,对eMMC进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对...

【专利技术属性】
技术研发人员:伍思源黄善勇卢颖福
申请(专利权)人:深圳市时创意电子有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1