一种存储器件初始化方法和电子设备的制造方法

文档序号:8942875阅读:192来源:国知局
一种存储器件初始化方法和电子设备的制造方法
【技术领域】
[0001]本发明涉及电子设备,更具体地,本发明涉及电子设备中存储器件的初始化或配置。
【背景技术】
[0002]存储器件是指能容纳一定事务的容器,这里主要是指计算机系统中的记忆设备,用来存放程序和数据。
[0003]目前嵌入式Iinux操作系统采用dtb (device tree blob)文件来对板级资源进行配置。Device Tree是一种描述硬件的数据结构,它起源于OpenFirmware (OF)。采用Device Tree后,许多硬件的细节可以直接透过它传递给Linux,而不再需要在kernel中进行大量的冗余编码。Device tree信息记录在.dts文件中。DTC(device tree compiler)是将.dts文件编译为.dtb文件的工具。参阅图1,在boot过程中,可以从NAND、SD或者TFTP等任意介质将后缀为.dtb的文件读入内存。并由Uboot或bootloader将dtb的地址传递给内核映像。这样就内核映像就可以根据dtb中的设备信息加载驱动。
[0004]在生厂商量产某一产品时,通常会有多个系列的样机。不同系列的样机可能只有布板不同或采用存储器的芯片不同。后一种情况即指可能出现一款产品量产下去,所贴的存储器件不同的情况。这样生厂商可以方便的根据市场价格来选择贴哪种存储器件。而发明人发现现有技术中针对贴不同存储器件的不同的样机,为了操作系统的兼容需要开发多个固件,因而需要固件维护相当繁琐,降低了开发效率。

【发明内容】

[0005]以下给出对一个或更多个方面的简化概述以力图提供对此类方面的基本理解。此概述不是所有构想到的方面的详尽综览,并且既非旨在指认出所有方面的关键性或决定性要素亦非试图界定任何或所有方面的范围。其唯一的目的是要以简化形式给出一个或更多个方面的一些概念以作为稍后给出的更加具体的说明之序。
[0006]本发明提供一种存储器件初始化方法,将多个预设可支持的存储器件的初始化配置信息写入配置文件中;
[0007]将所述配置文件烧写入设备的存储介质中,或将所述配置文件编译进系统内核,随内核文件写入设备存储介质中;
[0008]设备通电后,读取所述配置文件并获取预设可I持的存储器件的初始化配置信息;
[0009]根据X存储器的初始化配置信息,结合对应X存储器的第一初始化指令集初始化设备中的存储器件,所述X存储器为所述多个预设可支持的存储器件之一,所述第一初始化指令集为初始化存储器件的指令的集合;
[0010]根据第一初始化指令集的执行结果判断是否执行成功,若不成功则尝试另一存储器的初始化配置信息结合对应另一存储器的初始化指令集初始化设备中的存储器件,另一存储器为所述多个预设可支持的存储器件之一,直到所有预设可支持的存储器件对应的初始化指令集都执行失败,或某一存储器的第一初始化指令集执行成功;
[0011]若第一初始化指令集执行成功,将所述某一存储器的初始化配置信息结合其对应的第二初始化指令集初始化设备中的存储器件。
[0012]进一步,第一初始化指令集执行成功后,标记所述配置文件中的所述某一存储器件的初始化配置信息,并生成新的配置文件并保存在存储介质中;
[0013]在初始化系统时,读取该配置文件并结合所述某一存储器件对应的第二初始化指令集用于初始化设备中的存储器件。
[0014]进一步,生成新的配置文件并保存在存储介质中为覆盖存储介质中原有的配置文件。
[0015]进一步,第一初始化指令集执行成功后,还包括步骤,标记所述某一存储器件的初始化配置信息,并将该标记的初始化配置信息结合其对应的第二初始化指令集初始化设备中的存储器件。
[0016]进一步,在第二初始化指令集初始化设备中的存储器件成功之后,还包括步骤:获得存储器件信息,并将存储器件的信息作为参数传递给系统内核。
[0017]进一步,配置文件为二进制编码或字符编码。
[0018]进一步,根据X存储器的初始化配置信息,结合对应X存储器的第一初始化指令集初始化设备中的存储器件之前,还包括步骤:根据X存储器的初始化配置信息配置设备中的存储器件的1状态。
[0019]进一步,所述配置文件为DTB文件,DTB文件由DTS文件编译得到,所述初始化配置信息遵循DTS文件的组织形式;
[0020]在DTS文件中添加预设可支持的存储器件的初始化配置信息,并将DTS编译打包成DTB文件,并将DTB文件写入到设备的存储介质中;
[0021]通电后,bootloader读取DTB文件,并反编译为DTS文件,并获取获取预设可支持的存储器件的初始化配置信息;
[0022]bootlaoder根据X存储器的初始化配置信息,结合对应X存储器的第一初始化指令集初始化设备中的存储器件,所述X存储器为所述多个预设可支持的存储器之一,所述第一初始化指令集为初始化存储器件的指令的集合;
[0023]bootlaoder根据第一初始化指令集的执行结果判断是否执行成功,若不成功则尝试另一存储器的初始化配置信息结合对应另一存储器的初始化指令集初始化设备中的存储器件,直到所有预设可支持的存储器件对应的初始化指令集都执行失败,或某一存储器初始化指令初始成功;
[0024]若第一初始化指令集执行成功后,bootlaoder将所述某一存储器的初始化配置信息结合其对应的第二初始化指令集初始化设备中的存储器件。
[0025]进一步,在第二初始化指令集初始化设备中的存储器件成功之后,还包括步骤:获得存储器件信息,并将存储器件的信息通过命令行参数的形式传递给系统内核。
[0026]进一步,所述第一初始化指令集为存储器的最小化初始代码模块对应的指令集,所述第二初始化指令集为存储器驱动程序对应的指令集。
[0027]本发明还提供一种电子设备,所述设备包括第一初始化模块、第二初始模块、配置文件管理模块、存储器件探测模块;
[0028]所述第一初始化模块用于根据存储器的初始化配置信息,结合对应存储器的第一初始化指令集初始化设备中的存储器件,并判断是否执行成功;
[0029]所述第二初始模块用于根据存储器的初始化配置信息,结合对应存储器的第二初始化指令集初始化设备中的存储器件。
[0030]所述配置文件管理模块用于读取所述配置文件并获取预设可支持的存储器件的初始化配置信息;
[0031]所述存储器件探测模块用于控制第一初始化模块运行,直到所有预设可支持的存储器件对应的初始化指令集都执行失败,或某一存储器的第一初始化指令集执行成功时,控制第二初始化模块运行。
[0032]进一步,所述存储器件探测模块还用于初始化成后,标记所述配置文件中的所述某一存储器件的初始化配置信息,并生成新的配置文件并保存在存储介质中,在初始化系统时,读取该配置文件并结合所述某一存储器件对应的第二初始化指令集用于初始化设备中的存储器件。
[0033]进一步,所述存储器件探测模块还用生成新的配置文件并保存在存储介质中为覆盖存储介质中原有的配置文件。
[0034]进一步,所述存储器件探测模块还用在内存中标记所述某一存储器件的初始化配置信息,并将该标记的初始化配置信息结合其对应的第二初始化指令集初始化设备中的存储器件
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1