0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD

IAR爱亚系统 来源:IAR爱亚系统 2024-07-25 10:22 次阅读

近些年来,随着嵌入式软件越来越复杂,DevOps和CI/CD也开始被引入到嵌入式软件开发中,越来越多的自动化构建(Build)和测试都放到Linux服务器上来提升研发效率。为了帮助用户更好地在Linux服务器上使用IAR工具,IAR于2020年推出了可以在Linux服务器上运行的IAR Build Tools。IAR Build Tools可以在Linux服务器上完成自动化构建和C-STAT静态代码分析。IAR Build Tools for Arm (BXARM) v9.50.1实现了下载调试和C-RUN动态代码分析,支持Simulator和I-jet。BXARM v9.60.1实现了下载调试和C-RUN动态代码分析对J-Link的支持。

本文主要以BXARM为例介绍如何在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD,包含自动化构建、C-STAT静态代码分析、下载调试和C-RUN动态代码分析。

在EWARM中准备好对应的工程

BXARM和EWARM的后台实现是一样的,为了更方便地实现自动化脚本,建议先用EWARM准备好对应的工程,然后在Windows的命令行先验证,最后再适配到Linux服务器上的BXARM(当然,也可以从零开始实现BXARM的自动化脚本)。

在EWARM中进行构建

先在EWARM中构建成功:

3ff2ebc4-4a28-11ef-b8af-92fbcf53809c.png

在EWARM中进行C-STAT静态代码分析

温馨提示:对于不需要进行静态代码分析的代码(比如自动生成的代码,第三方的代码等)可以将对应代码的检查规则全部设置为空,以提升静态代码分析的效率:

404d8610-4a28-11ef-b8af-92fbcf53809c.png

在EWARM中进行下载调试

先在EWARM中进行下载调试,确保下载调试的环境是OK的:

406d521a-4a28-11ef-b8af-92fbcf53809c.png

在EWARM中进行C-RUN动态代码分析

409085a0-4a28-11ef-b8af-92fbcf53809c.png

在Windows上进行命令行自动化操作

使用iarbuild命令进行构建

在Windows命令行上可以使用iarbuild(在安装目录commonin文件夹)命令(-build)进行构建:

40c7da5a-4a28-11ef-b8af-92fbcf53809c.png40e14828-4a28-11ef-b8af-92fbcf53809c.png

使用iarbuild命令进行C-STAT静态代码分析

在Windows命令行上可以使用iarbuild命令进行C-STAT静态代码分析(-cstat_analyze)并导出对应的静态代码分析报告(-cstat_report):

41093d42-4a28-11ef-b8af-92fbcf53809c.png

使用cspybat命令进行下载调试

在EWARM中进行下载调试之后会在对应工程目录下面settings文件夹下面自动生成对应的下载调试bat文件,然后直接运行对应的bat文件(会自动调用对应的cspybat命令)就可以进行下载调试:

412f3aa6-4a28-11ef-b8af-92fbcf53809c.png

在EWARM v9.60.1中,可以使用iarbuild命令生成对应的bat文件:

414c2058-4a28-11ef-b8af-92fbcf53809c.png

使用cspybat命令进行C-RUN动态代码分析

可以使用cspybat命令进行动态代码分析(对应命令跟下载调试命令一样,只是对应的代码使能了C-RUN动态代码分析),更多关于在独立模式下进行C-RUN动态代码分析,请见文末参考资料:在独立模式下进行C-RUN运行时分析。

41674c16-4a28-11ef-b8af-92fbcf53809c.png418b4f76-4a28-11ef-b8af-92fbcf53809c.png

在Linux上使用IAR Build Tools进行自动化操作

使用iarbuild命令进行构建

跟Windows类似,在Linux上可以使用iarbuild命令(-build)进行构建:

41976f7c-4a28-11ef-b8af-92fbcf53809c.png41ad93ce-4a28-11ef-b8af-92fbcf53809c.png

使用iarbuild命令进行C-STAT静态代码分析

跟Windows类似,可以在Linux上可以使用iarbuild命令进行C-STAT静态代码分析(-cstat_analyze)并导出对应的静态代码分析报告(-cstat_report):

41c5d60a-4a28-11ef-b8af-92fbcf53809c.png

使用cspybat命令进行下载调试

在Linux上使用对应的cspybat命令进行下载调试:

41dda3d4-4a28-11ef-b8af-92fbcf53809c.png

最新的BXARM v9.60.1中,可以使用iarbuild命令生成对应的sh文件:

4202cf74-4a28-11ef-b8af-92fbcf53809c.png

使用cspybat命令进行C-RUN动态代码分析

可以使用cspybat命令进行动态代码分析(对应命令跟下载调试命令一样,只是对应的代码使能了C-RUN动态代码分析):

421d926e-4a28-11ef-b8af-92fbcf53809c.png423e0274-4a28-11ef-b8af-92fbcf53809c.png

温馨提示:当前Linux上的BXARM没有对应的图形化界面,如果想在Linux上进行图形化界面调试,需要使用Linux上的VS Code搭配IAR VS Code的扩展:

4265f068-4a28-11ef-b8af-92fbcf53809c.png

总结

本文主要介绍了如何通过在EWARM中创建工程,然后到在Window命令行进行自动化脚本运行,最后以BXARM为例在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD,包含自动化构建、C-STAT静态代码分析、下载调试和C-RUN动态代码分析。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5060

    文章

    18983

    浏览量

    302286
  • Linux
    +关注

    关注

    87

    文章

    11215

    浏览量

    208750
  • 服务器
    +关注

    关注

    12

    文章

    8981

    浏览量

    85103
  • IAR
    IAR
    +关注

    关注

    5

    文章

    344

    浏览量

    36601

原文标题:在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD

文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    linux服务器和windows服务器

    ,这在满足个性化需求和增强服务器安全 性具有优势。 Linux服务器还具有出色的性能和稳定性。相比之下,Windows服务器
    发表于 02-22 15:46

    求教:linux系统和WEB服务器什么关系?WEB服务器和网页又是什么关系?

    最近在学习armlinux系统移植以及WEB服务器,有几个问题非常非常困惑,希望大家能帮忙解答一下。1.linux操作系统和web服务器
    发表于 10-10 20:20

    如何在linux服务器使用hanlp

    `关于如何在linux服务器使用hanlp也有分享过一篇,但分享的内容与湘笑的这篇还是不同的。此处分享一下湘笑的这篇hanlplinux
    发表于 03-04 10:29

    linux搭建mqtt服务器

    linux搭建mqtt服务器并不难,主要就是用到了mosquitto这款消息代理服务软件其采用发布/订阅模式传输机制,轻量、简单、开放并
    发表于 07-04 08:08

    Linux系统搭建 Web 服务器

    项目开发中,服务器主机用的是 Linux 系统,服务器用 Tomcat,数据库为 Mysql。如果电脑主机是 Windows 系列系统,则需要在其安装虚拟机,
    发表于 07-09 07:56

    基于IAR EW编译工具实现Linux系统上自动化构建

    可能频繁的进行,或至少每天进行一次。许多公司通过自动化发布流程和应用随时部署使开发流程更进一步。编译服务器和编译平台需要灵活的高性能环境,通过使用IARLinux平台编译工具链,用户可以
    发表于 11-27 13:41

    基于Linux的WEB服务器的设计与实现

    基于Linux的WEB服务器的设计与实现 嵌入式WEB服务器的主要设计思想就是将嵌入式系统和 WEB技术结合起来,将 WEB技术引入到现场测量和控制设备中,
    发表于 10-06 08:30 3028次阅读
    基于<b class='flag-5'>Linux</b>的WEB<b class='flag-5'>服务器</b>的设计与<b class='flag-5'>实现</b>

    基于Linux系统的FTP服务器实现

    为了Linux系统下实现安全、高效的FTP服务器,选择了具有小巧轻快、安全易用等优点的服务器软件vsftpd。通过对
    发表于 07-24 15:36 39次下载

    服务器挂载ipsan教程

    服务器挂载ipsan教程
    发表于 12-15 22:26 0次下载

    什么是CI / CD?其意义何在?

    一点补充:Circle CI可以自动清除GitHub的冗余build。如果在同一分支触发了较新的build,则该工具会识别并取消正在运行
    的头像 发表于 09-08 09:17 9.4w次阅读

    基于Kubernetes实现CI/CD配置的流程

    基于 Kubernetes 实现 CI/CD 配置,其实和往常那些 CI/CD 配置并没有太大区别。
    的头像 发表于 02-08 16:51 1352次阅读

    如何使用Checkmk监控Linux服务器

    `Checkmk` 是用于监控 Linux 服务器的最常用和用户友好的应用程序之一。它可以检查与您的 Linux 服务器连接的服务器状态、负
    的头像 发表于 02-17 10:46 1158次阅读
    如何使用Checkmk监控<b class='flag-5'>Linux</b><b class='flag-5'>服务器</b>?

    面对CI/CD分析的代码静态测试工具Klocwork 2023.1版本更新快讯

    Klocwork 2023.1为CI/CD分析pipeline引入灵活的管理选项 。使用差异分析加速静态分析扫描, CI/CD管道构建中提
    的头像 发表于 04-17 12:03 1386次阅读
    面对<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>分析的代码静态测试工具Klocwork 2023.1版本更新快讯

    DevOps的最佳CI/CD工具

    CI/CD是一种 DevOps 方法,它结合了持续集成和持续交付的概念,允许企业通过软件开发生命周期中集成自动化来始终如一地向客户交付应用程序。
    的头像 发表于 07-11 11:06 661次阅读

    什么是CI/CD?基本的gitlab CI/CD流程详解

    什么是CI/CD?通俗来说就是启动一个服务,能够监听代码变化,然后自动执行打包,发布等流程;
    的头像 发表于 12-08 09:50 6234次阅读
    什么是<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>?基本的gitlab <b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>流程详解