eMMC固件升级方法、固件升级设备和存储装置与流程

文档序号:35894428发布日期:2023-10-28 21:40阅读:196来源:国知局
eMMC固件升级方法、固件升级设备和存储装置与流程

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


背景技术:

1、emmc(embedded multi media card)为mmc协会所订立的、主要是针对手机、平板、电脑等产品的内嵌式存储器标准规格,由一个嵌入式存储解决方案组成,带有mmc(多媒体卡)接口、快闪存储器(nand-flash)及emmc控制器。emmc的一个明显优势是在封装中集成了一个emmc控制器,它提供标准接口并管理闪存,使得手机厂商就能专注于产品开发的其它部分,并缩短向市场推出产品的时间。越来越多的移动设备采用emmc作为存储单元。

2、目前,基于安卓平台的固件软件升级基本都是在引导区(bootloader)进行,但是bootloader空间是非常有限的,一般是1m或者是2m。但是待升级固件较大时,往往无法存储在bootloader内,所以基于安卓平台的固件软件升级,通常把需要升级的固件数据放在bootloader通常是行不通的。


技术实现思路

1、本申请的目的是提供一种emmc固件升级方法、固件升级设备和存储装置,以提高基于安卓平台的emmc固件升级的可靠性。

2、本申请公开了一种基于安卓平台的emmc固件升级方法,包括步骤:

3、识别待升级固件的数据大小;

4、若所述待升级固件的数据小于预设值时,则下载并存储所述待升级固件至引导区中;

5、对emmc进行初始化后,读取所述引导区内的所述待升级固件,根据所述待升级固件对emmc进行固件升级;

6、若所述待升级固件的数据大于预设值时,则下载并存储所述待升级固件至安卓平台的只读分区中,并在所述引导区写入操作指令;

7、对emmc进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对emmc进行固件升级。

8、可选的,所述识别待升级固件的数据大小的步骤之前,包括:

9、获取emmc的待升级固件信息和固件信息;

10、将所述待升级固件信息和所述固件信息进行比较,得到比较结果;

11、若所述比较结果为所述待升级固件信息与所述固件信息不一致,则执行识别待升级固件的数据大小的步骤。

12、可选的,所述安卓平台的只读分区包括安卓平台的开机图标存储分区。

13、可选的,在所述下载并存储待升级固件的步骤之后,还包括:

14、对所述待升级固件的完整性进行校验;

15、若所述待升级固件具备完整性,则执行下一步;若所述待升级固件不具备完整性,则重新下载待升级固件。

16、可选的,对emmc进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对emmc进行固件升级,具体包括以下步骤:

17、执行重启操作,对emmc进行初始化后,进入固件升级模式;

18、执行引导区的操作指令,根据所述操作指令进行读取只读分区中的所述待升级固件,将所述待升级固件写入emmc的固件存储区;

19、执行固件升级后,退出固件升级模式。

20、可选的,所述待升级固件信息包括版本信息、文件信息或厂商代码信息。

21、可选的,所述待升级固件至少包括固件升级文件,所述固件升级文件存储在所述安卓平台的只读分区内。

22、本申请公开了一种基于安卓平台的emmc的固件升级设备,所述固件升级设备包括emmc和处理器,所述处理器与所述emmc连接;所述安卓平台设置有只读分区;所述处理器用于识别待升级固件的大小;若所述待升级固件小于预设值时,则下载并存储所述待升级固件至引导区中;对emmc进行初始化后,读取引导区内的待升级固件,根据所述待升级固件对emmc进行固件升级;若待升级固件大于预设值时,则下载并存储待升级固件至安卓平台的只读分区中,并在引导区写入操作指令;对emmc进行初始化后,执行引导区的操作指令,读取只读分区中的待升级固件,对emmc进行固件升级。

23、可选的,所述处理器用于指示所述emmc进入或退出ffu模式。

24、本申请公开了一种存储装置,所述存储装置用于存储程序数据,所述程序数据能够被执行以实现上述的emmc固件升级方法。

25、本申请通过区别较大的待升级固件和较小的待升级固件,且进行分别存储,将较小的待升级固件存储在引导区直接进行emmc固件升级,而较大的待升级固件则存储在安卓平台的只读分区中,在进行ffu升级时,通过引导区内预存的操作指令,读取只读分区中的待升级固件,对emmc进行ffu升级。本申请的优势在于,通过在引导区设置操作指令,读取可读分区的固件数据,解决了引导区的存储固件数据的空间不够问题。其次,该方法避免了在kernel的多线程会打断emmc固件升级,避免了kernel中的多线程影响,提高了本申请的emmc固件升级方案的可靠性,而且方便对emmc快速进行固件的更新。



技术特征:

1.一种基于安卓平台的emmc固件升级方法,其特征在于,包括步骤:

2.根据权利要求1所述的基于安卓平台的emmc固件升级方法,其特征在于,所述识别待升级固件的数据大小的步骤之前,包括步骤:

3.根据权利要求1所述的基于安卓平台的emmc固件升级方法,其特征在于,所述安卓平台的只读分区包括安卓平台的开机图标存储分区。

4.根据权利要求1所述的基于安卓平台的emmc固件升级方法,其特征在于,在所述下载并存储待升级固件的步骤之后,还包括:

5.根据权利要求1所述的基于安卓平台的emmc固件升级方法,其特征在于,对emmc进行初始化后,执行引导区的操作指令,根据所述操作指令读取所述只读分区中的所述待升级固件,根据所述待升级固件对emmc进行ffu升级,具体包括以下步骤:

6.根据权利要求2所述的基于安卓平台的emmc固件升级方法,其特征在于,所述待升级固件信息包括版本信息、文件信息或厂商代码信息。

7.根据权利要求2所述的基于安卓平台的emmc固件升级方法,其特征在于,所述待升级固件至少包括固件升级文件,所述固件升级文件存储在所述安卓平台的只读分区内。

8.一种基于安卓平台的emmc的固件升级设备,其特征在于,所述固件升级设备包括emmc和处理器,所述处理器与所述emmc连接;所述安卓平台设置有只读分区;所述处理器用于识别待升级固件的大小;

9.根据权利要求8所述的基于安卓平台的emmc的固件升级设备,其特征在于,所述处理器用于指示所述emmc进入或退出ffu模式。

10.一种存储装置,其特征在于,所述存储装置用于存储程序数据,所述程序数据能够被执行以实现权利要求1-7任意一项所述的emmc固件升级方法。


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

技术研发人员:伍思源,黄善勇,卢颖福
受保护的技术使用者:深圳市时创意电子有限公司
技术研发日:
技术公布日:2024/1/15
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1