看懂.map

Total RO  Size (Code + RO Data)                13080 (  12.77kB)
Total RW  Size (RW Data + ZI Data)             15848 (  15.48kB)
Total ROM Size (Code + RO Data + RW Data)      13128 (  12.82kB)

Total RO Size(只读区域总大小)

  • 包含:Code(程序指令代码,如函数实现、汇编指令)+ RO Data(只读数据,如const修饰的常量、字符串常量)
  • 大小:13080 字节 ≈12.77kB
  • 存储位置:通常在 ROM(闪存 / 程序存储器) 中,运行时不会被修改,仅读取。

Total RW Size(读写区域总大小)

  • 包含:RW Data(初始化非零的读写数据,如全局变量int a=10)+ ZI Data(零初始化数据,如全局变量int b、未初始化数组,编译后默认清 0)
  • 大小:15848 字节 ≈15.48kB
  • 存储 / 运行位置:

    • RW Data:编译时存于 ROM,上电后会被复制到 RAM(随机存储器) 供读写;
    • ZI Data:仅占用 RAM 空间(编译时不占 ROM,上电后由系统清 0 分配);
    • 核心:这部分是程序运行时实际占用的RAM 大小(关键指标,RAM 不足会导致程序崩溃)。

Total ROM Size(ROM 总占用大小)

  • 包含:Code + RO Data + RW Data(不含 ZI Data,因此不占 ROM)
  • 大小:13128 字节 ≈12.82kB
  • 意义:程序下载到芯片时,实际占用的闪存(ROM)空间(需小于芯片 ROM 容量,否则无法下载)。

核心总结

  • ROM 占用(下载大小):~12.82kB(需芯片 ROM≥此值);
  • RAM 占用(运行时空间):~15.48kB(需芯片 RAM≥此值);
  • 只读资源(代码 + 常量):~12.77kB,读写变量(初始化 + 未初始化):~15.48kB。

添加新评论