IgH(IgH EtherCAT Master for Linux)编译之linux Debian篇
来源:互联网 发布:哪个网络好用 编辑:程序博客网 时间:2024/06/05 02:15
简介
在linux中编译 IgH,命令前面的#代表需要root账户运行,linux的内核需要3.+ , 4.+编译会有问题
准备
下载igh源码
http://www.etherlab.org/download/ethercat/ethercat-1.5.2.tar.bz2编译RT实时内核,这个很重要,编译igh的时候需要编译过的内核源码。
http://blog.csdn.net/x356982611/article/details/77370385
编译
解压后进入源码文件夹ethercat-1.5.2,执行
@./configure --with-linux-dir=内核源码路径 --enable-generic=yes kernelrelease=$(uname -r) --enable-8139too=no@make@make modules#make install#make modules_install
配置
ethercat被安装在了/opt/ethercat ,内核模块安装到了/lib/modules/$(uname -r)/下面
配置动态库路径
vim /etc/ld.so.conf
另起一行添加 /opt/ethercat/lib ,保存后退出 执行
@sudo ldconfig
配置服务
@sudo su root#cd /opt/ethercat#mkdir /etc/sysconfig/#cp etc/sysconfig/ethercat /etc/sysconfig/#ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d/#depmod (将内核模块包含到modules.dep文件中)
配置网卡设置
#vim /etc/sysconfig/ethercat
修改下面两项
MASTER0_DEVICE=”网卡MAC”
DEVICE_MODULES=”generic”
设备权限
# echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules
启动服务
#/etc/init.d/ethercat start
使用
@vim ~/.bashrc其中添加path路径 PATH=$PATH:/opt/etherlab/bin@source ~/.bashrc
这样就可以使用命令ethercat控制从站了
常见问题
下面需要修改源码的问题是4.+版本内核才会遇到的问题 ,试了下没有跑起来,待进一步验证,3.+内核完全没有问题
- 问题一
eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name, ether_setup))改成eoe->dev = alloc_netdev(sizeof(ec_eoe_t *), name,NET_NAME_UNKNOWN, ether_setup)
https://github.com/torvalds/linux/commit/eeb1bd5c40edb0e2fd925c8535e2fdebdbc5cef2#diff-2bc16211fee74778ea281d86b3c5d31e 函数在这次提交中被修改了参数
- 问题二
ret = sock_create_kern(PF_PACKET, SOCK_RAW, htons(ETH_P_ETHERCAT), 改成 ret = sock_create_kern(&init_net,PF_PACKET, SOCK_RAW, htons(ETH_P_ETHERCAT),
- 问题三 如果在编译模块时候找不到内核头文件(已经安装),指定路径
./configure --with-linux-dir=/usr/src/linux-header-*
- 问题四 version magic ‘* SMP mod_unload ’ should be ‘* SMP mod_unload ’
这是因为内核版本和编译时候的内核源码版本不一致导致的
引用
http://www.etherlab.org/en/ethercat/
http://blog.csdn.net/xkzju2010/article/details/51066084
- IgH(IgH EtherCAT Master for Linux)编译之linux Debian篇
- IgH EtherCAT Master 源码编译安装
- IgH EtherCAT Master 源码编译安装
- 1 IgH EtherCAT 主站
- Igh Etherlab-master安装
- iGH EtherCAT初始化流程分析(一)
- iGH EtherCAT初始化流程分析(二)
- iGH EtherCAT初始化流程分析(三)
- iGH EtherCAT初始化流程分析(四)
- 在Linux上安装IgH遇到内核问题的解决方法
- IgH Master 1.5.2 Documentation 中文版
- 香蕉派和树霉派上安装ethercat主站IgH
- 开源Ethercat主站 SOEM和IgH的比较
- IGH PE
- 编译SOEM(Simle Open EtherCAT Master)-windows篇
- linux内核编译(debian)
- 关于Igh-EthercatMaster DC时钟的同步方式和性能
- 给linux移植Ethercat笔记
- github如何将已有的项目转移到组织仓库中去
- mysql使用汇总
- (笔记)Android使用ToolBar
- rtmpdump 能用RTMP_SendPacket发送一帧数据包吗?
- JDBC 批量存入数据库
- IgH(IgH EtherCAT Master for Linux)编译之linux Debian篇
- java生成excel存放到web-inf
- Android 通过反射获取系统组件的私有变量,并做更改
- NP课后习题8.3
- Javascript 自动在每N个字符后面加-
- java组合模式
- 归一化(Normalization)与标准化(Standardization)
- 自动化部署流程设计
- 安装ipython,输出Hello World