一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

3天內不再提示

基于CANoe和Visual Studio實現(xiàn)Classic和Adaptive AUTOSAR應用層調試

Vector維克多 ? 來源:Vector維克多 ? 作者:Vector維克多 ? 2022-03-10 15:47 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

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

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

圖1:分布式軟件調試與測試工具鏈

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

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

調試Classic AUTOSAR SWCs中的C代碼

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

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

圖2 | vVIRTUALtarget支持Classic AUTOSAR的BSW Emulation

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

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

圖3 | 在Visual Studio中把調試器加載到被測系統(tǒng)進程中

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

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

圖4| 使用Visual Studio調試Classic AUTOSAR SWCs

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

調試Adaptive AUTOSAR APPs中的C++代碼

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

圖5 | 利用Visual Studio配合CANoe/CANoe4SW對軟件系統(tǒng)進行調試

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

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

圖6 | 在Adaptive AUTOSAR APPs中添加斷點并設置為自動繼續(xù)模式

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

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

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

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

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

    關注

    114

    文章

    17113

    瀏覽量

    184321
  • 編譯
    +關注

    關注

    0

    文章

    679

    瀏覽量

    34000
  • CANoe
    +關注

    關注

    4

    文章

    75

    瀏覽量

    9209

原文標題:基于CANoe和Visual Studio實現(xiàn)Classic 和Adaptive AUTOSAR應用層調試

文章出處:【微信號:VectorChina,微信公眾號:Vector維克多】歡迎添加關注!文章轉載請注明出處。

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    CANoe中ADAS功能集介紹

    )。AFS作為CANoe基礎功能的一部分,不需要購買額外的Option即可使用。同時,CANoe本身的強大功能和開放接口使得結合總線通信,集成第三方工具,實現(xiàn)SI
    的頭像 發(fā)表于 07-10 14:55 ?507次閱讀
    <b class='flag-5'>CANoe</b>中ADAS功能集介紹

    基于Classic AUTOSAR的ECU平臺虛擬化技術分析

    Classic AUTOSAR是經(jīng)過驗證并在全球廣泛應用的行業(yè)標準,過去二十年來一直是車載軟件開發(fā)的重要基礎。該標準從針對特定微控制器的標準化嵌入式軟件組件的理念發(fā)展而來,目前幾乎100%的車輛都
    的頭像 發(fā)表于 06-19 14:11 ?222次閱讀
    基于<b class='flag-5'>Classic</b> <b class='flag-5'>AUTOSAR</b>的ECU平臺虛擬化技術分析

    CANoe產品體系19版本新功能(下)

    NET 8.0現(xiàn)已支持測試腳本、應用模型和仿真節(jié)點的開發(fā),支持C# 12,可使用async/await進行等待,本機編譯實現(xiàn)快速加載,改進應用層對象的API實現(xiàn)處理復雜數(shù)據(jù)類型,并支持運行在Linux版本
    的頭像 發(fā)表于 05-29 14:05 ?878次閱讀
    <b class='flag-5'>CANoe</b>產品體系19版本新功能(下)

    如何在Visual Studio 2022中運行FX3吞吐量基準測試工具?

    Visual Studio 2022 中運行此工具的步驟嗎? 此外,是否有我可能錯過的可執(zhí)行文件(例如在 GitHub 上)? 預先感謝您的幫助!
    發(fā)表于 05-13 08:05

    Visual Studio中運行Hello分類樣本 ,僅在Visual Studio輸出中收到錯誤消息,怎么解決?

    Visual Studio* 中運行 Hello 分類樣本 ,僅在 Visual Studio* 輸出中收到錯誤消息: Exception thrown
    發(fā)表于 03-05 08:16

    黑芝麻智能與Elektrobit推出Classic AUTOSAR解決方案

    黑芝麻智能與Elektrobit聯(lián)合發(fā)布了基于武當系列C1296芯片的完整的Classic AUTOSAR解決方案。
    的頭像 發(fā)表于 01-09 09:53 ?741次閱讀

    AUTOSAR通信與網(wǎng)絡安全 AUTOSAR通信在車輛中的應用

    架構合作伙伴計劃,旨在創(chuàng)建并建立一個開放的標準化軟件架構,以簡化汽車電子控制單元(ECU)的開發(fā)和生產。 1. AUTOSAR通信概述 AUTOSAR定義了一個分層的軟件架構,其中包括了通信
    的頭像 發(fā)表于 12-17 15:06 ?920次閱讀

    AUTOSAR通信實現(xiàn)中的常見問題

    AUTOSAR(Automotive Open System Architecture)汽車開放系統(tǒng)架構旨在實現(xiàn)汽車電子的軟硬件分離,降低ECU軟件開發(fā)的復雜度,提高軟件可重用性。 一、通信協(xié)議棧
    的頭像 發(fā)表于 12-17 15:03 ?1140次閱讀

    AUTOSAR中通信堆棧的配置 AUTOSAR通信模塊測試方法

    )的開發(fā)和生產。通信堆棧是AUTOSAR架構中的關鍵組成部分,負責處理ECU之間的通信。 AUTOSAR中通信堆棧的配置 通信模型 : AUTOSAR定義了一種分層的通信模型,包括應用層
    的頭像 發(fā)表于 12-17 15:01 ?990次閱讀

    AUTOSAR通信與CAN協(xié)議的關系

    AUTOSAR通信模型: AUTOSAR定義了一個分層的軟件架構,其中包括應用層、基礎軟件和微控制器抽象。在這些
    的頭像 發(fā)表于 12-17 14:57 ?999次閱讀

    AUTOSAR通信組件介紹 AUTOSAR通信功能分析

    實現(xiàn)汽車電子控制單元(ECU)的軟件設計和開發(fā)。這個架構包括多個,其中通信AUTOSAR架構中的關鍵組成部分之一。 1. 通信組件概述 AUT
    的頭像 發(fā)表于 12-17 14:55 ?1481次閱讀

    AUTOSAR通信協(xié)議解析 如何實現(xiàn)AUTOSAR通信

    AUTOSAR(Automotive Open System Architecture)即汽車開放系統(tǒng)架構,該架構支持汽車電子控制單元(ECU)之間的通信,實現(xiàn)了高度模塊化和可重用性。AUTOSAR
    的頭像 發(fā)表于 12-17 14:54 ?2835次閱讀

    Vector推出一套基于Visual Studio Code的免費插件

    在汽車軟件開發(fā)過程中,除使用MATLAB開發(fā)算法外,專業(yè)開發(fā)者也偏向使用Visual Studio Code來開發(fā)代碼,其中軟件測試用例的編寫是確保系統(tǒng)穩(wěn)定性和可靠性的重要環(huán)節(jié)。傳統(tǒng)的CAPL腳本
    的頭像 發(fā)表于 11-24 14:15 ?2036次閱讀
    Vector推出一套基于<b class='flag-5'>Visual</b> <b class='flag-5'>Studio</b> Code的免費插件

    AUTOSAR解決方案 — INTEWORK-EAS-AP

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

    Linux應用層控制外設的兩種不同的方式

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