近些年来,随着嵌入式软件越来越复杂,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中构建成功:
在EWARM中进行C-STAT静态代码分析
温馨提示:对于不需要进行静态代码分析的代码(比如自动生成的代码,第三方的代码等)可以将对应代码的检查规则全部设置为空,以提升静态代码分析的效率:
在EWARM中进行下载调试
先在EWARM中进行下载调试,确保下载调试的环境是OK的:
在EWARM中进行C-RUN动态代码分析
在Windows上进行命令行自动化操作
使用iarbuild命令进行构建
在Windows命令行上可以使用iarbuild(在安装目录commonin文件夹)命令(-build)进行构建:
使用iarbuild命令进行C-STAT静态代码分析
在Windows命令行上可以使用iarbuild命令进行C-STAT静态代码分析(-cstat_analyze)并导出对应的静态代码分析报告(-cstat_report):
使用cspybat命令进行下载调试
在EWARM中进行下载调试之后会在对应工程目录下面settings文件夹下面自动生成对应的下载调试bat文件,然后直接运行对应的bat文件(会自动调用对应的cspybat命令)就可以进行下载调试:
在EWARM v9.60.1中,可以使用iarbuild命令生成对应的bat文件:
使用cspybat命令进行C-RUN动态代码分析
可以使用cspybat命令进行动态代码分析(对应命令跟下载调试命令一样,只是对应的代码使能了C-RUN动态代码分析),更多关于在独立模式下进行C-RUN动态代码分析,请见文末参考资料:在独立模式下进行C-RUN运行时分析。
在Linux上使用IAR Build Tools进行自动化操作
使用iarbuild命令进行构建
跟Windows类似,在Linux上可以使用iarbuild命令(-build)进行构建:
使用iarbuild命令进行C-STAT静态代码分析
跟Windows类似,可以在Linux上可以使用iarbuild命令进行C-STAT静态代码分析(-cstat_analyze)并导出对应的静态代码分析报告(-cstat_report):
使用cspybat命令进行下载调试
在Linux上使用对应的cspybat命令进行下载调试:
在最新的BXARM v9.60.1中,可以使用iarbuild命令生成对应的sh文件:
使用cspybat命令进行C-RUN动态代码分析
可以使用cspybat命令进行动态代码分析(对应命令跟下载调试命令一样,只是对应的代码使能了C-RUN动态代码分析):
温馨提示:当前Linux上的BXARM没有对应的图形化界面,如果想在Linux上进行图形化界面调试,需要使用Linux上的VS Code搭配IAR VS Code的扩展:
总结
本文主要介绍了如何通过在EWARM中创建工程,然后到在Window命令行进行自动化脚本运行,最后以BXARM为例在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD,包含自动化构建、C-STAT静态代码分析、下载调试和C-RUN动态代码分析。
-
嵌入式
+关注
关注
5036文章
18768浏览量
297617 -
Linux
+关注
关注
87文章
11116浏览量
207751 -
服务器
+关注
关注
12文章
8656浏览量
84400 -
IAR
+关注
关注
5文章
339浏览量
36475
原文标题:在Linux服务器上使用IAR Build Tools实现DevOps和CI/CD
文章出处:【微信号:IAR爱亚系统,微信公众号:IAR爱亚系统】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
求教:linux系统和WEB服务器什么关系?WEB服务器和网页又是什么关系?
如何在linux服务器上使用hanlp
在linux上搭建mqtt服务器
在Linux系统上搭建 Web 服务器
基于IAR EW编译工具实现Linux系统上自动化构建
基于Linux的WEB服务器的设计与实现
![基于<b class='flag-5'>Linux</b>的WEB<b class='flag-5'>服务器</b>的设计与<b class='flag-5'>实现</b>](https://file1.elecfans.com//web2/M00/A5/4B/wKgZomUMN8WAEMMYAAA95og0_3U960.jpg)
基于Linux系统的FTP服务器的实现
什么是CI / CD?其意义何在?
基于Kubernetes实现CI/CD配置的流程
面对CI/CD分析的代码静态测试工具Klocwork 2023.1版本更新快讯
![面对<b class='flag-5'>CI</b>/<b class='flag-5'>CD</b>分析的代码静态测试工具Klocwork 2023.1版本更新快讯](https://file.elecfans.com/web2/M00/A0/01/pYYBAGQ8xO6AUDVGAACmqVyk1yk295.png)
评论