1. 从Neardi SDK获取EtherCAT主站源码
git clone http://git.neardi.com/app/linux/rockchip/ethercat_igh
2. 将EtherCAT_IGH源码目录与SDK/kernel平级存放
3. 安装构建依赖
sudo apt update
sudo apt install -y autoconf automake libtool
4. 执行以下命令
export PATH=~/rockchip/rk3588/neardi_3588_linux6.1_next/prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin$:$PATH (配置交叉编译链)
mkdir install
./bootstrap
./configure --prefix=./install(EtherCAT安装目录) --host=aarch64-none-linux-gnu --with-linux-dir=../kernel(内核目录) --enable-8139too=no --enable-stmmac=yes --enable-generic=no --enable-wildcards=yes
make
make ARCH=arm64 CROSS_COMPILE=aarch64-none-linux-gnu- modules -j8
sudo make install
5. 安装成功,在EtherCAT安装目录出现如下文件
├── bin
│ └── ethercat
├── etc
│ ├── ethercat.conf
│ ├── init.d
│ │ └── ethercat
│ └── sysconfig
│ └── ethercat
├── include
│ ├── ecrt.h
│ └── ectty.h
├── lib
│ ├── cmake
│ │ └── ethercat
│ │ └── ethercat-config.cmake
│ ├── libethercat.a
│ ├── libethercat.la
│ ├── libethercat.so -> libethercat.so.1.1.0
│ ├── libethercat.so.1 -> libethercat.so.1.1.0
│ ├── libethercat.so.1.1.0
│ └── pkgconfig
│ └── libethercat.pc
├── sbin
│ └── ethercatctl
└── share
└── bash-completion
└── completions
└── ethercat
在EtherCAT源码目录生成以下文件:master/ec_master.ko
和 devices/stmmac/ec_stmmac.ko
6. 将kernel/driver/net/pcs/pcs_xpcs.c模块化编译生成pcs_xpcs.ko,并拷贝到Neardi LKD3588设备上, 升级设备linux内核
7. 移植pcs_xpcs.ko、ec_stmmac.ko、ec_master.ko、ethercat、libethercat.so*至开发板, 比如/userdata/work/
8. 执行以下命令安装驱动
sudo chmod +x ethercat
sudo insmod pcs_xpcs.ko
sudo insmod ec_master.ko
sudo insmod ec_stmmac.ko main_devices=62:36:B8:01:5B:59(这个是你的网口的物理地址,可以通过ifconfig命令查看)
9. 开发板EtherCAT_IGH主站环境搭建成功
ls /dev/EtherCAT0