首页 > 代码库 > Beaglebone Black中安装EtherCAT主站IGH方法
Beaglebone Black中安装EtherCAT主站IGH方法
首先,BBB中emmc中自带的是Debian8.3的系统,内核版本为4.1.15,但是IGH要求内核版本需要是2.x或者3.x;因此需要考虑更换内核或者刷低版本的系统。
本人在狗东入了一张Class10 16G的TF卡,因为要用来做系统,所以速度一定要快。在BBB的官网(http://beagleboard.org/latest-images)下载了Debian 7.8 (BeagleBone, BeagleBone Black - 4GB SD) 2015-03-01,内核版本没有说明,因此直接用“win32diskimager”工具将下载的压缩包解压得到的镜像文件写入TF卡。
写入完成之后,插入BBB,按住“boot”按钮,也就是离SD卡槽很近的“S2”按钮,上电,待4个LED灯都亮了之后松开,等待一会儿就启动完成。
关于使用USB联机的方法请看本人另一篇博文《Beaglebone Black USB联机》,uname -a查看内核版本为3.18.12,满足IGH的环境要求。
接下来参照本人的另一博文《IGH EtherCAT Master Linux 编译教程》,在BBB上安装IGH。过程中可能会遇到一下问题:
在configure时会出现错误提示:configure: error: Failed to find Linux sources. Use --with-linux-dir!
也就是没有安装Linux 头文件,查看内核版本:
debian@beaglebone:~/Desktop/ethercat-1.5.2$ uname -a Linux beaglebone 3.8.13-bone70 #1 SMP Fri Jan 23 02:15:42 UTC 2015 armv7l GNU/Linux
安装头文件:
debian@beaglebone:~/Desktop/ethercat-1.5.2$ apt-get install linux-headers-$(uname -r) E: Could not open lock file /var/lib/dpkg/lock - open (13: Permission denied) E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
提示非管理员账户,切换到管理员账户(因为是新装系统,没有设管理员账户密码,更改):
debian@beaglebone:~/Desktop/ethercat-1.5.2$ sudo passwd root Enter new UNIX password: Retype new UNIX password: passwd: password updated successfully
再次安装头文件:
debian@beaglebone:~/Desktop/ethercat-1.5.2$ su root Password: root@beaglebone:/home/debian/Desktop/ethercat-1.5.2# apt-get install linux-headers-$(uname -r)
错误提示:
E: Unable to locate package linux-headers-3.8.13-bone70 E: Couldn‘t find any package by regex ‘linux-headers-3.8.13-bone70‘
更新源之后就可以安装了:
root@beaglebone:/home/debian/Desktop/ethercat-1.5.2# sudo apt-get update root@beaglebone:/home/debian/Desktop/ethercat-1.5.2# apt-get install linux-headers-$(uname -r)
现在就可以继续编译IGH源文件了。
不得不说,BBB的配置还是蛮低的,单核的A8核心运算能力非常慢,整个过程还是挺漫长的。
在编辑ethercat文件这一步又遇到问题了,如下:
root@beaglebone:/opt/etherlab# usr/bin/vim etc/sysconfig/ethercat bash: usr/bin/vim etc/sysconfig/ethercat: No such file or directory
这个问题很让我头疼,咨询了师兄让我尝试把这个文件复制到其他目录(譬如桌面)之后在用vim编辑试试,果然可以。我也不知道为什么,反正我就是这样做的。
然后mkdir也遇到了这样的问题,我发现直接进入需要操作的目录再进行操作就没有问题了。
Beaglebone Black中安装EtherCAT主站IGH方法