http://www.kblhh.cn 2025-09-28 14:02 來源:米爾電子
本文將介紹基于米爾電子MYD-LR3576開發板(米爾基于瑞芯微 RK3576開發板)的板端移植EtherCAT Igh方案的開發測試。
米爾基于瑞芯微RK3576開發板
EtherCAT IgH需要保證高實時性,Preempt-RT是一種針對實時性能進行了優化的Linux內核。與普通的Linux內核相比,Preempt-RT具有以下優勢:
Linux Kernel應用補丁的指令格式如下
patch -p1 < path/to/patch-x.y.z
Rockchip SDK中的doc/Real-Time-Performance目錄下有相關的實時內核補丁。
MYD3576使用的內核版本為6.1.75,將文件夾中的Kernel-6.1下的補丁應用到內核配置中。
cd /path/to/kernel-6.1/
patch中存在重定義問題
修改以上幾處的代碼,注釋掉其中和補丁patch添加的代碼中不同的部分,避免編譯過程中報錯。
make -C /path/to/SDK/kernel/ -j9 CROSS_COMPILE=/path/to/SDK/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 rockchip_linux_defconfig rk3576.config rockchip_linux_docker.config rockchip_rt.config
指令中/path/to/SDK為SDK的安裝路徑。
下載EtherCAT IGH的代碼
下載的代碼壓縮包為ethercat-stable-1.6.xxxx,根據壓縮包文件類型,將其解壓得到ethercat igh的源代碼。
參考官方使用手冊《ethercat-doc.pdf》對源代碼進行配置
./configure --prefix=$PWD/output --with-linux-dir=$MYD3576_ENV/kernel-6.1 --enable-generic=yes --host=aarch64-buildroot-linux
命令行中$PWD為當前文件夾,$MYD3576_ENV為米爾SDK的安裝位置,--host參數根據使用的工具鏈的編譯器前綴進行調整。
導入Buildroot工具鏈的環境配置腳本
source $MYD3576_ENV/buildroot/output/rockchip_rk3576/host/environment-setup
將該腳本以系統變量的形式存儲起來,便于導入
export MYD3576_BUILDROOT=$MYD3576_ENV/buildroot/output/rockchip_rk3576/host/environment-setupsource $MYD3576_BUILDROOT
執行以下指令完成代碼、模塊的編譯和輸出
make
make modulessudo
make install
首先安裝編譯結果的ec_generic.ko(位于devices文件夾中)和ec_master.ko(位于master文件夾中)模塊,執行下列指令查看內核的版本信息。
uname -s -r -vLinux 6.1.75-rt16 #1 SMP PREEMPT Mon May 26 20:57:18 CST 2025
在開發板的/lib/modules目錄中創建內核版本文件,用于存放ec_generic.ko和ec_master.ko模塊。
mkdir -p /lib/modules/6.1.75-rt16
output目錄中包含運行可執行的二進制文件、庫文件等,將其發送到開發板上即可。需要傳輸的文件包括以下幾項
/sbin/ethercatctl
/lib/*
/etc/*
/bin/*
修改/sbin/ethercatctl中的指向/bin/ethercat的文件路徑變量。修改/etc/init.d/ethercat中指向/sbin/ethercatctl和/etc/sysconfig/ethercat的文件路徑變量。
修改/etc/ethercat.conf中EtherCAT Master的MAC地址
完成上述配置,執行/etc/init.d/ethercat start
購買鏈接:
米爾基于RK3576開發板: