近些年來(lái),隨著嵌入式軟件越來(lái)越復(fù)雜,DevOps和CI/CD也開(kāi)始被引入到嵌入式軟件開(kāi)發(fā)中,越來(lái)越多的自動(dòng)化構(gòu)建(Build)和測(cè)試都放到Linux服務(wù)器上來(lái)提升研發(fā)效率。為了幫助用戶更好地在Linux服務(wù)器上使用IAR工具,IAR于2020年推出了可以在Linux服務(wù)器上運(yùn)行的IAR Build Tools。IAR Build Tools可以在Linux服務(wù)器上完成自動(dòng)化構(gòu)建和C-STAT靜態(tài)代碼分析。IAR Build Tools for Arm (BXARM) v9.50.1實(shí)現(xiàn)了下載調(diào)試和C-RUN動(dòng)態(tài)代碼分析,支持Simulator和I-jet。BXARM v9.60.1實(shí)現(xiàn)了下載調(diào)試和C-RUN動(dòng)態(tài)代碼分析對(duì)J-Link的支持。
本文主要以BXARM為例介紹如何在Linux服務(wù)器上使用IAR Build Tools實(shí)現(xiàn)DevOps和CI/CD,包含自動(dòng)化構(gòu)建、C-STAT靜態(tài)代碼分析、下載調(diào)試和C-RUN動(dòng)態(tài)代碼分析。
在EWARM中準(zhǔn)備好對(duì)應(yīng)的工程
BXARM和EWARM的后臺(tái)實(shí)現(xiàn)是一樣的,為了更方便地實(shí)現(xiàn)自動(dòng)化腳本,建議先用EWARM準(zhǔn)備好對(duì)應(yīng)的工程,然后在Windows的命令行先驗(yàn)證,最后再適配到Linux服務(wù)器上的BXARM(當(dāng)然,也可以從零開(kāi)始實(shí)現(xiàn)BXARM的自動(dòng)化腳本)。
在EWARM中進(jìn)行構(gòu)建
先在EWARM中構(gòu)建成功:

在EWARM中進(jìn)行C-STAT靜態(tài)代碼分析
溫馨提示:對(duì)于不需要進(jìn)行靜態(tài)代碼分析的代碼(比如自動(dòng)生成的代碼,第三方的代碼等)可以將對(duì)應(yīng)代碼的檢查規(guī)則全部設(shè)置為空,以提升靜態(tài)代碼分析的效率:

在EWARM中進(jìn)行下載調(diào)試
先在EWARM中進(jìn)行下載調(diào)試,確保下載調(diào)試的環(huán)境是OK的:

在EWARM中進(jìn)行C-RUN動(dòng)態(tài)代碼分析

在Windows上進(jìn)行命令行自動(dòng)化操作
使用iarbuild命令進(jìn)行構(gòu)建
在Windows命令行上可以使用iarbuild(在安裝目錄commonin文件夾)命令(-build)進(jìn)行構(gòu)建:


使用iarbuild命令進(jìn)行C-STAT靜態(tài)代碼分析
在Windows命令行上可以使用iarbuild命令進(jìn)行C-STAT靜態(tài)代碼分析(-cstat_analyze)并導(dǎo)出對(duì)應(yīng)的靜態(tài)代碼分析報(bào)告(-cstat_report):

使用cspybat命令進(jìn)行下載調(diào)試
在EWARM中進(jìn)行下載調(diào)試之后會(huì)在對(duì)應(yīng)工程目錄下面settings文件夾下面自動(dòng)生成對(duì)應(yīng)的下載調(diào)試bat文件,然后直接運(yùn)行對(duì)應(yīng)的bat文件(會(huì)自動(dòng)調(diào)用對(duì)應(yīng)的cspybat命令)就可以進(jìn)行下載調(diào)試:

在EWARM v9.60.1中,可以使用iarbuild命令生成對(duì)應(yīng)的bat文件:

使用cspybat命令進(jìn)行C-RUN動(dòng)態(tài)代碼分析
可以使用cspybat命令進(jìn)行動(dòng)態(tài)代碼分析(對(duì)應(yīng)命令跟下載調(diào)試命令一樣,只是對(duì)應(yīng)的代碼使能了C-RUN動(dòng)態(tài)代碼分析),更多關(guān)于在獨(dú)立模式下進(jìn)行C-RUN動(dòng)態(tài)代碼分析,請(qǐng)見(jiàn)文末參考資料:在獨(dú)立模式下進(jìn)行C-RUN運(yùn)行時(shí)分析。


在Linux上使用IAR Build Tools進(jìn)行自動(dòng)化操作
使用iarbuild命令進(jìn)行構(gòu)建
跟Windows類似,在Linux上可以使用iarbuild命令(-build)進(jìn)行構(gòu)建:


使用iarbuild命令進(jìn)行C-STAT靜態(tài)代碼分析
跟Windows類似,可以在Linux上可以使用iarbuild命令進(jìn)行C-STAT靜態(tài)代碼分析(-cstat_analyze)并導(dǎo)出對(duì)應(yīng)的靜態(tài)代碼分析報(bào)告(-cstat_report):

使用cspybat命令進(jìn)行下載調(diào)試
在Linux上使用對(duì)應(yīng)的cspybat命令進(jìn)行下載調(diào)試:

在最新的BXARM v9.60.1中,可以使用iarbuild命令生成對(duì)應(yīng)的sh文件:

使用cspybat命令進(jìn)行C-RUN動(dòng)態(tài)代碼分析
可以使用cspybat命令進(jìn)行動(dòng)態(tài)代碼分析(對(duì)應(yīng)命令跟下載調(diào)試命令一樣,只是對(duì)應(yīng)的代碼使能了C-RUN動(dòng)態(tài)代碼分析):


溫馨提示:當(dāng)前Linux上的BXARM沒(méi)有對(duì)應(yīng)的圖形化界面,如果想在Linux上進(jìn)行圖形化界面調(diào)試,需要使用Linux上的VS Code搭配IAR VS Code的擴(kuò)展:

總結(jié)
本文主要介紹了如何通過(guò)在EWARM中創(chuàng)建工程,然后到在Window命令行進(jìn)行自動(dòng)化腳本運(yùn)行,最后以BXARM為例在Linux服務(wù)器上使用IAR Build Tools實(shí)現(xiàn)DevOps和CI/CD,包含自動(dòng)化構(gòu)建、C-STAT靜態(tài)代碼分析、下載調(diào)試和C-RUN動(dòng)態(tài)代碼分析。
-
嵌入式
+關(guān)注
關(guān)注
5189文章
20192瀏覽量
329534 -
Linux
+關(guān)注
關(guān)注
88文章
11641瀏覽量
218188 -
服務(wù)器
+關(guān)注
關(guān)注
13文章
10117瀏覽量
91036 -
IAR
+關(guān)注
關(guān)注
5文章
402瀏覽量
38375
原文標(biāo)題:在Linux服務(wù)器上使用IAR Build Tools實(shí)現(xiàn)DevOps和CI/CD
文章出處:【微信號(hào):IAR愛(ài)亞系統(tǒng),微信公眾號(hào):IAR愛(ài)亞系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
linux服務(wù)器和windows服務(wù)器
求教:linux系統(tǒng)和WEB服務(wù)器什么關(guān)系?WEB服務(wù)器和網(wǎng)頁(yè)又是什么關(guān)系?
如何在linux服務(wù)器上使用hanlp
在linux上搭建mqtt服務(wù)器
在Linux系統(tǒng)上搭建 Web 服務(wù)器
基于IAR EW編譯工具實(shí)現(xiàn)Linux系統(tǒng)上自動(dòng)化構(gòu)建
基于Linux的WEB服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)
基于Linux系統(tǒng)的FTP服務(wù)器的實(shí)現(xiàn)
基于Kubernetes實(shí)現(xiàn)CI/CD配置的流程
如何使用Checkmk監(jiān)控Linux服務(wù)器?
DevOps的最佳CI/CD工具
什么是CI/CD?基本的gitlab CI/CD流程詳解
devops使用最廣泛的集成工具盤點(diǎn)
如何在Linux系統(tǒng)上設(shè)置站群服務(wù)器IP地址
云服務(wù)器Flexus X實(shí)例,Docker集成搭建Jenkins CI/CD平臺(tái)

在Linux服務(wù)器上使用IAR Build Tools實(shí)現(xiàn)DevOps和CI/CD
評(píng)論