MDK Keil查看map文件及编译占用内存信息、函数入口地址

这篇具有很好参考价值的文章主要介绍了MDK Keil查看map文件及编译占用内存信息、函数入口地址。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、在哪里打开map文件查看

(1)第一种,在keil软件下,双击你的工程名,map就会弹出

MDK Keil查看map文件及编译占用内存信息、函数入口地址
MDK Keil查看map文件及编译占用内存信息、函数入口地址

(2)第二种,点击魔术棒,查看 Lis文件输出的位置入口

MDK Keil查看map文件及编译占用内存信息、函数入口地址

我的在output...文件下,那我们工程的文件夹下,找到output

MDK Keil查看map文件及编译占用内存信息、函数入口地址

二、查看map文件信息

(1)函数定义的位置信息

MDK Keil查看map文件及编译占用内存信息、函数入口地址

如图,这些你定义函数的左边就是器对应的地址

MDK Keil查看map文件及编译占用内存信息、函数入口地址

如出现上图这样的信息,那说明某个函数的地址被你强制定义在这个位置,对于默写应用有严格要求,就需要操作的函数定义在摸个位置之内

如对这个不清楚可以看这篇文章:

https://blog.csdn.net/qq_38295600/article/details/129331189

(2)当前编译的程序占用的内存大小

Keil编译完成后出现的程序大小说明

MDK Keil查看map文件及编译占用内存信息、函数入口地址

Code:代表执行的代码,程序中所有的函数都位于此处,也可认为是程序所占用的FLASH大小,存储在FLASH中;

RO-data:Read-only-data,代表只读数据,程序中所定义的全局常量数据和字符串都位于此处,存储在FLASH中;

RW-data:Read-write-data,代表已初始化的读写数据,程序中定义并且初始化的全局变量和静态变量位于此处,存储在SRAM中;

ZI-data:Zero-Init-data,代表未初始化的读写数据,程序中定义了但没有初始化的全局变量和静态变量位于此处,存储在SRAM中。

map文件查看:将其下拉到最底下

MDK Keil查看map文件及编译占用内存信息、函数入口地址

RO Size (Code + RO Data) 5872 ( 5.73kB) 程序占用FLASH空间的大小

RW Size (RW Data + ZI Data) 19608 ( 19.15kB) 运行时程序占用RAM空间的大小

ROM Size (Code + RO Data + RW Data) 6036 ( 5.89kB) 烧写时程序占用FLASH空间的大小

为什么烧写的时候,没有烧写 ZI Data,这是因为 ZI Data 是没有初始化的数据,默认的是0,只要程序运行之前将ZI数据所在的区域位置清0即可,没有必要包含到flash里面。栈的空间位置就出在 ZI Data 里

简单的说就是在烧写的时候是FLASH中的被占用的空间为:Code+RO-Data+RW-Data

间为:Code+RO-Data+RW-Data

程序运行的时候,芯片内部RAM使用的空间为: RW-Data + ZI-Data文章来源地址https://www.toymoban.com/news/detail-449727.html

到了这里,关于MDK Keil查看map文件及编译占用内存信息、函数入口地址的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Keil5升级MDK后编译报错

    *** Target \\\'Target 1\\\' uses ARM-Compiler \\\'Default Compiler Version 5\\\' which is not available. *** Please review the installed ARM Compiler Versions:    \\\'Manage Project Items - Folders/Extensions\\\' to manage ARM Compiler Versions.    \\\'Options for Target - Target\\\' to select an ARM Compiler Version for the target. *** Build aborted. Build Time Elapsed:  00:0

    2024年02月16日
    浏览(25)
  • Keil MDK安装armcc V5编译器

            不知道从什么时候开始,Keil MDK默认不支持V5的编译器了,里面默认只有V6的编译器,设置界面跟V5有很大的差异不太熟悉。最可怕的是,之前使用V5编译的工程,换成V6编译器后居然报错...虽然修改一下应该也可以正常编译,但,人总是习惯自己熟悉的东西。所以,

    2024年04月27日
    浏览(30)
  • 关于Keil MDK编译missing compiler version 5报错

    因为新版本的Keil不预装V5编译器(ARM compiler version 5),编译v5的项目时报以下这个错 解决方案: 下载ARM compiler version 5安装包并安装 ARM compiler version 5安装包 安装目录选择MDK5ARMARMCC 打开MDK5 再次编译就不会报错

    2024年02月11日
    浏览(28)
  • 【Keil5】Keil查看程序占用flash大小

    我们在挑选一款单片机的时候,会查询单片机的主频、内部flash和RAM、封装、各种外设接口资源。其中flash和RAM大小尤为重要。 以STM32H750VBT6为例,其内部flash只有128KB,RAM却有1056KB。 该选型手册可在该链接中免积分下载:STM32系列产品选型手册 该型号的flash容量比F103ZET6的512

    2024年02月12日
    浏览(34)
  • KEIL5MDK安装及V5编译器的安装

    目前keil官网最新版本的安装包都是默认安装V6编译器,不再自动安装V5编译器,而V5与V6编译器在编译的时候有很多代码不兼容,导致工程编译失败,所以我们使用新版keil5的时候,要用V5编译器就要自己安装V5编译器。 教程中所需的安装包(keil、破解工具、V5编译器)百度网盘

    2024年02月11日
    浏览(37)
  • KEIL MDK5.37版本自行添加AC5(ARMCC)编译器

    从MDK5.37开始,AC5(ARMCC)编译器不再默认安装,需要独立安装。 下面是总结的安装步骤: 下载AC5(ARMCC)编译器: 1.官方页面(可能下载不成功) Legacy Arm Compilers – Arm Developer https://developer.arm.com/downloads/-/legacy-compilers 2.安富莱论坛(推荐,比较容易下载) 【安富莱】MDK5.29,5.30,

    2024年02月02日
    浏览(40)
  • Keil MDK 5.37 及之后版本 安装 AC5(ARMCC) 编译器详细步骤

    由于 Keil 5.37 及之后版本不再默认安装 AC5(ARMCC) 编译器,这就会导致由 AC5 编译的工程无法正常编译,往往输出窗口会提示以下信息:*** Target ‘STM32xxxx‘ uses ARM-Compiler ‘Default Compiler Version 5‘ which is not available. —— 我们只需手动安装 AC5 编译器即可!!! 官方下载渠道:D

    2024年04月17日
    浏览(38)
  • 用Visual Studio 2022的.map文件来查看C++变量在内存中的布局情况

    代码1 上述代码在Win10 X64,MSVC Release模式下编译,编译得到的二进制文件大小为 15KB 左右。 代码2 上述代码在Win10 X64,MSVC Release模式下编译,编译得到的二进制文件大小为 15KB 左右。 代码3 上述代码在Win10 X64,MSVC Release模式下编译,编译得到的二进制文件大小为 143KB 左右。

    2024年02月10日
    浏览(30)
  • Keil MDK的sct分散加载文件详解

    MDK 生成一个以工程名命名的后缀为 *.sct 的分散加载文件 (Linker Control File,scatter loading),链接器根据该文件的配置分配各个节区地址,生成分散加载代码,因此我们通过修改该文件可以定制具体节区的存储位置。 工程构建时, MDK 会根据我们选择的芯片型号,获知芯片的内部

    2024年02月02日
    浏览(22)
  • KEIL5MDK最新版(3.37)安装以及旧编译器(V5)安装

    方式一:keil5官网链接。需要填写信息(如左图,可以乱填),然后提交,点击软件下载(如右图),问题就是下载慢,但问题不大。 方式二:keil5云盘链接链接,提取码:1234,笔者当时最新的版本是3.37。 下载后安装,需要注意的是不要出现任何中文就行。 破解软件链接:

    2023年04月08日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包