[发明专利]一种确定软件的内存占用的方法和系统有效
| 申请号: | 200610165302.X | 申请日: | 2006-12-15 |
| 公开(公告)号: | CN101201794A | 公开(公告)日: | 2008-06-18 |
| 发明(设计)人: | 钟桂贤 | 申请(专利权)人: | 中兴通讯股份有限公司 |
| 主分类号: | G06F12/02 | 分类号: | G06F12/02;G06F9/445 |
| 代理公司: | 北京律诚同业知识产权代理有限公司 | 代理人: | 梁挥;徐金国 |
| 地址: | 518057广东省深圳市南山*** | 国省代码: | 广东;44 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 确定 软件 内存 占用 方法 系统 | ||
技术领域
本发明涉及嵌入式系统技术领域,特别是涉及一种确定嵌入式系统中的软件的内存占用的方法和系统。
背景技术
在工程上的单板(如通信单板等)中,经常在单板上使用简化的操作系统,即嵌入式系统,完成单板上单一的功能。
嵌入式系统中的软件包括引导(BOOT)软件和应用(APP)软件。一般地,引导软件保存在只读存储器中,应用软件保存在Flash闪存等存储器中。在嵌入式系统上电后,首先运行引导软件,由引导软件完成CPU等硬件的初始化,再把应用软件从Flash闪存读出,复制到内存中,应用软件在内存中保存一份映像,然后CPU从引导软件跳转到应用软件在内存中的映像起始地址,从而引导内存中的应用软件映像运行。
现有技术中引导软件是将应用软件复制到内存中的一个固定地址。应用软件在内存中映像占用内存的地址空间为从该固定地址到内存最高地址,内存基地址到该固定地址的空间为应用软件的可用内存。
在物理内存大小一定的条件下,由于应用软件在内存中映像的地址固定,所以可用内存大小也固定。
随着应用软件功能的增加,应用软件所需的内存越来越多,在硬件不变的情况下,由于可用内存大小固定,应用软件内存将不足,从而导致应用软件无法运行。或者,虽然应用软件所需的内存足够,但是应用软件的大小超过了上述固定地址到内存最高地址空间的大小,即预留给应用软件自身的映像的内存不够,则工程上单板的嵌入式系统引导软件将无法引导此应用软件,这样不得不更换引导软件,或者应用软件,甚至单板,造成成本增加,人力物力浪费。
发明内容
本发明所要解决的问题是提供一种确定软件的内存占用的方法和系统,其节约了成本,不会造成人力物力浪费。
为实现本发明目的而提供的一种确定软件的内存占用的方法,包括下列步骤:
步骤A,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;
步骤B,依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。
所述步骤A中配置应用软件尺寸,具体包括下列步骤:
修改应用软件的生成配置文件,裁减编译应用软件填充到应用软件映像中的无效二进制代码。
所述应用软件尺寸为编译后的应用软件代码大小除1024取整后,乘以1024。
所述步骤A中配置应用软件在内存中的布局为确定映像文件映射到内存的偏移段起始地址和代码段起始地址。
所述确定映像文件映射到内存的偏移段起始地址为是依据配置应用软件尺寸来确定;应用软件代码段起始地址为映像起始地址为内存最高地址,去掉应用软件大小。
所述步骤B中引导软件依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,具体包括下列步骤:
步骤B1,根据内存最高地址和保存在存储器中的应用软件的尺寸确定应用软件在内存中映像的目标起始地址;
步骤B2,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。
为实现本发明目的还提供一种确定软件的内存占用的系统,包括占用内存确定单元,内存映像单元,其中:
所述占用内存确定单元,用于通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;
内存映像单元,用于依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。
所述的配置应用软件尺寸为修改应用软件的生成配置文件,裁减编译应用软件填充到应用软件映像中的无效二进制代码;所述配置应用软件在内存中的布局为确定映像文件映射到内存的偏移段起始地址和代码段起始地址。
所述软件为单板的嵌入式系统中的应用软件。
所述依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址为根据内存最高地址和保存在存储器中的应用软件的尺寸,由内存最高地址,去掉应用软件尺寸而得到。
本发明的有益效果是:本发明的一种确定软件的内存占用的方法和系统,通过依据应用软件的实际大小,动态计算出应用软件在内存中映像的目标起始地址,能充分减少应用软件不必要的内存空间浪费,从而增加应用软件的可用内存;同时,引导软件可以自动适应不同大小的应用软件从而引导不同大小应用软件运行,在不改变硬件架构和不增加硬件成本的条件下,解决了应用软件可用内存不足的问题和需要在工程上更换引导软件甚至单板的问题,节约了成本,不会造成人力物力浪费。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中兴通讯股份有限公司,未经中兴通讯股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200610165302.X/2.html,转载请声明来源钻瓜专利网。
- 上一篇:燃料电池用隔板、其制造方法以及燃料电池
- 下一篇:用于印刷机部件的恒温系统





