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

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

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

CANoe與虛擬機(jī)

北匯信息POLELINK ? 2022-12-15 10:32 ? 次閱讀

在汽車軟件的開發(fā)周期中,基于POSIX標(biāo)準(zhǔn)的操作系統(tǒng)(如Linux)廣泛應(yīng)用于AUTOSAR Adaptive平臺(tái)的ECU原型開發(fā)、算法或功能評估中。該領(lǐng)域的嵌入式軟件開發(fā)人員通常傾向于在運(yùn)行Linux系統(tǒng)(如Ubuntu/Debian)的虛擬機(jī)中進(jìn)行開發(fā),因?yàn)樗峁┝伺c嵌入式平臺(tái)相似的可訪問的接口和組件。

Vector提供的CANoe軟件是進(jìn)行網(wǎng)絡(luò)/總線和ECU開發(fā)、測試和分析的全面工具,支持總線網(wǎng)絡(luò)開發(fā)從需求分析到系統(tǒng)實(shí)現(xiàn)的全過程,包括模型創(chuàng)建、仿真、測試、診斷及通信分析等。但和大多數(shù)網(wǎng)絡(luò)開發(fā)工具一樣只適用于Windows操作系統(tǒng),因此開發(fā)人員需要考慮如何實(shí)現(xiàn)Linux環(huán)境和CANoe工具之間的數(shù)據(jù)交互。

e65f06d8-7bfc-11ed-b116-dac502259ad0.png

圖1:CANoe與被測軟件的虛擬化執(zhí)行環(huán)境

為了滿足用戶多樣化虛擬執(zhí)行環(huán)境的測試需求,除了CANoe以外,Vector還提供了專注于SIL測試的CANoe4SW,可以對軟件組件、軟件子系統(tǒng)以及整個(gè)軟件系統(tǒng)進(jìn)行開發(fā),測試和分析。以及面向服務(wù)器版本的CANoe4SW SE(CANoe4SW Server Edition),支持Linux或Windows服務(wù)器環(huán)境運(yùn)行CANoe工程,支持Docker容器化運(yùn)行。

本文主要介紹CANoe與虛擬機(jī)通過以太網(wǎng)交互的幾種常用方法。

01

Shared Networking

共享意味著CANoe和被測應(yīng)用程序共享主機(jī)的TCP/IP協(xié)議棧,這種方式在使用WSL(Windows Subsystem for Linux)時(shí)最為便捷。WSL有WSL2和WSL1兩個(gè)版本,主要區(qū)別在于WSL2使用了真實(shí)的 Linux 內(nèi)核、支持完整的系統(tǒng)調(diào)用兼容性以及跨 Linux 和 Windows 操作系統(tǒng)的性能。

接下來以WSL2環(huán)境為例演示虛擬機(jī)與CANoe基于Shared Networking的通信配置過程。在CANoe端需要?jiǎng)?chuàng)建一個(gè)UDP通信節(jié)點(diǎn),將其TCP/IP Stack配置為使用操作系統(tǒng)的網(wǎng)絡(luò)協(xié)議棧,然后通過CAPL函數(shù)創(chuàng)建socket通過本地環(huán)回地址(127.0.0.1)實(shí)現(xiàn)UDP報(bào)文的發(fā)送和接收;在WSL2端無需特殊配置,可直接通過指令去監(jiān)聽UDP報(bào)文并向CANoe發(fā)送UDP數(shù)據(jù)。通信過程如下圖。

e67b3ccc-7bfc-11ed-b116-dac502259ad0.png

圖2: CANoe與WSL2通信過程

這種方式配置簡單,但是無法直接在CANoe的Trace窗口中顯示通信數(shù)據(jù),并且可能會(huì)受到主機(jī)上其他應(yīng)用程序的串?dāng)_,另外Windows防火墻也可能會(huì)抑制通信流量。

Shared Networking同樣也適用于其他的虛擬化工具,如VMware Workstation、Virtual Box等。只是需要一些額外配置,對于其他虛擬化環(huán)境更推薦使用后面介紹的方式。

02

Virtual Ethernet Link

該方式適用于運(yùn)行Linux虛擬機(jī)的各種虛擬化環(huán)境,如VMware Workstation 和Microsoft Hyper-V。接下來以VMware環(huán)境為例介紹其配置過程。

>

安裝Vector Network Driver

在CANoe的安裝路徑下包含有該驅(qū)動(dòng)的安裝程序(參考路徑:C:\Program Files\Vector CANoe 16.3.110\Installer Additional Components\Vector Network Driver),以管理員權(quán)限安裝即可。

>

安裝Microsoft環(huán)回適配器

在Window搜索欄中輸入“hdwwiz”打開添加硬件配置選項(xiàng),選擇手動(dòng)從列表中選擇硬件安裝,在硬件類型中選擇“網(wǎng)絡(luò)適配器”,在下一步中廠商選擇“MicroSoft”,型號選擇“Microsoft KM-TEST環(huán)回適配器”進(jìn)行安裝。

安裝完成之后就可以在PC的網(wǎng)絡(luò)連接中查看到Microsoft環(huán)回適配器了。

e698deb2-7bfc-11ed-b116-dac502259ad0.png

圖3:安裝環(huán)回適配器

>

將Microsoft環(huán)回適配器映射到VM

打開VMware Workstation,在編輯菜單下打開虛擬網(wǎng)絡(luò)編輯器,選擇VMnet0并將其橋接到Microsoft環(huán)回適配器。

e6c085fc-7bfc-11ed-b116-dac502259ad0.png

圖4:配置橋接模式

>

配置CANoe使用Microsoft環(huán)回適配器

在CANoe界面,Hardware -> Network Hardware-> Ehernet channel-> Hardware Type中選擇Microsoft環(huán)回適配器。

e6d13da2-7bfc-11ed-b116-dac502259ad0.png

圖5:配置使用網(wǎng)卡

所有配置完成之后,來自CANoe中的以太網(wǎng)數(shù)據(jù)就可以通過映射的以太網(wǎng)鏈路發(fā)送到VMware中,同樣VMware中的以太網(wǎng)數(shù)據(jù)也可以發(fā)送給CANoe。

以VMware中Ubuntu環(huán)境為例,驗(yàn)證CANoe與Ubuntu之間的通信鏈路,過程如下圖。

e6deae06-7bfc-11ed-b116-dac502259ad0.png

圖6: CANoe與Ubuntu通信過程

03

TUN/TAP Server

CANoe從15.0版本開始,新增了Virtual Link(TUN/TAP)功能,支持使用TUN/TAP設(shè)備驅(qū)動(dòng)程序?qū)M虛擬的網(wǎng)絡(luò)設(shè)備連接到CANoe進(jìn)行仿真。這種模式的通信是雙向的,并且CANoe支持工作在真實(shí)總線及仿真總線模式下。

e6ff0c46-7bfc-11ed-b116-dac502259ad0.png

圖7: TAP功能示意

主要配置過程如下。

>

配置TUN/TAP Server

一是需要在本地Linux環(huán)境中編譯TAP server,二是編譯完成后需要在VM中創(chuàng)建虛擬的TAP設(shè)備,具體過程可以參考CANoe幫助文檔的說明。

e71297f2-7bfc-11ed-b116-dac502259ad0.png

圖8:TAP server配置

以VMware中CentOS7環(huán)境為例,演示下TAP server配置的具體過程:

e73d81c4-7bfc-11ed-b116-dac502259ad0.png

圖9: CenOS7中TAP server配置示例

>

CANoe中激活Virtual Link

在CANoe中打開Option頁面,激活virtual link并選擇TAP server映射的網(wǎng)絡(luò)。

e7596b28-7bfc-11ed-b116-dac502259ad0.png

圖10:CANoe中激活TAP server配置

>

CANoe中UDP通信配置

在CANoe中創(chuàng)建一個(gè)UDP通信節(jié)點(diǎn),配置其TCP/IP stack信息

e777bd44-7bfc-11ed-b116-dac502259ad0.png

圖11:TCP/IP stack配置

所有配置完成后,運(yùn)行CANoe就可以在write窗口查看到“Tap Server Discovery on 192.168.24.255:33000”及“Connected to Tap Server 192.168.24.131:35802”的信息,表明CANoe與TAP server端的配置已經(jīng)完成并建立了連接。為了驗(yàn)證虛擬機(jī)與CANoe之間的通信,可以通過Ping指令或者UDP API去進(jìn)行驗(yàn)證,結(jié)果如下。

e78fb57a-7bfc-11ed-b116-dac502259ad0.png

圖12: CANoe與TAP server通信過程

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

    關(guān)注

    1

    文章

    918

    瀏覽量

    28257
  • CANoe
    +關(guān)注

    關(guān)注

    4

    文章

    66

    瀏覽量

    8665
收藏 人收藏

    評論

    相關(guān)推薦

    虛擬化數(shù)據(jù)恢復(fù)—誤還原Vmware虛擬機(jī)快照的數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)環(huán)境: 一臺(tái)虛擬機(jī)從物理機(jī)遷移到ESXI虛擬化平臺(tái),遷移完成后做了一個(gè)快照。虛擬機(jī)上運(yùn)行了一個(gè)SQL Server數(shù)據(jù)庫,記
    的頭像 發(fā)表于 11-12 12:23 ?174次閱讀

    虛擬化數(shù)據(jù)恢復(fù)—XenServer虛擬機(jī)數(shù)據(jù)恢復(fù)案例

    Server操作系統(tǒng)虛擬機(jī),該虛擬機(jī)有2塊虛擬磁盤(系統(tǒng)盤+數(shù)據(jù)盤),當(dāng)作網(wǎng)站服務(wù)器使用。 服務(wù)器虛擬化故障: XenServer虛擬機(jī)
    的頭像 發(fā)表于 11-08 10:32 ?155次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—XenServer<b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)——Hyper-V虛擬機(jī)數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)環(huán)境: Windows Server操作系統(tǒng)服務(wù)器上部署Hyper-V虛擬機(jī)環(huán)境。虛擬機(jī)的硬盤文件和配置文件存放在一臺(tái)存儲(chǔ)中,該存儲(chǔ)上有一組由4塊硬盤組建的raid5陣列,除此之外
    的頭像 發(fā)表于 10-25 09:26 ?212次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)——Hyper-V<b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致XenServer虛擬機(jī)不可用的數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境: 某品牌服務(wù)器通過同品牌某型號的RAID卡,將4塊STAT硬盤為一組RAID10陣列。上層部署XenServer虛擬化平臺(tái),虛擬機(jī)安裝Windows Server系統(tǒng),每臺(tái)
    的頭像 發(fā)表于 10-21 14:17 ?214次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致XenServer<b class='flag-5'>虛擬機(jī)</b>不可用的數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致VMware虛擬機(jī)文件丟失的數(shù)據(jù)恢復(fù)案例

    某品牌服務(wù)器(部署VMware EXSI虛擬機(jī))+同品牌存儲(chǔ)(存放虛擬機(jī)文件)。
    的頭像 發(fā)表于 09-14 17:35 ?538次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—異常斷電導(dǎo)致VMware<b class='flag-5'>虛擬機(jī)</b>文件丟失的數(shù)據(jù)恢復(fù)案例

    虛擬化數(shù)據(jù)恢復(fù)—EXSI虛擬機(jī)誤還原快照如何恢復(fù)數(shù)據(jù)?

    虛擬化技術(shù)原理是將硬件虛擬化供不同的虛擬機(jī)使用,一臺(tái)物理機(jī)上可以有多臺(tái)虛擬機(jī)。人為誤操作或者物理機(jī)故障會(huì)導(dǎo)致上層
    的頭像 發(fā)表于 09-09 11:56 ?388次閱讀
    <b class='flag-5'>虛擬</b>化數(shù)據(jù)恢復(fù)—EXSI<b class='flag-5'>虛擬機(jī)</b>誤還原快照如何恢復(fù)數(shù)據(jù)?

    什么是虛擬機(jī)?什么是虛擬化?

    在日新月異的科技世界中,虛擬化技術(shù)如同一座橋梁,連接著現(xiàn)實(shí)與數(shù)字的鴻溝,為我們打開了全新的計(jì)算維度。虛擬機(jī),這一概念,自其誕生以來,就以其獨(dú)特的魅力和強(qiáng)大的功能,深深地影響了軟件開發(fā)、系統(tǒng)測試和云計(jì)算等多個(gè)領(lǐng)域。即使目前你還不了解它的應(yīng)用,你應(yīng)該也聽過
    的頭像 發(fā)表于 09-04 14:55 ?1034次閱讀

    創(chuàng)建ubuntu虛擬機(jī)

    英文的習(xí)慣。創(chuàng)建ubuntu虛擬機(jī)打開VMware軟件,點(diǎn)擊創(chuàng)建新的虛擬機(jī)。進(jìn)入以下界面:選擇自定義,點(diǎn)擊“下一步”。選擇對應(yīng)VMware版本的兼容性,版本可在幫助->關(guān)于VMware
    發(fā)表于 08-10 14:15

    虛擬機(jī)數(shù)據(jù)恢復(fù)—KVM虛擬機(jī)被誤刪除的數(shù)據(jù)恢復(fù)案例

    虛擬機(jī)數(shù)據(jù)恢復(fù)環(huán)境: Linux操作系統(tǒng)服務(wù)器,EXT4文件系統(tǒng)。服務(wù)器中有數(shù)臺(tái)KVM虛擬機(jī)。 虛擬機(jī)1:主數(shù)據(jù)庫服務(wù)器 虛擬磁盤:系統(tǒng)盤(qcow2)+數(shù)據(jù)盤(raw)
    的頭像 發(fā)表于 08-07 13:33 ?475次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)—KVM<b class='flag-5'>虛擬機(jī)</b>被誤刪除的數(shù)據(jù)恢復(fù)案例

    什么是虛擬機(jī)?虛擬機(jī)真的那么好用嗎?

    在日新月異的科技世界中,虛擬化技術(shù)如同一座橋梁,連接著現(xiàn)實(shí)與數(shù)字的鴻溝,為我們打開了全新的計(jì)算維度。虛擬機(jī),這一概念,自其誕生以來,就以其獨(dú)特的魅力和強(qiáng)大的功能,深深地影響了軟件開發(fā)、系統(tǒng)測試和云
    的頭像 發(fā)表于 07-06 08:05 ?463次閱讀
    什么是<b class='flag-5'>虛擬機(jī)</b>?<b class='flag-5'>虛擬機(jī)</b>真的那么好用嗎?

    虛擬化數(shù)據(jù)恢復(fù)—虛擬機(jī)誤還原快照的數(shù)據(jù)恢復(fù)案例

    有一臺(tái)虛擬機(jī)是由物理機(jī)遷移到ESXI上面的,遷移完成后為該虛擬機(jī)做了一個(gè)快照。虛擬機(jī)上運(yùn)行了一個(gè)SQL Server數(shù)據(jù)庫,記錄了5年左右的數(shù)據(jù)。 該ESXI上共有二十幾臺(tái)
    的頭像 發(fā)表于 05-11 11:07 ?573次閱讀

    虛擬機(jī)的ip地址和主機(jī)一樣嗎

    虛擬機(jī)的ip地址和主機(jī)一樣嗎? 虛擬機(jī)的IP地址和主機(jī)的IP地址通常不相同。虛擬機(jī)是在主機(jī)上通過虛擬化技術(shù)創(chuàng)建的虛擬化實(shí)例,它可以在同一臺(tái)物
    的頭像 發(fā)表于 03-26 15:34 ?5391次閱讀

    虛擬機(jī)數(shù)據(jù)恢復(fù)-虛擬機(jī)還原快照原理和誤還原快照的數(shù)據(jù)恢復(fù)方案

    由一臺(tái)物理服務(wù)器遷移到ESXI上的虛擬機(jī),虛擬機(jī)遷移完成后做了一個(gè)快照,該ESXI上面一共運(yùn)行了數(shù)十臺(tái)虛擬機(jī)。某天工作人員不小心將快照進(jìn)行了還原,虛擬機(jī)內(nèi)的數(shù)據(jù)還原到了數(shù)年前剛遷移過來
    的頭像 發(fā)表于 02-27 11:54 ?1024次閱讀
    <b class='flag-5'>虛擬機(jī)</b>數(shù)據(jù)恢復(fù)-<b class='flag-5'>虛擬機(jī)</b>還原快照原理和誤還原快照的數(shù)據(jù)恢復(fù)方案

    【鴻蒙】(一)Vmware虛擬機(jī)和Ubuntu安裝

    備注 虛擬機(jī)命名、用戶名稱、路徑不能有漢字 名稱或者路徑有漢字,導(dǎo)致輸入失敗或者安裝失敗 2.虛擬機(jī)處理器內(nèi)核總數(shù)(處理器數(shù)量 X 每個(gè)處理器的內(nèi)核數(shù)量)不得超過電腦邏輯處理器總個(gè)數(shù) 太少時(shí),下載
    的頭像 發(fā)表于 02-26 21:27 ?3624次閱讀
    【鴻蒙】(一)Vmware<b class='flag-5'>虛擬機(jī)</b>和Ubuntu安裝

    VMware虛擬機(jī)的三種網(wǎng)絡(luò)模式

    VMware虛擬機(jī)的三種網(wǎng)絡(luò)模式 VMware是一種廣泛使用的虛擬機(jī)軟件,可以創(chuàng)建和管理多個(gè)虛擬機(jī)。在使用VMware虛擬機(jī)時(shí),網(wǎng)絡(luò)設(shè)置非常重要,因?yàn)樗鼪Q定了
    的頭像 發(fā)表于 02-04 11:17 ?2044次閱讀