99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

嵌入式Linux上的以太網(wǎng)TSN簡(jiǎn)介

星星科技指導(dǎo)員 ? 來(lái)源:嵌入式計(jì)算設(shè)計(jì) ? 作者:Brandon Lewis ? 2022-06-27 11:56 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本系列文章深入探討了新興的確定性以太網(wǎng)標(biāo)準(zhǔn)以太網(wǎng)時(shí)間敏感網(wǎng)絡(luò) (TSN),以及如何在各種基于 Linux嵌入式系統(tǒng)上有效地實(shí)現(xiàn)它。我們將使用一系列低成本、現(xiàn)成的開發(fā)板硬件,演示如何為我們的用例配置 Raspberry Pi聯(lián)發(fā)科 LinkIt 智能板,然后使用實(shí)時(shí)數(shù)據(jù)包技術(shù)在設(shè)備之間進(jìn)行通信,并控制機(jī)器人外圍設(shè)備。

首先,需要對(duì)底層組件有基本的了解。在本文中,我們從嵌入式 Linux 開始。

桌面 Linux 與嵌入式 Linux

嵌入式 Linux 是 Linux 內(nèi)核的改編版,用于嵌入式系統(tǒng)。嵌入式 Linux 最流行的例子是 Android 操作系統(tǒng)。

但是,需要大量硬件資源來(lái)支持嵌入式 Linux,特別是如果它將部署在實(shí)時(shí)機(jī)器對(duì)機(jī)器 (M2M) 通信、機(jī)器人控制或本系列后面重點(diǎn)介紹的復(fù)雜計(jì)時(shí)應(yīng)用等用例中. 這些資源至少包括支持以太網(wǎng)和其他基本接口的嵌入式硬件平臺(tái)(板或片上系統(tǒng)),以及用于容納操作系統(tǒng)、庫(kù)、文件系統(tǒng)、應(yīng)用程序、引導(dǎo)加載程序、等等

就像普通的 Linux 一樣,嵌入式 Linux 是開源的、可修改的,并且是用 C 語(yǔ)言編寫的。同樣就像桌面 Linux 或任何其他操作系統(tǒng)一樣,嵌入式 Linux 的作用是將用戶和應(yīng)用程序從底層處理器中抽象出來(lái),內(nèi)存和其他硬件組件;為各種功能分配和交付系統(tǒng)資源;同時(shí)管理多個(gè)任務(wù)和應(yīng)用程序,等等。因此,嵌入式 Linux 系統(tǒng)堆??雌饋?lái)就像您的典型桌面。

盡管如此,如果您現(xiàn)在還沒(méi)有注意到,嵌入式 Linux 和傳統(tǒng)桌面 Linux 之間存在許多顯著差異。其中包括直接從閃存而不是硬盤驅(qū)動(dòng)器啟動(dòng)的能力。

下面提供了一個(gè)比較嵌入式和桌面 Linux 之間一些主要差異的圖表。

pYYBAGK5KoqAWPfzAALzjnCxN-I165.png

嵌入式 Linux:交叉編譯器、庫(kù)和引導(dǎo)加載程序

由于嵌入式 Linux 是為特定應(yīng)用程序設(shè)計(jì)的,因此工程師在開始需要開源操作系統(tǒng)的系統(tǒng)設(shè)計(jì)時(shí)必須使用一些特定的開發(fā)工具。下面當(dāng)然不是一個(gè)詳盡的列表,但一個(gè)很好的起點(diǎn)是使用正確的庫(kù)、強(qiáng)大的交叉編譯器和與 Linux 內(nèi)核配對(duì)的高效引導(dǎo)加載程序。

交叉編譯器

對(duì)于不熟悉的人,交叉編譯器是一種編譯器,它執(zhí)行編寫的代碼以在編譯器所在的機(jī)器之外的其他機(jī)器上運(yùn)行。例如,在您的 PC 或筆記本電腦上運(yùn)行的交叉編譯器能夠生成為嵌入式系統(tǒng)(如 Android 智能手機(jī))編寫的代碼。

poYBAGK5KoOAEIj2AABhUkULLxM649.png

嵌入式 Linux 系統(tǒng)需要交叉編譯器,因?yàn)檫@些設(shè)備通常沒(méi)有本地編譯代碼所需的資源,因此必須在其他地方編譯代碼然后交付給目標(biāo)。

當(dāng)涉及到提供諸如大小優(yōu)化、支持控制處理的特性等特性的交叉編譯器時(shí),有幾個(gè)選項(xiàng)。但是這里列出了一些最常見(jiàn)的交叉編譯器:

構(gòu)建根

Crosstool-NG

約克托

C 庫(kù)

C 庫(kù)提供內(nèi)核和應(yīng)用程序之間的接口,因此必須是交叉編譯過(guò)程的一部分。嵌入式 Linux 系統(tǒng)中的任何程序,無(wú)論是用 pythonjava 還是其他語(yǔ)言編寫的,都必須在運(yùn)行時(shí)調(diào)用 C 庫(kù),以便通過(guò) Linux 內(nèi)核訪問(wèn)硬件資源。

pYYBAGK5KnyAUOx6AADC_0NNnn0815.png

以下是一些用于嵌入式 Linux 系統(tǒng)的流行 C 庫(kù)。

glibc – 標(biāo)準(zhǔn)的 GNU C 庫(kù)功能豐富,但以占用大量?jī)?nèi)存為代價(jià)。它也沒(méi)有任何配置選項(xiàng)。

uClibc – “u”表示 uClibc 是一個(gè)用于嵌入式系統(tǒng)的小型微控制器 C 庫(kù)。

musl – musl 也很小,在 RAM 和存儲(chǔ)空間有限的系統(tǒng)中是一個(gè)不錯(cuò)的選擇。

eglibc – eglibc 與 glibc 相同,但經(jīng)過(guò)修改使其更適合在嵌入式設(shè)備中使用,例如支持配置。

特定應(yīng)用程序庫(kù)

嵌入式 Linux 內(nèi)核的功能有限,因此需要特定的庫(kù)。我們當(dāng)然不能全部列出,但下面列出了一些更受歡迎的。其中一些將在本系列的后面部分使用。

libgpiod——標(biāo)準(zhǔn)命令行并不是當(dāng)今與 Linux 設(shè)備文件交互的唯一方式。libgpiod 用于與 Linux 設(shè)備中的 GPIO 硬件進(jìn)行交互。

libusb ——libusb 是一個(gè) C 庫(kù),它為來(lái)自單一平臺(tái)的所有通用 USB 設(shè)備提供驅(qū)動(dòng)程序。

套接字——套接字庫(kù)連接網(wǎng)絡(luò)上的節(jié)點(diǎn)。

serdisplib – 這個(gè)庫(kù)可以驅(qū)動(dòng)多個(gè)顯示器,如 OLED、USB 顯示器或帶有內(nèi)置控制器的顯示器。

Pigpio – Pigpio 庫(kù)可用于控制 Raspberry Pi GPIO。

opc-ua – opc-ua 協(xié)議是一種適用于時(shí)間敏感網(wǎng)絡(luò)的協(xié)議。

lockdev - 鎖定和解鎖設(shè)備

libxls - 該庫(kù)用于讀取和轉(zhuǎn)換 excel 文件。

libstroke – 用于識(shí)別鼠標(biāo)筆劃和手勢(shì)的庫(kù)。

libserialport – 在編寫使用串行端口的軟件時(shí)提取特定于操作系統(tǒng)的詳細(xì)信息

hidapi – 用于與 USB 和藍(lán)牙 HID 設(shè)備通信的庫(kù)。血紅蛋白

mjpg_streamer – 用于從一個(gè)或多個(gè)輸入中捕獲 JPEG 幀并通過(guò) IP 網(wǎng)絡(luò)流式傳輸它們

奶酪– 奶酪可以幫助您使用網(wǎng)絡(luò)攝像頭拍攝視頻、照片等。

Elisa – 這是一個(gè)簡(jiǎn)單的音樂(lè)播放器,因此您可以播放任何音頻。

引導(dǎo)加載程序

引導(dǎo)加載程序是系統(tǒng)上電后運(yùn)行的第一個(gè)代碼,它處理基本的硬件初始化,并從嵌入式 Linux 系統(tǒng)中的硬盤驅(qū)動(dòng)器或 SD 卡或閃存等可引導(dǎo)設(shè)備加載操作系統(tǒng)。一旦引導(dǎo)加載程序?yàn)?Linux 內(nèi)核設(shè)置了可執(zhí)行環(huán)境并且內(nèi)核開始執(zhí)行,就不再需要引導(dǎo)加載程序。

引導(dǎo)加載程序有各種形狀和大小,可以根據(jù)用戶或系統(tǒng)需要進(jìn)行定制。事實(shí)上,一些嵌入式電路板帶有引導(dǎo)加載程序。

這里有一些常用的引導(dǎo)加載程序和它們支持的處理器架構(gòu)。

這些是您可能每天都在使用的各種基于 Linux 的嵌入式系統(tǒng)背后的關(guān)鍵構(gòu)建塊,甚至可能不知道它們運(yùn)行 Linux,例如智能電視、無(wú)線路由器和網(wǎng)絡(luò)附加存儲(chǔ)設(shè)備。

既然這些基礎(chǔ)知識(shí)已經(jīng)解決,在第 2 部分中,我們將仔細(xì)研究嵌入式硬件目標(biāo)的來(lái)龍去脈,我們將在其上運(yùn)行嵌入式 Linux,稍后將支持我們的以太網(wǎng) TSN 堆棧。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 嵌入式
    +關(guān)注

    關(guān)注

    5152

    文章

    19677

    瀏覽量

    317753
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11511

    瀏覽量

    213895
  • 路由器
    +關(guān)注

    關(guān)注

    22

    文章

    3839

    瀏覽量

    116782
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    Linux嵌入式和單片機(jī)嵌入式的區(qū)別?

    Linux嵌入式與單片機(jī)嵌入式在多個(gè)方面存在顯著的區(qū)別,以下是詳細(xì)的比較和歸納: 一、基本概念 1. Linux嵌入式: 定義:將
    發(fā)表于 06-20 09:46

    工業(yè)通信大集結(jié):TSN、PROFINET、EtherCAT交換機(jī)集中發(fā)布,光路科技展示核心產(chǎn)品

    工博會(huì)現(xiàn)場(chǎng)集中展示了多款來(lái)自Fiberroad的面向工業(yè)自動(dòng)化與智能制造應(yīng)用的以太網(wǎng)交換機(jī)產(chǎn)品,涵蓋TSN交換機(jī)、PROFINET交換機(jī)、EtherCAT交換機(jī)及TSN嵌入式模塊,為智
    的頭像 發(fā)表于 06-09 14:28 ?531次閱讀
    工業(yè)通信大集結(jié):<b class='flag-5'>TSN</b>、PROFINET、EtherCAT交換機(jī)集中發(fā)布,光路科技展示核心產(chǎn)品

    雙通道CAN轉(zhuǎn)以太網(wǎng)#CAN轉(zhuǎn)以太網(wǎng)#三格電子

    以太網(wǎng)
    三格電子科技
    發(fā)布于 :2025年05月12日 13:17:05

    使用示波器的汽車以太網(wǎng)物理層調(diào)試案例

    何使用示波器識(shí)別和調(diào)試汽車以太網(wǎng)物理層信號(hào)完整性問(wèn)題。以下是在Inspectron公司進(jìn)行的汽車以太網(wǎng)調(diào)試研究案例,該公司設(shè)計(jì)并制造內(nèi)窺鏡、嵌入式 Linux 系統(tǒng)和攝像檢測(cè)工具。
    的頭像 發(fā)表于 02-19 15:34 ?1365次閱讀
    使用示波器的汽車<b class='flag-5'>以太網(wǎng)</b>物理層調(diào)試案例

    車載以太網(wǎng)自動(dòng)化測(cè)試套件—AETP.TSN

    在車載以太網(wǎng)自動(dòng)化測(cè)試系列套件AETP中,AETP.TSN(Automotive Ethernet Test Package. Time-Sensitive Networking)是專為車載以太網(wǎng)
    的頭像 發(fā)表于 01-08 09:17 ?503次閱讀
    車載<b class='flag-5'>以太網(wǎng)</b>自動(dòng)化測(cè)試套件—AETP.<b class='flag-5'>TSN</b>

    嵌入式開發(fā)必備-RK3562演示Linux常用系統(tǒng)查詢命令()觸覺(jué)智能出品

    實(shí)用干貨!嵌入式開發(fā)學(xué)習(xí)必備-RK3562演示Linux常用系統(tǒng)查詢命令()關(guān)注觸覺(jué)智能持續(xù)為大家?guī)?lái)更多嵌入式開發(fā)內(nèi)容
    的頭像 發(fā)表于 12-31 10:51 ?117次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā)必備-RK3562演示<b class='flag-5'>Linux</b>常用系統(tǒng)查詢命令(<b class='flag-5'>上</b>)觸覺(jué)智能出品

    TSN工業(yè)以太網(wǎng)交換機(jī)-光路科技FR-TSN系列確定性網(wǎng)絡(luò)交換機(jī)

    以太網(wǎng)
    光路科技
    發(fā)布于 :2024年12月19日 13:45:53

    RT-Thread 發(fā)布 EtherKit開源以太網(wǎng)硬件!

    EtherKit是RT-Thread聯(lián)合瑞薩電子推出的一款高性能、多功能以太網(wǎng)MPU開發(fā)板,采用瑞薩電子RZ/N2L芯片,搭載ArmCortex-R52內(nèi)核,主頻高達(dá)400MHz;支持TSN的3端口
    的頭像 發(fā)表于 11-20 01:07 ?1309次閱讀
    RT-Thread 發(fā)布 EtherKit開源<b class='flag-5'>以太網(wǎng)</b>硬件!

    嵌入式linux開發(fā)的基本步驟有哪些?

    嵌入式Linux開發(fā)是一個(gè)復(fù)雜的過(guò)程,涉及到硬件選擇、操作系統(tǒng)移植、驅(qū)動(dòng)開發(fā)、應(yīng)用程序開發(fā)等多個(gè)方面。以下是嵌入式Linux開發(fā)的基本步驟,以及每個(gè)步驟的說(shuō)明。 硬件選擇 在開始
    的頭像 發(fā)表于 09-02 09:11 ?1257次閱讀

    嵌入式linux開發(fā)板怎么操作

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái)。它通常包括一個(gè)處理器、內(nèi)存、存儲(chǔ)器、輸入/輸出接口等硬件組件,以及一個(gè)基于L
    的頭像 發(fā)表于 09-02 09:09 ?811次閱讀

    嵌入式linux開發(fā)板芯片的工作原理

    嵌入式Linux開發(fā)板是一種基于Linux操作系統(tǒng)的嵌入式系統(tǒng)開發(fā)平臺(tái),它廣泛應(yīng)用于工業(yè)控制、智能家居、智能交通、醫(yī)療設(shè)備等領(lǐng)域。 嵌入式
    的頭像 發(fā)表于 09-02 09:07 ?828次閱讀

    利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時(shí)序

    電子發(fā)燒友網(wǎng)站提供《利用TSN以太網(wǎng)特性改善工業(yè)以太網(wǎng)控制器的時(shí)序.pdf》資料免費(fèi)下載
    發(fā)表于 08-30 10:53 ?0次下載
    利用<b class='flag-5'>TSN</b><b class='flag-5'>以太網(wǎng)</b>特性改善工業(yè)<b class='flag-5'>以太網(wǎng)</b>控制器的時(shí)序

    以太網(wǎng)端口的類型和特性

    以太網(wǎng)端口,即以太網(wǎng)接口,是網(wǎng)絡(luò)中用于連接設(shè)備并進(jìn)行數(shù)據(jù)交換的端口。它基于IEEE 802.3標(biāo)準(zhǔn),并使用以太網(wǎng)協(xié)議進(jìn)行數(shù)據(jù)傳輸。以太網(wǎng)端口在局域網(wǎng)
    的頭像 發(fā)表于 08-07 15:27 ?3250次閱讀

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)的區(qū)別

    車載以太網(wǎng)與傳統(tǒng)以太網(wǎng)在多個(gè)方面存在顯著的差異,這些差異主要體現(xiàn)在傳輸速率、實(shí)時(shí)性、可靠性、物理層標(biāo)準(zhǔn)、應(yīng)用場(chǎng)景以及技術(shù)發(fā)展等方面。
    的頭像 發(fā)表于 07-25 11:12 ?3436次閱讀