一种控制不同容量的存储器的方法及装置的制造方法_4

文档序号:9375486阅读:来源:国知局
始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息。
[0086]需要说明的是,存储器的实际容量可能是8G,也可能是16G。
[0087]504、将容量标识更新为与存储器的实际容量对应的值。
[0088]具体的,在存储器的实际容量为SG的情况下,将容量标识更新为O ;在存储器的实际容量为SG的情况下,将容量标识更新为I。
[0089]505、根据更新后的容量标识从至少两种容量对应的分区表中确定出目标分区表。
[0090]具体的,在容量标识更新为O的情况下,从首地址读取SG分区表;在容量标识更新为I的情况下,从末地址读取16G分区表。
[0091]506、从配置文件中获取与目标分区表对应的用户数据分区镜像文件的位置信息。
[0092]具体的,根据8G分区表或者16G分区表确定出userdata分区的位置,然后从userdata分区的首地址处获取配置文件,然后根据配置文件确定出8G userdata.1mg或者16G userdata.1mg 的位置信息。
[0093]507、根据与目标分区表对应的用户数据分区镜像文件的位置信息获取与目标分区表对应的用户数据分区镜像文件。
[0094]具体的,利用从配置文件中确定出的用户数据分区文件的位置信息,从存储器中的对应位置获取 8G userdata.1mg 或者 16G userdata.1mgo
[0095]508、将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区。
[0096]具体的,将8G userdata.1mg或者16G userdata.1mg拷贝至内存中,将8Guserdata.1mg或者16G userdata.1mg解析成ext4格式,将解析后的文件存储至userdata分区。
[0097]509、将存储器的实际容量信息传递给内核,以使得内核根据实际容量信息读取目标分区表。
[0098]具体的,利用命令行(co_and line)将存储器的实际容量传递给内核。
[0099]510、在智能终端不是第一次开机的情况下,根据容量标识读取目标分区表。
[0100]需要说明的是,在第一次开机的过程中,就将存储器的目标分区表的位置信息进行保存,在之后的开机过程中,直接通过已存储的目标分区表的位置信息读取目标分区表。
[0101]具体的,由于第一次开机之后容量标识为O或1,在之后的开机过程中,确定出容量标识不是默认值2,判断出智能终端不是第一次开机的过程,此时直接根据容量标识获取目标分区表。
[0102]511、根据目标分区表控制智能终端运行。
[0103]具体的,在智能终端开机过程中以及开机后的运行过程中,利用目标分区表控制智能终端运行。
[0104]本发明实施例提供了一种控制不同容量的存储器的方法,在智能终端是第一次开机的情况下,在根据容量标识的默认值对应的分区表所指示的BOOTLOADER分区中,获取BOOTLOADER程序;控制开始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息;将容量标识更新为与存储器的实际容量对应的值;根据更新后的容量标识从至少两种容量对应的分区表中确定出目标分区表;从配置文件中获取与目标分区表对应的用户数据分区镜像文件的位置信息;根据与目标分区表对应的用户数据分区镜像文件的位置信息获取与目标分区表对应的用户数据分区镜像文件;将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区;将存储器的实际容量信息传递给内核,以使得内核根据实际容量信息读取目标分区表。在智能终端不是第一次开机的情况下,根据目标分区表控制智能终端运行。这样,利用了不同容量的存储器中BOOTLOADER分区相同,并且执行BOOTLOADER程序可以在不涉及其他分区的情况下获取存储器的实际容量,从而可以根据存储器的实际容量匹配出目标分区表,然后利用目标分区表完成对userdata分区的安装,使得可以在预先不确定存储器的实际容量的情况下,使用同一安装程序完成对不同容量的存储器进行安装。进一步的,通过设置存储有至少两种容量对应的用户数据分区镜像文件的位置信息的配置文件,安装程序中不用再记录不同容量对应的用户数据分区镜像文件的位置信息,只需要记录配置文件的位置信息,从而简化了安装程序。同时通过设置容量标识,使得智能终端在之后的运行过程中,可以不用再判断存储器的实际容量,而是直接利用目标分区表控制智能终端正常运行。
[0105]实施例四
[0106]图6为本发明实施例提供的一种智能终端的功能示意图。
[0107]该智能终端的存储器中存储有至少两个分区表以及各分区表对应的用户数据分区镜像文件;其中,至少两个分区表中各分区表分别对应不同的存储器容量。
[0108]参考图6所示,该智能终端包括:获取单元601、控制单元602、安装单元603。
[0109]获取单元601,用于在智能终端第一次开机时,在至少两个分区表中的任一分区表所指示的启动装载BOOTLOADER分区中,获取BOOTLOADER程序。
[0110]优选的,获取单元601,具体用于在至少两个分区表中对应的存储器容量最小的分区表所指示的BOOTLOADER分区中,获取BOOTLOADER程序。
[0111]控制单元602,用于控制开始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息。
[0112]获取单元601,还用于从至少两个分区表中,读取与存储器的实际容量信息对应的目标分区表。
[0113]安装单元603,用于将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区。
[0114]进一步的,该智能终端还可以包括:处理单元604 ;
[0115]处理单元604,用于将存储器的实际容量信息传递给内核,以使得内核根据实际容量信息读取目标分区表。
[0116]进一步的,智能终端的存储器中还存储有配置文件;配置文件用于存储各分区表对应的用户数据分区镜像文件的位置信息;
[0117]安装单元603,具体用于从配置文件中获取与目标分区表对应的用户数据分区镜像文件的位置信息;根据与目标分区表对应的用户数据分区镜像文件的位置信息获取与目标分区表对应的用户数据分区镜像文件;将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区。
[0118]进一步的,智能终端设置有容量标识;容量标识用于指示智能终端读取的分区表;
[0119]获取单元601,具体用于在根据容量标识的默认值对应的分区表所指示的BOOTLOADER分区中,获取BOOTLOADER程序;容量标识的默认值用于指示智能终端读取的分区表为至少两个分区表中的任一分区表;
[0120]处理单元604,还用于将容量标识更新为与存储器的实际容量对应的值;
[0121]获取单元601,具体用于从至少两个分区表中,读取与更新后的容量标识对应的目标分区表。
[0122]获取单元601,还用于在智能终端非第一次开机时,根据容量标识读取目标分区表;
[0123]处理单元604,还用于根据目标分区表控制智能终端运行。
[0124]智能终端的存储器中存储有两种存储器容量对应的分区表;其中一个分区表的起始地址为存储器的首地址,另一分区表的结束地址为存储器的末地址。
[0125]本发明实施例提供了一种智能终端,智能终端的存储器中存储有至少两个分区表以及各分区表对应的用户数据分区镜像文件;其中,至少两个分区表中各分区表分别对应不同的存储器容量;获取单元,用于在智能终端第一次开机时,在至少两个分区表中的任一分区表所指示的启动装载BOOTLOADER分区中,获取BOOTLOADER程序;控制单元,用于控制开始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息;获取单元,还用于从至少两个分区表中,读取与存储器的实际容量信息对应的目标分区表;安装单元,用于将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区。这样,利用了不同容量的存储器中BOOTLOADER分区相同,并且执行BOOTLOADER程序可以在不涉及其他分区的情况下获取存储器的实际容量,从而可以根据存储器的实际容量匹配出目标分区表,然后利用目标分区表
当前第4页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1