当前位置: 首页 > news >正文

资源受限MCU Flash空间占用优化

资源受限MCU Flash空间占用优化步骤:

  • 避免重复功能,排查软件工程中,重复功能的代码片段,抽象出来,重新进行封装;
  • 减少内联函数inline,内联函数过大且过多的调用无疑会增加代码量,占用过多的flash,如果代码运行速度要求不高类似这样的内联函数,尽量改成函数调用;
  • 开启最高优化,优化时应倾向于速度和代码量的平衡,不能一味地缩小代码量,因为这很可能会出现意想不到的问题,特殊源文件也可开局部优化功能;
  • 减少运行库调用,编译器自带的运行库一般都过大而复杂,例如常用的printf调试打印,将会占用大量flash空间,因此设计代码时,应通过宏配置可禁掉类似printf的调试代码或直接通过UART发送字符功能打印调试信息;
  • 自行实现标准库函数,简单的库功能如:memcpy、memset等功能自行实现也会减少标准库调用而导致占用过多的flash空间;
  • 使用MCU本身的硬件特性,如果支持,尽量使用MCU的硬件乘法器或者浮点运算单元,这样会比直接进行乘法或者浮点运算运行减少很多代码量;
  • 定义恰当的变量类型:C编译器支持变量的类有char、int、long等,定义恰当的变量类型,可以有效的减少代码和数据的长度,同时也能提高运行效率。
http://www.lryc.cn/news/198340.html

相关文章:

  • 冰蝎默认加密的流量解密
  • C#字符串操作:拼接、截取、分割等高效处理方法
  • 垃圾邮件(短信)分类算法实现 机器学习 深度学习 计算机竞赛
  • 每日一题 1726. 同积元组(中等,计数)
  • LeetCode 2894. 分类求和并作差【数学,容斥原理】1140
  • 100天掌握网络安全知识点!
  • 【ArcGIS绘图系列1】在ArcGIS中制作柱状图与饼状图
  • 【c++】跟webrtc学std array 1: 混音的多维数组
  • App出海起量难?传参安装打开获客增长新途径
  • 当AI遇上3D建模:一场创意与技术的完美碰撞!
  • 工作中的有效沟通
  • 1.集合框架
  • 2023年下半年软考考试重磅消息
  • Spring Boot如何优雅实现动态灵活可配置的高性能数据脱敏功能
  • 九月 Web3 游戏报告:数量增长,巨头入场,用户获取和留存仍存挑战
  • Scala语言入门
  • MyBatisPlus-02
  • vscode中快速生成vue3模板
  • Liunx C运算符
  • 【反射】Class类
  • PyQt 问题记录
  • 云安全—责任共担
  • 使用Vscode终端设置window环境变量设置不上
  • 【微信小程序】自定义组件布局会议OA其他页面(附源码)
  • 如何使用 MiniGPT-v2
  • python -pandas -处理excel合并单元格问题
  • KT6368A的封装怎么画 原理图怎么画 资料怎么看 怎么下载呢
  • Linux杀掉僵尸进程方法
  • uniapp(uncloud) 使用生态开发接口详情1(创建项目)
  • Linux内核8. Linux内核的经典调试方式