EtherCAT IGH 的下载和编译

这篇具有很好参考价值的文章主要介绍了EtherCAT IGH 的下载和编译。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

EtherCAT IGH 的下载和编译

1、源码下载地址说明

EtherCAT 官方下载网站

EtherCAT 官方git下载网站

2、编译前一点小说明:

  • 刚学习的时候,看到很多人说在看 EtherCAT IGH 的文档的时候说 EtherCAT IGH 只支持 2.6 和 3.x 的内核。这句话在 《EtherCAT IGH 1.52.pdf》中的 <1.1 Feature Summary> 提到了这么一句话 Designed as a kernel module for Linux 2.6 / 3.x,但是不知道是不是一直没有更新过来,还是有一些其他的原因,这句话应该是有问题的。经过测试其实是没有这个限制的,我现在在 Ubuntu 22.04, 内核版本为 5.15.0的系统上面都编译安装成功了。

  • 目前(2022.10.18)最新的EtherCAT 版本应该是 v1.5.2 。当内核的版本超过 4.15.x的时候,编译会出错。因为从4.15开始内核timer使用方式更改[1]。这个后面在常见的编译错误中还会提到。

3、编译和安装

其实在下载的源代码中的根目录中有一个文件 INSTALL,这个文件讲的就是如何安装 EtherCAT IGH。

3.1 编译配置

前面的一些操作会因为下载的源代码来源不一样有一些区别。

  • 下载的压缩包
tar -xjf ethercat-1.5.2.tar.bz2
cd ethercat-1.5.2
  • 下载的git repo
cd ethercat
# 这个是用来生成配置文件的
./bootstrap 

后面的操作基本就是一样的了。

注意:这里的配置每个人都可以设置的不一样,而在EtherCAT IGH 也提供了很多的编译选项供用户选择。

./configure --enable-8139too=no 

3.2 安装

make all modules
sudo make modules_install install
sudo depmod

或者

make
make modules
sudo make install
sudo make modules_install
sudo depmod

3.3 配置主站

1、安装完成后,会在/opt/目录下生成一个etherlab/文件夹,让看一下这个文件夹内有些什么,发现包含一些库文件和配置文件等。

@:~$ cd /opt/etherlab/
@:/opt/etherlab$ ls
bin  etc  include  lib  sbin

2、配置网络设备信息


cd /etc
sudo mkdir sysconfig
sudo cp /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig
sudo cp /opt/etherlab/etc/init.d/ethercat /etc/init.d
sudo cp /opt/etherlab/etc/ethercat.conf /etc

使用ifconfig命令获取到网卡的mac地址。

@:~$ ifconfig
enp2s0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 98:23:a6:89:57:de 

从上面的可以看到网卡地址为: 98:23:a6:89:57:de
修改下面这两个文件中的 MASTER0_DEVICE 和 DEVICE_MODULES的数值。

sudo gedit /etc/sysconfig/ethercat
sudo gedit /usr/local/etc/sysconfig/ethercat

修改如下
MASTER0_DEVICE=“98:29:a6:56:57:ce”
DEVICE_MODULES=“generic”

如果是专用的网卡的话,那么DEVICE_MODULES的数值可以是这些值8139too, e100, e1000, e1000e, r8169, generic, ccat, igb。*generic 一般是用来指代通用网卡的。

3、配置用户态库

cd /etc/udev/rules.d
#新建一个ethercat的rule文件
sudo gedit 99-ethercat.rules
  • 向文件中添加下面内容:
    KERNEL==“EtherCAT[0-9]”, MODE=“0777”

下面这个不执行好像也可以

保存后退出,然后执行

sudo udevadm control --reload-rules 

4、配置实时权限

sudo gedit /etc/security/limits.conf
  • 在该文件的最下方按照如下格式添加一行:
    <username> hard rtprio 99

  • 比如说改成这个样子: #username hard rtprio 99

4、运行主站以及添加命令行工具

1、运行主站

@:~$ sudo /etc/init.d/ethercat start
Starting EtherCAT master 1.6.0-rc1  done

如果安装没有问题,会出现下面的提示:
Starting EtherCAT master 1.5.2 done

就说明是安装成功了的。

2、 停止主站

@:~$ sudo /etc/init.d/ethercat stop
Shutting down EtherCAT master 1.6.0-rc1  done

3、添加命令行工具

vim ~/.bashrc

在其中添加如下代码:
PATH=$PATH:/opt/etherlab/bin

然后执行

source ~/.bashrc

最后就可以愉快的使用 EtherCAT 提供的方便的命令行工具了。

5、编译可能遇到的问题

1、下面这个博主写的比较好,记录了一些常见的编译 EtherCAT IGH 会遇到的问题。
linux5.4内核搭建igh主站第二次尝试

2、下面这个博主写的比较好,主要是这个博客的评论里面记录了一些其他人在编译 EtherCAT IGH 会遇到的问题以及博主的解决方法。
Linux下IGH Ethercat Master安装

3、checking for kernal for 8139too driver… configure error

这个是因为8139too网卡在当前kenel下不支持,解决办法:将对应的报错驱动禁用掉就可以了。

./configure --enable-8139too=no 

6、启动主站的时候可能遇到的问题

1、ERROR: could not insert ‘ec_master’: Invalid argument

@:~$ sudo /etc/init.d/ethercat start
Starting EtherCAT master 1.6.0-rc1 modprobe: ERROR: could not insert 'ec_master': Invalid argument failed.

如果没有按照3.3 配置主站 中的2、配置网络设备信息 重新修改这两个文件中的内容,那么在启动主站的时候就会报这个错误。

2、Starting EtherCAT master 1.6.0-rc1 modprobe: FATAL:

@:~$ sudo /etc/init.d/ethercat start
Starting EtherCAT master 1.6.0-rc1 modprobe: FATAL: Module ec_master not found in directory /lib/modules/5.15.0-43-generic
 failed

这个错误应该是在编译之后没有运行 depmod 导致的。在编译的那个文件目录下面运行下面这句话即可。

sudo depmod

3、Starting EtherCAT master 1.5.2 ERROR: modinfo: could not find module ec_e1000 done

如果是报这种问题,一般都是因为 configure的时候有没有加选项–enable-e1000,把这个选项加上去就好了。

7、修改源代码之后如何重新编译

有的时候我们在调试的时候,可能会去修改源代码,增加一些调试信息。那么我们在修改源代码之后如何重新编译呢?

  • 在不修改编译配置的情况下,基本上按照 ### 3.2 安装 的说明重新编译安装即可.
  • 然后按照3.3 配置主站 中的2、配置网络设备信息 重新修改这两个文件中的内容,也可能只要修改其中一个文件即可。

8、参考引用

感谢下面各位大佬的文章。文章来源地址https://www.toymoban.com/news/detail-657674.html

  • [1] 【实操填坑】在树莓派上编译 EtherCAT IgH Master 主站程序

到了这里,关于EtherCAT IGH 的下载和编译的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • IGH(EtherCAT开源主站)移植到beaglebone black(AM3358)开发板上

    本文是在已经打上xenomai补丁的linux-3.8.13-bone86内核源码上进行的,参看使用xenomai与linux内核源码交叉编译,移植到beaglebone black(AM3358)开发板上 igh软件下载地址: IgH EtherCAT Master for Linux (etherlab.org) 将打入xenomai补丁,写入sd卡的系统的sd卡挂载(插入电脑,自动挂载)到ubuntu系统

    2024年02月11日
    浏览(48)
  • ubuntu编译 linphone sdk android源码下载

    2024年02月07日
    浏览(46)
  • Ubuntu18.04编译OpenCV时遇到无法下载ADE的问题

    安装OpenCV过程中编译时出现下载ADE失败的问题 报错如下: 问题出现原因: github访问超时 解决方法: 编译时增加Cmake选项,将下载源更改为GitCode镜像

    2024年02月03日
    浏览(53)
  • vscode 连接ubuntu git下载缓慢

     在ubuntu20.04下载:  挂掉情况  其中 10.10.10.176是我本机的ip地址,7890是我的代理后几位 如何拿到7890: 在网页打开复制就ok。

    2024年02月07日
    浏览(38)
  • Repo下载、编译AOSP源码:基于Ubuntu 21.04,android-12.1.0_r27

    最近准备更新专栏文章,AOSP源码自然也需要进行更新了,但这次不是为最新的android 13, 而是取android 12的最新tag version: android-12.1.0_r27,这应该是市面上的主流版本。 每次更新,自然也会遇到问题,所以就记录一下 另外,这次我们将直接配置本地服务器,而不是通过docker,让

    2023年04月26日
    浏览(47)
  • gRPC下载编译和安装——Linux/Windows

    前记:熬夜踩坑,特记于此,以飨后人。 官方文档可以参考: https://github.com/grpc/grpc/blob/master/BUILDING.md#build-from-source https://grpc.io/docs/languages/cpp/quickstart/ git clone https://github.com/grpc/grpc.git 主要问题是速度慢,可以参考: gRPC编译和安装——Linux版 https://blog.csdn.net/w13l14/article/de

    2024年02月06日
    浏览(42)
  • Linux | Ubuntu配置JDK源码编译环境

    宿主机环境:Windows 11 家庭版 21H2 版本 宿主机操作系统版本:22000.348 虚拟机环境:VMware® Workstation 17 Pro 虚拟机操作系统版本:Ubuntu 22.10 参考:《深入理解Java虚拟机:JVM高级特性与最佳实践(第3版)》 在 Win 11 家庭版中使用 VMware 可能会产生一些兼容性问题,比如蓝屏、无法

    2024年02月03日
    浏览(43)
  • Ubuntu 22.04下以SOEM为EtherCAT主站的驱动电机例子

    这篇文章是笔者的第一篇文章,笔者作为一个机器人从业者,经常要接触到EtherCAT与ROS等相关内容。目前市面上有的开源EtherCAT系统有Igh以及SOEM两种,Igh在多年前已经停止维护,而截至日前SOEM依然维持更新,且SOEM已经集成到ROS生态中,故笔者选择SOEM进行研究。 苦于网上资料

    2024年02月12日
    浏览(69)
  • 【git】pip install git+https://github.com/xxx/xxx替换成本地下载编译安装解决网络超时问题

    目录 🌑🌑 背景  🌒 🌒作用 🌔🌔 问题 🌔🌔解决方案  🌙方法一 🌙方法二 🌝🌝我的解决方案 整理不易,欢迎一键三连!!! 送你们一条美丽的--分割线--         通常在安装某些模型或者模块时,通常最方便的方式就是通过 pip install git+https://github.com/xxx/xxx 的方式

    2024年02月04日
    浏览(44)
  • UE4 Linux交叉编译Clang下载

    必需软件 操作系统 Ubuntu 20.04 (5.0), Ubuntu 22.04 (5.0.2+) 编译器 clang 13.0.1 IDE Visual Studio Code、CLion、QtCreator 推荐开发硬件 处理器 Intel四核处理器或AMD,2.5 GHz或更快 内存 32 GB RAM 显卡 NVIDIA GeForce 960 GTX或更高版本,带最新NVIDIA二进制驱动程序 显存RAM 8 GB或更高 RHI版本 Vulkan:  AMD(

    2024年02月09日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包