本文最后更新于 2024年12月7日 晚上
前言
在Igh
Ethercat安装之前,需要让树莓派采用支持实时操作的内核。树莓派打preempt
RT补丁可以参照同分类下另一篇文章。
克隆仓库
1 2 3
| git clone https://gitlab.com/etherlab.org/ethercat.git cd ethercat git checkout stable-1.5
|
配置和编译
1 2 3 4 5
| sudo apt install automake libtool build-essential cd ethercat autoupdate ./bootstrap ./configure --enable-8139too=no --prefix=~/ethercat/etherlab
|
如果提示找不到linux头文件,安装头文件
1
| sudo apt install linux-headers-5.15.0-1015-raspi
|
如果是自己编译的内核,如实时内核,linux头文件需要和内核一致,可将linux源码目录放到家目录或自行指定源码目录
1 2 3 4
| # 开始编译 make all modules sudo make modules_insatll install sudo depmod
|
部署
编译完成后,在etherlab目录下创建modules文件夹,并将复制ethercat/devices/ec_generic.ko和ethercat/master/ec_master.ko 复制到etherlab/modules下
1 2 3
| mkdir -p ~/ethercat/etherlab/modules cp devices/ec_generic.ko etherlab/modules/ cp master/ec_master.ko etherlab/modules/
|
设置软连接
1 2 3 4 5 6 7 8 9 10
| sudo cp -r etherlab/ /opt sudo ln -fs /opt/etherlab/etc/init.d/ethercat /etc/init.d/ sudo ln -fs /opt/etherlab/bin/ethercat /usr/local/bin/ sudo mkdir /etc/sysconfig sudo ln -fs /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/ sudo su sudo echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules exit sudo cp /opt/etherlab/modules/ec_master.ko /lib/modules/<your_version> sudo depmod
|