[开发工具] keil如何关闭.map文件

[复制链接]
1559|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空间的一种映射文件。
micoccd 发表于 2024-4-29 14:10 | 显示全部楼层
取消勾选可以加快编译速度
AIsignel 发表于 2024-4-29 15:58 | 显示全部楼层
map文件可以清晰的看到变量申请的地址。
芯路例程 发表于 2024-4-29 21:33 | 显示全部楼层
一般不会去关闭这个map文件的生成。
Pulitzer 发表于 2024-9-6 07:06 | 显示全部楼层

通过访问寄存器来控制I2C1工作时钟的开启。
Pulitzer 发表于 2024-9-6 07:06 | 显示全部楼层

通过访问寄存器来控制I2C1工作时钟的开启。
童雨竹 发表于 2024-9-6 09:02 | 显示全部楼层

这种方法可以使散热体积和表面面积增大两倍多
Wordsworth 发表于 2024-9-6 10:05 | 显示全部楼层

I2C1工作时钟源选择;I2C1模块工作时钟的开启使能。
Clyde011 发表于 2024-9-6 11:08 | 显示全部楼层

STM32芯片中有多个工作时钟源的外设很常见
公羊子丹 发表于 2024-9-6 12:01 | 显示全部楼层

功率开关漏极(或集电极)
万图 发表于 2024-9-6 13:04 | 显示全部楼层

CPU借助于APB总线访问相关寄存器达到对I2C1工作模块的控制
Uriah 发表于 2024-9-6 14:07 | 显示全部楼层

ART2固定使用PCLK时钟,只有开启和关闭的问题,不存在其它时钟源选择
帛灿灿 发表于 2024-9-6 16:03 | 显示全部楼层

控制模块的时钟仍然由外设时钟PCLK提供
Bblythe 发表于 2024-9-6 17:06 | 显示全部楼层

USART1可以有多个时钟源
周半梅 发表于 2024-9-6 19:02 | 显示全部楼层

要把纹波电流平均分布
您需要登录后才可以回帖 登录 | 注册

本版积分规则

40

主题

1570

帖子

1

粉丝
快速回复 在线客服 返回列表 返回顶部