IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> stm32堆栈、MAP文件相关笔记 -> 正文阅读

[嵌入式]stm32堆栈、MAP文件相关笔记

重新认识:

  • 段(section) :描述映像文件的代码和数据块。
  • RO: Read-Only 的缩写,包括 RO-data(只读数据)和
    RO-code(代码)。
  • RW: Read-Write 的缩写,主要是 RW-data, RW-data 由程序初始化初始值。
  • ZI: Zero-initialized 的缩写,主要是 ZI-data,由编译器初始化为 0。
  • .text:与 RO-code 同义。
  • .constdata:与 RO-data 同义。
  • .bss: 与 ZI-data 同义。
  • .data:与 RW-data 同义
    在这里插入图片描述
    Image Symbol Table主要分为两类,分别是Local Symbols和Global Symbols。
  • Local Symbols 记录了用 static 声明的全局变量地址和大小, C 文件中函数的地址和用 static 声明的
    函数代码大小,汇编文件中的标号地址(作用域限本文件)。
  • Global Symbols 记录了全局变量的地址和大小, C 文件中函数的地址及其代码大小,汇编文件中的 标号地址(作用域全工程)。

Memory Map of the image:
映像文件可以分为加载域(Load Region)和运行域(Execution Region) : 加载域反映了 ARM 可
执行映像文件的各个段存放在存储器中的位置关系。

Image component sizes:

  • Code (inc. Data) :显示代码占用了多少字节。 在此映像中,有 19442 字节的代码, 其中包括 1832 字节的内联数据
    (inc. data),例如文字池和短字符串。

  • RO Data :显示只读数据占用了多少字节(比如 const char buf[] = “123456”) 。这是除 Code (inc. data) 列中包括的内联数据之外的数据。

  • RW Data:显示读写数据占用了多少字节。

  • ZI Data :显示零初始化的数据占用了多少字节。

  • Debug :显示调试数据占用了多少字节,例如,调试输入节以及符号和字符串。

  • Object Totals :显示链接到一起以生成映像的对象占用了多少字节。

  • (incl. Generated):链接器会生成的映像内容,例如,交互操作中间代码。如果 Object Totals 行
    包含此类型的数据,则会显示在该行中。本例中共有 1016 字节的 RO 数据,其中 32 字节是链接器生成的 RO 数据。

  • (incl. Padding) :链接器根据需要插入填充,以强制字节对齐。

在这里插入图片描述

◆Grand Totals:显示映像的真实大小。
◆ ELF Image Totals: ELF(Executable and Linking Format)可执行链接格式映像文件大小。
◆ ROM Totals:显示包含映像所需的 ROM 的最小大小。这不包括 ZI 数据和存储在 ROM 中的调试
信息。

Keil编译后的Code,RO,RW,ZI分别表示什么以及和芯片Flash、SRAM的对应关系:
在这里插入图片描述
以前一直好奇这几个参数和实际使用的STM32芯片中Flash和SRAM的对应关系,于是上网搜了一圈,做如下总结:

这些参数的单位是Byte
图中几个参数分别代表
Code:代码的大小
RO:常量所占空间
RW:程序中已经初始化的变量所占空间
ZI:未初始化的static变量和全局变量以及堆栈所占的空间

上述参数和芯片Flash以及SRAM的对应关系是:

Flash占用大小=Code+RO+RW
SRAM占用大小=RW+ZI

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章           查看所有文章
加:2022-03-12 17:43:47  更:2022-03-12 17:45:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 6:23:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码