[发明专利]一种用于不掉电RAM的内存管理方法有效
申请号: | 201611035452.9 | 申请日: | 2016-11-22 |
公开(公告)号: | CN106598879B | 公开(公告)日: | 2020-06-09 |
发明(设计)人: | 李先刚 | 申请(专利权)人: | 积成电子股份有限公司 |
主分类号: | G06F12/06 | 分类号: | G06F12/06;G06F8/30 |
代理公司: | 济南舜源专利事务所有限公司 37205 | 代理人: | 苗峻 |
地址: | 250100 山东省济*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 掉电 ram 内存 管理 方法 | ||
本发明公开了一种嵌入式软件系统中不掉电RAM的内存管理方法。在软件工程中,增加不掉电RAM专属的运行时域,并将需要保存到不掉电RAM中的数据强制分配到该运行时域中。当软件运行时,可以和普通变量一样读写RAM中的数据,避免绝对地址和指针访问带来的内存越限及内存访问异常等弊端,最大限度地发挥系统内存管理的优势。
技术领域
本发明涉及嵌入式软件领域,特别是涉及嵌入式软件领域中不掉电RAM的内存管理方法。
背景技术
嵌入式系统是指用于执行独立功能的专用计算机系统。它包括处理器、存储器、微控制器、传感器等一系列微电子芯片与器件,和嵌入在存储器中的微型操作系统、控制应用软件。
嵌入式软件特指运行于嵌入式系统中的软件。近年来,随着以计算机技术、通讯技术为主的信息技术的快速发展和Internet的广泛应用,嵌入式系统快速融入到大家的日常生活中。嵌入式软件也由最初嵌入式系统的配角,逐渐成长为整个系统的运行核心。
嵌入式系统为追求更快的运行速度和可靠的数据存储,存储器逐渐衍生为:随机存取存储器(RAM)、只读存储器(ROM)、闪存(Flash)。RAM是与CPU直接交换数据的内部存储设备,可高速随机读写,通常作为程序的临时数据存储媒介,而Flash通常作为程序及数据的永久存储介质。
但在某些特定的应用场合,开发人员希望存储介质可以同时具备RAM的高速特性与Flash的不易失特性。由此催生了一种给RAM提供不掉电电源的设计方案,以达到高速和不易失特性共存的目的。但这种方案往往需要对不掉电RAM区别于普通RAM使用,给开发人员带来很大的成本开销,并给软件可靠性带来不可预知的挑战。
目前,不掉电RAM的使用方式包括:
1.绝对地址访问。
实例:*(UINT32*)0x1001A600=10101。
优点:很清楚的知道当前访问的地址,简单明了。
缺点:代码可读性差、易造成访问越限、及数据访问错误。
2.结构体指针访问。
实例:struct DATA_STRUCT*pstData=(DATA_STRUCT*)0x1001A600。
优点:代码可读性好。
缺点:这种方案依然无法解决内存越限的问题,结构体的大小随着成员变量增加而增大,当结构体长度超过RAM大小时,开发人员并不知情。
发明内容
针对上述问题,本发明提供一种用于解决不掉电RAM访问容易出现内存越限及内存访问异常的问题的一种用于不掉电RAM的内存管理方法。
为解决上述问题,本发明提供一种通过运行时域定义、段定义、强制段分配将不掉电RAM纳入内存管理的一种用于不掉电RAM的内存管理方法,具体包括以下步骤:
步骤一、创建工程连接配置文件。
步骤二、定义可执行程序对应的加载时域。
步骤三、定义至少一个只读属性的代码段运行时域。
步骤四、定义至少一个可读写属性的普通RAM对应的数据段运行时域,该数据段运行时域包含所有未明确指定运行时域的可读写数据段。
步骤五、定义不掉电RAM专属的数据段运行时域,该数据段运行时域仅包含一个不初始化的可读写数据段,并将该可读写数据段指定到不掉电RAM专属的数据段运行时域的首地址;这样就保证了所述数据段首地址等于不掉电RAM的首地址,保证所述数据段大小不会超过不掉电RAM的大小,为后续不掉电RAM结构体变量强制分配做准备工作。
步骤六、定义不掉电RAM对应的结构体。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于积成电子股份有限公司,未经积成电子股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201611035452.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种固态硬盘冷热数据分离方法
- 下一篇:一种缓存管理的方法及终端