打印
[开发工具]

keil如何关闭.map文件

[复制链接]
736|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ccook11|  楼主 | 2023-9-28 06:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
map文件是通过编译器编译之后,集程序、数据及IO空间的一种映射文件。


很多技术牛X的工程师在遇到内存越渗缺界,或溢出的情况,首先想到的就是分析map文件。通过map文件可以知道函数大小,入口地址等一些重要信息。

我们在Keil中最常见的就是在编译之后,编译窗口会悄慎显示类似如下一段关于程序和数据大小的信息:



Program Size: Code=1112 RO-data=320 RW-data=0 ZI-data=1632



这一段提示信息其实是汇总了程序和数据的信息,这些信息其实是单个模块汇总而成,在map文件里有详启喊敬细列表。

首先需要开启早缓map文件的嫌唯生成。
项目配置栏中listing栏下勾选Linker Listing,然后勾芹睁培选所有子选项。重新编译工程。

然后就可以在主目录下的Listings目录下看到生成的map文件。

使用特权

评论回复
沙发
豌豆爹| | 2023-9-28 10:22 | 只看该作者
在Windows系统中的命令提示符窗口或者Linux/Unix系统中的终端窗口,进入项目所在目录,然后执行以下命令删除.map文件:

bash
rm -f *.map

使用特权

评论回复
板凳
Henryko| | 2023-9-29 19:31 | 只看该作者
将"Generate Map File"的选项取消勾选

使用特权

评论回复
地板
中国龙芯CDX| | 2024-4-29 08:17 | 只看该作者
map文件是通过编译器编译之后,集程序、数据及IO空间的一种映射文件。

使用特权

评论回复
5
micoccd| | 2024-4-29 14:10 | 只看该作者
取消勾选可以加快编译速度

使用特权

评论回复
6
AIsignel| | 2024-4-29 15:58 | 只看该作者
map文件可以清晰的看到变量申请的地址。

使用特权

评论回复
7
芯路例程| | 2024-4-29 21:33 | 只看该作者
一般不会去关闭这个map文件的生成。

使用特权

评论回复
8
Pulitzer| | 2024-9-6 07:06 | 只看该作者

通过访问寄存器来控制I2C1工作时钟的开启。

使用特权

评论回复
9
Pulitzer| | 2024-9-6 07:06 | 只看该作者

通过访问寄存器来控制I2C1工作时钟的开启。

使用特权

评论回复
10
童雨竹| | 2024-9-6 09:02 | 只看该作者

这种方法可以使散热体积和表面面积增大两倍多

使用特权

评论回复
11
Wordsworth| | 2024-9-6 10:05 | 只看该作者

I2C1工作时钟源选择;I2C1模块工作时钟的开启使能。

使用特权

评论回复
12
Clyde011| | 2024-9-6 11:08 | 只看该作者

STM32芯片中有多个工作时钟源的外设很常见

使用特权

评论回复
13
公羊子丹| | 2024-9-6 12:01 | 只看该作者

功率开关漏极(或集电极)

使用特权

评论回复
14
万图| | 2024-9-6 13:04 | 只看该作者

CPU借助于APB总线访问相关寄存器达到对I2C1工作模块的控制

使用特权

评论回复
15
Uriah| | 2024-9-6 14:07 | 只看该作者

ART2固定使用PCLK时钟,只有开启和关闭的问题,不存在其它时钟源选择

使用特权

评论回复
16
帛灿灿| | 2024-9-6 16:03 | 只看该作者

控制模块的时钟仍然由外设时钟PCLK提供

使用特权

评论回复
17
Bblythe| | 2024-9-6 17:06 | 只看该作者

USART1可以有多个时钟源

使用特权

评论回复
18
周半梅| | 2024-9-6 19:02 | 只看该作者

要把纹波电流平均分布

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

38

主题

1289

帖子

0

粉丝