当前位置:   article > 正文

IGH(EtherCAT开源主站)移植到beaglebone black(AM3358)开发板上_igh + xenomai 移植

igh + xenomai 移植

本文是在已经打上xenomai补丁的linux-3.8.13-bone86内核源码上进行的,参看使用xenomai与linux内核源码交叉编译,移植到beaglebone black(AM3358)开发板上

igh软件下载地址:

IgH EtherCAT Master for Linux (etherlab.org)

一、准备ethercat-1.5.2源码

将打入xenomai补丁,写入sd卡的系统的sd卡挂载(插入电脑,自动挂载)到ubuntu系统

将编译出的xenomai拷贝到ubuntu系统中

sudo cp -r /media/lemonhack/rootfs/usr/xenomai/ /usr/

下载ethercat源码

wget https://etherlab.org/download/ethercat/ethercat-1.5.2.tar.bz2

 解压ethercat源码

tar -xvf ethercat-1.5.2.tar.bz2

 进入ethercat源码目录,创建输出文件夹,并且赋予相应权限

  1. sudo -i
  2. cd /home/lemonhack/ethercat/ethercat-1.5.2/
  3. mkdir output
  4. chmod 777 output

二、编译IGH 

安装编译igh所需要的依赖

apt-get install autoconf autogen libtool

configure设置

--with-linux-dir:已经交叉编译过的内核源码位置(主机上)

./configure --prefix=/home/lemonhack/ethercat/ethercat-1.5.2/output --with-linux-dir=/home/lemonhack/ethercat/linux-3.8.13-bone86 --enable-rtdm=yes --with-xenomai-dir=/usr/xenomai/ --enable-8139too=no --enable-generic=yes CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf

 这一步如果使用的是普通用户来输入make的话,可能会出现rtdm/rtdm.h,no such file or directory。我的建议是一开始就是用root用户。可能出现这个错误的原因是上一篇文章生成xenomai是使用root用户生成的,所以现在操作也需要使用root用户,不然环境可能不一样。当然,如果大家由准确的答案,请一定要告知我。

make

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules

make install

mkdir output/modules

  1. cp devices/ec_generic.ko output/modules/
  2. cp master/ec_master.ko output/modules/

将输出文件打包 

tar -cjf output.tar.bz2 output/

 复制输出文件到写入系统根文件的sd卡

cp output.tar.bz2 /media/lemonhack/rootfs/home/debian/

三、在beaglebone black开发板上加载模块

将写入系统根文件的sd卡插入beaglebone black开发板的microSD Card槽中,启动beaglebone black开发板,通过mobaxterm的串口进行显示

  1. su
  2. tar -jxvf output.tar.bz2

 复制ec_master.ko到指定位置,当前内核版本的位置,使用uname -r可知

cp output/modules/ec_master.ko /lib/modules/3.8.13-ipipe/

 depmod(depend module)可检测模块的相依性

depmod

复制到相应地方

  1. cp output/etc/init.d/ethercat /etc/init.d/
  2. cp output/bin/ethercat /usr/local/bin/

 复制到相应地方

  1. mkdir /etc/sysconfig
  2. cp output/etc/sysconfig/ethercat /etc/sysconfig/

 配置rules,创建设备号

echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules

获取beaglebone black开发板的MAC地址。MAC地址为f4:b8:98:c8:6a:81

ifconfig

配置主站的MAC地址

modprobe ec_master main_devices=f4:b8:98:c8:6a:81

 启动EtherCAT

/etc/init.d/ethercat start

 安装通用网卡驱动

insmod output/modules/ec_generic.ko

祝你好运! 

四、参考

IgH(Igh EtherCAT Master for Linux)移植到搭载Linux系统的开发板_end_宿命的博客-CSDN博客

 beaglebone(AM335X)安装igh-ethercat_拉松的博客-CSDN博客_am3359移植igh

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/330733
推荐阅读
相关标签
  

闽ICP备14008679号