近些年來,隨著嵌入式軟件越來越復雜,DevOps和CI/CD也開始被引入到嵌入式軟件開發(fā)中,越來越多的自動化構建(Build)和測試都放到Linux服務器上來提升研發(fā)效率。為了幫助用戶更好地在Linux服務器上使用IAR工具,IAR于2020年推出了可以在Linux服務器上運行的IAR Build Tools。IAR Build Tools可以在Linux服務器上完成自動化構建和C-STAT靜態(tài)代碼分析。IAR Build Tools for Arm (BXARM) v9.50.1實現(xiàn)了下載調(diào)試和C-RUN動態(tài)代碼分析,支持Simulator和I-jet。BXARM v9.60.1實現(xiàn)了下載調(diào)試和C-RUN動態(tài)代碼分析對J-Link的支持。
本文主要以BXARM為例介紹如何在Linux服務器上使用IAR Build Tools實現(xiàn)DevOps和CI/CD,包含自動化構建、C-STAT靜態(tài)代碼分析、下載調(diào)試和C-RUN動態(tài)代碼分析。
在EWARM中準備好對應的工程
BXARM和EWARM的后臺實現(xiàn)是一樣的,為了更方便地實現(xiàn)自動化腳本,建議先用EWARM準備好對應的工程,然后在Windows的命令行先驗證,最后再適配到Linux服務器上的BXARM(當然,也可以從零開始實現(xiàn)BXARM的自動化腳本)。
在EWARM中進行構建
先在EWARM中構建成功:
在EWARM中進行C-STAT靜態(tài)代碼分析
溫馨提示:對于不需要進行靜態(tài)代碼分析的代碼(比如自動生成的代碼,第三方的代碼等)可以將對應代碼的檢查規(guī)則全部設置為空,以提升靜態(tài)代碼分析的效率:
在EWARM中進行下載調(diào)試
先在EWARM中進行下載調(diào)試,確保下載調(diào)試的環(huán)境是OK的:
在EWARM中進行C-RUN動態(tài)代碼分析
在Windows上進行命令行自動化操作
使用iarbuild命令進行構建
在Windows命令行上可以使用iarbuild(在安裝目錄commonin文件夾)命令(-build)進行構建:
使用iarbuild命令進行C-STAT靜態(tài)代碼分析
在Windows命令行上可以使用iarbuild命令進行C-STAT靜態(tài)代碼分析(-cstat_analyze)并導出對應的靜態(tài)代碼分析報告(-cstat_report):
使用cspybat命令進行下載調(diào)試
在EWARM中進行下載調(diào)試之后會在對應工程目錄下面settings文件夾下面自動生成對應的下載調(diào)試bat文件,然后直接運行對應的bat文件(會自動調(diào)用對應的cspybat命令)就可以進行下載調(diào)試:
在EWARM v9.60.1中,可以使用iarbuild命令生成對應的bat文件:
使用cspybat命令進行C-RUN動態(tài)代碼分析
可以使用cspybat命令進行動態(tài)代碼分析(對應命令跟下載調(diào)試命令一樣,只是對應的代碼使能了C-RUN動態(tài)代碼分析),更多關于在獨立模式下進行C-RUN動態(tài)代碼分析,請見文末參考資料:在獨立模式下進行C-RUN運行時分析。
在Linux上使用IAR Build Tools進行自動化操作
使用iarbuild命令進行構建
跟Windows類似,在Linux上可以使用iarbuild命令(-build)進行構建:
使用iarbuild命令進行C-STAT靜態(tài)代碼分析
跟Windows類似,可以在Linux上可以使用iarbuild命令進行C-STAT靜態(tài)代碼分析(-cstat_analyze)并導出對應的靜態(tài)代碼分析報告(-cstat_report):
使用cspybat命令進行下載調(diào)試
在Linux上使用對應的cspybat命令進行下載調(diào)試:
在最新的BXARM v9.60.1中,可以使用iarbuild命令生成對應的sh文件:
使用cspybat命令進行C-RUN動態(tài)代碼分析
可以使用cspybat命令進行動態(tài)代碼分析(對應命令跟下載調(diào)試命令一樣,只是對應的代碼使能了C-RUN動態(tài)代碼分析):
溫馨提示:當前Linux上的BXARM沒有對應的圖形化界面,如果想在Linux上進行圖形化界面調(diào)試,需要使用Linux上的VS Code搭配IAR VS Code的擴展:
總結
本文主要介紹了如何通過在EWARM中創(chuàng)建工程,然后到在Window命令行進行自動化腳本運行,最后以BXARM為例在Linux服務器上使用IAR Build Tools實現(xiàn)DevOps和CI/CD,包含自動化構建、C-STAT靜態(tài)代碼分析、下載調(diào)試和C-RUN動態(tài)代碼分析。
-
嵌入式
+關注
關注
5140文章
19524瀏覽量
314754 -
Linux
+關注
關注
87文章
11456瀏覽量
212750 -
服務器
+關注
關注
12文章
9681瀏覽量
87260 -
IAR
+關注
關注
5文章
369瀏覽量
37235
原文標題:在Linux服務器上使用IAR Build Tools實現(xiàn)DevOps和CI/CD
文章出處:【微信號:IAR愛亞系統(tǒng),微信公眾號:IAR愛亞系統(tǒng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
linux服務器和windows服務器
求教:linux系統(tǒng)和WEB服務器什么關系?WEB服務器和網(wǎng)頁又是什么關系?
如何在linux服務器上使用hanlp
在linux上搭建mqtt服務器
在Linux系統(tǒng)上搭建 Web 服務器
基于IAR EW編譯工具實現(xiàn)Linux系統(tǒng)上自動化構建
基于Linux的WEB服務器的設計與實現(xiàn)

基于Linux系統(tǒng)的FTP服務器的實現(xiàn)
基于Kubernetes實現(xiàn)CI/CD配置的流程
如何使用Checkmk監(jiān)控Linux服務器?

DevOps的最佳CI/CD工具
devops使用最廣泛的集成工具盤點
如何在Linux系統(tǒng)上設置站群服務器IP地址
云服務器Flexus X實例,Docker集成搭建Jenkins CI/CD平臺

評論