如何降低Build时间?有哪些方法呢?

感知论坛 20230824

  • 嵌入式系统
  • 构建效率
  • 编译优化

随着嵌入式系统功能越来越多,嵌入式软件代码也越来越复杂,Build时间也越来越长。

本文主要介绍如何降低build时间。

降低Build时间

使能Parallel Build

使能Parallel Build (Tools > Options > Project > Enable parallel build) (注意:IDE 9版本以上,Enable parallel build是默认勾选的):

正确包含头文件

确保头文件里面使用头文件保护,以避免头文件被重复包含:

#ifndef HFILE_H
#define HFILE_H
 /* ... */
#endif

确保源文件里面只包含对应需要的头文件。源文件里面包含不需要的头文件可能不会影响编译的结果,但是会影响build时间(build的时候会对所有的头文件进行预处理),另外还会影响代码的可读性(一般添加对应的头文件说明跟对应模块有关联)。

可以通过查看对应的预处理输出来查看对应的头文件包含信息:Options > C/C++ Compiler > Preprocessor > Preprocessor output to file:

编译会输出对应的.i文件,里面会包含对应头文件包含信息:



创建和使用Library

对于一些不需要每次Re-build的代码(典型的有RTOS的内核静态代码,BSP的静态代码等),可以创建Library (Options > General Options > Output > Library),然后在工程里面添加对应的Library (Options > Linker > Library > Additional libraries: (one per line)),这样build的时候对应Library的代码就不需要重新编译。



不使能编译器输出列表文件

不要勾选输出编译器输出列表文件:Options > C/C++ Compiler > List:

把源文件移到本地电脑上进行Build

如果build的时候,对应源文件没有在本地电脑上,而是通过网络连接访问,建议把源文件移到本地电脑进行build,避免因为网络连接问题导致build时间很长。

在Windows命令行调用iarbuild命令进行Build


通常来说,在Windows命令行调用iarbuild命令进行build比在IAR Embedded Workbench IDE进行build要稍微快一些。

在Linux服务器上使用IAR Build Tools进行Build

前面介绍的一些方法都是基于Windows的IAR Embedded Workbench,IAR提供了可以在Linux上运行的IAR Build Tools:

通常来说Linux上调用IAR Build Tool进行build会比Windows的IAR Embedded Workbench进行build要快一些。下面是在同等电脑配置下Linux的IAR Build Tools和Windows的IAR Embedded Workbench的build时间对比,可以看到Linux的IAR Build Tools比Windows的IAR Embedded Workbench的build时间要降低不少。如果Linux服务器电脑配置更高,对应的build时间会降低更多。

总结

本文主要介绍了如何降低build时间的一些方法,用户可以根据具体情况选择对应的方法来降低build时间,提高研发效率。





审核编辑:刘清

查看全文

点赞

感知论坛

作者最近更新

  • 明治传感(AKUSENSE)新加坡/越南交付中心新址启用
    感知论坛
    10小时前
  • 高精度称重传感器低噪声放大电路在海绵密度测试仪中的设计
    感知论坛
    1天前
  • 生活里的“气压哨兵”——聊聊余压传感器
    感知论坛
    3天前

期刊订阅

相关推荐

  • 2019嵌入式系统与技术会议:嵌入式设计的理想电源解决方案

    2019-07-08

  • 传感器的机器学习

    2019-08-30

  • 无电池传感器项目获得行业大奖

    2019-11-20

  • 人工智能以嵌入式计算机系统为载体,助力智能物流园区快速落地

    2020-02-26

评论0条评论

×
私信给感知论坛

点击打开传感搜小程序 - 速览海量产品,精准对接供需

  • 收藏

  • 评论

  • 点赞

  • 分享

收藏文章×

已选择0个收藏夹

新建收藏夹
完成
创建收藏夹 ×
取消 保存

1.点击右上角

2.分享到“朋友圈”或“发送给好友”

×

微信扫一扫,分享到朋友圈

推荐使用浏览器内置分享功能

×

关注微信订阅号

关注微信订阅号,了解更多传感器动态

  • #{faceHtml}

    #{user_name}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 查看评论 回复

    共#{comment_count}条评论

    加载更多

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} #{reback} 回复

  • #{ahtml}#{created_at}

    #{content}

    展开

    #{like_count} #{dislike_count} 回复

  • 关闭
      广告