本发明专利技术涉及一种在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法,其将应用设备的闪存划分出一个包括多个转存块的虚拟内存区,在嵌入式系统运行后,当内存占用率超过预设上限时,处理器将需要断电保护的用户设定数据存入一个转存块,然后将下一个转存块设定为当前转存块,并将当前转存块中的数据读取至所述的内存。利用本发明专利技术的方法实现内存与闪存间的数据转换,利用闪存作为虚拟内存,限制了系统对内存空间容量的要求,大幅降低应用设备的整体成本,同时当应用设备重启时,保存在闪存中数据又能够恢复到内存中,不至于丢失,且本发明专利技术的方法的应用方式简单,实现成本低廉,应用范围也极为广泛。
【技术实现步骤摘要】
本专利技术涉及嵌入式系统应用
,特别涉及嵌入式系统的虚拟内存
,具体是指一种在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法。
技术介绍
在嵌入式系统启动时,需要将flash里的数据全部读取到内存中,以便系统运行时使用。但是,随着嵌入式系统的不断发展,其容量日益增加,嵌入式系统应用设备的资源通常较为紧张,内存容量有限,由于系统运行时的各种数据都要保存在内存中,所以当需要保存的数据超过内存容量时,就不得不考虑加大内存的容量,这就造成嵌入式系统应用设备的整体成本上升。另一方面,嵌入式设备中的flash通常具有较多的空间,其价格也要比内存低。因此,现有技术中亟需一种能够有效利用flash实现虚拟内存的方法来控制嵌入式系统应用设备的整体成本。
技术实现思路
本专利技术的目的是克服了上述现有技术中的缺点,提供一种能够在嵌入式系统运行过程中实现内存与闪存间的数据转换,利用闪存作为虚拟内存,从而有效限制嵌入式系统对内存空间容量的要求,大幅降低嵌入式系统应用设备的整体成本,且应用方式简单,实现成本低廉,应用范围极为广泛的。嵌入式系统包括处理器、内存和闪存,所述的内存通过所述的处理器连接所述的闪存,所述的闪存存储有嵌入式系统的系统文件。为了实现上述的目的,本专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法中,应用设备的闪存包括一虚拟内存区,该虚拟内存区包括多个转存块,所述的方法包括以下步骤(I)所述的嵌入式系统应用设备启动,所述的内存运行所述的嵌入式系统;(2)当所述的内存占用率超过预设上限时,所述的处理器将部分内存数据存入所述的闪存上的虚拟内存区的一个转存块;(3)所述的处理器将下一个转存块设定为当前转存块,并将当前转存块中的数据读取至所述的内存,然后返回步骤(2)。该在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法中,所述的虚拟内存区存储有当前转存块标记,所述的步骤(2)具体包括以下步骤(21)当所述的内存占用率超过预设上限时,所述的处理器读取所述的闪存上的虚 拟内存区中的当前转存块标记,确定当前转存块;(22)所述的处理器将部分内存数据存入所述的当前转存块中。该在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法中,所述的步骤(3)具体包括以下步骤(31)所述的处理器将下一转存块设定为新的当前转存块,并将该转存块的标记存储至所述的虚拟内存区的当前转存块标记;(32)所述的处理器将当前转存块中的数据读取至所述的内存,并返回步骤(2)。该在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法中,所述的步骤(I)具体包括以下步骤 (11)所述的嵌入式系统应用设备启动,所述的处理器将闪存中的系统文件读取至所述的内存;(12)所述的处理器读取所述的闪存上的虚拟内存区中的当前转存块标记,确定当前转存块;(13)所述的处理器将所述的当前转存块中的数据读取至所述的内存;(14)所述的内存运行所述的嵌入式系统。该在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法中,所述的处理器将部分内存数据存入所述的闪存上的虚拟内存区的一个转存块,具体为所述的处理器将需要断电保护的用户设定数据存入所述的闪存上的虚拟内存区的一个转存块。采用了该专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法,其将应用设备的闪存划分出一个虚拟内存区,并将该虚拟内存区划分出多个转存块,在应用设备启动,内存运行嵌入式系统后,当内存占用率超过预设上限时,处理器将需要断电保护的用户设定数据存入所述的一个转存块,然后将下一个转存块设定为当前转存块,并将当前转存块中的数据读取至所述的内存。如此循环即可实现内存与闪存间的数据转换,利用闪存作为虚拟内存,从而有效限制嵌入式系统对内存空间容量的要求,大幅降低嵌入式系统应用设备的整体成本,同时当应用设备重启时,保存在闪存中的用户设定数据又能够恢复到内存中,不至于丢失,本专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法,其应用方式简单,实现成本低廉,应用范围也极为广泛。附图说明图I为本专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法的步骤流程图。图2为本专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法在实际应用中的流程示意图。具体实施例方式为了能够更清楚地理解本专利技术的
技术实现思路
,特举以下实施例详细说明。请参阅图I所示,为本专利技术的在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法的步骤流程图。嵌入式系统包括处理器、内存和闪存,所述的内存通过所述的处理器连接所述的闪存,所述的闪存存储有嵌入式系统的系统文件。在一种实施方式中,所述的闪存包括一虚拟内存区,该虚拟内存区包括多个转存块,所述的方法包括以下步骤(I)所述的嵌入式系统应用设备启动,所述的内存运行所述的嵌入式系统;(2)当所述的内存占用率超过预设上限时,所述的处理器将部分内存数据存入所述的闪存上的虚拟内存区的一个转存块,所述的部分数据为需要断电保护的用户设定数据;(3)所述的处理器将下一个转存块设定为当前转存块,并将当前转存块中的数据读取至所述的内存,然后返回 步骤(2)。在一种较优选的实施方式中,所述的虚拟内存区存储有当前转存块标记,所述的步骤(2)具体包括以下步骤(21)当所述的内存占用率超过预设上限时,所述的处理器读取所述的闪存上的虚拟内存区中的当前转存块标记,确定当前转存块;(22)所述的处理器将部分内存数据存入所述的当前转存块中。且所述的步骤(3)具体包括以下步骤(31)所述的处理器将下一转存块设定为新的当前转存块,并将该转存块的标记存储至所述的虚拟内存区的当前转存块标记;(32)所述的处理器将当前转存块中的数据读取至所述的内存,并返回步骤(2)。在一种更优选的实施方式中,所述的步骤(I)具体包括以下步骤(11)所述的嵌入式系统应用设备启动,所述的处理器将闪存中的系统文件读取至所述的内存;(12)所述的处理器读取所述的闪存上的虚拟内存区中的当前转存块标记,确定当前转存块;(13)所述的处理器将所述的当前转存块中的数据读取至所述的内存;(14)所述的内存运行所述的嵌入式系统。在本专利技术的应用中,本专利技术的实现步骤,如图2所述,主要包括以下步骤I、首先预定一个大的flash区域作为保存内存数据的区域(是一个块的整数倍);2、从flash区域读取标记值,决定读哪一个块的flash,并将该块的数据读到内存中来,恢复关键数据的值;3、随着内存中存取的数据的增加,当达到一定大小时,存储到指定的flash中,并将flash下一个块的数据读到内存中来;4、如此循环使用,便可实现内存与flash数据交换。该方法的具有实现程序如下所述恢复内存权利要求1.ー种在具有嵌入式系统的应用设备闪存中实现虚拟内存转存控制的方法,所述的嵌入式系统包括处理器、内存和闪存,所述的内存通过所述的处理器连接所述的闪存,所述的闪存存储有嵌入式系统的系统文件,其特征在于,所述的闪存包括一虚拟内存区,该虚拟内存区包括多个转存块,所述的方法包括以下步骤 (1)所述的嵌入式系统应用设备启动,所述的内存运行所述的嵌入式系统; (2)当所述的内存占用率超过预设上限时,所述的处理器将部分内存数据存入本文档来自技高网...
【技术保护点】
【技术特征摘要】
【专利技术属性】
技术研发人员:徐正伟,周荣安,
申请(专利权)人:上海大亚科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。