igh-ethercat主站环境搭建记录

首先,本次安装是根据这个教程来的:https://github.com/ART-robot/ethercat_install

个人遇到的问题及解决办法:

1.本次的工作之前基本上都没接触过——编译内核、安装模块、ethercat主站等,所以一开始是在vmware中搭建环境的,选用的是ubuntu14.04.5-LTS发行版,在安装kernel-package(提示要安装1700多兆的依赖)后总会遇到不能使用shutdown和reboot等命令的问题,一旦重启后便会出现:/etc/init no such file or floder的错误,进不去系统,后来换了virtualbox就没出现上面这个问题了,原因暂不详。

2.编译内核时出现“Disable CONFIG_CC_STACKPROTECTOR in your kernel configuration”字样,我们需要在之前的内核配置界面中(我是在general setup中找到的找到"stack_protector buffer overflow detection"选项,将其设为“none”即可(默认可能是regular)<所以这步是要在编译内核之前要先做的,除非你已经遇到了这个问题>

3.编译时出现“undefined reference to 'pnp_bios_callpoint'”字样,google看了好几个帖子,最后在https://www.spinics.net/lists/stable/msg132546.html这个帖子中找到了头绪,且顺利解决了问题:在安装kernel-package工具包时会自动安装gcc5.1和g++工具链,但是这个版本的在编译3.14内核时就会出现上面这个错误,如果直接卸载5.1版本的话,在make xconfig时又会提示缺少东西,又要重新安装kernel-package,我自己的解决办法是:再继续手动安装gcc-4.8和g++-4.8,转到/usr/bin目录下,通过ls命令可以看到目录下有几个链接文件,分别将gcc、gcc-ar、gcc-nm等指向了gcc-5.1版本,所以我们通过gcc -v命令看到的版本应该也是5.1,现在我们要做的就是把这几个链接文件重新指向我们新安装的gcc-4.8文件,通过gcc -v验证是否链接成功,之后编译内核应该就不会再出现这个问题了。

4.在配置内核执行make xconfig命令时提示qt的相关依赖没有安装,当你根据提示去安装相关依赖时会发现又是另一堆依赖,这个问题要靠自己摸索了,我个人的解决方法:根据提示大致得知是一些已安装的软件版本不对以及一些软件还未安装这样的错误,当你去卸载时发现总有其他软件依赖这些项,使用sudo apt-get -f install、apt-get autoclear和autoremove命令可能会帮你解决一些问题。

5.在编译etherlab-code前执行configuare命令时,需要根据自己可能会用到网卡驱动适当做修改,我个人的做法是添加--enable-e1000 --enable-r8169  --with-r8169-kernel=3.14等几个不同网卡驱动的参数,因为这步是要生成ec_master.ko和ec_网卡驱动.ko,所以在不确定情况下,无妨把可能的几个常见的驱动都生成,之后再具体选择。

6.执行make modules_install命令时可能会出现“can`t read private key”字样,网上说不影响,通过insmod手动安装即可。(关于模块:ec_master是必须要安装的,然后再选择一个你当前系统使用的网卡驱动,这样ethercat master主站就可以正常运行啦)

7.一切具备,接上从站,使用igh提供的用户空间命令行工具查看从站(从站正常、可用)信息时,发现从站状态是INIT,flag:E 其他vendor id和product id都为0,换了几个从站(都不是倍福官方模块,有英飞凌IO模块、伺服驱动器等)都是一样,折腾了好久,最后在大佬的提示下,觉得可能是虚拟机桥接网卡有问题(我一直以为已经能扫到从站了,通讯就没问题了。。。),然后找了台空闲电脑装了同样的系统,接上从站,读出来直接是PREOP,还是蛮兴奋的,通过ethercat slaves -v命令看了详细信息,和xml文件中内容对比也一致,应该能推断虚拟机桥接网卡还是有点不靠谱的。

8.ubuntu在装完软件或做了某些系统设置更改后,重启进入系统桌面,一片空白,但是可以通过ctrl+alt+f1~fx进入命令行,解决方法:根据帖子https://blog.csdn.net/maimang1001/article/details/17048273中最后一种方法成功解决(进入系统时提示“your system is running in low-graph mode"的解决方法也是这个!!!)

补充:

1.查看xenomai支持的linux内核版本

    解压下载到的xenomai文件,进入目录,在ksrc-arch-x86[1]-patches下,看到ipipe-core-x-x86-y.patch文件,其中x表示linux内核版本对应的xenomai补丁,即支持打补丁的内核版本。

[1]:若要编译其他架构下xenomai,到相应架构下找到patch补丁文件即可。

个人的总结:

1.可以现在虚拟机里熟悉流程,掌握步骤,然后在真实电脑上安装,一步到位,简单迅速。

2.遇到问题直接google,前几个应该会有能帮助你的信息,百度就算了。。。

注:有时间补点图片

 

你可能感兴趣的:(备忘,linux)