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

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

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

基于CANoe和Visual Studio實(shí)現(xiàn)Classic和Adaptive AUTOSAR應(yīng)用層調(diào)試

Vector維克多 ? 來源:Vector維克多 ? 作者:Vector維克多 ? 2022-03-10 15:47 ? 次閱讀

伴隨“軟件化”和“敏捷化”的推進(jìn),從基于域(Domain)架構(gòu)到基于區(qū)域(Zonal)架構(gòu)的發(fā)展,亦或OEM成立軟件中心參與軟件開發(fā)與集成,均面臨復(fù)雜控制器軟件的整合。傳統(tǒng)開發(fā)大多采用Lauterbach或iSYSTEM等與CANoe結(jié)合實(shí)現(xiàn)在真實(shí)控制器上的調(diào)試工作;如今域控器、區(qū)域控制器和車載“電腦”中軟件將由多方獨(dú)立并行開發(fā)集成,故在開發(fā)階段大部分時(shí)間內(nèi)將面臨:無硬件或因耦合軟件由第三方開發(fā)而無法實(shí)現(xiàn)傳統(tǒng)調(diào)試或測(cè)試工作。在面對(duì)復(fù)雜控制器軟件系統(tǒng)時(shí),CANoe可在虛擬環(huán)境實(shí)現(xiàn)軟件系統(tǒng)的調(diào)試和測(cè)試工作,Visual Studio(簡(jiǎn)稱VS)或許是虛擬環(huán)境下進(jìn)行Classic AUTOSAR和Adaptive AUTOSAR中C/C++軟件系統(tǒng)調(diào)試與編譯的“利器”。

835b2a18-8fbb-11ec-952b-dac502259ad0.jpg

圖1:分布式軟件調(diào)試與測(cè)試工具鏈

在軟件系統(tǒng)開發(fā)過程中,因軟件系統(tǒng)虛擬運(yùn)行環(huán)境部署困難,內(nèi)部變量調(diào)試成了測(cè)試、修正語法錯(cuò)誤和邏輯錯(cuò)誤阻礙了開發(fā)測(cè)試效率。過往大多汽車工程師將CANoe僅當(dāng)做總線工具或HiL平臺(tái),隨著Vector的CANoe4SW被整合進(jìn)CANoe后,CANoe/CANoe4SW可實(shí)現(xiàn)C、C++和Python軟件系統(tǒng)的測(cè)試,同時(shí)結(jié)合針對(duì)AUTOSAR軟件虛擬化工具vVIRTUALtarget配合Visual Studio,從開發(fā)早期可介入車載軟件系統(tǒng)運(yùn)行的調(diào)試,并使得后期持續(xù)有質(zhì)量的“虛擬”黑盒交樣成為了可能。本文就CANoe耦合VS在單機(jī)環(huán)境下實(shí)現(xiàn)AUTOSAR應(yīng)用層調(diào)試做簡(jiǎn)要說明,相關(guān)工具見下表1。

8370030c-8fbb-11ec-952b-dac502259ad0.png

調(diào)試Classic AUTOSAR SWCs中的C代碼

得益于vVIRTUALtarget對(duì)于Classic AUTOSAR的BSW Emulation功能,開發(fā)人員可在單個(gè)SWC開發(fā)完成之后對(duì)其進(jìn)行調(diào)試,隨著開發(fā)的進(jìn)度進(jìn)行,更多的SWCs可以被整合虛擬化并統(tǒng)一驗(yàn)證。在創(chuàng)建Classic SWCs虛擬化軟件系統(tǒng)的過程中,與之相匹配的Visual Studio工程也會(huì)被同步生成,用作在CANoe中調(diào)試軟件系統(tǒng)的工程項(xiàng)目。

8386e46e-8fbb-11ec-952b-dac502259ad0.jpg

圖2 | vVIRTUALtarget支持Classic AUTOSAR的BSW Emulation

在調(diào)試之前只需要在CANoe中加載Classic SWCs虛擬軟件系統(tǒng)并在Visual Studio中把調(diào)試器加載到特定的進(jìn)程,在CANoe中啟動(dòng)measurement即可開始調(diào)試軟件系統(tǒng)。

8398302a-8fbb-11ec-952b-dac502259ad0.jpg

圖3 | 在Visual Studio中把調(diào)試器加載到被測(cè)系統(tǒng)進(jìn)程中

CANoe與Visual Studio配合調(diào)試可以快速訪問ECU中的內(nèi)部參數(shù),利用Visual Studio豐富的調(diào)試功能大大縮短了調(diào)試時(shí)間。特別是對(duì)于復(fù)雜的 ECU 或分布式功能,通過調(diào)試功能訪問 ECU 中的內(nèi)部信息為軟件系統(tǒng)或 ECU 堆棧開辟了新的、全面的開發(fā)及測(cè)試選項(xiàng)。特別是 AUTOSAR ECU,由于其結(jié)構(gòu)化布局由基本軟件 (BSW)、運(yùn)行時(shí)環(huán)境 (RTE) 和軟件組件 (SWC) 組成,不需要通過接口,直接可以訪問用于測(cè)量和模擬測(cè)試的參數(shù)變量。

83ac0ca8-8fbb-11ec-952b-dac502259ad0.jpg

圖4| 使用Visual Studio調(diào)試Classic AUTOSAR SWCs

在CANoe中工程師除了可以對(duì)SWC的接口進(jìn)行激勵(lì)和監(jiān)控,也可以通過在Classic SWCs虛擬軟件系統(tǒng)中添加自定義變量,更靈活地虛擬軟件中添加變量用來控制一些本來不具有交互能力的臨時(shí)變量以及函數(shù)。自定義變量只需要以固定格式“VARIABLE_UINT32("CustomNamespace", MyVariable, 0)”描述在頭文件“Vtt_CustomVars_Cfg.h”中,vVIRTUALtarget即可自動(dòng)識(shí)別并把相應(yīng)的系統(tǒng)變量創(chuàng)建在接口描述文件中,從而實(shí)現(xiàn)在CANoe中對(duì)中間變量的持續(xù)觀測(cè)。

調(diào)試Adaptive AUTOSAR APPs中的C++代碼

83c39b98-8fbb-11ec-952b-dac502259ad0.jpg

圖5 | 利用Visual Studio配合CANoe/CANoe4SW對(duì)軟件系統(tǒng)進(jìn)行調(diào)試

伴隨Vector發(fā)布的CANoe4SW和CANoe的整合,開發(fā)人員可以根據(jù)C、C++和Python工程的環(huán)境配置編譯運(yùn)行在不同的系統(tǒng)平臺(tái)和硬件環(huán)境,無論將Adaptive AUTOSAR APPs部署在Windows或Linux 虛擬環(huán)境中,CANoe/CANoe4SW都可以根據(jù)預(yù)先定義好的接口結(jié)構(gòu)以及類型自動(dòng)生成與之相匹配的SiL Adapter作為Adaptive APPs的一部分進(jìn)行編譯,編譯后的可執(zhí)行程序即使運(yùn)行在遠(yuǎn)程的PC主機(jī)上,只要一根網(wǎng)線即可與CANoe/CANoe4SW互通,使CANoe/CANoe4SW能對(duì)于預(yù)先定義的接口進(jìn)行觀測(cè)及激勵(lì)等調(diào)試行為。

83d8674e-8fbb-11ec-952b-dac502259ad0.jpg

圖6 | 在Adaptive AUTOSAR APPs中添加斷點(diǎn)并設(shè)置為自動(dòng)繼續(xù)模式

在調(diào)試Adaptive AUTOSAR APPs的過程中,開發(fā)人員更多會(huì)關(guān)注于某些內(nèi)部變量和臨時(shí)變量的實(shí)時(shí)變化的調(diào)試和分析,從CANoe/CANoe4SW 15 SP3提供了免費(fèi)的支持Visual Studio Code和Visual Studio的插件:Distributed Software Debugging Plug-Ins,通過該插件,開發(fā)人員可以在Visual Studio工程中的Adaptive AUTOSAR APPs中C++源代碼的任意函數(shù)中加入斷點(diǎn),而這個(gè)斷點(diǎn)中所有的變量就可以同步被顯示在CANoe/CANoe4SW的Trace窗口中。

83f1547a-8fbb-11ec-952b-dac502259ad0.jpg

圖7 | CANoe中同步顯示C++源代碼斷點(diǎn)函數(shù)中的變量

Distributed Software Debugging Plug-ins在Visual Studio中提供了豐富的配置項(xiàng)以更好地配合CANoe/CANoe4SW聯(lián)調(diào)使用。通過配置,在不操作CANoe/CANoe4SW的情況下,一旦在Visual Studio中開啟了調(diào)試,CANoe/CANoe4SW中的measurement會(huì)自動(dòng)開啟,立即進(jìn)行數(shù)據(jù)收發(fā)及監(jiān)控,即使是初始化值也不會(huì)錯(cuò)漏。除此之外,Visual Studio中源代碼的局部變量的類型也可以在CANoe/CANoe4SW中設(shè)置成各種類型的顯示方式,以便在監(jiān)控變量的時(shí)候更加直觀便捷。插件位于CANoe/CANoe4SW安裝路徑下的Installer Additional ComponentsDistributedDebugging文件夾中,雙擊插件即可自動(dòng)安裝,更多細(xì)節(jié)說明和配置詳見CANoe/CANoe4SW的Help手冊(cè)中Distributed Software Debugging章節(jié)。

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

    關(guān)注

    112

    文章

    16131

    瀏覽量

    177137
  • 編譯
    +關(guān)注

    關(guān)注

    0

    文章

    649

    瀏覽量

    32776
  • CANoe
    +關(guān)注

    關(guān)注

    4

    文章

    64

    瀏覽量

    8604

原文標(biāo)題:基于CANoe和Visual Studio實(shí)現(xiàn)Classic 和Adaptive AUTOSAR應(yīng)用層調(diào)試

文章出處:【微信號(hào):VectorChina,微信公眾號(hào):Vector維克多】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    AUTOSAR解決方案 — INTEWORK-EAS-AP

    經(jīng)緯恒潤(rùn)自主研發(fā)的Adaptive AUTOSAR平臺(tái)產(chǎn)品, 遵循AUTOSAR Adaptive R19-11和R22-11規(guī)范, 使用C++11、C++17語言開發(fā)。可通過極易上手
    的頭像 發(fā)表于 11-06 16:11 ?508次閱讀
    <b class='flag-5'>AUTOSAR</b>解決方案 — INTEWORK-EAS-AP

    Linux應(yīng)用層控制外設(shè)的兩種不同的方式

    眾所周知,linux下一切皆文件,那么應(yīng)用層如何控制硬件,同樣是通過 文件I/O的方式來實(shí)現(xiàn)的,那么應(yīng)用層控制硬件通常有兩種方式。
    的頭像 發(fā)表于 10-05 19:03 ?235次閱讀
    Linux<b class='flag-5'>應(yīng)用層</b>控制外設(shè)的兩種不同的方式

    Vector和HighTec推出基于Rust和AUTOSAR Classic實(shí)現(xiàn)安全應(yīng)用的解決方案

    Vector和HighTec兩家公司成功展示了Rust應(yīng)用程序與基于C語言的AUTOSAR Classic基礎(chǔ)軟件的集成,這在行業(yè)內(nèi)還屬首次。這樣一來,Rust及其優(yōu)勢(shì)可以被應(yīng)用在有最高功能安全要求的汽車ECU中。
    的頭像 發(fā)表于 07-17 14:42 ?625次閱讀
    Vector和HighTec推出基于Rust和<b class='flag-5'>AUTOSAR</b> <b class='flag-5'>Classic</b><b class='flag-5'>實(shí)現(xiàn)</b>安全應(yīng)用的解決方案

    求助,用visual studio 2017開發(fā)esp32的問題求解

    各位好,esp32開發(fā)我這邊用的是visual studio 2017+visual的形式,我在打開工程樣例文件后,編譯通過并成功燒錄,但是右擊“source Files”文件夾想添加一個(gè)C文件
    發(fā)表于 06-25 07:07

    Aurix Development Studio來構(gòu)建Autosar MCAL FW,構(gòu)建\"IfxGtm_reg.h\" 時(shí)總是出錯(cuò)怎么解決?

    我使用 Aurix Development Studio 來構(gòu)建 Autosar MCAL FW,在構(gòu)建\"IfxGtm_reg.h\" 時(shí)總是出錯(cuò)。 \"- 語法錯(cuò)誤
    發(fā)表于 05-29 07:34

    STM32F407VE使用Visual studio 2017 + VisualGDB 5.4版調(diào)試程序,運(yùn)行時(shí)報(bào)錯(cuò)的原因?

    STM32F407VE板子使用Visual studio 2017 + VisualGDB 5.4版調(diào)試程序 運(yùn)行到 void *p; sscanf(name, \":%p\"
    發(fā)表于 04-24 07:58

    Elektrobit已正式推出現(xiàn)成的Classic AUTOSAR和OSEK軟件和服務(wù)

    Elektrobit現(xiàn)已正式推出現(xiàn)成的Classic AUTOSAR和OSEK軟件和服務(wù)。無論您的項(xiàng)目大小,我們都能根據(jù)您的需求提供可靠且互通的解決方案,同時(shí)支持多個(gè)汽車制造商規(guī)范,并有助于降低軟件開發(fā)成本。
    的頭像 發(fā)表于 03-26 10:03 ?390次閱讀

    CANoe軟件的使用操作說明

    本文檔是CANoe軟件的使用操作說明,方便剛接觸CANoe的伙伴們快速上手使用這個(gè)軟件。
    的頭像 發(fā)表于 02-25 14:30 ?1.1w次閱讀
    <b class='flag-5'>CANoe</b>軟件的使用操作說明

    DevEco Studio 4.1帶來多種調(diào)試能力,助力鴻蒙原生應(yīng)用開發(fā)高效調(diào)試

    ,HUAWEI DevEco Studio不斷挖掘、汲取開發(fā)者的需求和建議,經(jīng)過持續(xù)打磨和系列升級(jí)實(shí)現(xiàn)新突破,將全力支持鴻蒙原生應(yīng)用開發(fā)。 為助力高效開發(fā),快速定位問題,DevEco Studio 4.1帶來多種
    的頭像 發(fā)表于 02-04 15:35 ?680次閱讀

    CanoE和TC3x7應(yīng)用套件之間建立通信,如何實(shí)現(xiàn)通過串行通信從CanoE收到的數(shù)據(jù)幀?

    我想在 CanoE 和 TC3x7 應(yīng)用套件之間建立通信。 我希望開發(fā)板打印它通過串行通信從 CanoE 收到的數(shù)據(jù)幀。 我該怎么做? 我是初學(xué)者,請(qǐng)幫忙。
    發(fā)表于 01-31 06:36

    Simplicity Studio 5擴(kuò)增功能支持以VS Code開發(fā)

    應(yīng)用程序開發(fā)的支持。此一功能擴(kuò)展可讓開發(fā)人員在VSCode生態(tài)系統(tǒng)中構(gòu)建、刷新和調(diào)試。用戶可以使用VS Code作為主要的IDE,同時(shí)仍然能夠使用熟悉和喜愛的項(xiàng)目配置圖形界面。在Simplicity Studio中配置、設(shè)置和生成項(xiàng)目,來自
    的頭像 發(fā)表于 01-29 10:34 ?846次閱讀
    Simplicity <b class='flag-5'>Studio</b> 5擴(kuò)增功能支持以VS Code開發(fā)

    物聯(lián)網(wǎng)結(jié)構(gòu)之應(yīng)用層

    物聯(lián)網(wǎng)應(yīng)用層利用經(jīng)過分析處理的感知數(shù)據(jù),為用戶提供不同類型的特定服務(wù),其主要功能包括對(duì)采集數(shù)據(jù)的匯集、轉(zhuǎn)換、分析,以及用戶呈現(xiàn)的適配和事件觸發(fā)等。網(wǎng)絡(luò)傳送過來的數(shù)據(jù)在這一進(jìn)入各
    的頭像 發(fā)表于 12-28 14:49 ?778次閱讀
    物聯(lián)網(wǎng)結(jié)構(gòu)之<b class='flag-5'>應(yīng)用層</b>

    AUTOSAR AP平臺(tái)核心技術(shù)解析

    本文主要分享執(zhí)行管理和狀態(tài)管理以及操作系統(tǒng)接口模塊,這些功能集群是Adaptive AUTOSAR的核心部分。你們可能會(huì)問,什么是執(zhí)行管理和狀態(tài)管理?它們是不是很復(fù)雜很高深?其實(shí)不然,它們就像是你的汽車的大腦和心臟,它們控制著你的汽車軟件的啟動(dòng)、運(yùn)行和停止,以及與你的汽車
    的頭像 發(fā)表于 12-15 11:34 ?1757次閱讀
    <b class='flag-5'>AUTOSAR</b> AP平臺(tái)核心技術(shù)解析

    ETAS和曦華科技藍(lán)鯨MCU成功完成AUTOSAR適配

    藍(lán)鯨CVM014xMcal 基于AutoSAR Classic Platform 4.2.2開發(fā),完整支持微控制器驅(qū)動(dòng)(MicrocontrollerDrivers), 存儲(chǔ)器驅(qū)動(dòng)
    發(fā)表于 12-14 10:23 ?548次閱讀
    ETAS和曦華科技藍(lán)鯨MCU成功完成<b class='flag-5'>AUTOSAR</b>適配

    Python與CANoe/CANoe4SW

    Python作為功能強(qiáng)大的編程語言,在智能汽車研發(fā)和測(cè)試中應(yīng)用廣泛,如數(shù)據(jù)處理、測(cè)試自動(dòng)化、測(cè)試腳本開發(fā),甚至直接將Python應(yīng)用運(yùn)行在車輛上。CANoe產(chǎn)品體系為汽車行業(yè)XiL測(cè)試提供豐富功能
    的頭像 發(fā)表于 11-16 08:25 ?1970次閱讀
    Python與<b class='flag-5'>CANoe</b>/<b class='flag-5'>CANoe</b>4SW