zoukankan      html  css  js  c++  java
  • keil编译后Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588

    Program Size: Code=46284 RO-data=988 RW-data=580 ZI-data=1094588  

    Code      :   程序中代码所占字节大小

    RO-data :   Read-only-data  ,存储在flash中的常量大小。

    RW-data:   Read-write-data  ,存储在flash中初始化的变量。

    ZI-data   :   Zero-Init-data      ,存储在SRAM中未初始化的变量。

    ROM(Flash) size = Code+RO-data+RW-data;

    RAM size = RW-data+ZI-data

    可以通过.map查看占用的flash和ram大小

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

    程序运行的时候,芯片内部RAM使用的空间为: RW Data + ZI Data

    摘自:https://blog.csdn.net/yuleicqut/article/details/50933441

    存储Size:

    RO size: Code + RO_data

    RW size: RW_data + ZI_data

    ROM (minimum)size = Code + RO_data + RW_data (即烧/下载程序到FLASH/ROM时,所占用的最小空间)

    Total ROM Size (Code + RO Data + RW Data)这样所写的程序占用的ROM的字节总数,也就是说程序所下载到ROM flash 中的大小。为什么Rom中还要存RW,因为掉电后RAM中所有数据都丢失了,每次上电RAM中的数据是被重新赋值的,每次这些固定的值就是存储在Rom中的,为什么不包含ZI段呢,是因为ZI数据都是0,没必要包含,只要程序运行之前将ZI数据所在的区域一律清零即可。包含进去反而浪费存储空间。

    RAM size: RW Data + ZI Data (即程序运行的时,RAM使用的空间)

     /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

  • 相关阅读:
    【Struts2】 国际化
    【Struts2】进阶
    【Struts2】简介及入门
    【Distributed】互联网安全架构
    【Mac】 开启原生的 NTFS 硬盘格式支持
    swagger2简单使用
    自定义异常和异常处理
    enum简单使用
    Interceptor
    修改docker下mysql配置
  • 原文地址:https://www.cnblogs.com/chulin/p/8760579.html
Copyright © 2011-2022 走看看