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

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

3天內不再提示

如何實現Linux環境和CANoe工具之間的數據交互

Vector維克多 ? 來源:Vector維克多 ? 作者:Vector China ? 2022-11-14 16:52 ? 次閱讀

在汽車軟件的開發周期中,基于POSIX標準的操作系統(如Linux)廣泛應用于AUTOSAR Adaptive平臺的ECU原型開發、算法或功能評估中。

該領域的嵌入式軟件開發人員通常傾向于在運行Linux系統(如Ubuntu/Debian)的虛擬機中進行開發,因為它提供了與嵌入式平臺相似的可訪問的接口和組件。

Vector提供的CANoe軟件是進行網絡/總線和ECU開發、測試和分析的全面工具,支持總線網絡開發從需求分析到系統實現的全過程,包括模型創建、仿真、測試、診斷及通信分析等。

但和大多數網絡開發工具一樣只適用于Windows操作系統,因此開發人員需要考慮如何實現Linux環境和CANoe工具之間的數據交互。

9f96d05c-63f4-11ed-8abf-dac502259ad0.png

圖1:CANoe與被測軟件的虛擬化執行環境

為了滿足用戶多樣化虛擬執行環境的測試需求,除了CANoe以外,Vector還提供了專注于SIL測試的CANoe4SW,可以對軟件組件、軟件子系統以及整個軟件系統進行開發,測試和分析。

以及面向服務器版本的CANoe4SW SE(CANoe4SW Server Edition),支持Linux或Windows服務器環境運行CANoe工程,支持Docker容器化運行。

本文主要介紹CANoe與虛擬機通過以太網交互的幾種常用方法。

01

Shared Networking

共享意味著CANoe和被測應用程序共享主機的TCP/IP協議棧,這種方式在使用WSL(Windows Subsystem for Linux)時最為便捷。WSL有WSL2和WSL1兩個版本,主要區別在于WSL2使用了真實的 Linux 內核、支持完整的系統調用兼容性以及跨 Linux 和 Windows 操作系統的性能。

接下來以WSL2環境為例演示虛擬機與CANoe基于Shared Networking的通信配置過程。在CANoe端需要創建一個UDP通信節點,將其TCP/IP Stack配置為使用操作系統的網絡協議棧,然后通過CAPL函數創建socket通過本地環回地址(127.0.0.1)實現UDP報文的發送和接收;在WSL2端無需特殊配置,可直接通過指令去監聽UDP報文并向CANoe發送UDP數據。通信過程如下圖。

9fb4f4ec-63f4-11ed-8abf-dac502259ad0.png

圖2: CANoe與WSL2通信過程

這種方式配置簡單,但是無法直接在CANoe的Trace窗口中顯示通信數據,并且可能會受到主機上其他應用程序的串擾,另外Windows防火墻也可能會抑制通信流量。

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

02

Virtual Ethernet Link

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

安裝Vector Network Driver

在CANoe的安裝路徑下包含有該驅動的安裝程序(參考路徑:C:Program FilesVector CANoe 16.3.110Installer Additional ComponentsVector Network Driver),以管理員權限安裝即可。

安裝Microsoft環回適配器

在Window搜索欄中輸入“hdwwiz”打開添加硬件配置選項,選擇手動從列表中選擇硬件安裝,在硬件類型中選擇“網絡適配器”,在下一步中廠商選擇“MicroSoft”,型號選擇“Microsoft KM-TEST環回適配器”進行安裝。

安裝完成之后就可以在PC的網絡連接中查看到Microsoft環回適配器了。

9ff6bc7e-63f4-11ed-8abf-dac502259ad0.png

圖3:安裝環回適配器

將Microsoft環回適配器映射到VM

打開VMware Workstation,在編輯菜單下打開虛擬網絡編輯器,選擇VMnet0并將其橋接到Microsoft環回適配器。

a01ad398-63f4-11ed-8abf-dac502259ad0.png

圖4:配置橋接模式

配置CANoe使用Microsoft環回適配器

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

a05c47ec-63f4-11ed-8abf-dac502259ad0.png

圖5:配置使用網卡

所有配置完成之后,來自CANoe中的以太網數據就可以通過映射的以太網鏈路發送到VMware中,同樣VMware中的以太網數據也可以發送給CANoe。

以VMware中Ubuntu環境為例,驗證CANoe與Ubuntu之間的通信鏈路,過程如下圖。

a0791e30-63f4-11ed-8abf-dac502259ad0.png

圖6: CANoe與Ubuntu通信過程

03

TUN/TAP Server

CANoe從15.0版本開始,新增了Virtual Link(TUN/TAP)功能,支持使用TUN/TAP設備驅動程序將VM虛擬的網絡設備連接到CANoe進行仿真。這種模式的通信是雙向的,并且CANoe支持工作在真實總線及仿真總線模式下。

a0d77a34-63f4-11ed-8abf-dac502259ad0.png

圖7: TAP功能示意

主要配置過程如下。

配置TUN/TAP Server

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

a0fe3818-63f4-11ed-8abf-dac502259ad0.png

圖8:TAP server配置

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

a125d54e-63f4-11ed-8abf-dac502259ad0.png

圖9: CenOS7中TAP server配置示例

CANoe中激活Virtual Link

在CANoe中打開Option頁面,激活virtual link并選擇TAP server映射的網絡。

a155be3a-63f4-11ed-8abf-dac502259ad0.png

圖10:CANoe中激活TAP server配置

CANoe中UDP通信配置

在CANoe中創建一個UDP通信節點,配置其TCP/IP stack信息。

a1867160-63f4-11ed-8abf-dac502259ad0.png

圖11:TCP/IP stack配置

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

a1a56e44-63f4-11ed-8abf-dac502259ad0.png

圖12: CANoe與TAP server通信過程






審核編輯:劉清

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

    關注

    9

    文章

    333

    瀏覽量

    21268
  • 虛擬機
    +關注

    關注

    1

    文章

    866

    瀏覽量

    27516
  • CANoe總線
    +關注

    關注

    0

    文章

    4

    瀏覽量

    906

原文標題:CANoe與虛擬機

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

收藏 人收藏

    評論

    相關推薦

    CanoE和TC3x7應用套件之間建立通信,如何實現通過串行通信從CanoE收到的數據幀?

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

    CANoe培訓—— DBC文件擴展功能--交互層#CANoe #DBC

    CANoe
    北匯信息POLELINK
    發布于 :2023年01月13日 15:28:18

    CANoe:網絡和ECU開發、測試和分析的專業工具

    CANoe是網絡和ECU開發、測試和分析的專業工具,支持從需求分析到系統實現的整個系統的開發過程。CANoe豐富的功能和配置選項被OEM和供應商的網絡設計工程師、開發工程師和測試工程師
    發表于 10-09 17:42

    CANoe怎么實現數據采集

    請教一下各位,當CANoe和ECU相連時,ECU會發出很多數據,這些數據變化很快,怎么將發出來的數據采集下來,用什么程序實現,請幫幫忙!
    發表于 03-29 11:35

    使用canoe能回放can通道0的數據嗎(原始數據里的通道是0)?

    使用canoe回放can通道0的數據,在trace中看不到報文,是vector工具不支持can0通道嗎?手動將0更改為1,在trace中可以看到報文信息。
    發表于 09-06 16:47

    如何實現單片機和電腦之間的信息交互

    如何實現單片機和電腦之間的信息交互?怎樣實現單片機串口調試助手發送的數據顯示在數碼管上?
    發表于 09-28 07:13

    基于Linux的RFID交互系統的設計與實現

    為了讓射頻識別的用戶可以根據各自的權限進行相應的操作,本文提出了一款基于Linux的RFID交互系統的設計實現方案。該系統的ID識別模塊通過串口與安裝了Linux系統的計算機進行通信,
    發表于 10-10 14:39 ?67次下載
    基于<b class='flag-5'>Linux</b>的RFID<b class='flag-5'>交互</b>系統的設計與<b class='flag-5'>實現</b>

    怎么樣在Linux和Windows之間共享文件?應該使用什么樣的工具

    用一些來自 Linux 社區的工具,在 Linux 和 Windows 之間共享文件是超容易的。讓我們看看可以做這件事的兩種不同方法。
    的頭像 發表于 07-09 10:57 ?4924次閱讀

    CANOE教程之CANOE的使用手冊免費下載

    本文檔的主要內容詳細介紹的是CANOE教程之CANOE的使用手冊免費下載1 CANoe是進行網絡和ECU開發、測試和分析的全面工具,支持總線網絡開發從需求分析到系統
    發表于 11-07 08:00 ?244次下載
    <b class='flag-5'>CANOE</b>教程之<b class='flag-5'>CANOE</b>的使用手冊免費下載

    如何實現OPC DA Server和MQTT Broker之間數據交互?

    作為工業領域重要的通信協議,OPC DA常用于現場控制系統/設備之間數據交互;作為物聯網協議,MQTT常用于物聯網平臺數據的采集。本文主要介紹如何
    的頭像 發表于 03-23 10:08 ?757次閱讀
    如何<b class='flag-5'>實現</b>OPC DA Server和MQTT Broker<b class='flag-5'>之間</b>的<b class='flag-5'>數據</b><b class='flag-5'>交互</b>?

    CANoe有哪些擴展服務

    CANoe是一款廣泛應用于車輛開發、仿真、測試和分析方面的專業工具,支持需求分析、系統實現、測試驗證的整個過程。在測試領域,CANoe更是因其眾多獨特的特點和優勢被大家廣泛應用。
    的頭像 發表于 06-19 16:22 ?382次閱讀
    <b class='flag-5'>CANoe</b>有哪些擴展服務

    淺談CANoe實現SOA仿真測試

    本文介紹怎么通過我們CANoe工具實現SOA的相關功能。CANoe Communication Setup功能為實現SOA模型的
    的頭像 發表于 08-01 14:17 ?1253次閱讀
    淺談<b class='flag-5'>CANoe</b><b class='flag-5'>實現</b>SOA仿真測試

    CANoe集成解決方案

    本文介紹CANoe集成解決方案,搭配測試管理平臺,實現測試項目的集中管理。用于監控管理CANoe工程,采集、仿真CANoe報文數據等。
    的頭像 發表于 08-04 14:49 ?671次閱讀
    <b class='flag-5'>CANoe</b>集成解決方案

    CANOE工具使用教程

    CANOE可謂是常用的總線測試工具之一,不管是總線開發工程師還是測試工程師,甚至是駐場工程師,都對它很熟悉。 天正好閑來有空,趁此機會,來分享一波CANOE的基本使用操作。其整體的框圖如下所示,詳細
    的頭像 發表于 07-18 10:33 ?2824次閱讀
    <b class='flag-5'>CANOE</b><b class='flag-5'>工具</b>使用教程

    基于Linux的RFID交互系統的設計實現方案

    電子發燒友網站提供《基于Linux的RFID交互系統的設計實現方案.pdf》資料免費下載
    發表于 10-23 10:32 ?0次下載
    基于<b class='flag-5'>Linux</b>的RFID<b class='flag-5'>交互</b>系統的設計<b class='flag-5'>實現</b>方案
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>