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. Colly源码解析——框架
  2. Markdown编辑器“MarkdownPad”下载安装(图)
  3. SAP固定资产的几个关键日期
  4. python列表切片后得到剩余列表_python列表切片和嵌套列表取值操作详解
  5. java多线程总结一:线程的两种创建方式及优劣比较
  6. brew安装指定版本mysql,Mac 系统为 Valet 开发环境安装指定版本 MySQL
  7. 深度学习和神经网络——第二周笔记
  8. 50道编程小题目之【判断是一年的第几天】
  9. 实例--[QSerialPort]串口通信
  10. ie11只能用管理员身份打开解决办法
  11. jquery常用基本用法,让你爱上它!
  12. Mysql-索引优化
  13. java系统过载保护_浅谈过载保护
  14. nc 监听数据_linux包之nc之nc命令
  15. 【暑期每日一题】洛谷 P1192 台阶问题
  16. Java原始数据类型
  17. Linux系统安全加固设置详细教程
  18. 【CKA考试笔记】十三、k8s中的网络
  19. 软考-嵌入式系统设计师:[知识产权与标准化:笔记(七)]
  20. 【error】_smartbi数据集超出最大行数: DataRows > 1000

热门文章

  1. ActiveMQ 配置启动文件介绍
  2. centos6.8搭建LNMP
  3. sugon服务器进装系统,曙光服务器怎么做centos6.5系统步骤
  4. 【转】BOSS系统简介
  5. element ui el-table 表头字体加粗
  6. Omni(USDT)钱包安装(ubuntu)
  7. Cocos Creator 教程:生成二维码
  8. QRCode 扫描二维码、扫描条形码、相册获取图片后识别、生成带 Logo 二维码、支持微博微信 QQ 二维码扫描样式...
  9. 狂欢过后,万众期待的元宇宙怎么样了?
  10. unity 移动改变朝向_移动化改变生活的12种方式