色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

基于嵌入式Linux 和Docker平臺測試CAN通信

星星科技指導員 ? 來源:eetop ? 作者:toradex ? 2024-02-19 09:39 ? 次閱讀

1).簡介

隨著嵌入式設備的發展,由于部署更靈活應用方便等特性,原本在網絡應用中廣泛使用的docker技術也慢慢在一些嵌入式設備中應用,因此本文就基于嵌入式ARM平臺使用集成docker技術的Liinux系統來測試CAN通信功能。

本文所演示的平臺來自于Toradex Colibri iMX8X ARM嵌入式平臺,這是一個基于NXP iMX8X ARM處理器,支持Cortex-A35和Coretex-M4架構的計算機模塊平臺。

2.準備

a).Colibri iMX8X 2GB WB ITARM核心版配合Colibri Evaluation載板,連接調試串口UART1(載板X27)到開發主機方便調試。

b). Colibri iMX8X通過Toradex Easy Installer安裝包含Docker支持的Torizon Linux操作系統,目前最新的monthly發布TorizonCore 5.1.0-devel-202012+build.6

c).Apalis iMX8QM4GB WB IT ARM核心版配合Ioxra載板,連接調試串口UART1(載板X22)到開發主機方便調試。

d). Apalis iMX8QM同樣通過Toradex Easy Installer安裝標準嵌入式Linux用于CAN接口測試時候對接,系統版本為Linux Reference Multimedia 5.1.0-devel-202012

3).測試系統配置

a). Colibri iMX8X CAN接口對應管腳說明如下,本文測試使用FlexCAN1接口

c3b43493ab6fcd4d5bb2e8a168433638.png

b).測試系統如下硬件連接將Colibri iMX8X CAN1和Apalis iMX8QM CAN0接口進行連接

./ Colibri Eva Board JP4和JP5跳線斷開,將X9連接器SODIMM_55和SODIMM_63管腳分別連接到X38連接器TX和RX插座。

./ Colibri Eva Board X2 Top DB9管腳2和7通過兩端均配置120Ohm終端電阻的連線和Ixora載板X20管腳1和2連接。

c). Colibri iMX8X TorizonCore linux系統默認使能的是Colibri Evaluation Board載板上面的MCP2515 SPI CAN接口,需要通過如下device tree overlay配置修改為iMX8X的兩個FlexCAN接口

./ device tree overlay的基本說明請參考這里,編譯方法請參考這里。

./ overlay源文件請參考如下鏈接

https://gitee.com/simonqin09/colibri_imx8x_flexcan/blob/master/colibri-imx8x_enable_flexcan_overlay.dts

./將上述源文件編譯好的overlay文件(可以從這里下載)根據這里的說明部署到Colibri iMX8X上

4).部署CAN測試Docker image

a).首先參考這里的說明在開發PC上面配置Docker編譯環境

b).在開發PC創建如下Dockerfile用于進行CAN測試

-------------------------------

ARG IMAGE_ARCH=arm64v8

# Use the parameter below for Arm 32 bits (like iMX6 and iMX7)

# ARG IMAGE_ARCH=arm32v7

FROM torizon/$IMAGE_ARCH-debian-shell:1.0

WORKDIR /home/torizon

RUN apt-get -y update && apt-get install -y \

nano \

python3 \

python3-pip \

python3-setuptools \

git \

iproute2 \

can-utils \

net-tools \

vim \

python3-can \

&& apt-get clean && apt-get autoremove && rm -rf /var/lib/apt/lists/*

-------------------------------

c).如下編譯并打包成離線Docker image文件,當然也可以上傳到dockerhub上面通過在線的方式在設備安裝

-------------------------------

$ docker build -t can-test-torizon .

$ docker save -o can-test-torizon.tar can-test-torizon

-------------------------------

e).將上面打包好的docker image復制到Colibri iMX8x設備上面,并安裝并運行

-------------------------------

### load docker image

$ docker load -i can-test-torizon.tar

### check docker image

$ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

can-test-torizon latest 3f1a2122de1c 10 minutes ago 236MB

### run docker image

$ docker run -it --rm --name=can-test-torizon --net=host --cap-add="NET_ADMIN" -v /dev:/dev -v /tmp:/tmp -v /run/udev/:/run/udev/ can-test-torizon

-------------------------------

5). CAN通訊測試

a).在上述Colibri iMX8x啟動的docker image里面使能can1接口

-------------------------------

### set can1 interface up

/home/torizon# ip link set can1 type can bitrate 1000000

/home/torizon# ip link set can1 up

### check can1 interface

/home/torizon# ifconfig can1

can1: flags=193 mtu 16

unspec 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00 txqueuelen 10 (UNSPEC)

RX packets 0 bytes 0 (0.0 B)

RX errors 0 dropped 0 overruns 0 frame 0

TX packets 0 bytes 0 (0.0 B)

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

device interrupt 69

-------------------------------

b).繼續在docker image里面創建如下”can-test.sh”腳本用于間隔50ms連續發送CAN標準包

-------------------------------

#!/bin/bash

for ((i=1; i<=20; i++))

do

cansend can1 01F#1122334455667788

sleep 0.05

done

-------------------------------

c).在Apalis iMX8QM Linux下運行下面命令使能can0接口并準備進行CAN包接收

-------------------------------

root@apalis-imx8:~# ip link set can0 type can bitrate 1000000

root@apalis-imx8:~# ip link set can0 up

root@apalis-imx8:~# candump can0

-------------------------------

d).在colibri imx8x docker內執行上面創建的腳本發送CAN包

-------------------------------

/home/torizon# chmod +x can-test.sh

/home/torizon# ./can-test.sh

-------------------------------

e). Apalis iMX8QM接收到對應的CAN包

-------------------------------

root@apalis-imx8:~# candump can0

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

can0 01F [8] 11 22 33 44 55 66 77 88

-------------------------------

f).將發送和接收互換后測試也同樣結果

-------------------------------

### Apalis iMX8QM發送

root@apalis-imx8:~# ./can-test.sh

### Colibri iMX8x接收

/home/torizon# candump can1

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

can1 01F [8] 11 22 33 44 55 66 77 88

-------------------------------

6).總結

本文使用NXP iMX8X嵌入式平臺配合嵌入式Linux和Docker平臺測試CAN通信,相比原生CAN通信,利用Docker技術可以更靈活的用包管理方式安裝所需的組件,同時在不同平臺遷移也相對更簡單,但需要注意的是在Docker環境下訪問主機外設需要對cgroup權限做正確的設置以保證可以順利加載。

審核編輯:黃飛

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

    關注

    134

    文章

    9107

    瀏覽量

    367999
  • 嵌入式
    +關注

    關注

    5087

    文章

    19145

    瀏覽量

    306135
  • CAN
    CAN
    +關注

    關注

    57

    文章

    2757

    瀏覽量

    463915
  • Linux
    +關注

    關注

    87

    文章

    11320

    瀏覽量

    209849
  • Docker
    +關注

    關注

    0

    文章

    478

    瀏覽量

    11874
收藏 人收藏

    評論

    相關推薦

    工業嵌入式計算平臺開發招聘

    西電移動計算與通信團隊招聘:嵌入式軟件開發(專職或兼職)研究方向:工業嵌入式計算平臺開發。需求人數:1人要求:1、熟悉linux操作系統和
    發表于 10-12 09:32

    嵌入式Linux CAN的相關資料推薦

    文章目錄前言CAN終端測試SocketCANC語言CAN發送示例C語言CAN接收示例微信公眾號前言這是前篇:嵌入式
    發表于 10-27 09:40

    嵌入式Linux network的相關資料分享

    文章目錄前言網絡通信簡介服務器程序客戶端程序運行微信公眾號前言這是前篇:嵌入式Linux i.MX開發板嵌入式Linux NFS
    發表于 11-05 09:29

    嵌入式系統測試教學實訓平臺由哪幾部分組成

    使用手冊等2.2教學實驗箱凱云嵌入式系統測試教學實訓平臺實驗箱由測件板(待測系統)、Andriod顯示板、多功能接口板、串口通信板(RS232)、C
    發表于 12-21 08:09

    嵌入式系統安裝docker的步驟

    系列文章目錄docker 門外初體驗–嵌入式系統安裝docker(九)文章目錄系列文章目錄前言一、設計思路二、操作要點三、驗證四、總結前言嵌入式開發精髓在于軟硬件的結合,如果
    發表于 12-22 06:27

    PXA255上的嵌入式Linux應用平臺說明

    PXA255上的嵌入式Linux應用平臺說明
    發表于 03-28 09:52 ?28次下載

    嵌入式Linux

    嵌入式Linux隨著Linux的迅速發展,嵌入式Linux現在已經有許多的版本,包括強實時的嵌入式
    發表于 06-17 00:36 ?948次閱讀

    嵌入式LINUX開發基礎知識

    嵌入式LINUX簡介,嵌入式LINUX開發平臺簡介,嵌入式L
    發表于 07-31 21:34 ?261次下載

    Linux嵌入式系統與硬件平臺的關系

    Linux嵌入式系統與硬件平臺的關系
    發表于 09-25 15:08 ?10次下載

    嵌入式LinuxCAN接口調試

    CAN(Controller Area Network)總線是嵌入式設備最為常用的接口之一,常用于汽車以及工業自動化等嵌入式領域,因此本文就基于嵌入式
    發表于 04-29 16:40 ?3282次閱讀

    嵌入式Linux CAN

    文章目錄前言CAN終端測試SocketCANC語言CAN發送示例C語言CAN接收示例微信公眾號前言這是前篇:嵌入式
    發表于 10-19 18:33 ?6次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> <b class='flag-5'>CAN</b>

    嵌入式linux和桌面linux的區別

    嵌入式linux和桌面linux的區別主要區別是:1. 硬件平臺嵌入式Linux一般是Mips
    發表于 10-20 15:36 ?4次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>和桌面<b class='flag-5'>linux</b>的區別

    嵌入式linux開發環境搭建(Docker版,基于iTop 4412開發板)

    嵌入式linux開發環境搭建(Docker版,基于iTop 4412開發板)文章目錄嵌入式linux開發環境搭建(
    發表于 11-01 16:57 ?0次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>開發環境搭建(<b class='flag-5'>Docker</b>版,基于iTop 4412開發板)

    嵌入式linux讀寫can收發簡單示例基于socket can

    嵌入式linux讀寫can簡單示例
    發表于 11-01 17:07 ?14次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>讀寫<b class='flag-5'>can</b>收發簡單示例基于socket <b class='flag-5'>can</b>

    嵌入式Linux network

    文章目錄前言網絡通信簡介服務器程序客戶端程序運行微信公眾號前言這是前篇:嵌入式Linux i.MX開發板嵌入式Linux NFS
    發表于 11-02 10:51 ?15次下載
    <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b> network
    主站蜘蛛池模板: 色美妞论坛| 国产视频www| 日日夜夜噜噜| 火影小南被爆羞羞网站| 99久久精品久久久| 亚洲国产成人精品无码区99| 嫩草AV久久伊人妇女| 换脸国产AV一区二区三区| 成人免费在线观看| 67194成在线观看免费| 亚洲成人网导航| 色综合a在线| 欧美激情社区| 看看妇女的B免费看| 寂寞护士中文字幕 mp4| 国产成在线观看免费视频| chinese耄耋70老太性| 中文字幕视频免费在线观看| 亚洲国产成人在线视频| 色欲人妻AAAAAAA无码| 欧美视频精品一区二区三区| 空姐被黑人 苏晓曼| 娇女的呻吟亲女禁忌h16| 国产精品女上位好爽在线短片 | 亚洲午夜精品A片久久不卡蜜桃 | 在线播放性xxx欧美| 亚洲国产成人久久精品影视| 视频在线免费观看| 日韩大胆视频| 日本熟妇多毛XXXXX视频| 欧美午夜精品一区区电影| 免费女人光着全身网站| 麻豆官网md.pub| 久久伊人精品青青草原2021| 久久精品免费看网站| 金瓶梅 快播| 精品亚洲一区二区三区在线播放| 国产一卡2卡3卡4卡孕妇网站| 国产精品亚洲在钱视频| 国产精品亚洲专区在线播放| 国产精品视频免费视频|