以下是一个在 Linux 系统上部署 IgH EtherCAT 主站的教程,专注于基本安装和配置,暂不考虑实时性能优化(如 RT_PREEMPT 或 Xenomai 补丁)。本教程以 Ubuntu 22.04(Orin Nano)系统为平台,基于 IgH EtherCAT Master stable-1.6 版本,适用于一般的开发或测试环境。
实验平台配置与编译环境
- 操作系统:Ubuntu 22.04(Humble)
- 工具和依赖:
- 编译工具:build-essential
- 内核头文件:linux-headers-$(uname -r)
- Git 和其他依赖
内核版本:
~$ uname -r
5.15.148-tegra
~$ cat /etc/nv_tegra_release
# R36 (release), REVISION: 4.3,
运行以下命令安装必要的依赖:
sudo apt update
sudo apt install -y build-essential linux-headers-$(uname -r) git autoconf automake libtool
Arm64 架构的处理器,linux-headers-$(uname -r)无.deb 包可供直接下载。会出现如下报错信息:
~$ sudo apt install -y linux-headers-$(uname -r)
[sudo] 用户的密码:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树... 完成
正在读取状态信息... 完成
E: 无法定位软件包 linux-headers-5.15.148-tegra
E: 无法按照 glob 'linux-headers-5.15.148-tegra' 找到任何软件包
需要下载源码进行编译安装。方式如下:
NVIDIA 通常在 L4T 发布包中提供内核源代码和头文件。你可以从 NVIDIA 开发者网站下载匹配的 L4T 源代码。
- 确定 L4T 版本:
cat /etc/nv_tegra_release
输出会显示类似 R35 (release), REVISION: 3.1 的信息,记录版本号(如 r35.3)。
- 下载内核源代码:
- 访问 NVIDIA 开发者页面。
- 找到与你的 L4T 版本匹配的源代码包(例如 public_sources.tbz2)。
- 解压并安装头文件:
假设你下载了 public_sources.tbz2,执行以下命令:
tar -xjf public_sources.tbz2
cd Linux_for_Tegra/source
tar -xjf kernel_src.tbz2
cd kernel/kernel-jammy-src
sudo make headers_install ARCH=arm64 INSTALL_HDR_PATH=/usr/src/linux-headers-$(uname -r)


