說明:
使用的RK3588的分支版本是linux-6.1-stan-rkr6 內核版本是6.1.99 ,文件系統是Debian GNU/Linux 12 ,把瑞芯微的SDK更新到linux-6.1-stan-rkr6這個版本即可,適配preemrt的ethercat的源碼是RK已經適配過的,直接拿來使用即可。 RK的SDK的doc也有ethercat相關的文檔。

編譯preemrt的內核
前面要先把preemrt的內核補丁打好,看RK的文檔即可。
編譯ethercat
通用的驅動編譯編譯出來,可以正常使用,說明編譯的環境大致沒問題。 其中編譯步驟,試過兩種,一種是交叉編譯,一種是RK3588直接編譯。
用交叉編譯命令如下:
# ethcat_igh我放到了SDK的根目錄方便編譯
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/bin
exportPATH=$TOOLS_PATH:$CROSS_PATH:$PATH
exportCROSS_COMPILE=aarch64-none-linux-gnu-
exportARCH=arm64
KERNEL_SRC=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/kernel/
./bootstrap
./configure --prefix=/home/yangx/linux2/yangx/RK3588/IAC-RK3588-MB-kernel-6.1/ethercat_igh/build/ --host=aarch64-none-linux-gnu --with-linux-dir=${KERNEL_SRC}--enable-8139too=no --enable-stmmac=yes --enable-generic=no --enable-wildcards=yes
# 編譯驅動
make ARCH=arm64 modules
#編譯應用工具和ethercat庫
make ARCH=arm64
RK3588直接編譯
用U盤把ethercat_igh文件夾,直接拷貝到板子的根目錄編譯,命令如下:
./bootstrap
./configure --with-linux-dir=/usr/src/linux-headers-6.1-rockchip --disable-8139too --enable-generic=no --enable-stmmac=yes --disable-e1000e --enable-kernel --disable-hrtimer --disable-eoe --prefix=/opt/etherlab
make modules
make
make install
兩種方式都能編譯成功。 編譯通用驅動是這個兩個參數--enable-generic=yes --enable-stmmac=no , 實際調試的時候是先加載通用的驅動,使用ethercat的命令都是正常的,然后再重新編譯stmmac的驅動,進行調試。
修改內核
把設備樹的gmac0的compatible修改為snps,dwmac-5.00.a0

板子加載ethercat驅動和使用的步驟
# 把內核源碼編譯的 pcs_xpcs.ko phylink.ko 放到/lib/modules/6.1.99-rt36/文件夾
insmod phylink.ko
insmod pcs_xpcs.ko
# 設置為eth0的MAC地址
insmod ec_master.ko main_devices=32b5e3:d5
insmod ec_stmmac.ko
實際測試的時候:
Ethercat模塊是EL1008,EL2008,網線直連RK3588和ethercat模塊,1ms周期,10us的抖動延時。

-
內核
+關注
關注
4文章
1474瀏覽量
43079 -
編譯
+關注
關注
0文章
696瀏覽量
35246 -
RK3588
+關注
關注
8文章
582瀏覽量
7501
發布評論請先 登錄
瑞芯微RK3588開發板RK3588 EVB和RK3588S EVB解讀
RK3588 PCB推薦疊層及阻抗設計
rk3588和rk3588s的區別
RK3588與3588s的區別
RK3588系列有多少型號?
rk3588參數詳解 rk3588芯片參數
rk3588是armv8嗎?rk3588硬件資料
【技術分享】RK3588如何搭建xenomai3+ethercat
技術分享 | RK3588如何搭建preempt_rt+ethercat
評論