• EtherCAT IGH 的编译选项介绍


    EtherCAT IGH 的编译选项介绍

    翻译自 《EtherCAT IGH 1.52.pdf》中的 <9.2 Building the Software> 里面的表 < Table 9.1: Configuration options> 。

    关于表格中 † 的解释

    • † 如果未指定此选项,则从Linux内核源中提取要使用的内核版本。
    序号选项描述默认选项
    1–prefix设置安装文件的存放路径前缀/opt/etherlab
    2–with-linux-dirLinux 内核资源(编译内核的源码目录)。一方面考虑到内核空间相比于用户空间函数的延迟时间短且内核空间可直接操控硬件;另一方面,由于主站大多是周期工作,而内核定时器执行周期工作较为精准[1]。Use runing kernel
    3–with-module-dir内核模块树中的子目录,ethercat 内核模块会被安装在这个文件夹下面ethercat
    4–enable-generic在编译时启用要编译通用的 EtherCAT 网卡驱动程序,兼容更多的通过网卡yes
    5–enable-8139too在编译时启用要编译 8139too 驱动程序,用于使用 8139too 本地网卡进行通信。使能该驱动后EtherCAT将不再调用linux kernel内置的网络驱动,无中断直接操作硬件底层,可以提高通信的实时性yes
    6–with-8139too-kernel指定使用那一个 8139too 的内核版本
    7–enable-e100在编译时启用要编译 e100 驱动程序,用于使用 e100 本地网卡进行通信。使能该驱动后EtherCAT将不再调用linux kernel内置的网络驱动,无中断直接操作硬件底层,可以提高通信的实时性no
    8–with-e100-kernel指定使用那一个 e100 的内核版本
    9–enable-e1000在编译时启用要编译 e1000 驱动程序,用于使用 e1000 本地网卡进行通信。使能该驱动后EtherCAT将不再调用linux kernel内置的网络驱动,无中断直接操作硬件底层,可以提高通信的实时性no
    10–with-e1000-kernel指定使用那一个 e1000 的内核版本
    11–enable-e1000e在编译时启用要编译 e1000e 驱动程序,用于使用 e1000e 本地网卡进行通信。使能该驱动后EtherCAT将不再调用linux kernel内置的网络驱动,无中断直接操作硬件底层,可以提高通信的实时性no
    12–with-e1000e-kernel指定使用那一个 e1000e 的内核版本
    13–enable-r8169在编译时启用要编译 r8169 驱动程序,用于使用 r8169 本地网卡进行通信。使能该驱动后EtherCAT将不再调用linux kernel内置的网络驱动,无中断直接操作硬件底层,可以提高通信的实时性no
    14–with-r8169-kernel指定使用那一个 r8169 的内核版本
    15–enable-ccat在编译时启用要编译 ccat 驱动程序(和内核版本无关)no
    16–enable-igb在编译时启用要编译 igb 驱动程序no
    17–with-igb-kernel指定使用那一个 igb 的内核版本
    18–enable-kernel编译主内核模块yes
    19–enable-rtdm创建 RTDM 接口(需要 RTAI 或者 Xenomai 目录),也就是说需要安装实时内核才可以使用这种选项no
    20–with-rtai-dirRTAI 路径(用以 RTAI 例子和 RTAM 接口)
    21–with-xenomai-dirXenomai 路径(用以 Xenomai 例子和 RTAM 接口)
    22–with-devices冗余操作的以太网设备数量( >1 表示开启冗余)1
    23–enable-debug-if为每一个主机开启调试接口no
    24–enable-debug-ring创建调试环以记录数据帧no
    25–enable-eoe启用 eoe 的支持yes
    26–enable-cycles使用 CPU 时间戳计数器。在 Intel 架构上启用此功能可以获得更精确的时序计算no
    27–enable-hrtimer使用高分辩率计时器使主状态机在发送帧之间休眠no
    28–enable-regalias从寄存器中读取别名地址no
    29–enable-tool构建命令行工具”EtherCAT“yes
    30–enable-userlib建立用户空间库yes
    31–enable-tty编译 tty 驱动no
    32–enable-wildcards启用 0xffffffff 作为供应商ID和产品代码的通配符no
    33–enable-sil-assign在从站配置期间启用分配 SII 访问 PDI 层no
    34–enable-rt-syslog在实时上下文中启用 syslog 语句yes

    内核文件的一点小注释

    • linux-headers-2.6.32-24: Header files related to Linux kernel version 2.6.32
    • linux-headers-2.6.32-24-generic: Linux kernel headers for version 2.6.32 on x86/x86_64
    • linux-headers-2.6.32-24: 与Linux内核版本2.6.32相关的头文件
    • linux-headers-2.6.32-24-generic: x86/x86_64上2.6.32版本的Linux内核头文件

    一些例子

    # 不安装实时补丁的配置
    ./configure --with-linux-dir=/usr/src/linux-headers-5.15.0-43-generic
    
    # 安装 RTAI 内核的配置
    ./configure --with-linux-dir=/usr/src/linux-headers-3.4.9-rtai-686-pae
    
    # 安装 RT 内核的配置
    ./configure --with-linux-dir=/usr/src/linux-headers-4.19.124-rt53
    
    # 安装 Xenomai 内核的配置
    ./configure --with-linux-dir=/usr/src/linux-headers-3.14.44-xenomai-2.6.5
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    感谢下面大佬的文章。

  • 相关阅读:
    如何使用远程桌面软件进行远程工作
    活动预约报名小程序已优化点与待优化点
    postgis ST_CoverageInvalidEdges用法
    Mybatis的优缺点
    PyTorch之张量的相关操作大全 ->(个人学习记录笔记)
    【K8s】初识PV和PVC
    docker 部署 RabbitMQ
    这才是Git的正确学习方式
    Element 2 组件源码剖析之布局容器
    dtcloud 的消息机制(二)
  • 原文地址:https://blog.csdn.net/u014077947/article/details/127417100