chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

汽車(chē)異構(gòu)硬件平臺(tái)開(kāi)發(fā)如何進(jìn)行靜態(tài)代碼分析

北匯信息POLELINK ? 2024-10-09 16:15 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

隨著汽車(chē)軟件開(kāi)發(fā)的復(fù)雜程度不斷提升,尤其是智能網(wǎng)聯(lián)汽車(chē)和自動(dòng)駕駛技術(shù)的進(jìn)步,汽車(chē)軟件開(kāi)發(fā)的復(fù)雜程度不斷攀升。為了滿足日益增長(zhǎng)的功能需求和技術(shù)挑戰(zhàn),異構(gòu)硬件平臺(tái)被越來(lái)越多地采用,不同的工具鏈也不可避免地被引入到實(shí)際的開(kāi)發(fā)流程中。這一趨勢(shì)不僅增加了開(kāi)發(fā)過(guò)程的技術(shù)多樣性,也使得單個(gè)項(xiàng)目的編譯過(guò)程中會(huì)涉及到多種編譯器。

本文主要講解基于靜態(tài)代碼分析工具Helix QAC,我們?cè)撊绾螌?duì)多編譯器工程進(jìn)行靜態(tài)分析。

新版本Helix QAC(2024.1+)的分析方式

為了適應(yīng)這一趨勢(shì),Helix QAC在2024年發(fā)布的版本中引入了多CCT的功能。CCT(Compiler Compatibility Template),是HelixQAC軟件中存儲(chǔ)編譯器環(huán)境配置的文件。根據(jù)CCT文件生成的方式,HelixQAC把CCT分為了兩種:

  1. 自動(dòng)CCT(Auto CCT):在工程同步時(shí),自動(dòng)生成的CCT;
  2. 靜態(tài)CCT(Static CCT):基于CCT生產(chǎn)工具提前生成的CCT;

自動(dòng)CCT

針對(duì)自動(dòng)CCT方式,多編譯器的配置也是自動(dòng)的,無(wú)需我們進(jìn)行額外的設(shè)置,目前HelixQAC支持使用自動(dòng)CCT的編譯器如下表:

Compiler Filter Command
ARM Clang qa_armclang armclang
Clang C qa_clang clang,clang-[3-9][.][0-9],clang-[1-9][0-9][.][0-9],clang-[3-9],clang-[1-9][0-9]
Clang C++ qa_clang clang++,clang++-[3-9][.][0-9],clang++-[1-9][0-9][.][0-9],clang++-[3-9],clang++-[1-9][0-9]
Compiler caching toolsccache ccache,distcc,ccache-motorola,ccache_cc,ccache_cxx
Embarcadero BCC qa_bccclang bcc64
GNU C qa_gnu gcc,cc,c++,gcc-[1-9],gcc-[1-9][0-9],gcc-[1-9][.][0-9],gcc-[1-9][0-9][.][0-9]
GNU C Cross compilers qa_gnu *-*-gcc,*-*-*-gcc,*-*-*-gcc-[1-9]*
GNU C++ qa_gnu g++,g++-[1-9],g++-[1-9][0-9],g++-[1-9][.][0-9],g++-[1-9][0-9][.][0-9]
GNU C++ Cross compilersqa_gnu *-*-g++,*-*-*-g++,*-*-*-g++-[1-9]*
GNU cc1/cc1plus qa_gnu_cc1 cc1,cc1plus
Green Hills ARM qa_ghs cxarm,ccarm,cxarm64,ccarm64,cxthumb,ccthumb,cxtxarm,cctxarm
Green Hills Integrity qa_ghs ccint*,cxint*
Green Hills PPC qa_ghs cxppc,ccppc,cxtxppc,cctxppc
Green Hills TriCore qa_ghs cctri,cxtri
Green Hills v850 qa_ghs cx*850,cc*850,cxv850e,ccv850e
Hexagon Clang qa_hexagonclang hexagon-clang,hexagon-clang++
HighTec Tricore qa_hightec tricore-c++,tricore-g++,tricore-gcc
IAR compilers qa_icc icc*
Keil ArmCC qa_armcc armcc
Microchip MPLAB pic24 qa_microchip30 pic30-gcc
Microchip MPLAB xc16 qa_microchip16 xc16-gcc
Microchip MPLAB xc32 qa_microchip32 xc32-gcc,xc32-g++,xc32-c++
Microchip MPLAB xc8 qa_microchip8 xc8
Microchip MPLAB xc8-ccqa_microchip8cc xc8-cc
QNX qa_qnx qcc,QCC,q++
Renesas qa_renesas ccrh,ccrl,ccrx,cx
Renesas ca850 qa_renesas_ca850ca850
Renesas cc78k0 qa_renesas_cc78k0cc78k0,cc78k0r
Synopsys DesignWare ARCqa_metaware ccac
TI CCS qa_ti armcl,cl[0-9]?*,clpru
TI CCS Clang qa_tiarmclang tiarmclang
Tasking qa_tasking ctc,cptc,cmcs
Visual Studio qa_mscompile cl,clarm,clsh
Wind River qa_windriver dplus,dcc

靜態(tài)CCT

如果我們采用傳統(tǒng)的靜態(tài)CCT的方式,那么需要我們提前為不同的編譯器生成對(duì)應(yīng)的CCT文件,并在HeliXQAC中將這些CCT導(dǎo)入到軟件中。

HelixQAC現(xiàn)在支持為一種語(yǔ)言選擇多個(gè)CCT配置,如下:

wKgZoWcGO1qAS3bSAADaMoClsiY434.png

在我們完成源碼加載后,如果不進(jìn)行單獨(dú)配置,那么HelixQAC會(huì)使用Default CCT對(duì)源碼進(jìn)行解析。如果文件夾內(nèi)的源碼使用的編譯器與默認(rèn)CCT不一樣,可以在對(duì)應(yīng)的文件屬性中重新選擇合適的CCT配置。

wKgaoWcGO1qAWwXQAAB-IMDu3eY073.png

需要注意的是,我們只能針對(duì)文件夾進(jìn)行CCT的選擇,不能針對(duì)單個(gè)源碼進(jìn)行CCT的配置。而且,對(duì)于多CCT的工程,由于這是Helix QAC最新版本才有的功能,因此無(wú)法兼容Dashboard,只能將多CCT工程的分析結(jié)果上傳到Validate中。

老版本Helix QAC的分析方式

由于老版本HelixQAC中無(wú)法為文件夾選擇不同的CCT,如果要實(shí)現(xiàn)多編譯器的工程分析,需要借助HelixQAC的CMA工程。

CMA(Cross-Module Analysis),是HeliXQAC提供的一種跨模塊分析功能,它允許我們將多個(gè)HeliXQAC工程添加到CMA工程中,以進(jìn)行跨模塊的分析,并檢查重復(fù)定義、不兼容的聲明和未使用的變量等問(wèn)題。

具體到多編譯器的工程場(chǎng)景,我們需要為每個(gè)編譯器建立一個(gè)HelixQAC工程,并將使用該編譯器的源碼及頭文件加載到該工程中,然后將這些不同編譯器的QAC工程添加到CMA工程中。

顯然,Helix QAC的新功能提供了極大便利,來(lái)高效支持多編譯器。

結(jié)語(yǔ):

通過(guò)上述討論可以看出,隨著汽車(chē)軟件開(kāi)發(fā)復(fù)雜度的提升,異構(gòu)硬件平臺(tái)的應(yīng)用已成為必然趨勢(shì)。多編譯器環(huán)境的引入不僅是技術(shù)發(fā)展的自然產(chǎn)物,更是解決日益增長(zhǎng)的功能需求和技術(shù)挑戰(zhàn)的有效途徑。在此背景下,Helix QAC 作為一款先進(jìn)的靜態(tài)代碼分析工具,其新版本中引入的多CCT功能為開(kāi)發(fā)人員提供了強(qiáng)大的支持,該功能不僅簡(jiǎn)化了多編譯器環(huán)境下的代碼分析過(guò)程,還可以極大增強(qiáng)代碼的質(zhì)量和安全性。

如果想試用最新版的Helix QAC,歡迎垂詢(xún)北匯信息。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 編譯器
    +關(guān)注

    關(guān)注

    1

    文章

    1672

    瀏覽量

    51615
  • 靜態(tài)測(cè)試
    +關(guān)注

    關(guān)注

    0

    文章

    34

    瀏覽量

    6866
  • 汽車(chē)
    +關(guān)注

    關(guān)注

    15

    文章

    4154

    瀏覽量

    41099
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    分析嵌入式軟件代碼的漏洞-代碼注入

    惡意的互聯(lián)網(wǎng)環(huán)境中確保他們的嵌入式代碼能夠安全使用的開(kāi)發(fā)人員,應(yīng)該將這樣的代碼注入漏洞,在開(kāi)發(fā)周期和嚴(yán)格的代碼檢查中盡早消除。 上面提到的高
    發(fā)表于 12-22 12:53

    C語(yǔ)言單元測(cè)試在嵌入式軟件開(kāi)發(fā)中的作用及專(zhuān)業(yè)工具的應(yīng)用

    平臺(tái)和操作系統(tǒng)上運(yùn)行,無(wú)需進(jìn)行大量的修改 二、C語(yǔ)言單元測(cè)試在嵌入式開(kāi)發(fā)中的關(guān)鍵作用 嵌入式系統(tǒng)對(duì)實(shí)時(shí)性和可靠性要求極高,單元測(cè)試是確保代碼質(zhì)量的關(guān)鍵手段。單元測(cè)試在嵌入式
    發(fā)表于 12-18 11:46

    瑞薩RZ/T2H平臺(tái)多核異構(gòu)的應(yīng)用場(chǎng)景分析

    本文以RZ/T2H多軸控制/驅(qū)動(dòng)的實(shí)例,介紹RZ/T2H平臺(tái)的多核異構(gòu)應(yīng)用場(chǎng)景。
    的頭像 發(fā)表于 12-15 11:34 ?2425次閱讀
    瑞薩RZ/T2H<b class='flag-5'>平臺(tái)</b>多核<b class='flag-5'>異構(gòu)</b>的應(yīng)用場(chǎng)景<b class='flag-5'>分析</b>

    主流低代碼開(kāi)發(fā)平臺(tái)有哪些:加速數(shù)字化轉(zhuǎn)型的核心力量

    在數(shù)字化轉(zhuǎn)型浪潮席卷各行各業(yè)的當(dāng)下,企業(yè)對(duì)快速開(kāi)發(fā)、靈活迭代應(yīng)用程序的需求日益迫切。低代碼開(kāi)發(fā)平臺(tái)憑借其可視化編程、模塊化組件和簡(jiǎn)化開(kāi)發(fā)流程
    的頭像 發(fā)表于 11-03 16:53 ?593次閱讀

    2025支持AI 驅(qū)動(dòng)數(shù)字化轉(zhuǎn)型的低代碼開(kāi)發(fā)平臺(tái)有哪些

    ”,其技術(shù)深度、行業(yè)適配性與生態(tài)完整性直接決定企業(yè)轉(zhuǎn)型成效。本文基于行業(yè)趨勢(shì)與用戶需求,梳理2025年國(guó)內(nèi)低代碼開(kāi)發(fā)平臺(tái),并對(duì)比分析其與得帆低代碼
    的頭像 發(fā)表于 10-31 13:18 ?321次閱讀

    代碼開(kāi)發(fā)平臺(tái)推薦:2025國(guó)內(nèi)低代碼開(kāi)發(fā)平臺(tái)排名TOP10

    代碼開(kāi)發(fā)平臺(tái)排行榜 在企業(yè)數(shù)字化轉(zhuǎn)型的浪潮中,低代碼開(kāi)發(fā)平臺(tái)正逐漸成為企業(yè)實(shí)現(xiàn)高效
    的頭像 發(fā)表于 10-28 10:22 ?741次閱讀

    2025主流低代碼平臺(tái)有哪些:低代碼開(kāi)發(fā)平臺(tái)選型指南指南

    在企業(yè)數(shù)字化轉(zhuǎn)型進(jìn)入深水區(qū)的當(dāng)下,低代碼開(kāi)發(fā)平臺(tái)已從早期的“效率工具”升級(jí)為“核心基建”。其工程化能力、流程適配深度、技術(shù)延展性與行業(yè)積淀,直接決定了企業(yè)轉(zhuǎn)型的成效。據(jù)Gartner預(yù)測(cè),到2026
    的頭像 發(fā)表于 10-22 11:49 ?407次閱讀

    如何在Zephyr中進(jìn)行靜態(tài)代碼分析

    在嵌入式軟件開(kāi)發(fā)中,“能編譯通過(guò)”并不等于“可以放心交付”。安全性、可靠性和合規(guī)性是產(chǎn)品能否順利量產(chǎn)的關(guān)鍵。進(jìn)入量產(chǎn)的Bug會(huì)浪費(fèi)寶貴的工程時(shí)間,也會(huì)削弱用戶信任;安全漏洞可能暴露設(shè)備,帶來(lái)嚴(yán)重后果;在受監(jiān)管市場(chǎng)中,若未滿足MISRA或CERT檢查要求,甚至?xí)苯訉?dǎo)致產(chǎn)品發(fā)布延遲。
    的頭像 發(fā)表于 10-17 10:28 ?874次閱讀

    工業(yè)物聯(lián)網(wǎng)平臺(tái)有哪些低代碼應(yīng)用

    在工業(yè)物聯(lián)網(wǎng)領(lǐng)域,低代碼平臺(tái)通過(guò)可視化開(kāi)發(fā)、模塊化組件和預(yù)置模板,顯著降低了開(kāi)發(fā)門(mén)檻和周期,同時(shí)支持靈活擴(kuò)展與集成。以下是工業(yè)物聯(lián)網(wǎng)平臺(tái)中低
    的頭像 發(fā)表于 09-24 14:49 ?601次閱讀

    知識(shí)分享 | 使用MXAM進(jìn)行AUTOSAR模型的靜態(tài)分析:Embedded Coder與TargetLink模型

    知識(shí)分享在知識(shí)分享欄目中,我們會(huì)定期與讀者分享來(lái)自MES模賽思的基于模型的軟件開(kāi)發(fā)相關(guān)Know-How干貨,關(guān)注公眾號(hào),隨時(shí)掌握基于模型的軟件設(shè)計(jì)的技術(shù)知識(shí)。使用MXAM進(jìn)行AUTOSAR模型的靜態(tài)
    的頭像 發(fā)表于 08-27 10:04 ?728次閱讀
    知識(shí)分享 | 使用MXAM<b class='flag-5'>進(jìn)行</b>AUTOSAR模型的<b class='flag-5'>靜態(tài)</b><b class='flag-5'>分析</b>:Embedded Coder與TargetLink模型

    汽車(chē)軟件團(tuán)隊(duì)必看:基于靜態(tài)代碼分析工具Perforce QAC的ISO 26262合規(guī)實(shí)踐

    ISO 26262合規(guī)指南,從ASIL分級(jí)到工具落地,手把手教你用靜態(tài)代碼分析(Perforce QAC)實(shí)現(xiàn)高效合規(guī)。
    的頭像 發(fā)表于 08-07 17:33 ?1142次閱讀
    <b class='flag-5'>汽車(chē)</b>軟件團(tuán)隊(duì)必看:基于<b class='flag-5'>靜態(tài)</b><b class='flag-5'>代碼</b><b class='flag-5'>分析</b>工具Perforce QAC的ISO 26262合規(guī)實(shí)踐

    代碼開(kāi)發(fā)平臺(tái)是什么?零編程零成本搭建

    代碼物聯(lián)網(wǎng)云平臺(tái)是種融合了低代碼開(kāi)發(fā)能力與物聯(lián)網(wǎng)(IoT)技術(shù)的云端服務(wù)平臺(tái),其核心目標(biāo)是大幅降低物聯(lián)網(wǎng)應(yīng)用的
    的頭像 發(fā)表于 07-31 15:25 ?761次閱讀

    什么是零代碼平臺(tái)?

    代碼平臺(tái)是一種無(wú)需編寫(xiě)傳統(tǒng)代碼,通過(guò)可視化拖拽、參數(shù)配置、邏輯連線即可快速搭建業(yè)務(wù)流程與應(yīng)用系統(tǒng)的工具平臺(tái)。它將復(fù)雜的軟件開(kāi)發(fā)過(guò)程轉(zhuǎn)化為
    發(fā)表于 07-12 20:28

    TurMass? TK8620 開(kāi)發(fā)平臺(tái)使用體驗(yàn)報(bào)告

    ,支持終端設(shè)備與網(wǎng)關(guān)的多模式通信。本文基于TKB-620終端開(kāi)發(fā)板及TKB-200網(wǎng)關(guān)開(kāi)發(fā)板的實(shí)際測(cè)試與開(kāi)發(fā)體驗(yàn),從硬件設(shè)計(jì)、軟件配套、功能測(cè)試、開(kāi)
    發(fā)表于 04-24 02:18

    【JVM開(kāi)發(fā)者必看】IntelliJ IDEA代碼分析實(shí)踐指南:實(shí)時(shí)糾錯(cuò)、冗余檢測(cè)、自動(dòng)修復(fù)等

    【IntelliJ IDEA中的代碼分析技巧】靜態(tài)代碼分析是指在不實(shí)際運(yùn)行代碼的情況下掃描
    的頭像 發(fā)表于 03-13 10:34 ?1066次閱讀
    【JVM<b class='flag-5'>開(kāi)發(fā)</b>者必看】IntelliJ IDEA<b class='flag-5'>代碼</b><b class='flag-5'>分析</b>實(shí)踐指南:實(shí)時(shí)糾錯(cuò)、冗余檢測(cè)、自動(dòng)修復(fù)等