IgH EtherCAT Master 源码编译安装
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 源码编译安装相关推荐
- Linux下IgH EtherCAT Master 源码编译安装
首先感谢下博主scyhk的文章指导 文章链接 主要说下配置 configure下的目录路径问题: 红框中换成你自己的/usr/src/中的路径,最好先用 uname -a查看下你的内核
- 如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 本文主要介绍如何在ARM开发板上从源码编译安装OpenCV和OpenCV contrib. OpenC ...
- CentOS 7上源码编译安装和配置LNMP Web+phpMyAdmin服务器环境
什么是LNMP? LNMP(别名LEMP)是指由Linux, Nginx, MySQL/MariaDB, PHP/Perl/Python组合成的动态Web应用程序和服务器,它是一组Web应用程序的基础 ...
- linux下源码安装vim,ubuntu 源码编译安装最新的vim 8.0
为什么要源码编译安装VIM? 因为我要安装ycm,但是ubuntu14.04仓库vim版本低 教程步骤: 1, 核对系统版本 2, 删除系统自带的vim 3, 编译安装vim 4, 检验vim的安装 ...
- ssh源码编译安装mysql_总结源码编译安装mysql
最近在学习源码编译安装LAMP.LNMP时,一直遇到一个难题,就是就是mysql无论怎么源码编译安装,到最后启动服务都提示"Starting MySQL.The server quit wi ...
- PHP 8.0 源码编译安装 JIT 尝鲜
女主宣言 今天小编为大家分享一篇最简化的 PHP 8 源码编译安装方法.PHP 8.0 Alpha 1 已经在2020年6月25号发布了,今天带领大家快速尝鲜 PHP 8.0 的新特性 JIT.希望能 ...
- 源码编译安装php-3.5.8
源码编译安装php-5.3.8(含php-fpm): 环境:Centos 6.5 [root@localhost php-5.3.8]# ./configure --prefix=/usr/local ...
- zabbix源码编译安装以及添加第一台host监控
基础准备 硬件需求 数据库需求 软件需求 其他软件需求 安装 安装方式 source code 编译好的二进制包 rpm或者deb 源码编译安装部署zabbix以及附件 前提准备 最小化安装操作系统 ...
- 盘古开天辟地之源码编译安装LAMP
盘古开天辟地之源码编译安装LAMP Apache简介 Apache起源 源于APatchy Server,著名的开源Web服务软件 1995年时,发布Apache服务程序的1.0版本 由Apache软 ...
最新文章
- [UWP小白日记-14]正则表达式
- 现代软件工程讲义 11 项目管理 - 事后诸葛亮会议
- 并不算复杂的正则表达式基础
- D - Counting Stars HDU - 7059
- 牛客练习赛46T1-华华教奕奕写几何【数学】
- poll函数_I/O复用 - 三组I/O复用函数的比较
- Julia中的denominator()函数
- setInterval 和setTimeout 清空定时器,返回值,赋值为null的区别
- 音频自动增益 与 静音检测 算法 附完整C代码
- Socket编程实践(1) --TCP/IP简述
- Vue Cli3 项目 vue.config.js 配置
- Elasticsearch性能监控(二)
- OpenCv之绘图(笔记03)
- Block 在不同情况下的变量存储区域
- 【网络】为什么我执行了发布操作,但是线上的资源并没有更新?
- cs231n学习笔记-激活函数-BN-参数优化
- 校验身份证的行政区域代码(包含已撤销区域代码)2021年8月31日更新
- 继电器分类及性能对比
- 共享单车安卓客户端app设计
- tableau无法建立连接_的Tableau错误连接到本地MySQL数据库
热门文章
- 新手必知:建设网站的基本步骤_转载
- 科大讯飞语音识别技术实(yuan)战(ma)小结
- python编写ai电话_用Python编写一个国际象棋AI程序
- html中加入js判断,javascript 如何判断字符串中是否有html代码/标签
- 记一次为学校流浪猫开发的小程序——航海之猫
- 数媒16级技术系同学《互动媒体》课程优秀作品欣赏
- 如何构建开放“元宇宙”,你想知道的一切 | SIGGRAPH 2021 研讨会
- 加入“信创大军”的易观数科:把主动权留在自己手上
- element ui - el-select 添加可输入功能
- 地下管线探测仪 光电缆路由探测仪 管线仪 定位仪 探测0-6米 操作简捷 高精度