从单片机工程文件中的map文件可以了解到哪些信息

未完待续.........

 

首先一个问题,IAR工程中如何生成map文件?

       首先选中项目文件名,然后按这个路径Project/Option/Linker/list/在Generlate linker listing前打勾,然后你就看到Module map 这个选项选上了,然后编译链接源代码,就可以看到生成一个扩展名是map的文件,打开这个文件就看到代码大小。

第二个问题,map 文件包含哪些信息?

我们一般去找map文件的时候,是想看一下单片机的code区和ram区已被占用的空间,但空间不多的时候,可以看看哪些文件占用的ram空间较大,对应文件的哪些变量和函数占用的ram空间较大,一般定义的较大的全局变量缓冲区会占用较大的ram空间。如果需要减少空间占用的话,可以考虑是否可以减小缓冲区或是否可以将全局变量修改为局部变量等等。

 

由最开始部分的信息,我们可以看到heap和stack分别的空间大小,这里由下图可以知道heap空间大小为0x100,stack的空间大小也是0x100.

 

 

文件较靠前的位置可以看到MESSAGE信息,这里的信息是你编译工程的时候,提示的一些警告warning信息和error信息.

 

 

可以从下图的MODULE SUMARY位置看到各个文件所占用rom和ram空间大小,以及累加之后,总的占用的空间大小。ro code和ro data在rom区,rw data在ram区。

 

通过下面的ENTRY LIST可以看到哪一个文件的哪一个函数或者变量占用的ram空间较大

map文件的最后,会列出一个rom和ram的总共的使用情况列表:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值