91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

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

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

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

【技術(shù)分享】RK3588如何搭建xenomai3+ethercat

啟揚(yáng)ARM嵌入式開發(fā) ? 2025-12-11 17:26 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

使用的RK3588的分支版本是linux-6.1-stan-rkr6 內(nèi)核版本是6.1.99 把瑞芯微SDK更新到linux-6.1-stan-rkr6這個(gè)版本即可。

88362788-d673-11f0-8ce9-92fbcf53809c.png


編譯xenomai3的內(nèi)核

請(qǐng)參考上一篇技術(shù)分享:技術(shù)分享 | RK3588如何增加Xenomai3實(shí)時(shí)補(bǔ)丁

修改ethercat

下載源碼:

gitclonehttps://gitlab.com/etherlab.org/ethercat.git
# 使用這個(gè)tags的版本
git checkout 1.6.7 -b kehu

用通用驅(qū)動(dòng)ec_generic.ko雖然也可以,但是1ms周期的抖動(dòng)延時(shí)有20us左右,那就用專用的驅(qū)動(dòng)讓抖動(dòng)延時(shí)更低一些,ethercat的源碼把stmmac的驅(qū)動(dòng)移植下就可以了??梢灾苯邮褂胮reempt_rt的RK已經(jīng)適配過ethercat源碼的stmmac的部分,把devices/stmm/文件夾復(fù)制過來然后./bootstrap把Makefile的文件給配置出來,編譯的時(shí)候要使用--enable-stmmac-pci參數(shù)。

rtdm是實(shí)時(shí)性的接口,也是xenomai的接口,編譯的時(shí)候發(fā)現(xiàn)rtdm是在ec_master里面。

編譯驅(qū)動(dòng)

交叉編譯

SDK_DIR=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/
TOOLS_PATH=$SDK_DIR/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/CROSS_PATH=$TOOLS_PATH/binexportPATH=$TOOLS_PATH:$CROSS_PATH:$PATHexportCROSS_COMPILE=aarch64-none-linux-gnu-exportARCH=arm64KERNEL_SRC=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/kernel/xenomaiinstalldir=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/xenomai/build/usr/xenomai/xenomaidir=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/xenomai/./bootstrap./configure --prefix=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/ethercat/build/ --host=aarch64-none-linux-gnu --enable-kernel --with-linux-dir=${KERNEL_SRC}--enable-8139too=no --enable-stmmac-pci=yes --enable-generic=no --enable-wildcards=yes --enable-rtdm --with-xenomai-dir=${xenomaiinstalldir}mkdir -p buildmake ARCH=arm64 modules# 交叉編譯這個(gè)庫(kù)文件時(shí)一直提示缺少頭文件,我就索性在3588里面編譯exportC_INCLUDE_PATH=${xenomaidir}/include/:$C_INCLUDE_PATHexportC_INCLUDE_PATH=${xenomaiinstalldir}/include:$C_INCLUDE_PATHexportC_INCLUDE_PATH=${xenomaiinstalldir}/include:${xenomaiinstalldir}/include/cobalt/:$C_INCLUDE_PATHexportLIBRARY_PATH=${xenomaiinstalldir}/lib/:$LIBRARY_PATHmake ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- install DESTDIR=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/ethercat_igh/build/# 安裝的時(shí)候有個(gè)systemctl的配置文件需要注意下make install systemdsystemunitdir=(編譯后你需要存放的目錄,和configure命令上的prefix下跟的參數(shù)需要一致)

RK3588本機(jī)編譯

apt install autoconf automake
# 把源碼直接放到根目錄下
./bootstrap
./configure --with-linux-dir=/usr/src/linux-headers-6.1-rockchip --enable-rtdm=yes --disable-8139too --enable-generic --disable-e1000e --disable-igb --enable-kernel --disable-hrtimer --disable-eoe --with-xenomai-dir=/usr/xenomai --prefix=/opt/etherlab --enable-ec_master --enable-ec_slave
make
make modules
make install

本機(jī)編譯的時(shí)候會(huì)把服務(wù)什么的配置好,但是不想用的話,可以重新配置

insmod phylink.ko
insmod pcs_xpcs.ko
# 把網(wǎng)口的MAC地址填上,加載上這個(gè)ko,就會(huì)有/dev/EtherCAT0 節(jié)點(diǎn)。
insmod ec_master.ko main_devices=32b5e3:d5
insmod ec_stmmac.ko

insmod ec_stmmac.ko后的日志:

[ 587.218264] rk_gmac-dwmac fe1b0000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
[ 587.218282] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
[ 606.986538] ec_master: loading out-of-tree module taints kernel.
[ 606.988109] EtherCAT: Master driver 1.6.0-rc1 unknown
[ 606.988309] EtherCAT: 1 master waitingfordevices.
[ 615.636814] ec_generic: EtherCAT master generic Ethernet device module 1.6.0-rc1 unknown
[ 615.636837] EtherCAT: Accepting 32B5E3:D5 as main deviceformaster 0.
[ 615.636854] ec_generic: Binding socket to interface 2 (eth0).
[ 615.643519] EtherCAT 0: Starting EtherCAT-IDLE thread.
[ 615.643688] EtherCAT 0: Link state of ecm0 changed to UP.
[ 615.645179] EtherCAT 0: 3 slave(s) responding on main device.
[ 615.645185] EtherCAT 0: Slave states on main device: INIT.
[ 615.645586] EtherCAT 0: Scanning bus.
[ 615.956631] EtherCAT 0: Bus scanning completedin311 ms.
[ 615.956634] EtherCAT 0: Using slave 0 as DC reference clock.
[ 615.972223] EtherCAT 0: Slave states on main device: PREOP.


配置/etc/init.d:


mkdir /etc/sysconfig
cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/
cp /opt/etherlab/etc/init.d/ethercat /etc/init.d/
# 把模塊放到系統(tǒng)目錄
cp devices/ec_generic.ko /lib/modules/$(uname -r)
cp master/ec_master.ko /lib/modules/(uname -r)
depmod -a
# 配置啟動(dòng)的網(wǎng)口MAC MASTER0_DEVICE=" "
vi /etc/sysconfig/ethercat
# 里面也有驅(qū)動(dòng)類型的配置,配置之后可以自動(dòng)加載ec_stmmac.ko,但是還是手動(dòng)加載吧。
# 啟動(dòng)主站 服務(wù)啟動(dòng)需要modules的依賴文件
/etc/init.d/ethercat start
/etc/init.d/ethercat status
/etc/init.d/ethercat stop
# 實(shí)際上是一個(gè)腳本,啟動(dòng)另一個(gè)腳本,ethercatctl的腳本,這個(gè)腳本實(shí)際上就是配置ethercat這個(gè)二進(jìn)制文件參數(shù)的,通過這個(gè)二進(jìn)制文件寫入網(wǎng)口的MAC地址。


常用的ethercat命令:

# 查看主站狀態(tài)
ethercat status
# 查看從站狀態(tài)
ethercat slaves
# 查看從站的寄存器
ethercat cstruct


實(shí)際測(cè)試

測(cè)試程序:

exportLD_LIBRARY_PATH=/usr/xenomai/lib/:/opt/etherlab/lib/:$LD_LIBRARY_PATH
cd
./a
taskset 0x4 ./a


Ethercat模塊是EL1008,EL2008,網(wǎng)線直連RK3588和ethercat模塊,1ms周期,10us的抖動(dòng)延時(shí)。

如圖所示:


884ad570-d673-11f0-8ce9-92fbcf53809c.jpg
/ 啟揚(yáng)智能自媒體矩陣 /

聲明:本文內(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)投訴
  • ethercat
    +關(guān)注

    關(guān)注

    19

    文章

    1506

    瀏覽量

    45130
  • RK3588
    +關(guān)注

    關(guān)注

    8

    文章

    555

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀

    瑞芯微RK3588開發(fā)板RK3588 EVB和RK3588S EVB解讀 瑞芯微旗艦芯RK3588系列開發(fā)板受到廣大開發(fā)者伙伴的關(guān)注和問詢。針對(duì)相關(guān)的開發(fā)板功能、操作指南等問題,我們一
    的頭像 發(fā)表于 09-22 15:54 ?2.3w次閱讀
    瑞芯微<b class='flag-5'>RK3588</b>開發(fā)板<b class='flag-5'>RK3588</b> EVB和<b class='flag-5'>RK3588</b>S EVB解讀

    迅為RK3588開發(fā)板實(shí)時(shí)系統(tǒng)編譯-Preemption系統(tǒng)/ Xenomai系統(tǒng)編譯-獲取Linux源碼包

    “iTOP-3588 全能板\\\\02_ 【iTOP-RK3588 開發(fā)板】開發(fā)資料\\\\02_iTOP-3588 開發(fā)板搭建好編譯環(huán)境的 Ubuntu20.04 虛擬機(jī)鏡像”路徑
    發(fā)表于 01-09 11:03

    RK3588采集Cameralink圖像快速搭建系統(tǒng)辦法

    : CL-U3,便攜式應(yīng)用。 瑞芯微的RK3588開發(fā)板很多,種類各式各樣。如何快速搭建一套自己的基于RK3588的嵌入式Cameralink圖像采集處理方案呢。下面推薦一下。 快速原
    發(fā)表于 12-19 10:07

    基于 RK3588 debian 搭建 RK3588 Kernel 編譯環(huán)境

    /24"#192.168.31.xxx為RK3588的IP 地址LISTENER=""ZEROCONFIG="false"3、在服務(wù)器端和客戶端啟動(dòng)
    發(fā)表于 03-22 16:28

    RK3588J和RK3588是什么關(guān)系?

    RK3588J是不是一個(gè)開發(fā)板的名字,里面的SOC是RK3588?還是RK3588J屬于RK3588的子系列?
    發(fā)表于 03-13 14:22

    RK3588RK3588S之間的區(qū)別是什么

    RK3588RK3588S的區(qū)別: RK3588S是RK3588的低配版,其區(qū)別類似RK3568跟RK
    發(fā)表于 03-10 19:22 ?3w次閱讀

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI

    RK3588-MIPI屏幕調(diào)試筆記:RK3588-MIPI-DSI
    的頭像 發(fā)表于 06-10 10:31 ?7693次閱讀
    <b class='flag-5'>RK3588</b>-MIPI屏幕調(diào)試筆記:<b class='flag-5'>RK3588</b>-MIPI-DSI

    【LGA封裝RK3588核心板】基于RK3588,小而強(qiáng)大的ArmSom-W3 CORE BOARD

    Armsom-RK3588 LGA Core board 是一款基于Rockchip RK3588芯片平臺(tái),采用LGA(506pin)封裝設(shè)計(jì)的一款極小尺寸的RK3588核心板。
    的頭像 發(fā)表于 07-03 16:08 ?3240次閱讀
    【LGA封裝<b class='flag-5'>RK3588</b>核心板】基于<b class='flag-5'>RK3588</b>,小而強(qiáng)大的ArmSom-W<b class='flag-5'>3</b> CORE BOARD

    rk3588rk3588s的區(qū)別

    rk3588rk3588s的區(qū)別 Rockchip是一家專業(yè)的半導(dǎo)體公司,成立于2001年,總部位于中國(guó)深圳,主要從事集成電路的設(shè)計(jì)、開發(fā)和銷售。他們的熱門產(chǎn)品RK3588RK3588
    的頭像 發(fā)表于 08-15 16:44 ?2.1w次閱讀

    RK35883588s的區(qū)別

    RK35883588s的區(qū)別 Rockchip RK3588RK3588s是兩種功能強(qiáng)大且廣受歡迎的片上系統(tǒng)(SoC)解決方案,用于一系列設(shè)備,包括智能電視、高性能平板電腦、筆記本
    的頭像 發(fā)表于 08-15 17:03 ?2.9w次閱讀

    RK3588系列有多少型號(hào)?

    RK3588系列有多少型號(hào)? RK3588是瑞芯微推出的一款長(zhǎng)線產(chǎn)品,屬于高性能處理器領(lǐng)域的頂尖產(chǎn)品。它從2020年開始進(jìn)入市場(chǎng),現(xiàn)已成為市場(chǎng)上最熱門的處理器之一。該產(chǎn)品因其高效能、強(qiáng)大的計(jì)算能力
    的頭像 發(fā)表于 08-15 17:04 ?6749次閱讀

    迅為電子RK3588S與RK3588硬件性能區(qū)別及板卡選型

    迅為電子RK3588S與RK3588硬件性能區(qū)別及板卡選型
    的頭像 發(fā)表于 06-25 15:30 ?6280次閱讀
    迅為電子<b class='flag-5'>RK3588</b>S與<b class='flag-5'>RK3588</b>硬件性能區(qū)別及板卡選型

    RK3588!黑神話悟空,啟動(dòng)?-迅為電子RK3588開發(fā)板

    RK3588!黑神話悟空,啟動(dòng)?-迅為電子RK3588開發(fā)板
    的頭像 發(fā)表于 08-30 14:13 ?2305次閱讀
    <b class='flag-5'>RK3588</b>!黑神話悟空,啟動(dòng)?-迅為電子<b class='flag-5'>RK3588</b>開發(fā)板

    RK3588參數(shù)與主要特性 RK3588數(shù)據(jù)手冊(cè)解讀

    RK3588參數(shù)與主要特性 RK3588數(shù)據(jù)手冊(cè)解讀
    的頭像 發(fā)表于 05-19 18:34 ?1.3w次閱讀
    <b class='flag-5'>RK3588</b>參數(shù)與主要特性  <b class='flag-5'>RK3588</b>數(shù)據(jù)手冊(cè)解讀

    技術(shù)分享 | RK3588增加Xenomai3實(shí)時(shí)補(bǔ)丁

    Xenomai是一套為嵌入式系統(tǒng)設(shè)計(jì)的實(shí)時(shí)開發(fā)框架,通過“雙內(nèi)核”架構(gòu),讓Linux既能處理復(fù)雜的通用任務(wù),又能可靠地完成那些對(duì)響應(yīng)時(shí)間有極端要求的任務(wù),廣泛用于工業(yè)自動(dòng)化、機(jī)器人、航空航天等對(duì)實(shí)時(shí)性要求極高的場(chǎng)景。本篇文章以啟揚(yáng)RK3588開發(fā)板為例,分享如何增加
    的頭像 發(fā)表于 11-27 17:29 ?1596次閱讀
    <b class='flag-5'>技術(shù)</b>分享 | <b class='flag-5'>RK3588</b>增加<b class='flag-5'>Xenomai3</b>實(shí)時(shí)補(bǔ)丁