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

文档序号:9375486阅读:来源:国知局
ER 程序。
[0050]其中,容量标识的默认值用于指示智能终端读取的分区表为至少两个分区表中的任一分区表。
[0051]具体的,根据开机标识确定出智能终端是第一次开机时,根据容量标识的默认值确定出需要使用的分区表,然后根据程序中记录的分区表的存储位置,从首地址或者末地址处获取分区表,从该分区表中获取到BOOTLOADER分区在存储器中的位置,从BOOTLOADER分区中获取BOOTLOADER分区镜像文件,并将该镜像文件安装至BOOTLOADER分区。
[0052]302、控制开始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息O
[0053]具体的,可参考步骤202,在此不再赘述。
[0054]303、将容量标识更新为与存储器的实际容量对应的值。
[0055]需要说明的是,为了保证在确定实际容量后,智能终端能够使用与实际容量对应的目标分区表,所以需要将容量标识更新为与实际容量对应的值。
[0056]示例性的,存储器中只存储有两种容量对应的分区表,容量标识的可选值可以有两种,即O或1,其中,容量标识为O代表较小容量对应的分区表,容量标识为I代表较大容量对应的分区表。容量标识的默认值为O。若在步骤302中确定出存储器的实际容量是两个容量中的较小值,则不更改容量标识;若在步骤302中确定出存储器的实际容量是两个容量中的较大值,则将更改容量标识更新为I。
[0057]304、从至少两个分区表中,读取与更新后的容量标识对应的目标分区表。
[0058]具体的,根据实际容量对应的容量标识,从容量标识与分区表之间对应关系中确定出目标分区表,并读取目标分区表。
[0059]305、从配置文件中获取与目标分区表对应的用户数据分区镜像文件的位置信息。
[0060]需要说明的是,该位置信息包括用户数据分区镜像文件的存储位置、大小以及格式等。
[0061]具体的,从安装程序中获取配置文件在存储器中的存储位置。然后到存储器的对应位置查找到配置文件,然后根据容量标识,从配置文件中确定出与实际容量对应的用户数据分区镜像文件的位置信息。
[0062]可选的,可以将配置文件存储在userdata分区中的首地址处,这样安装程序中就不用记录配置文件的存储位置,只需要在获取到目标分区表后,直接从目标分区表中记录的userdata分区的首地址处读取配置文件。
[0063]306、根据与目标分区表对应的用户数据分区镜像文件的位置信息获取与目标分区表对应的用户数据分区镜像文件。
[0064]具体的,根据步骤305中获取出的位置信息,从该配置信息指示的位置处查找到需要的用户数据分区镜像文件。
[0065]307、将目标分区表对应的用户数据分区镜像文件安装至由目标分区表确定出的用户数据分区。
[0066]具体的,将步骤306中确定出的用户数据分区镜像文件拷贝至内存中,解析用户数据分区镜像文件,将解析后的文件存储至userdata分区。
[0067]需要说明的是,在安装userdata分区的过程中,可以将配置文件和所有用户数据分区镜像文件删除。
[0068]需要说明的是,在将userdata分区安装完成之后,还需要将开机标识设置重新设置,以便在后来的开机过程中,能够通过开机标识判断出不是第一次开机。
[0069]308、将存储器的实际容量信息传递给内核,以使得内核根据实际容量信息读取目标分区表。
[0070]具体的,由于内核启动后需要使用userdata分区中的数据,所以需要存储器的实际容量信息传输给内核,以保证内核能够正确的获取userdata分区中的数据。
[0071]需要说明的是,将存储器的实际容量信息传输至内存的方法,可以是通过共享内存的方式传输,也可以是通过命令行的方式传输。
[0072]需要说明的是,也可以将目标分区表的位置信息传递给内核,以使得内核能够传递的位置信息获取到与实际容量对应的分区表。还可以将容量标识设置在共享内存中,通过共享内存的方式使得内核能够读取到容量标识,从而根据容量标识获取到目标分区表。
[0073]本发明实施例提供了一种控制不同容量的存储器的方法,在智能终端第一次开机时,在根据容量标识的默认值对应的分区表所指示的BOOTLOADER分区中,获取BOOTLOADER程序;控制开始执行BOOTLOADER程序,以便BOOTLOADER程序获取存储器的实际容量信息;将容量标识更新为与存储器的实际容量对应的值;从至少两个分区表中,读取与更新后的容量标识对应的目标分区表根据更新后的容量标识从至少两种容量对应的分区表中确定出目标分区表;从配置文件中获取与目标分区表对应的用户数据分区镜像文件的位置信息从配置文件中获取与实际容量对应的用户数据分区镜像文件的位置信息;根据与目标分区表对应的用户数据分区镜像文件的位置信息获取与目标分区表对应的用户数据分区镜像文件根据与实际容量对应的用户数据分区镜像文件的位置信息获取与实际容量对应的用户数据分区镜像文件;将目标分区表对应的用户数据分区镜像文件安装至由目标表分区表目标分区表确定出的用户数据分区将与实际容量对应的用户数据分区镜像文件安装至根据目标表分区表目标分区表确定出的用户数据分区;将存储器的实际容量信息传递给内核,以使得内核根据实际容量信息读取目标分区表将存储器的实际容量传递给内核,以使得内核根据实际容量使用目标分区表。这样,利用了不同容量的存储器中BOOTLOADER分区相同,并且执行BOOTLOADER程序可以在不涉及其他分区的情况下获取存储器的实际容量,从而可以根据存储器的实际容量匹配出目标分区表,然后利用目标分区表完成对userdata分区的安装,使得可以在预先不确定存储器的实际容量的情况下,使用同一安装程序完成对不同容量的存储器进行安装。进一步的,在只有两种分区表的情况下,将两个分区表存储在存储器的首地址处和末地址处,免去了查找目标分区表的存储位置的过程,以便直接从首地址或者末地址处读取目标分区表,简化了读取目标分区表的步骤;同时通过设置存储有至少两种容量对应的用户数据分区镜像文件的位置信息的配置文件,安装程序中不用再记录不同容量对应的用户数据分区镜像文件的位置信息,只需要记录配置文件的位置信息,从而简化了安装程序。
[0074]实施例三
[0075]本发明提供了一种控制不同容量的存储器的方法。
[0076]如图4所示,在本实施例中存储其中存储有8G分区表和16G分区表,并且8G分区表的起始地址为存储器的首地址,16G分区表的结束地址为存储器的末地址。8G分区表后紧接存储的是BOOTLOADER分区。userdata分区的首地址中存储了配置文件,配置文件后紧接着存储SG对应的用户数据分区镜像文件和16G对应的用户数据分区镜像文件,即图4中的 8G userdata.1mg 和 16G userdata.1mg。
[0077]在本实施例中,容量标识的可选值有三个,O、1、2。其中,容量标识为O,智能终端读取SG的分区表;容量标识为I智能终端读取16G的分区表;容量标识为2,智能终端可以读取任一分区表。初始情况下,容量标识的默认值为2。
[0078]如图5所示,该方法包括:
[0079]501、确定智能终端是否为第一次开机。
[0080]具体的,智能终端读取容量标识,确定容量标识是否为2,在容量标识是2的情况下,确定智能终端是第一次开机,否则确定智能终端不是第一次开机。
[0081]需要说明的是,根据确定出的结果不同执行不同的步骤。在智能终端是第一次开机的情况下,执行步骤502-509 ;在智能终端不是第一次开机的情况下,执行步骤510-511。
[0082]502、在智能终端是第一次开机的情况下,在根据容量标识的默认值对应的分区表所指示的BOOTLOADER分区中,获取BOOTLOADER程序。
[0083]具体的,由于智能终端的容量标识为2,所以根据容量标识的默认值读取存储器的首地址或末地址处读取任一分区表,从读取的分区表中获取到BOOTLOADER分区在存储器中的位置,从BOOTLOADER分区中获取BOOTLOADER分区镜像文件,并将该镜像文件安装至BOOTLOADER 分区。
[0084]优选的,在容量标识为默认值2时,从首地址处读取8G分区表,根据8G分区表获取 BOOTLOADER 程序。
[0085]503、控制开
当前第3页1 2 3 4 5 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1