Preempt-RT实时系统下IGH主站安装

news2024/9/22 7:30:42

文章目录

  • 1. 安装环境
  • 2. 确定网卡类型
  • 3. 下载IGH安装包
  • 4. 配置安装
  • 5. 启动测试
  • 6. 扫描从站
  • 7. 设置环境变量

1. 安装环境

  • ubuntu18.04
  • 内核版本:4.19.72-rt25

2. 确定网卡类型

  • 查看网卡驱动
lspci -v

在这里插入图片描述
可以看到我的网卡驱动主要有e1000e和igb两种类型,其中e1000e对应的规格是I219-V,igb对应的规格是I211,我选择igb作为ethercat的专用网卡驱动。

  • 查看网卡类型
ifconfg

在这里插入图片描述

sudo apt-get install ethtool
ethtool -i eno1
ethtoo -i enp1s0

在这里插入图片描述
eno1:板载网卡,驱动为e1000e
enp1s0:PCI-E独立网卡,驱动为igb

3. 下载IGH安装包

在eterlab官网上下载IGH安装包,master主分支:

cd  Downloads/
git clone http://gitlab.com/etherlab.org/ethercat.git

下载安装包后,依次进入devices-igb文件夹,查看是否有标有4.19的文件,如果有则证明这个安装包可以支持当前内核版本,即IGH安装包决定实时内核版本。博主一开始安装的实时内核版本为4.16.18-rt12,但是IGH安装包里没有4.16的文件,所以没法匹配。
然后,打开igb_main-4.19-ethercat.c文件,ctrl+F查找是否有“I211”关键字,如果有则证明该安装包可以支持我的网卡设备。
满足上述要求后,依次执行以下指令:

4. 配置安装

  • 配置
cd ethercat/
./bootstrap 
./configure --enable-e1000e --enable-igb --enable-8139too=no

如果你要使用专用网卡必须要加上--enable-e1000e或者--enable-igb,否则编译时无法生成相应的模块

  • 编译
sudo make
sudo make modules
sudo make install
sudo make modules_install
  • 配置网卡
  1. 通用网卡
sudo depmod
sudo ln -fs /usr/local/etc/init.d/ethercat /etc/init.d/         #链接启动脚本
sudo mkdir /etc/sysconfig
sudo ln -fs /usr/local/etc/sysconfig/ethercat /etc/sysconfig/   #链接配置文件
sudo -i
echo KERNEL==\"EtherCAT[0-9]*\", MODE=\"0664\" > /etc/udev/rules.d/99-EtherCAT.rules

最新版本已将安装目录/opt/etherlab改为/usr/local

ifconfig     #查询有线网卡的MAC地址
sudo gedit /etc/sysconfig/ethercat
MASTER0_DEVICE=”c4:00:ad:da:2e:9b”            #注:此为ifconfig命令显示的网卡地址,替换为自己的
DEVICE_MODULES=”generic”                      #注:设置网卡为默认generic

建议先配通用网卡,通用网卡测试成功后再修改配置即可

  1. 专用网卡
    在IGH下载包的根目录下执行
sudo cp devices/igb/ec_igb.ko /lib/modules/$(uname -r)/ethercat/devices   #拷贝专用网卡模块,这个.ko模块就是你编译生成的 
sudo gedit /etc/sysconfig/ethercat
MASTER0_DEVICE=”c4:00:ad:da:2e:9c”              #注:此为ifconfig命令显示的专用网卡地址,替换为自己的
DEVICE_MODULES=”igb”                            #注:设置网卡为igb驱动
sudo depmod

5. 启动测试

ethercat   #显示信息
sudo /etc/init.d/ethercat start     #启动
ethercat master  #显示主站状态
sudo /etc/init.d/ethercat stop      #关闭

6. 扫描从站

sudo ethercat slave

7. 设置环境变量

sudo gedit ~/.bashrc
PATH=$PATH:/usr/local/bin

然后执行

source ~/.bashrc

这样就可以在终端使用 EtherCAT 提供的命令行工具了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/447674.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

localhost与本机IP IPtables匹配顺序

localhost&host IPtables iptables链匹配顺序 ping localhost 当前实验网络为IPV4模式通过tcpdump抓包,我们可以发现ping localhost的流量最终发送到lo网卡了通过iptables pkts数据计数我们可知,ping localhost的iptables过滤流程为:应…

npm install 卡住 不动弹

npm install时如果卡住,不动弹,可以试试以下几种方式。 设置注册中心,使用淘宝注册中心。 这种主要解决因为网络问题引起的下载失败,npm config set registry https://registry.npmmirror.com,设置完后使用npm config…

阻止or关闭Win10自动更新

阻止or关闭Win10自动更新 https://baijiahao.baidu.com/s?id1732432888882246429&wfrspider&forpc 一、禁用Windows Update服务 1、同时按下键盘 Win R,打开运行对话框,然后输入命令 services.msc ,点击下方的“确定”打开服务。…

轻松掌握k8s的kubectl使用命令行操作Service知识点02

1、Service将同类型一组应用统一IP访问 将一组 Pods 网络服务的抽象方法。统一Ip后,默认就实现了负载均衡。 1、只在Pod内部任意机器访问的ClusterIp类型 在命令行操作生成一个ClusterIp地址。这种ClusterIp只能在Pod内部访问。 生成了ClusterIp之后&#xff0…

Git的安装和学习使用(一)

本篇文章旨在分享本人在学习Git时的随笔记🤩 文章目录 一、Git 快速入门1.1 Git 概述1.2 SCM概述1.3 Git 安装1.3.1 软件下载1.3.2 软件安装1.3.3 软件测试 二、Git 基础使用2.1 Git 概念2.1.1 版本控制2.1.2 分布式2.1.3 系统2.1.4 区域 2.2 Git 基础指令2.2.1 Lin…

UTC时间、GMT时间、CST时间(北京时间)、时间戳

一、几个时间相关的概念。 GMT时间:Greenwich Mean Time,格林尼治平时,又称格林尼治平均时间或格林尼治标准时间。是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间。 GMT存在较大误差,因此现在已不再被作为标准时间使用。现…

【C++入门学习:基本语法】为了缩短学习周期,只记录部分不懂的语法

文章目录 一、程序结构二、定义变量和声明变量三、变量作用域四、定义常量五、类型限定符号六、存储类七、运算符八、函数九、指针与引用十、C 的基本输入输出十一、“结构成员”和“类变量”引用 一、程序结构 #include <iostream> // C 语言定义了一些头文件&#xff…

[CoderChef复盘] START86 div4 20230419】

[CoderChef复盘] START86 div4 20230419 一、本周周赛总结P1 CodeChef Learn Problem Solving1. 题目描述2. 思路分析3. 代码实现 P2、Cricket Match2. 思路分析3. 代码实现 P3 Chef and Battery1. 题目描述2. 思路分析3. 代码实现 P4 Maximise Score1. 题目描述2. 思路分析3.…

HummerRisk V1.0 :架构升级说明

升级前须知 HummerRisk v1.0.0 版本与 HummerRisk v0.10.0 以及之前版本存在一定的差异。 HummerRisk v1.0.0 增加了一些新功能&#xff0c;也同时删除了一些功能&#xff0c;另外也对部分功能进行了重构和修复。 整体架构 功能原理 工作流程 组件说明 Vue&#xff1a;使用…

windows下为python3.x安装dlib

为任意版本python3.x安装dlib&#xff0c;通过VS2022编译方式安装更合理些, 因为目前pypi也只为windows提供了python3.5和3.6的.whl 1.安装vs2019 or later2.安装cmake3. 下载dlib的源代码(保存到 C&#xff0c;D&#xff0c;E&#xff0c;F盘都可以)4.开始编译5. 编译成果&…

科学计算库——numpy

科学计算库——numpy 一、概述 numpy作为高性能科学计算和数据分析的基础包&#xff0c;它是众多数据分析、机器学习等工具的基础架构&#xff0c;掌握numpy的功能及其用法将有助于后续其他数据分析工具的学习。本章将针对numpy库的基础功能进行详细地讲解。 二、数组对象 …

浅述 国产仪器仪表 4455D 4455E 4455F数字示波器

4455系列数字示波器具有12bit垂直分辨率&#xff0c; 5GSa/s最高采样速率&#xff0c;500Mpts/CH存储深度&#xff0c;模拟带宽500MHz、1GHz、2GHz&#xff0c;为您提供高分辨率信号采集与波形分析体验。4455系列数字示波器具有波形自动设置、波形参数自动测量与统计、光标测量…

银行数字化转型导师坚鹏:商业银行大数据风控建模方法与案例

商业银行大数据风控建模方法与案例 课程背景&#xff1a; 数字化背景下&#xff0c;很多银行存在以下问题&#xff1a; 不清楚商业银行大数据风控建模方法&#xff1f; 不清楚银行大数据风控建模应用案例&#xff1f; 不知道银行大数据风控建模核心内容&#xff1f; 课…

【源码解析】Spring事务 @Transactional 源码解析

源码解析 自动化配置 在spring-boot-autoconfigure查看spring.factories引入TransactionAutoConfiguration org.springframework.boot.autoconfigure.EnableAutoConfiguration\ org.springframework.boot.autoconfigure.transaction.TransactionAutoConfiguration,\查看Tran…

大数据之Spark运行流程

文章目录 前言&#xff08;一&#xff09;Spark On Yarn集群的Client模式运行流程&#xff08;二&#xff09; Spark On Yarn集群的Cluster模式运行流程总结 前言 #博学谷IT学习技术支持# 上篇文章有讨论到Spark On Yarn的两种部署模式&#xff0c;如果有不清楚的地方&#xf…

java ssm高校学术会议论文管理系统

在研究课题--学术会议论文管理系统的实现与设计&#xff0c;对操作使用的便利性&#xff0c;系统的可制定性和安全性以及管理的全面性等多个方面研究。其中主要研究的内容是将学术会议论文管理系统功能划分为: 通知类型、通知信息、部门信息、用户信息用户反馈、会议类型、会议…

JavaScript(JS)-1.JS入门

1.JavaScript概念 (1)JavaScript是一门跨平台&#xff0c;面向对象的脚本语言&#xff0c;来控制网页行为的&#xff0c;它能使网页可交互 (2)W3C标准&#xff1a;网页主要由三部分组成 ①结构&#xff1a;HTML负责网页的基本结构&#xff08;页面元素和内容&#xff09;。 …

4.6 曲线拟合的最小二乘法

4.6.1 最小二乘问题的提法 学习目标&#xff1a; 要学习曲线拟合的最小二乘法&#xff0c;我会按照以下步骤进行&#xff1a; 理解最小二乘法的基本思想和原理&#xff0c;即在已知数据的情况下&#xff0c;通过拟合一条曲线&#xff0c;使得曲线与数据之间的误差最小化。 …

科技创新催生新动能,“云游戏+”打通数字经济任督二脉

配图来自Canva可画 利好政策接连发布&#xff0c;人工智能、云计算等前沿技术席卷各行各业&#xff0c;传统行业网络化、数字化、智能化转型已不可逆&#xff0c;数字经济将迎来大爆发。 国务院发展研究中心市场经济研究所所长王微在中国发展高层论坛2023年年会上表示&#x…

< elementUi组件封装: 通过 el-tag、el-popover、vue动画等实现公告轮播 >

文章目录 &#x1f449; 前言&#x1f449; 一、效果演示&#x1f449; 二、实现思路&#x1f449; 三、实现案例往期内容 &#x1f4a8; &#x1f449; 前言 在 Vue elementUi 开发中&#xff0c;遇到这么一个需求&#xff0c;要实现公告轮播的效果。说实话&#xff0c;一开…