1.下载IgH EtherCAT Msater 源码:

http://http://www.etherlab.org/download/ethercat/ethercat-1.5.2.tar.bz2  版本为1.5.2

2.编译源码:

(1)解压源码包

tar -xjf ethercat-1.5.2.tar.bz2
cd ethercat-1.5.2/

(2)配置编译:
在运行./configure时要配置选项,我的配置是:

./configure --with-linux-dir=/usr/src/linux-header-3.14.29-29 --enable-8139too=no --enable-wildcards=yes
make
make modules

3. 安装:

make install
make modules_install
make DESTDIR=/vol/nfs/root modules_install</span>

4.配置主站:

安装完成后,会在/opt/目录下生成一个etherlab/文件夹,其中包括库文件什么的。进入这个文件夹:

cd /opt/etherlab

修改配置文件:
vim etc/sysconfig/ethercat

在MASTER0_DEVICE=""填写你的以太网卡的MAC地址,DEVICE_MODULES="generic",保存退出。

在/etc目录下新建一个sysconfig/的文件夹,将修改后的ethercat文件复制到刚刚新建的文件中:

mkdir /etc/sysconfig/
cp etc/sysconfig/ethercat  /etc/sysconfig/
ln -s /opt/etherlab/etc/init.d/ethercat  /etc/init.d/

为了让EtherCAT 主站能开机自启动,将ethercat设置为开机自启动服务。这里我采用的是sysv-rc-conf 工具,先安装sysv-rc-conf:
apt-get install sysv-rc-conf

安装完成后,运行sysv-rc-conf:
sysv-rc-conf

这时会打开一个图形界面,找到ethercat设置为S运行级,按Q退出。
先不要着急启动ethercat,还有关键的一步,运行如下的命令:

depmod

5.启动主站:
/etc/init.d/ethercat start

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

安装完毕。

设置Ether Master开机自启动:

1.通过sysv-rc-conf 来管理

如果没有安装,则通过下面的命令来安装:

apt-get install sysv-rc-conf

直接运行命令:

sysv-rc-conf

启动,然后配置ethercat的运行级。这种方式在x86平台能成功,但是在arm平台没有用。采用第二种方法。

2.用自启动脚本控制命令:update-rc.d

添加ethercat开机自启动:update-rc.d ethercat start 2 3 5 .

此命令是最后空格加一点(.),会在rc3.d,rc5.d生成S02ethercat的链接。

3.invoke-rc.d

invoke-rc.d ethercat stop

invoke-rc.d ethercat start

修改ethercat设备权限:

运行程序时,要打开/dev/EtherCAT0文件需要root权限,为了不每次都手动修改权限,所以要设置。

运行:vim /etc/udev/rules.d/99-ethercat.rules

添加如下的内容:

KERNEL=="EtherCAT[0-9]",MODE="0777"

保存后退出,然后执行udevadm control --reload-rules,重启。

配置库:

vim /etc/ld.so.conf

添加下面的内容,及库文件的绝对路径:

/opt/etherlab/lib

/usr/local/lib

安装过程中可能会出现的问题及解决办法:

1.在Linux环境中安装EtherCAT Master源码时,输入命令:

# make modules_install

出现下面的错误:

/home/ethercat/ethercat-1.5.2/master/ethernet.c: In function ‘ec_eoe_init’:
/home/ethercat/ethercat-1.5.2/master/ethernet.c:151:72: error: macro "alloc_netdev" requires 4 arguments, but only 3 given
if (!(eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name, ether_setup))) {undefined
^
/home/ethercat/ethercat-1.5.2/master/ethernet.c:151:22: error: ‘alloc_netdev’ undeclared (first use in this function)
if (!(eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name, ether_setup))) {undefined

该错误提示函数alloc_netdev少一个参数,这可能是因为Linux内核版本问题,也可能是虚拟机的问题,因为我的Linux是安装在虚拟机里的。

解决办法就是打开错误提示的源文件:ethernet.c,给函数alloc_netdev增加一个参数:

eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name, NET_NAME_UNKNOWN,ether_setup)

2.在ARM平台运行./configure时出现下面的错误:

checking build system type... configure: error: cannot guess build type; you must specify one

这是因为没有指定编译平台,如下这样添加一个配置选项就可以了:

./configure --build=arm-linux

3.ARM平台有时会出现类似:
W: Failed to fetch http://za.archive.ubuntu.com/ubuntu/pool/main/e/eglibc/libc-bin_2.11.1-0ubuntu7.10_i386.deb
  Something wicked happened resolving 'za.archive.ubuntu.com:http' (-5 - No address associated with hostname)
的错误,这是因为DNS有问题,运行vim /etc/resolv.conf  修改如下:
nameserver 8.8.8.8

IgH EtherCAT Master 源码编译安装相关推荐

  1. Linux下IgH EtherCAT Master 源码编译安装

    首先感谢下博主scyhk的文章指导 文章链接 主要说下配置 configure下的目录路径问题: 红框中换成你自己的/usr/src/中的路径,最好先用 uname -a查看下你的内核

  2. 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...

  3. CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境

    什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...

  4. linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0

    为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...

  5. ssh源码编译安装mysql_总结源码编译安装mysql

    最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...

  6. PHP 8.0 源码编译安装 JIT 尝鲜

    女主宣言 今天小编为大家分享一篇最简化的 PHP 8 源码编译安装方法.PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天带领大家快速尝鲜 PHP 8.0 的新特性 JIT.希望能 ...

  7. 源码编译安装php-3.5.8

    源码编译安装php-5.3.8(含php-fpm): 环境:Centos 6.5 [root@localhost php-5.3.8]# ./configure --prefix=/usr/local ...

  8. zabbix源码编译安装以及添加第一台host监控

    基础准备 硬件需求 数据库需求 软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系统 ...

  9. 盘古开天辟地之源码编译安装LAMP

    盘古开天辟地之源码编译安装LAMP Apache简介 Apache起源 源于APatchy Server,著名的开源Web服务软件 1995年时,发布Apache服务程序的1.0版本 由Apache软 ...

最新文章

  1. [UWP小白日记-14]正则表达式
  2. 现代软件工程讲义 11 项目管理 - 事后诸葛亮会议
  3. 并不算复杂的正则表达式基础
  4. D - Counting Stars HDU - 7059
  5. 牛客练习赛46T1-华华教奕奕写几何【数学】
  6. poll函数_I/O复用 - 三组I/O复用函数的比较
  7. Julia中的denominator()函数
  8. setInterval 和setTimeout 清空定时器,返回值,赋值为null的区别
  9. 音频自动增益 与 静音检测 算法 附完整C代码
  10. Socket编程实践(1) --TCP/IP简述
  11. Vue Cli3 项目 vue.config.js 配置
  12. Elasticsearch性能监控(二)
  13. OpenCv之绘图(笔记03)
  14. Block 在不同情况下的变量存储区域
  15. 【网络】为什么我执行了发布操作,但是线上的资源并没有更新?
  16. cs231n学习笔记-激活函数-BN-参数优化
  17. 校验身份证的行政区域代码(包含已撤销区域代码)2021年8月31日更新
  18. 继电器分类及性能对比
  19. 共享单车安卓客户端app设计
  20. tableau无法建立连接_的Tableau错误连接到本地MySQL数据库

热门文章

  1. 新手必知:建设网站的基本步骤_转载
  2. 科大讯飞语音识别技术实(yuan)战(ma)小结
  3. python编写ai电话_用Python编写一个国际象棋AI程序
  4. html中加入js判断,javascript 如何判断字符串中是否有html代码/标签
  5. 记一次为学校流浪猫开发的小程序——航海之猫
  6. 数媒16级技术系同学《互动媒体》课程优秀作品欣赏
  7. 如何构建开放“元宇宙”,你想知道的一切 | SIGGRAPH 2021 研讨会
  8. 加入“信创大军”的易观数科:把主动权留在自己手上
  9. element ui - el-select 添加可输入功能
  10. 地下管线探测仪 光电缆路由探测仪 管线仪 定位仪 探测0-6米 操作简捷 高精度