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
1
2
3
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
1
2
3
4
5
6
7
8
9
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/
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
4. 添加指令行工具
sudo vi ~/.bashrc
//添加代碼:PATH=$PATH:/opt/etherlab/bin
sudo source ~/.bashrc
1
2
3
5. 啟動
/etc/init.d/ethercat start
Starting EtherCAT master 1.5.2 done
1
2
如果在/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
————————————————
版權聲明:本文為CSDN部落客「Beliven」的原創文章,遵循 CC 4.0 BY-SA 版權協定,轉載請附上原文出處連結及本聲明。
原文連結:https://blog.csdn.net/Beliven/article/details/80623696