一种确定软件的内存占用的方法和系统技术方案

技术编号:2829025 阅读:287 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种确定软件的内存占用的方法和系统。该方法包括下列步骤:步骤A,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;步骤B,依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。其减少应用软件映像占用的内存空间,增加应用软件的可用内存空间,可以兼容不同大小的应用软件,避免在工程上更换引导软件甚至更换单板的问题,节约了成本,不会造成人力物力浪费。

【技术实现步骤摘要】

本专利技术涉及嵌入式系统
,特别是涉及一种确定嵌入式系统中的软 件的内存占用的方法和系统。
技术介绍
在工程上的单板(如通信单板等)中,经常在单板上使用简化的操作系统, 即嵌入式系统,完成单板上单一的功能。嵌入式系统中的软件包括引导(BOOT)软件和应用(APP)软件。 一般 地,引导软件保存在只读存储器中,应用软件保存在Flash闪存等存储器中。 在嵌入式系统上电后,首先运行引导软件,由引导软件完成CPU等硬件的初 始化,再把应用软件从Flash闪存读出,复制到内存中,应用软件在内存中保 存一份映像,然后CPU从引导软件跳转到应用软件在内存中的映像起始地址, 从而引导内存中的应用软件映像运行。现有技术中引导软件是将应用软件复制到内存中的一个固定地址。应用软 件在内存中映像占用内存的地址空间为从该固定地址到内存最高地址,内存基 地址到该固定地址的空间为应用软件的可用内存。在物理内存大小一定的条件下,由于应用软件在内存中映像的地址固定, 所以可用内存大小也固定。随着应用软件功能的增加,应用软件所需的内存越来越多,在硬件不变的 情^L下,由于可用内存大小固定,应用软件内存将不足,从而导致应用软件无 法运行。或者,虽然应用软件所需的内存足够,但是应用软件的大小超过了上 述固定地址到内存最高地址空间的大小,即预留给应用软件自身的映像的内存 不够,则工程上单板的嵌入式系统引导软件将无法引导此应用软件,这样不得 不更换引导软件,或者应用软件,甚至单板,造成成本增加,人力物力浪费。
技术实现思路
本专利技术所要解决的问题是提供一种确定软件的内存占用的方法和系统,其节约了成本,不会造成人力物力浪费。为实现本专利技术目的而提供的一种确定软件的内存占用的方法,包括下列步骤.-步骤A,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;步骤B,依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。所述步骤A中配置应用软件尺寸,具体包括下列步骤修改应用软件的生成配置文件,裁减编译应用软件填充到应用软件映像中的无效二进制代码。所述应用软件尺寸为编译后的应用软件代码大小除1024取整后,乘以1024。所述步骤A中配置应用软件在内存中的布局为确定映像文件映射到内存的偏移段起始地址和代码段起始地址。所述确定映像文件映射到内存的偏移段起始地址为是依据配置应用软件尺寸来确定;应用软件代码段起始地址为映像起始地址为内存最高地址,去掉 应用软件大小。所述步骤B中引导软件依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,具体包括下列步骤步骤Bl,根据内存最高地址和保存在存储器中的应用软件的尺寸确定应用软件在内存中映像的目标起始地址;步骤B2,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。为实现本专利技术目的还提供一种确定软件的内存占用的系统,包括占用内存 确定单元,内存映像单元,其中所述占用内存确定单元,用于通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;内存映像单元,用于依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码 运行。所述的配置应用软件尺寸为修改应用软件的生成配置文件,裁减编译应用 软^^填充到应用软件映像中的无效二进制代码;所述配置应用软件在内存中的 布局为确定映像文件映射到内存的偏移段起始地址和代码段起始地址。所述软件为单板的嵌入式系统中的应用软件。所述依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址为 根据内存最高地址和保存在存储器中的应用软件的尺寸,由内存最高地址,去 掉应用软件尺寸而得到。本专利技术的有益效果是本专利技术的一种确定软件的内存占用的方法和系统, 通过依据应用软件的实际大小,动态计算出应用软件在内存中映像的目标起始 地址,能充分减少应用软件不必要的内存空间浪费,从而增加应用软件的可用 内存;同时,引导软件可以自动适应不同大小的应用软件从而引导不同大小应 用软件运行,在不改变硬件架构和不增加硬件成本的条件下,解决了应用软件 可用内存不足的问题和需要在工程上更换引导软件甚至单板的问题,节约了成 本,不会造成人力物力浪费。附图说明图1是本专利技术的确定软件的内存占用的方法流程图2是本专利技术实施例中应用软件文件确定软件的内存占用的示意图3是本专利技术实施例中应用软件文件内存占用示意图4是本专利技术确定软件的内存占用的系统示意图。具体实施例方式为了使本专利技术的目的、技术方案及优点更加清楚明白,以下结合附图及实 施例,对本专利技术的一种确定软件的内存占用的方法和系统进行进一步详细说 明。应当理解,此处所描述的具体实施例仅仅用以解释本专利技术,并不用于限定 本专利技术。如图1所示,下面进一步详细描述本专利技术的一种确定软件的内存占用的方法
本专利技术实施例的一种确定软件内存占用的方法,以AM186CC CPU的嵌 入式系统40为例而进行的说明,该嵌入式系统40的内存为0x80000字节(十六进制),编译、连接软件工具采用BC4.5和Paradigm。本领域普通技术人 员可以理解,该方法也可以适用于其他的单板的嵌入式系统40中。步骤S1OO,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;确定应用软件尺寸为修改应用软件的生成配置文件,裁减编译应用软件填充到应用软件映像中的无效二进制代码。以十六进制方式打开应用软件文件,可以发现二进制文件的最后部分都是OxFF。这些OxFF即为填充代码,填充代码之前的代码为有效代码。当填充代码最少时应用软件文件尺寸即为最小。应用软件文件最小时,文件尺寸就是最 佳文件大小。较佳地,应用软件文件最佳尺寸的确定方法符合式(1),即应用软件文件尺寸为编译后的应用软件代码大小除1024取整后,乘以1024。其中,代码大小为应用软件编译后实际占用空间大小。APP软件文件尺寸==(APP软件编译后代码大小/1024 ) *1024 ........................................................................式(1)其中(APP软件编译后代码大小/1024)的值取整。确定应用软件在内存中的布局为确定映像文件映射到内存的偏移段起始地址和代码段起始地址。确定映像文件映射到内存的偏移段起始地址是依据确定应用软件尺寸来确定;应用软件代码段起始地址的方法依据式(2),即映像起始地址为内存最高地址,去掉应用软件尺寸。映像起始地址-内存最高地址-APP软件尺寸...............式(2)步骤S200,由引导软件依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。引导软件根据保存在Flash闪存中的应用软件尺寸确定应用软件在内存中映像的目标起始地址。确定目标起始地址的方法与确定应用软件映像文件映射到内存的绝对起始:池址的方法相同,即利用式(2)确定,引导软件首先得到应用软件的尺寸, 将内存最高地址减去应用软件的大小得到应用软件在内存中映像的目标起始 地址,然后,按所配置的应用软件在内存中的布本文档来自技高网
...

【技术保护点】
一种确定软件的内存占用的方法,其特征在于,包括下列步骤:步骤A,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;步骤B,依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。

【技术特征摘要】
1、一种确定软件的内存占用的方法,其特征在于,包括下列步骤步骤A,通过编译后应用软件中代码大小,配置应用软件尺寸和应用软件在内存中的布局;步骤B,依据应用软件的尺寸确定应用软件在内存中映像的目标起始地址,按所配置的应用软件在内存中的布局,引导应用软件的有效代码运行。2、 根据权利要求l所述的确定软件的内存占用的方法,其特征在于,所 述步骤A中配置应用软件尺寸,具体包括下列步骤修改应用软件的生成配置文件,裁减编译应用软件填充到应用软件映像中 的无效二进制代码。3、 根据权利要求2所述的确定软件的内存占用的方法,其特征在于,所 述应用软件尺寸为编译后的应用软件代码大小除1024取整后,乘以1024。4、 根据权利要求2所述的确定软件的内存占用的方法,其特征在于,所 述步骤A中配置应用软件在内存中的布局为确定映像文件映射到内存的偏移 段起始地址和代码段起始地址。5、 根据权利要求4所述的确定软件的内存占用的方法,其特征在于,所 述确定映像文件映射到内存的偏移段起始地址为是依据配置应用软件尺寸来 确定;应用软件代码段起始地址为映像起始地址为内存最高地址,去掉应用软 件大小。6、 根据权利要求l至5任一项所述的确定软件的内存占用的方法,其特 征在于,所述步骤B中引导软件依据应用软件的尺寸确定应用软件在内存中 映像的目标起始...

【专利技术属性】
技术研发人员:钟桂贤
申请(专利权)人:中兴通讯股份有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1