0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式Linux上的以太网TSN简介

星星科技指导员 来源:嵌入式计算设计 作者:Brandon Lewis 2022-11-22 15:05 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

本系列文章深入探讨了新兴的确定性以太网标准,即以太网时间敏感网络(TSN),以及如何在各种基于Linux嵌入式系统上有效实施。我们将使用一系列低成本、现成的开发板硬件,演示如何为我们的用例配置 Raspberry Pi联发科 LinkIt 智能板,然后使用实时数据包技术在设备之间进行通信并控制机器人外设。

首先,需要对底层组件有基本的了解。在本文中,我们从嵌入式Linux开始。

桌面Linux与嵌入式Linux的比较

嵌入式Linux是Linux内核的改编,用于嵌入式系统。嵌入式Linux最流行的例子是Android操作系统

但是,需要大量硬件资源来支持嵌入式 Linux,特别是如果它将部署在本系列后面重点介绍的实时机器对机器 (M2M) 通信、机器人控制或复杂计时应用等用例中。这些资源至少包括支持以太网和其他基本接口的嵌入式硬件平台(板级或片上系统),以及用于容纳操作系统、库、文件系统、应用程序、引导加载程序等的充足 NOR 或 NAND 闪存。

就像普通的Linux一样,嵌入式Linux是开源的,可修改的,用C编写的。也就像桌面Linux或任何其他操作系统一样,嵌入式Linux的作用是从底层处理器,内存和其他硬件组件中抽象用户和应用程序;为各种职能部门分配和交付系统资源;同时管理多个任务和应用程序,依此类推。因此,嵌入式 Linux 系统堆栈看起来就像典型的桌面一样。

尽管如此,如果你现在还没有注意到,嵌入式Linux和传统的桌面Linux之间有许多显着的差异。其中包括直接从闪存而不是硬盘驱动器启动的能力。

下面提供了比较嵌入式和桌面 Linux 之间一些主要差异的图表。

poYBAGN8dOOATulQAAH3NkjbNc4874.png

嵌入式Linux:交叉编译器,库和引导加载程序

由于嵌入式 Linux 是为特定应用程序设计的,因此工程师在开始进行需要开源操作系统的系统设计时,必须使用一些特定的开发工具。以下当然不是详尽的列表,但一个好的起点是使用正确的库、强大的交叉编译器以及与 Linux 内核配对的高效引导加载程序。

交叉编译器

对于不熟悉的人来说,交叉编译器是一种编译器,它执行编写的代码以在编译器所在的计算机以外的其他计算机上运行。例如,在您的 PC 或笔记本电脑上运行的交叉编译器能够生成为嵌入式系统(如 Android 智能手机)编写的代码。

pYYBAGN8dMiAIqwYAACLSn0Iwt8543.png

嵌入式 Linux 系统需要交叉编译器,因为这些设备通常没有在本地编译代码所需的资源,因此必须在其他地方编译代码,然后将其交付给目标。

对于提供大小优化、支持控制处理的特征等功能的交叉编译器,有几个选项。但这里列出了一些最常见的交叉编译器:

构建根

交叉工具-NG

约克托

C 库

C 库在内核和应用程序之间提供了一个接口,因此必须是交叉编译过程的一部分。嵌入式Linux系统中的任何程序,无论是用pythonjava还是其他语言编写的,都必须在运行时调用C库,以便通过Linux内核访问硬件资源。

poYBAGN8dMKARLaZAAEhmV04N7w580.png

以下是一些用于嵌入式 Linux 系统的流行 C 库。

glibc– 标准的 GNU C 库充满了功能,但这是以大量内存占用为代价的。它也没有任何配置选项。

uClibc– “u”表示uClibc是一个微控制器C库,体积小,可用于嵌入式系统。

musl– musl 也很小,在 RAM 和存储量有限的系统中是一个不错的选择。

EGLIBC– EGLIBC与glibc相同,但进行了修改,使其更适合在嵌入式设备中使用,例如支持配置。

特定于应用程序的库

嵌入式 Linux 内核的功能有限,因此需要特定的库。我们当然不能全部列出,但下面列出了一些更受欢迎的。其中一些将在本系列的后面使用。

libgpiod– 如今,标准命令行并不是与 Linux 设备文件交互的唯一方式。libgpiod用于与Linux设备中的GPIO硬件进行交互。

libusb– libusb 是一个 C 库,它为来自单个平台的所有通用 USB 设备提供驱动程序。

套接字– 套接字库连接网络上的节点。

serdisplib– 该库可以驱动多个显示器,如 OLED、USB 显示器或带有内置控制器的显示器。

Pigpio – PigpioLibrary caann 用于控制 Raspberry Pi GPIO。

opc-ua– opc-ua协议是一种适用于时间敏感网络的协议。

锁定开发–锁定和解锁设备

libxls– 此库用于读取和转换 excel 文件。

libstroke– 用于识别鼠标笔划和手势的库。

libserialport– 在编写使用串行端口的软件时抽象出特定于操作系统的详细信息

hidapi– 用于与 USB 和蓝牙 HID 设备通信的库。乙二醇

mjpg_streamer– 用于从一个或多个输入捕获 JPEG 帧并通过 IP 网络流式传输它们

奶酪–奶酪可帮助您使用网络摄像头拍摄视频,照片等。

Elisa–它是一个简单的音乐播放器,因此您可以播放任何音频

引导加载程序

引导加载程序是系统通电后运行的第一个代码,处理基本的硬件初始化,并从嵌入式 Linux 系统中的硬盘驱动器、SD 卡或闪存等可引导设备加载操作系统。一旦引导加载程序为 Linux 内核设置了可执行环境并且内核开始执行,就不再需要引导加载程序。

引导加载程序有各种形状和大小,可以根据用户或系统需求进行定制。事实上,一些嵌入式主板带有引导加载程序。

这里有一些常用的引导加载程序和它们支持的处理器架构。

pYYBAGN8dLuAPy56AAA584nwXP8159.png

这些是各种基于 Linux 的嵌入式系统背后的关键构建块,您可能每天都在使用,甚至可能不知道它们运行 Linux,例如智能电视、无线路由器和网络连接存储设备。

现在这些基础知识已经解决,在第 2 部分中,我们将仔细研究嵌入式硬件目标的来龙去脉,我们将在其上运行嵌入式 Linux,稍后将支持我们的以太网 TSN 堆栈。

审核编辑:郭婷

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20149

    浏览量

    328851
  • Linux
    +关注

    关注

    88

    文章

    11628

    浏览量

    217980
  • 操作系统
    +关注

    关注

    37

    文章

    7328

    浏览量

    128632
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    ProfiNet嵌入式板卡,主流替代可实现ProfiNet工业以太网的应用实例

    ProfiNet嵌入式板卡,主流替代可实现ProfiNet工业以太网的应用实例
    的头像 发表于 12-01 17:11 907次阅读
    ProfiNet<b class='flag-5'>嵌入式</b>板卡,主流替代可实现ProfiNet工业<b class='flag-5'>以太网</b>的应用实例

    车载网络测试技术的进化之路#CAN #车载以太网 #TSN #时间敏感网络

    车载以太网
    北汇信息POLELINK
    发布于 :2025年06月26日 18:12:48

    Linux嵌入式和单片机嵌入式的区别?

    Linux嵌入式与单片机嵌入式在多个方面存在显著的区别,以下是详细的比较和归纳: 一、基本概念 1. Linux嵌入式: 定义:将
    发表于 06-20 09:46

    TSN(时间敏感网络)是什么

    TSN(Time-Sensitive Networking)即时间敏感网络,是IEEE 802.1 TSN工作组开发的一系列数据链路层协议规范的统称,用于指导和开发低延迟、低抖动,并具有传输时间确定性的以太网局域
    的头像 发表于 06-14 15:51 3847次阅读

    工业通信大集结:TSN、PROFINET、EtherCAT交换机集中发布,光路科技展示核心产品

    工博会现场集中展示了多款来自Fiberroad的面向工业自动化与智能制造应用的以太网交换机产品,涵盖TSN交换机、PROFINET交换机、EtherCAT交换机及TSN嵌入式模块,为智
    的头像 发表于 06-09 14:28 1327次阅读
    工业通信大集结:<b class='flag-5'>TSN</b>、PROFINET、EtherCAT交换机集中发布,光路科技展示核心产品

    以太网入门:从零开始,掌握以太网基础知识!

    以太网作为现代通信技术的基石,其重要性不言而喻。无论是日常网络应用,还是AI对高速大带宽网络的需求,以太网都扮演着不可或缺的角色。本文将从零开始,带您了解以太网的基础知识,帮助您快速入门。什么是
    的头像 发表于 06-09 14:00 4117次阅读
    <b class='flag-5'>以太网</b>入门:从零开始,掌握<b class='flag-5'>以太网</b>基础知识!

    双通道CAN转以太网#CAN转以太网#三格电子

    以太网
    三格电子科技
    发布于 :2025年05月12日 13:17:05

    即刻启程,踏上W55MH32高性能以太网单片机学习之路!

    即刻启程,踏上W55MH32高性能以太网单片机学习之路!即刻开启W55MH32学习之旅!本教系列程配套官方手册与W55MH32L开发板,从外设功能框图解析到代码实操,助你掌握高性能以太网单片机的架构和核心原理,轻松驾驭多接口及以太网
    的头像 发表于 05-07 18:51 834次阅读
    即刻启程,踏上W55MH32高性能<b class='flag-5'>以太网</b>单片机学习之路!

    安路科技DR1FPSoC多路以太网扩展方案

    随着物联网、工业4.0及汽车电子等领域的快速发展,对嵌入式系统的网络通信能力提出了更高要求。安路科技,作为国内领先的FPGA及FPSoC解决方案提供商,现推出基于DR1FPSoC系列器件的多路以太网
    的头像 发表于 04-03 09:10 815次阅读
    安路科技DR1FPSoC多路<b class='flag-5'>以太网</b>扩展方案

    集成TSN三端口千兆以太网交换机, 工业以太网通信用MPU RZ/N2L数据手册

    RZ/N2L是一种工业以太网通信用MPU,可轻松将网络功能添加到工业设备中。它搭载支持TSN的三端口千兆以太网交换机和EtherCAT®从控制器,可支持EtherCAT、PROFINET RT
    的头像 发表于 03-13 17:39 1380次阅读
    集成<b class='flag-5'>TSN</b>三端口千兆<b class='flag-5'>以太网</b>交换机, 工业<b class='flag-5'>以太网</b>通信用MPU RZ/N2L数据手册

    使用示波器的汽车以太网物理层调试案例

    何使用示波器识别和调试汽车以太网物理层信号完整性问题。以下是在Inspectron公司进行的汽车以太网调试研究案例,该公司设计并制造内窥镜、嵌入式 Linux 系统和摄像检测工具。
    的头像 发表于 02-19 15:34 1823次阅读
    使用示波器的汽车<b class='flag-5'>以太网</b>物理层调试案例

    【新品】嵌入式核心板、4G手机遥控开关、CAN转以太网协议转换器

    新啦!国产嵌入式核心板4G手机遥控开关CAN-Bus转以太网模组一起来看看吧~部分新品还有免费送样文末了解详情↓↓↓ECK31系列全国产嵌入式核心板亿佰特ECK31-T13SA系列核
    的头像 发表于 01-09 19:33 1147次阅读
    【新品】<b class='flag-5'>嵌入式</b>核心板、4G手机遥控开关、CAN转<b class='flag-5'>以太网</b>协议转换器

    车载以太网自动化测试套件—AETP.TSN

    在车载以太网自动化测试系列套件AETP中,AETP.TSN(Automotive Ethernet Test Package. Time-Sensitive Networking)是专为车载以太网
    的头像 发表于 01-08 09:17 1011次阅读
    车载<b class='flag-5'>以太网</b>自动化测试套件—AETP.<b class='flag-5'>TSN</b>

    嵌入式开发必备-RK3562演示Linux常用系统查询命令()触觉智能出品

    实用干货!嵌入式开发学习必备-RK3562演示Linux常用系统查询命令()关注触觉智能持续为大家带来更多嵌入式开发内容
    的头像 发表于 12-31 10:51 117次阅读
    <b class='flag-5'>嵌入式</b>开发必备-RK3562演示<b class='flag-5'>Linux</b>常用系统查询命令(<b class='flag-5'>上</b>)触觉智能出品

    TSN工业以太网交换机-光路科技FR-TSN系列确定性网络交换机

    以太网
    光路科技
    发布于 :2024年12月19日 13:45:53