STM32 代码大小的计算与优化

2023-11-12

一、代码大小

1、类别

code:

        包含两部分,即代码和数据
        1)code,即程序代码部分,- inline data. For example, literal pools(文字常量池), and short strings(短字符串)等. 这个一般被忽略,请大家注意!!!
        2) 代码段,存放程序的代码部分。

RO-data:

        只读的数据,Shows how many bytes are occupied by read-only data. This is in addition to the inline data included in the Code (inc. data) column. 除inline data 之外的所有只读数据。只读数据段,存放程序中定义的常量

RW-data:

        可读写的数据,Shows how many bytes are occupied by read-write data.。读写数据段,存放初始化为非0值的全局变量。

ZI-data: 

        zero initialized data,零初始化的可读写变量,Shows how many bytes are occupied by zero-initialized data。0数据段,存放未初始化的全局变量及初始化为0的变量。

2、ROM/RAM的大小计算

与处理器相关的ROM和RAM文件大小定义如下:

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

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

上述图片框选的ROM的大小=9088+2340+136=11564Byte。

上述图片框选的RAM的大小=136+480=616Byte。

二、代码优化

1、通过编译器优化

1)缩减版的库

2)提高代码优化等级

 参考链接:keil-STM32中如何查看代码大小,和KEIL51稍微不同_stm32代码大小_qq_25814297-npl的博客-CSDN博客

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

STM32 代码大小的计算与优化 的相关文章

  • docker和原生方式安装jenkins,以及常见问题踩坑

    前言 Jenkins 是一款开源自动化服务器 可用于轻松设置持续集成和持续交付 CI CD 管道 持续集成 CI 是DevOps的一种实践 团队成员定期将其代码更改提交到版本控制存储库 然后运行自动构建和测试 持续交付 CD 是一系列的实践
  • Docker网络模式

    目录 一 Docker网络的实现原理 二 Docker的五种网络模式 1 Host模式 2 Container模式 3 None模式 4 Bridge模式 默认 5 自定义网络模式 5 1 查看网络模式列表 5 2 查看容器信息 5 3 指

随机推荐

  • 解决 MySQL 中不能输入中文的问题,复制粘贴也不允许。

    解决 MySQL 中不能输入中文的问题 复制粘贴也不允许 首先 MySQL 中不能输入中文的问题与 MySQL 版本无关 与主机也无关 Debian centos 都无所谓 而我的 locale 下的语言设置都没问题 我这里的 MySQL
  • python项目结构设计_python工程结构

    在一个健康的开发周期中 代码风格 API设计和自动化是非常关键的 同样的 对于工程的架构 仓库的结构也是关键的一部分 当一个潜在的用户和贡献者登录到您的仓库页面时 他们会看到这些 工程的名字 工程的描述 一系列的文件 如果您的仓库的目录是一
  • const在指针赋值时候注意事项:assignment discards ‘const’ qualifier from pointer target type的解决方法

    const 与 define 都可以创建类似功能的符号常量 但是const可以创建const 数组 指针 指向const的指针 很重要的一点const能使不需要修改的数据变成只读的模式 include
  • java8 方法引用详解_Java8中如何通过方法引用获取属性名详解

    前言 在我们开发过程中常常有一个需求 就是要知道实体类中Getter方法对应的属性名称 Field Name 例如实体类属性到数据库字段的映射 我们常常是硬编码指定 属性名 这种硬编码有两个缺点 1 编码效率低 因为要硬编码写属性名 很可能
  • Linux系统shell脚本基础之while循环

    Linux系统shell脚本基础之while循环 一 脚本要求 二 脚本内容 1 脚本1 2 脚本2 三 执行脚本1结果 四 执行脚本2 一 脚本要求 脚本1 计算从1加到100的值 使用while循环 脚本2 输入一个数 输出1加到这个数
  • 网易游戏2011.10.15校园招聘会笔试题

    网易游戏2011 10 15校园招聘会笔试题 转载于 http blog csdn net hackbuteer1 article details 6878570 1 对于一个内存地址是32位 内存页是8KB的系统 0X0005F123这个
  • <mvc:default-servlet-handler />到底有什么用

    tomcat容器的web xml中有一个defaultServlet 用于处理静态资源 映射路径是 我们自定义的web xml最终相当于会与容器的web xml合并 而自定义DispatchServlet一般也是使用 导致容器中的defau
  • python安装报错error writing to file:......

    今天换了win10 64电脑 安装python3 6 8时 报错 error writing to file 安装时 右键 以管理员身份运行 安装成功 转载于 https www cnblogs com shuaishuaidefeizhu
  • linux启动时有文件错误,Linux 无法启动常见的几种原因及解决办法

    导致 Linux 无法启动的原因有很多 下面良许小编就将常见的几种原因及解决办法进行详述 希望对大家有所帮助 文件系统配置不当 如 etc inittab文件 etc fstab 文件等配置错误或丢失 导致系统出现故障 以至于无法启动 非法
  • 应急响应-钓鱼邮件的处理思路溯源及其反制

    0x00 钓鱼邮件的危害 1 窃取用户敏感信息 制作虚假网址 诱导用户输入敏感的账户信息后记录 2 携带病毒木马程序 诱导安装 使电脑中病毒木马等 3 挖矿病毒的传输 勒索病毒的传输等等 0x01 有指纹的钓鱼邮件的溯源处理 从邮件中获取相
  • buildroot添加新硬件内核支持

    1
  • 对开发来讲,业务重要还是技术重要?

    很多开发者为天天写业务代码无暇提升技术而焦虑 苦恼 比如 又如 又如 再如 那么 作为开发者 到底该怎么面对 写业务代码 这件事呢 今天我们就从以下几个方面聊聊这个话题 什么是业务 业务和技术的关系 业务和因解决业务而衍生的业务 对业务的态
  • Bitbucket代码迁移到Gitlab

    首先需要确定使用具有一定权限的账号进行迁移 然后在迁移的机器上配置git环境 添加账户信息 git config global user name XXX git config global user email XXX XXXX com
  • uni-app实现多选

  • word2016解决mathtype无法加载mathpage.wll文件问题

    参考文章 https www cnblogs com weiyouqing p 9082353 html 首先需要找到在Word加载的两个文件 一个是MathType Commands 6 For Word2010 dotm 文件位置 C
  • 拥塞控制算法

    TCP拥塞控制算法的目的可以简单概括为 公平竞争 充分利用网络带宽 降低网络延时 优化用户体验 然而就目前而言要实现这些目标就难免有权衡和取舍 算法分类 基于丢包策略的传统拥塞控制算法的几个迭代版本 如图所示 与此同时还有一类算法是基于RT
  • 计算机二级(Python)__第三方库

    Python第三方库依照安装方式灵活性和难易程度有3个方法 建议一次使用 这三个方法是 pip工具安装 自定义安装和文件安装 pip工具安装 最常用且最高效的Python第三方库安装方式采用pip工具安装 pip是Python官方提供并维护
  • spring深入学习(十九) IOC 之 Factory 实例化 bean

    这篇我们关注创建 bean 过程中的第一个步骤 实例化 bean 对应的方法为 createBeanInstance 如下 protected BeanWrapper createBeanInstance String beanName R
  • 服务端和客户端的区别及介绍

    客户端和服务器通常是值互联网硬件所扮演的主要角色 客户端又称为用户端 与服务器相对应 与服务器端相互配合运行 下面是两者的不同点 1 定义不同 客户端 或称为用户端 是指与服务器相对应 为客户提供本地服务的程序 服务器端 从广义上讲 服务器
  • STM32 代码大小的计算与优化

    一 代码大小 1 类别 code 包含两部分 即代码和数据 1 code 即程序代码部分 inline data For example literal pools 文字常量池 and short strings 短字符串 等 这个一般被忽