| | |

在mdk中如何看到编译后代码的大小呢?在哪里设置? -凯发app

问题类别:arm 开发工具 > mdk-arm 浏览次数:3843
发布日期:2012/4/23 11:52:04 文章来源:米尔科技
回复日期:2012/4/23 16:22:37
realview mdk中国版3.05以上
如何查看编译后的代码的大小?

问题分析:

编译后在obj文件夹中会生成axf文件,然后把axf文件转化成bin文件就可以看到大小。

问题解答:

生成bin文件的方法为:

mdk-arm的集成开发环境中,默认情况下可以生成*.axf格式的调试文件和*.hex格式的可执行文件。虽然这两个格式的文件非常有利于ulink2仿真器的下载和调试,但是ads的用户更习惯于使用*.bin格式的文件,甚至有些嵌入式软件开发者已经拥有了*.bin格式文件的调试或烧写工具。为了充分地利用现有的工具,同时发挥mdk-arm集成开发环境的优势,将*.axf格式文件或*.hex格式文件转换成*.bin格式的文件是十分自然的想法。本文将详细的探讨这种转换方法。
在详细的介绍这种方法之前,先了解一下arm公司的rvct开发套件中的fromelf.exe转换工具是十分必要的,因为在mdk-arm中生成*.bin格式文件的工具正是它。
fromelf.exe转换工具的语法格式如下:
fromelf [options] input_file
其中[options]包括的选项及详细描述见表一。
表一 fromelf工具的选项及描述表格
选项
描述
选项
描述
--help
显示帮助信息
--vsn
显示版本信息
--output file
输出文件(默认的输出为文本格式)
--nodebug
在生成的映象中不包含调试信息
--nolinkview
在生成的映象中不包含段的信息
--bin
生成plain binary格式的文件
--m32
生成motorola 32位十六进制格式的文件
--i32
生成intel 32位十六进制格式的文件
--vhx
面向字节的位十六进制格式的文件
--base addr
设置m32i32格式文件的基地址
--text
显示文本信息
-v
打印详细信息
-a
打印数据地址(针对带调试信息的映象)
-d
打印数据段的内容
-e
打印表达式表print exception tables
-f
打印消除虚函数的信
-g
打印调试表print debug tables
-r
打印重定位信息
-t
打印字符串表
-y
打印动态段的内容
-z
打印代码和数据大小的信息
 
 
 
在掌握了fromelf转换工具的语法格式以后,下面将介绍它在mdk-arm中的使用方法:
1.       新建一个工程,例如axf_to_bin.uv2
2.       打开options for target ‘axf_to_bin’对话框,选择user标签页;
3.       构选run user programs after build/rebuild框中的run #1多选框,在后边的文本框中输入c:\keil\arm\bin31\fromelf.exe --bin -o ./output/axf_to_bin.bin ./output/axf_to_bin.axf命令行;
4.       重新编译文件,在./output/文件夹下生成了axf_to_bin.bin文件。
经过上述4步的操作以后,将得到我们希望的axf_to_bin.bin格式的文件。
 
 
编译成功后,可以从窗口中看到编译后的code,ro,rw,zi的大小,当然也可以通过生成的map文件查看!

凯发k8官网的技术支持服务指南

常见问题解答

网站地图