那曲檬骨新材料有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

汽車異構硬件平臺開發如何進行靜態代碼分析

北匯信息POLELINK ? 2024-10-09 16:15 ? 次閱讀

隨著汽車軟件開發的復雜程度不斷提升,尤其是智能網聯汽車和自動駕駛技術的進步,汽車軟件開發的復雜程度不斷攀升。為了滿足日益增長的功能需求和技術挑戰,異構硬件平臺被越來越多地采用,不同的工具鏈也不可避免地被引入到實際的開發流程中。這一趨勢不僅增加了開發過程的技術多樣性,也使得單個項目的編譯過程中會涉及到多種編譯器。

本文主要講解基于靜態代碼分析工具Helix QAC,我們該如何對多編譯器工程進行靜態分析。

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

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

  1. 自動CCT(Auto CCT):在工程同步時,自動生成的CCT;
  2. 靜態CCT(Static CCT):基于CCT生產工具提前生成的CCT;

自動CCT

針對自動CCT方式,多編譯器的配置也是自動的,無需我們進行額外的設置,目前HelixQAC支持使用自動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

靜態CCT

如果我們采用傳統的靜態CCT的方式,那么需要我們提前為不同的編譯器生成對應的CCT文件,并在HeliXQAC中將這些CCT導入到軟件中。

HelixQAC現在支持為一種語言選擇多個CCT配置,如下:

wKgZoWcGO1qAS3bSAADaMoClsiY434.png

在我們完成源碼加載后,如果不進行單獨配置,那么HelixQAC會使用Default CCT對源碼進行解析。如果文件夾內的源碼使用的編譯器與默認CCT不一樣,可以在對應的文件屬性中重新選擇合適的CCT配置。

wKgaoWcGO1qAWwXQAAB-IMDu3eY073.png

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

老版本Helix QAC的分析方式

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

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

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

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

結語:

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

如果想試用最新版的Helix QAC,歡迎垂詢北匯信息

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 編譯器
    +關注

    關注

    1

    文章

    1642

    瀏覽量

    49284
  • 靜態測試
    +關注

    關注

    0

    文章

    26

    瀏覽量

    6546
  • 汽車
    +關注

    關注

    13

    文章

    3601

    瀏覽量

    37654
收藏 人收藏

    評論

    相關推薦

    代碼在敏捷開發中的應用

    代碼平臺的定義 低代碼平臺提供了一個可視化的、拖放式的用戶界面,允許開發者通過圖形化的方式快速構建應用程序,而無需編寫大量的
    的頭像 發表于 01-07 09:58 ?144次閱讀

    代碼開發平臺,低成本快速搭建云MES系統

    代碼平臺是一種可視化的軟件高效開發平臺,通過抽象和最小化手工編碼的方式,為開發和部署定制化應用提速。萬界星空科技AI低
    的頭像 發表于 11-18 15:43 ?213次閱讀
    低<b class='flag-5'>代碼</b><b class='flag-5'>開發</b><b class='flag-5'>平臺</b>,低成本快速搭建云MES系統

    何進行有效的eda分析

    進行有效的EDA(Exploratory Data Analysis,探索性數據分析分析,是數據科學中的關鍵步驟,它能夠幫助分析人員深入了解數據、發現潛在的模式,并為進一步的
    的頭像 發表于 11-13 10:48 ?388次閱讀

    何進行硬件調試?

    硬件調試是硬件系統設計、開發和制造過程中不可或缺的一環,旨在對可能出現的問題進行分析和解決。以下是進行
    的頭像 發表于 11-10 10:17 ?892次閱讀
    如<b class='flag-5'>何進行</b><b class='flag-5'>硬件</b>調試?

    【AG32開發板體驗連載】開箱記錄:全新范式的開發模式-由軟件定義的硬件資源管理

    謝謝elecfans社區能夠提供寶貴的機會讓我可以拿到這塊異構的芯片開發板。一直在為產品尋找替代的方案,這塊芯片能夠以①mcu方式;②fpga方式;③mcu+fpga混合方式等三種方式進行開發
    發表于 10-30 13:46

    【米爾NXP i.MX 93開發板試用評測】1、異構核心通信的技術內容

    的場合,建議使用RPMsg-Lite。 小型MCU系統通常不實現動態內存分配。RPMsg-Lite中靜態API的創建使得資源使用進一步減少。動態分配不僅增加了大約5 KB的代碼大小,而且通信速度更慢
    發表于 09-21 20:24

    TINA中如何進行頻譜分析

    想問一下TINA中如何進行頻譜分析,找了好久沒怎么找到,可能設置不對,望指點,謝謝
    發表于 09-14 07:56

    何進行電源供應設計

    電子發燒友網站提供《如何進行電源供應設計.pdf》資料免費下載
    發表于 09-09 10:33 ?0次下載
    如<b class='flag-5'>何進行</b>電源供應設計

    復旦微PS+PL異構多核開發案例分享,基于FMQL20SM國產處理器平臺

    本文主要介紹復旦微FMQL20S400M的PS + PL異構多核開發案例,開發環境如下: Windows開發環境:Windows 7 64bit、Windows 10 64bitPL端
    發表于 08-22 14:04

    DevOps中的質量門工作原理,以及靜態代碼分析Klocwork和Perforce Helix QAC在質量門中的實踐應用

    如何使用靜態代碼分析工具(如Klocwork 和 Helix QAC)實現質量門。 什么是質量門? 質量門是在IT或開發項目中實施的檢查點,這些檢查點要求在進入下一個
    的頭像 發表于 07-29 15:12 ?475次閱讀

    AvaotaA1全志T527開發板AMP異構計算簡介

    的控制 在異構系統中,不止需要消息的傳輸,還需要相關控制。例如主核對輔助核心的開啟,加載固件,關閉等等。這就需要用到 remoteproc 框架。 remoteproc 框架支持對不同平臺,不同架構的處理器進行控制,可以監控輔助
    發表于 07-24 09:54

    國內低代碼平臺推薦--萬界星空科技低代碼平臺

    代碼平臺是一種應用程序,它為編程提供圖形用戶界面,從而以極快的速度開發代碼,減少傳統編程工作。 這些工具有助于快速開發
    的頭像 發表于 07-18 15:39 ?359次閱讀
    國內低<b class='flag-5'>代碼</b><b class='flag-5'>平臺</b>推薦--萬界星空科技低<b class='flag-5'>代碼</b><b class='flag-5'>平臺</b>

    代碼開發平臺的崛起:優勢、特點與應用

    代碼開發平臺是近年來迅速崛起的一種創新型軟件開發工具,以其高效、靈活的開發模式正顛覆著傳統的開發
    的頭像 發表于 04-18 10:43 ?430次閱讀
    低<b class='flag-5'>代碼</b><b class='flag-5'>開發</b><b class='flag-5'>平臺</b>的崛起:優勢、特點與應用

    使用的H7系列MX編寫代碼后生成靜態庫文件,如何更改靜態庫工程也使用硬件雙精度浮點數?

    使用的H7系列MX編寫代碼后生成靜態庫文件, 在調用該靜態庫文件并編譯報錯,如下: 然后我查看了靜態庫工程的編譯指令: 而APP程序的編譯指令: 想請教一下,該如何更改
    發表于 03-12 06:15

    MZ7100/045FC 開發平臺硬件手冊

    電子發燒友網站提供《MZ7100/045FC 開發平臺硬件手冊.pdf》資料免費下載
    發表于 02-26 09:11 ?7次下載
    真人百家乐赌博| 百家乐一起多少张牌| 百家乐赌术揭秘| 百家乐官网的珠盘| 伯爵百家乐官网娱乐场| 游戏机百家乐官网下载| 优博百家乐官网的玩法技巧和规则| 基础百家乐官网的玩法技巧和规则| 三亚百家乐官网的玩法技巧和规则| 百家乐官网家| 百家乐规则博彩正网| 网上百家乐赌博犯法吗| 百家乐出千方法技巧| 粤港澳百家乐赌场娱乐网规则| 百家乐棋牌游戏源码| 天猫国际娱乐城| 博彩e族首页| 贵族娱乐城信誉| 百家乐官网可以算牌么| 百家乐官网翻天粤语qvod| 百家乐官网投注网出租| 24山是什么意思| 百家乐赌的是心态吗| 大发888老虎机游戏| 开16个赌场敛财| 百家乐官网赢钱| 赌百家乐官网的方法| 百家乐官网稳赢技法| 太子百家乐官网的玩法技巧和规则| 百家乐盛大娱乐城城| 百家乐3式打法微笑心法| 六合彩马报| 澳门百家乐官网海洋阿强| 互联网百家乐官网的玩法技巧和规则| 澳门百家乐赌技术| 威尼斯人娱乐场it| 福建省| 网上的百家乐官网怎么才能赚钱| 百家乐去哪里玩最好| 广州太阳城巧克力社区| 海兴县|