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

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

 

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

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

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

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

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

 

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

 

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

 

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

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

 

 

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

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

 

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

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

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

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

 

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

你可能感兴趣的:(单片机)