闪存芯片存储配置方法以及闪存芯片存储配置装置的制作方法

文档序号:6585746阅读:205来源:国知局
专利名称:闪存芯片存储配置方法以及闪存芯片存储配置装置的制作方法
技术领域
本发明涉及闪存(Flash)芯片存储配置方法和装置。
背景技术
随着全球化时代的来临,人与人之间沟通的范围越来越广,可能需要与使用不同 语言的人进行沟通,为满足用户相互沟通的需要,现在的移动终端需要能支持多国语言。为 了支持多国语言,在移动终端上需要配置多国语言包的闪存芯片存储空间(如图1所示)。在配置闪存芯片存储空间时,需要先对闪存芯片存储空间进行划分,规划代码与 数据等信息,即在闪存芯片存储空间里,把相关的代码与数据独立到不同的相对地址。由于 不同国家需要不同的数据,如不同的国家需要不同的字符串资源,不同的国家运营商需要 不同的开关机动画,不同的国家需要不同的输入法等,因此需要一套逻辑代码匹配不同的 国家数据,并且可定制多国语言的设置部分。根据以上信息,如图1所示,闪存芯片存储空 间可划分为如下区间启动部分、主程序、参数、语言包、内容包、文件系统。其中,启动部分、 主程序、参数区间为固定大小;而语言包、内容包和文件系统(管理文件存储和修改)区间 为动态大小。由上述闪存芯片存储空间的划分结构可以看出,闪存芯片存储空间划分后的 区间数量较多,因此需要对参数,文件系统等进行配置。此外,如果更换一个闪存芯片,除了对闪存芯片的存储配置方案进行重新设置之 外,往往还需要修改相关的驱动,其过程繁琐复杂,很有可能遗漏相关的部分,导致系统发 生错误,并延长开发周期长,增加人力成本。

发明内容
为了解决对芯片存储配置进行重新设置的过程中存在的过程繁杂、容易出错的问 题,本发明提供了一种闪存芯片存储配置方法和一种闪存芯片存储配置装置。本发明提供了一种闪存芯片存储配置方法,该方法包括预先存储多个闪存芯片 存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片的芯片信息之间的对应关 系;对一待配置的闪存芯片的芯片信息进行识别;从所存储的多个闪存芯片存储配置方案 中选择与所识别的芯片信息相对应的闪存芯片存储配置方案;以及根据所选择的闪存芯片 存储配置方案对所述待配置的闪存芯片的存储配置参数值进行设置。本发明提供了一种闪存芯片存储配置装置,该存储配置装置包括存储模块,用于 预先存储多个闪存芯片存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片的芯 片信息之间的对应关系;闪存芯片识别模块,用于对一待配置的闪存芯片的芯片信息进行 识别;存储配置方案选择模块,用于从所存储的多个闪存芯片存储配置方案中选择与所识 别的芯片信息相对应的闪存芯片存储配置方案;以及配置参数设置模块,用于根据所选择 的闪存芯片存储配置方案对所述待配置的闪存芯片的存储配置参数值进行设置。通过本发明所提供的闪存芯片存储配置方法和存储配置装置,在由于更换芯片而 对闪存芯片进行重新配置时,可以通过直接选取预先存储的存储配置方案来对配置参数进行快速设定,从而能够大大的简化配置过程,避免错误和遗漏的发生,并缩短开发周期长, 降低人力成本。


图1是闪存芯片存储空间划分示意图;图2是闪存芯片存储配置方法流程图;图3是根据本发明的一种具体实施例的配置输入界面;图4是根据本发明的一种具体实施例的芯片配置流程图。
具体实施例方式如图2所示,本发明提供了一种闪存芯片存储配置方法,该方法包括预先存储多 个闪存芯片存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片的芯片信息之间 的对应关系(步骤210);对一待配置的闪存芯片的芯片信息进行识别(步骤220);从所存 储的多个闪存芯片存储配置方案中选择与所识别的芯片信息相对应的闪存芯片存储配置 方案(步骤230);以及根据所选择的闪存芯片存储配置方案对所使用的闪存芯片的存储配 置参数值进行设置(步骤M0)。在步骤210中,预先存储多个闪存芯片存储配置方案,并建立所述多个闪存芯片 存储配置方案与多种闪存芯片的芯片信息之间的对应关系。在该步骤中,对于任何一种可能被使用的芯片,都可以预先确定适用于该芯片的 存储配置方案(即各个参数的取值),因此,对各个存储配置方案进行预先存储,以便在使 用相应的芯片时进行快速调用。与此同时,也就建立了所存储的各个存储配置方案与多种 闪存芯片的芯片信息之间的对应关系。一般来讲,由于不同的产品的性能差异和产品目标 群的不同,这种对应关系一般是一种闪存芯片的芯片信息与一种存储配置方案相对应的 一一对应关系,但同样可能出现多种芯片适用于同一种存储配置方案的情况和一种芯片可 以针对不同的条件而选择使用多种不同的方案的情况。在步骤220中,对一待配置的闪存芯片的芯片信息进行识别。具体来讲,这里的识别可以是人为的通过芯片的可见标识或通过产品的定义进行 识别(并在终端进行相应的输入),也可以在接入闪存芯片时由终端获取该闪存芯片的芯 片信息来进行识别,在获取了芯片信息后便能够选择适当的存储配置方案。其中所述芯片 信息包括下列至少一者芯片的型号和芯片容量。在步骤230中,从所存储的多个闪存芯片存储配置方案中选择与所识别的芯片信 息相对应的存储配置方案。根据在步骤210中预先建立的对应关系,在对待配置的闪存芯片的芯片信息进行 识别之后,便可通过查找表找出与该芯片相对应的存储配置方案,并随后采用该存储配置 方案对闪存芯片存储空间进行设置。在步骤MO中,根据所选择的存储配置方案对所述待配置的闪存芯片的存储配置 参数进行设置。根据在上一步骤中确定的存储配置方案,可以对所使用的闪存芯片的存储空间进 行设置,也就是使用该存储配置方案中设定的配置参数值来对存储空间进行划分。其中所述存储配置参数包括闪存芯片存储中的各个分区(包括语言包分区、内容包分区以及文件 系统分区等)的基地址。其中,所述基地址指的是各个分区的首地址,也就是每个分区的起 始地址,对于不同的芯片是一个可变的变量。在本发明的一种实施方式中,还可以利用不同的驱动模块来实现上述的参数设定 步骤。实际中,在更换芯片时,除了要对存储空间的分配设置进行改变之外,之前的驱动程 序往往也不能直接使用,因此在本实施方式中,还提供了对不同的驱动模块进行选择的步
马聚ο其中,首先根据所识别的芯片信息,从至少一个驱动模块中选择一个驱动模块,其 中所述驱动模块用于执行对所述存储配置参数值的设置;然后利用所选择的驱动模块,将 所使用的闪存芯片的存储配置参数值设置为与所选择的存储配置方案一致。其中,与步骤210中类似,也可以预先建立并存储所述至少一个驱动模块与多种 闪存芯片的芯片信息之间的对应关系,从而选择与所使用的闪存芯片相对应的驱动模块来 进行操作。在本发明的一种实施方式中,还可以对所存储的多个闪存芯片存储配置方案进行 修改,并更新所述多个闪存芯片存储配置方案与多种闪存芯片的芯片信息之间的对应关系。在本发明的一种实施方式中,还可以添加新的闪存芯片存储配置方案或删除已有 的闪存芯片存储配置方案,并更新所述多个闪存芯片存储配置方案与多种闪存芯片的芯片 信息之间的对应关系。本发明还提供了一种闪存芯片存储配置装置,该存储配置装置包括存储模块,用 于预先存储多个闪存芯片存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片的 芯片信息之间的对应关系;闪存芯片识别模块,用于对一待配置的闪存芯片的芯片信息进 行识别;存储配置方案选择模块,用于从所存储的多个闪存芯片存储配置方案中选择与所 识别的芯片信息相对应的存储配置方案;以及配置参数设置模块,用于根据所选择的存储 配置方案对所述待配置的闪存芯片的存储配置参数值进行设置。其中,所述配置参数设置模块包括驱动模块选择子模块,用于根据所述识别的芯 片信息,从至少一个驱动模块中选择一个驱动模块,其中所述至少一个驱动模块中的每一 个驱动模块都能够用于执行对所述存储配置参数值的设置;参数设置执行子模块,用于利 用所选择的驱动模块,将所使用的闪存芯片的存储配置参数值设置为与所选择的存储配置
方案一致。所述存储模块还能够预先建立并存储所述驱动模块与闪存芯片的芯片信息之间 的对应关系。所述存储模块还能够对所存储的多个闪存芯片存储配置方案进行修改,并更 新所述闪存芯片存储配置方案与闪存芯片的芯片信息之间的对应关系。所述存储模块还能 够添加新的闪存芯片存储配置方案或删除已有的闪存芯片存储配置方案,并更新所述闪存 芯片存储配置方案与闪存芯片的芯片信息之间的对应关系。所述芯片信息包括下列至少一者芯片的型号和芯片容量。所述存储配置参数包括闪存芯片存储中的各个分区的基地址。所述分区包括下列至少一者语言包分区、内容包分区以及文件系统分区。根据本发明,可以通过多种平台来实现本发明所提供的方法,并可以将各个平台(比如各种手机端平台)上的应用集中到便于统一操作的平台(比如PC平台)上集中处 理,这样将加快工作流程运转。另外,本发明中的各个模块均可以编程的方式通过程序来实现。以下是可以实现 本发明的一种具体实施例可以利用如下的步骤来具体实施本发明(1)采用Office的Excel作为配置化的输入界面;(2)利用Excel的后台VB编程功能实现配置化算法的后台实现;(3)通过make file脚本实现变量空间的交换;(4)根据make file脚本中的变量实现手机端文件的自动生成。会根据闪存的大小和型号完成相关参数的转换,下面是VB script函数的部分实 现示例‘ It is for c file need value modifySub FLASH_VALUE ()strFileName = temppath &" \Chipset\VIA\CP\fl£ish_config· mak"Dim Fileobject, StreamfileSet Fileobject = CreateObject(" Scripting. FileSystemObject")Set Streamfile = Fileobject. CreateTextFile(strFileName, True)If Sheetl. Flash_32M_FTR. Value ThenStreamf ile. WriteLineC Flash_32M_FTR = 1")End IfIf Sheetl. K5L5563CAA. Value ThenStreamf ile. WriteLineC FLASH_K5L5563CAA_FTR = 1")EndIfStreamfile. WriteLine(“ VB_FLASH_BASE = “ +CStr(TEMP_VB_FLASH_BASE))Streamfile. WriteLine(“ VB_PPM_HEADER = “ +CStr(TEMP_VB_PPM_HEADER))Streamfile. WriteLine (“ VB_PRI_HEADER = “ +CStr (TEMP_VB_PRI_HEADER))Streamfile. WriteLine(“ VB_PRI2_HEADER = “ +CStr(TEMP_VB_PRI2_HEADER))Streamfile. WriteLine(“ VB_CP2_HEADADDRESS = “ +CStr(TEMP_VB_PPM_BASE))' VB_CP2_HEADADDRESS = (4*0x10000+(VB_PPM_HEADER-4)*0x40000)Strearafile. WriteLine (" VELDFSUMJffSET = " +CStr(IEMPJ^J)FSLFaLCR7SET))Strearafile. WriteLineC VB_DFS1_BIjOCK_SIZE = " +CStr (IEMP_VB_DFS1_BIjOCK_SIZE))Streamfile. WriteLineC VB_DFS1_FSM_DATA_BL0CKS = " +CStr(TEMP_VB_DFS_1FSM_DATA_BL0CKS))Streamfile. WriteLineC VB_FLASH_MULTI_CP_SECTOR_SIZE = " +CStr(TEMP_VB_FLASH_MULTI_CP_SECT0R_SIZE))Streamfile. WriteLineC VB_HWD_IRAM_REMAP_ADDR = " +CStr(TEMP_VB_HWD_IRAM_REMAP_ADDR))Streamfile. WriteLineC VB_HWD_FLASH_BASE_ADDRESS = " +CStr(TEMP_VB_HWD_FLASH_BASE_ADDRESS))
If Sheetl. Flash_32M_FTR. Value Then
Streamfile. WriteLineC export “ +" Flash_32M_FTR〃 )End IfIf Sheetl. K5L5563CAA. Value ThenStreamfile. WriteLine(End If
'’ export" +" FLASH_K5L5563CAA_FTR")Streamfile. WriteLine (’ export"+ 〃 VB__FLASH_BASE")
Streamfile. WriteLine('export"+ 〃 VB__PPM_HEADER")
Streamfile. WriteLine('export"+ 〃 VB__PRI_HEADER")
Streamfile. WriteLine('export"+ 〃 VB__PRI2_HEADER")
Streamfile. WriteLine('export"+ 〃 VB__CP2_HEADADDRESS")
Streamfile. WriteLine('export"+ 〃 VB__DFS1_FSM_0FFSET")
Streamfile. WriteLine('export"+ 〃 VB__DFS1_BL0CK_SIZE")
Streamfile. WriteLine("export" +'VB_DFS1_FSM_DATA_BL0CKS')
Streamfile. WriteLine(" export"
+" VB_FIASH_MULTI_CP_SECTOR_SIZE")
Streamfile. WriteLine(" export"
+" VB_HWD_IRAM_REMAP_ADDR")
Streamfile. WriteLineC export" +〃 VB_HWD_FLASH_BASE_ADDRESS")
Streamfile. Close
End Sub
生成需要的scatter file,先把原来定义的scatter file修改成几个VAR文件。 把原来在scatter file中需要手动修改的base-address和offset用指定字符串来取代。 在VB script里再把相关字符串用变量的值取代。以威盛的CDMA平台为例具体讲述这种方案的实现方法。可以用VB实现界面的实现,也可以利用Excel实现界面的输入,或者其它PC机可 编程的手段来实现界面的可视化。在本实施方式中,通过Excel来实现(参见图幻,然后把这些数据转换成系统的变 量。在Excel界面只需输入闪存(flash)的大小和闪存的型号,据闪存的大小和型号找 到相关芯片的参数细节,经过运算完成相关参数的转换。下面是实现这种实施方式的具体流程图步骤S400,在Excel里的VB界面上手动输入配置代码(根据闪存的大小和闪存的 型号),在配置代码中,写入扇区表,扇区表与闪存的大小和闪存的型号一一对应;步骤S401,判断创建配置文件是否成功,如果成功则转入步骤S102,如果失败则 转入步骤S200 ;步骤S420,退出(VB编辑页面)步骤S402,在Excel页面控件中选择芯片型号和大小,由此VB编辑的配置文件可 获得Excel选择芯片型号和大小;步骤S403,根据芯片型号和大小,后台VB处理程序获得扇区表;步骤S404,取得扇区表后,根据产品定义,计算各个分区的首地址;步骤S405,根据产品定义,计算文件系统的基地址偏移;
步骤S406,通过文件系统的基地址,查询到其所在扇区的扇区大小;步骤S407,通过语言包的基地址,查询到其所在扇区的扇区大小;步骤S408,通过内容包的基地址,查询到其所在扇区的扇区大小;步骤S409,根据产品定义,计算RAM、闪存、IRAM(片内随机存储器)各种器件的首 地址;步骤S410,写参数到配置文件里;步骤S411,关闭配置文件;步骤S412,结束。根据计算的变量,生成需要的处理器链接文件。然后把处理器链接文件成几个可 修改的文件。把原来在处理器链接文件中需要手动修改的基地址、偏移量等常量用指定字 符串来取代。在VB script里再把相关字符串用计算的变量值取代。这样就生成了所需要 的处理器链接文件。把VB中指定的变量和宏定义映射成makefile的变量和常量,最后再映射成C语 言的变量和宏定义。VB把一些变量和宏定义通过写文件的方式写入makefile的脚本,再通 过makefile的脚本文件把变量和宏定义映射到编译器的参数里,最终实现映射到C语言编 写的手机软件。C语言里最终使用映射过来的变量和宏定义,实现闪存的最终可配置。通过本发明所提供的闪存芯片存储配置方法和存储配置装置,在由于更换芯片而 对闪存芯片进行重新配置时,可以通过直接选取预先存储的配置方案来对配置参数进行快 速设定,从而能够大大的简化配置过程,避免错误和遗漏的发生,并缩短开发周期长,降低 人力成本。
权利要求
1.一种闪存芯片存储配置方法,其特征在于,该方法包括预先存储多个闪存芯片存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片 的芯片信息之间的对应关系;对一待配置的闪存芯片的芯片信息进行识别;从所存储的多个闪存芯片存储配置方案中选择与所识别的芯片信息相对应的闪存芯 片存储配置方案;以及根据所选择的闪存芯片存储配置方案对所述待配置的闪存芯片的存储配置参数值进 行设置。
2.根据权利要求1所述的方法,其中根据所选择的闪存芯片存储配置方案对所使用的 闪存芯片的存储配置参数进行设置包括根据所识别的芯片信息,从至少一个驱动模块中选择一个驱动模块,其中所述至少一 个驱动模块中的每一个驱动模块都能够用于执行对所述存储配置参数值的设置;利用所选择的驱动模块,将所使用的闪存芯片的存储配置参数值设置为与所选择的闪 存芯片存储配置方案一致。
3.根据权利要求2所述的方法,该方法还包括预先建立并存储所述驱动模块与闪存芯 片的芯片信息之间的对应关系。
4.根据权利要求1或2所述的方法,该方法还包括对所存储的多个闪存芯片存储配 置方案进行修改,并更新所述闪存芯片存储配置方案与闪存芯片的芯片信息之间的对应关 系。
5.根据权利要求1或2所述的方法,该方法还包括添加新的闪存芯片存储配置方案或 删除已有的闪存芯片存储配置方案,并更新所述闪存芯片存储配置方案与闪存芯片的芯片 信息之间的对应关系。
6.根据权利要求1或2所述的方法,其中所述芯片信息包括下列至少一者芯片的型 号和芯片容量。
7.根据权利要求1或2所述的方法,其中所述存储配置参数包括闪存芯片存储中的各 个分区的基地址。
8.根据权利要求7所述的方法,其中所述分区包括下列至少一者语言包分区、内容包 分区以及文件系统分区。
9.一种闪存芯片存储配置装置,其特征在于,该存储配置装置包括存储模块,用于预先存储多个闪存芯片存储配置方案,并建立所述闪存芯片存储配置 方案与闪存芯片的芯片信息之间的对应关系;闪存芯片识别模块,用于对一待配置的闪存芯片的芯片信息进行识别;存储配置方案选择模块,用于从所存储的多个闪存芯片存储配置方案中选择与所识别 的芯片信息相对应的闪存芯片存储配置方案;以及配置参数设置模块,用于根据所选择的闪存芯片存储配置方案对所述待配置的闪存芯 片的存储配置参数值进行设置。
10.根据权利要求9所述的存储配置装置,其中所述配置参数设置模块包括驱动模块选择子模块,用于根据所述识别的芯片信息,从至少一个驱动模块中选择一 个驱动模块,其中所述至少一个驱动模块中的每一个驱动模块都能够用于执行对所述存储配置参数值的设置;参数设置执行子模块,用于利用所选择的驱动模块,将所使用的闪存芯片的存储配置 参数值设置为与所选择的闪存芯片存储配置方案一致。
11.根据权利要求10所述的存储配置装置,所述存储模块还能够预先建立并存储所述 驱动模块与闪存芯片的芯片信息之间的对应关系。
12.根据权利要求9或10所述的存储配置装置,所述存储模块还能够对所存储的多个 闪存芯片存储配置方案进行修改,并更新所述闪存芯片存储配置方案与闪存芯片的芯片信 息之间的对应关系。
13.根据权利要求9或10所述的存储配置装置,所述存储模块还能够添加新的闪存芯 片存储配置方案或删除已有的闪存芯片存储配置方案,并更新所述闪存芯片存储配置方案 与闪存芯片的芯片信息之间的对应关系。
14.根据权利要求9或10所述的存储配置装置,其中所述芯片信息包括下列至少一者 芯片的型号和芯片容量。
15.根据权利要求9或10所述的存储配置装置,其中所述存储配置参数包括闪存芯片 存储中的各个分区的基地址。
16.根据权利要求15所述的存储配置装置,其中所述分区包括下列至少一者语言包 分区、内容包分区以及文件系统分区。
全文摘要
本发明提供了一种闪存芯片存储配置方法和存储配置装置,其中该方法包括预先存储多个闪存芯片存储配置方案,并建立所述闪存芯片存储配置方案与闪存芯片的芯片信息之间的对应关系;对一待配置的闪存芯片的芯片信息进行识别;从所存储的多个闪存芯片存储配置方案中选择与所识别的芯片信息相对应的闪存芯片存储配置方案;以及根据所选择的闪存芯片存储配置方案对所述待配置的闪存芯片的存储配置参数值进行设置。
文档编号G06F12/02GK102110055SQ20091024954
公开日2011年6月29日 申请日期2009年12月25日 优先权日2009年12月25日
发明者丁华, 孔凡清, 张中博 申请人:比亚迪股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1