IGH on Beaglebone Black(AM3358) with Xenomai
xenomai是针对特定Linux版本的,因此,我选择了Beaglebone社区的“bone-debian-7.11-lxde-4gb-armhf-2016-06-15-4gb.img”固件,内核版本为3.8.13。1. 烧录固件到EMMC我是用的bbb开发板为rev c中国版,emmc是Kingston的,这也是我选择上面说到的这个固件的原因,你自己尝试就会知道7.11以前的固件...
xenomai是针对特定Linux版本的,因此,我选择了Beaglebone社区的“bone-debian-7.11-lxde-4gb-armhf-2016-06-15-4gb.img”固件,内核版本为3.8.13。
1. 烧录固件到EMMC
我是用的bbb开发板为rev c中国版,emmc是Kingston的,这也是我选择上面说到的这个固件的原因,你自己尝试就会知道7.11以前的固件是烧写不到emmc当中的。
链接为:https://debian.beagleboard.org/images/rcn-ee.net/rootfs/bb.org/release/2016-06-15/lxde-4gb/ ,下载下来之后用“win32DiskImager”将img固件烧录到SD卡当中,之后从SD卡启动,作如下修改:
sudo vi /boot/uEnv.txt
//将'#mdline=init=/opt/scripts/tools/eMMC/init-eMMC-flasher-v3.sh'前面的‘#’删掉
sudo reboot
2. 安装Xenomai
sudo apt-get install linux-image-3.8.13-xenomai-r79 linux-headers-3.8.13-xenomai-r79 linux-firmware-image-3.8.13-xenomai-r79
sudo wget http://git.xenomai.org/xenomai-2.6.git/snapshot/xenomai-2.6-2.6.3.tar.bz2
sudo tar –xjf xenomai-2.6-2.6.3.tar.bz2
cd xenomai-2.6-2.6.3
sudo ./configure
sudo make
sudo make install
sudo reboot
3. 安装IGH
去IGH官网下载1.5.2版本。
//解压
sudo tar -xjf ethercat-1.5.2.tar.bz2
cd ethercat-1.5.2/
//安装
sudo ./configure --with-linux-dir=/usr/src/linux-headers-3.8.13-xenoami-r79 --with-xenomai-dir=/usr/xenomai --enable-8139too=no --enable-wildcards=yes
sudo make
sudo make modules
sudo make install
sudo make modules_install
//配置
cd /opt/etherlab
sudo vi etc/sysconfig/ethercat
//在MASTER0_DEVICE=""填写你的以太网卡的MAC地址(ifconfig命令获取),DEVICE_MODULES="generic",保存退出;
//在/etc目录下新建一个sysconfig文件夹,将修改后的ethercat文件复制到刚刚新建的文件中
sudo mkdir /etc/sysconfig/
sudo cp etc/sysconfig/ethercat /etc/sysconfig/
sudo ln -s /opt/etherlab/etc/init.d/ethercat /etc/init.d/
4. 添加命令行工具
sudo vi ~/.bashrc
//添加代码:PATH=$PATH:/opt/etherlab/bin
sudo source ~/.bashrc
5. 启动
/etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 done
如果在/etc/init.d/ethercat start
时遇到“ethercat master Module ec_master not found.”错误,
不要慌,我也遇到了,是由于modprobe找不到,我之所以会出现这个问题,是因为打了xenomai的补丁,库里既包含了原先的Linux-3.8.13-bone80,又包含了linux-由3.8.13-bone80-r79,好像是叫这么一个名字,大概是这么个意思吧。
可以把ethercat- 1.5.2/devices/ec_genreic.ko和ethercat- 1.5.2/master/ec_master.ko复制到/lib/modules/yourkernelname/目录下,然后执行depmod,就可以modprobe到了。
sudo cp /ethercat-1.5.2/devices/ec_generic.ko /lib/modules/yourkernelname/
sudo cp /ethercat-1.5.2/master/ec_master.ko /lib/modules/yourkernelname/
depmod
更多推荐
所有评论(0)