IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 树莓派 IgH EtherCAT主站搭建 -> 正文阅读

[系统运维]树莓派 IgH EtherCAT主站搭建

前言

记录一下如何利用树莓派3B+搭建EtherCAT主站的过程。

目前已有EherCAT主站主要包括:
TwinCAT 3 EtherCATAcontis EtherCATIgHEtherCAT(开源)
SOEM EtherCAT(开源)KPA EtherCATRSW-ECAT Master EtherCAT

其中Acontis EtherCAT主站是在window平台下的,也是目前应用最广泛的,但是收费。在这里我们选择免费开源的IgH_EtherCAT

树莓派实时内核搭建

  • 为了确保以下编译正常,需要在树莓派中提前安装以下软件:
sudo apt install git bc bison flex libssl-dev make
  • 在完成上述软件的安装后,我们还需要下载树莓派实时内核源码(因为Linux本身不具备实时性,不知道这样还要不要打Xenomai实时补丁,懂得小伙伴可以告知一下), 目前github上关于rt-kernel的源码有两个版本rpi-4.14.y-rtrpi-4.19.y-rt。在这里我们选择rpi-4.14.y-rt

  • 下载树莓派实时内核rpi-4.14.y-rt版本。

git clone --depth=1 --branch rpi-4.14.y-rt https://github.com/raspberrypi/linux
  • 在下载完成后会在当前目录生成一个Linux的文件夹,执行以下命令:
cd linux
KERNEL=kernel7
make bcm2709_defconfig
  • 完成后,继续执行以下命令(编译内核需要花费较长的时间,大家耐心等待一波,大概2个小时左右吧,树莓派还挺烫的):
make -j4 zImage modules dtbs
sudo make modules_install
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm/boot/zImage /boot/$KERNEL.img
  • 最后重启,同时查询一下内核版本,
sudo reboot
uname -a
  • 如果不出意外,应该可以得到如下图片,可以看到当前的版本变为了4.14.91-rt49-v7+
    :在这里插入图片描述

igH_EtherCAT主站搭建

  • 下载igH_EtherCAT源码,同时确保当前版本为stable-1.5
git clone https://gitlab.com/etherlab.org/ethercat.git
cd ethercat
git checkout stable-1.5

接下来就是关键啦~
首先在ethercat文件夹下创建 etherlab文件(用于存放编译出来的驱动文件)

cd ethercat/
mkdir etherlab

执行如下命令:

./bootstrap 

在这里插入图片描述
然后执行以下配置命令:

./configure --prefix=/home/pi/ethercat/etherlab --with-linux-dir=/usr/src/linux --enable-8139too=no --enable-generic=yes CC=arm-linux-gnueabihf-gcc --host=arm-linux-gnueabihf

需要注意的是

/home/pi/ethercat/etherlab
/usr/src/linux
分别是存放IgH_EtherCAT编译后的驱动文件和Linux源码的位置,你需要找到你自己的路径。

之前只是完成了一下配置,下面开始编译IgH_EtherCAT源码,编译通过会对应生成ethercat、devices/ec_generic.koethercat/master/ec_master.ko

sudo make -j4
sudo make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- modules
sudo make install

如果编译后出现以下问题:
在这里插入图片描述
则在当前目录下创建touch ~/ethercat/master/soe_errors.c文件即可。

编译完成后,在etherlab目录下创建modules文件夹,并将复制ethercat/devices/ec_generic.koethercat/master/ec_master.ko 复制到etherlab/modules

mkdir -p ~/ethercat/etherlab/modules
cp devices/ec_generic.ko etherlab/modules/
cp master/ec_master.ko etherlab/modules/

最后的结果图如下:在这里插入图片描述

将IgH_EtherCAT布置到树莓派3B+上

sudo cp -r etherlab/ /opt  
sudo ln -fs /opt/etherlab/etc/init.d/ethercat /etc/init.d/
sudo ln -fs /opt/etherlab/bin/ethercat /usr/local/bin/
sudo mkdir /etc/sysconfig
sudo ln -fs /opt/etherlab/etc/sysconfig/ethercat /etc/sysconfig/
sudo su
sudo echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules
exit
sudo cp /opt/etherlab/modules/ec_master.ko /lib/modules/4.14.91-rt49-v7+
depmod
  • 获取树莓派MAC地址
ifconfig

在这里插入图片描述

  • 配置rules,创建设备号
vi /etc/sysconfig/ethercat
MASTER0_DEVICE=”b8:27:eb:7d:26:a2”
DEVICE_MODULES=”generic”
  • 安装通用网卡驱动
insmod /opt/etherlab/modules/ec_generic.ko
  • 开启主站(到这就完成啦~)
  sudo /etc/init.d/ethercat start

在这里插入图片描述

当然我们还可以添加命令行工具,如下:

sudo gedit ~/.bashrc
添加:PATH=$PATH:/opt/etherlab/bin
source ~/.bashrc

最后可以得到如下效果图:
在这里插入图片描述

参考资料

https://blog.csdn.net/longwoo1012/article/details/105824429
https://blog.csdn.net/jueyisan/article/details/101013705
https://blog.csdn.net/weijiancheng999/article/details/106885053
https://www.raspberrypi.com/documentation/computers/linux_kernel.html
  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2021-10-17 12:20:35  更:2021-10-17 12:20:54 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:51:33-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码