在树莓派/4.x内核下安装IgH EtherCAT master主站

树莓派安装ethercat主站

环境:4.14.91-rt49-v7
下载源码,解压

$ tar xvf ethercat-1.5.2.tar.bz2
$ cd ethercat-1.5.2
$ ./configure --enable-8139too=no
$ make

有两个警告,但是编译通过,继续执行

$ sudo make modules

出现错误
在这里插入图片描述

$ vi devices/generic.c

找到第152行
dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup);
改为
dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, NET_NAME_UNKNOWN, ether_setup);
保存退出,再次执行

$ sudo make modules

出现错误
在树莓派/4.x内核下安装IgH EtherCAT master主站_第1张图片

$ vi devices/generic.c

找到210行
ret = sock_create_kern(PF_PACKET, SOCK_RAW, htons(ETH_P_ETHERCAT),
&dev->socket);
改为
ret = sock_create_kern(&init_net, PF_PACKET, SOCK_RAW, htons(ETH_P_ETHERCAT),
&dev->socket);
保存退出,继续执行

$ sudo make modules

出现错误
在树莓派/4.x内核下安装IgH EtherCAT master主站_第2张图片

$ vi master/cdev.c

大约在65行
在树莓派/4.x内核下安装IgH EtherCAT master主站_第3张图片
改为
在树莓派/4.x内核下安装IgH EtherCAT master主站_第4张图片
保存退出,继续执行

$ sudo make modules

出现错误
在树莓派/4.x内核下安装IgH EtherCAT master主站_第5张图片

$ vi master/cdev.c

找到259行
改为
在树莓派/4.x内核下安装IgH EtherCAT master主站_第6张图片
找到281行
在这里插入图片描述
vmf->virtual_address
改为
vmf->addess
继续执行

$ sudo make modules

出现错误
在树莓派/4.x内核下安装IgH EtherCAT master主站_第7张图片
把第267行修改为
Ec_cdev_priv_t *priv = (ec_cdev_priv_t *)vmf->vma->vm_private_data;
保存退出,继续执行

$ sudo make modules

出现错误
在树莓派/4.x内核下安装IgH EtherCAT master主站_第8张图片

$ vi master/ethernet.c

找到151行
dev->netdev = alloc_netdev(sizeof(ec_gen_device_t *), &null, ether_setup);
改为
if (!(eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name, NET_NAME_UNKNOWN, ether_setup)))保存退出,再次执行

$ sudo make modules

在树莓派/4.x内核下安装IgH EtherCAT master主站_第9张图片
没有错误,继续往下进行

$ sudo make install
$ sudo make modules install
$ sudo make modules_install
$ sudo make DESTDIR=/vol/nfs/root modules_install
$ sudo mkdir /etc/sysconfig
$ sudo cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/ethercat
$ sudo cp /opt/etherlab/etc/init.d/ethercat /etc/init.d/ethercat
$ sudo cp /etc/init.d/ethercat /usr/bin/ethercat-master
$ sudo cp /opt/etherlab/bin/ethercat /usr/bin/ethercat
$ sudo depmod
$ sudo vi /etc/sysconfig/ethercat(填入MAC地址和网卡类型)

开启主站:

$ sudo /etc/init.d/ethercat start
$  sudo ethercat slave

在树莓派/4.x内核下安装IgH EtherCAT master主站_第10张图片

你可能感兴趣的:(ethercat)