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
Logo

更多推荐