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

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

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

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

嵌入式 Linux 設計:詳細實時 ?

王英 ? 來源:hdfsf ? 作者:hdfsf ? 2022-07-26 10:31 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

實時系統(tǒng)必須尊重時間限制,以確保其執(zhí)行具有功能意義。實時操作系統(tǒng)或 RTOS(有時稱為實時執(zhí)行內(nèi)核)是一個函數(shù)庫,用于實現(xiàn)計算機系統(tǒng)的時間關鍵管理和資源分配的規(guī)則和策略。RTOS 常用于嵌入式系統(tǒng)。

RTOS 為微控制器處理器 (CPU) 提供了一個軟件抽象層,具有一組管理 CPU 資源調度和訪問的固有功能。簡而言之,RTOS的功能可以總結如下:

它確定應用程序中的哪些執(zhí)行實體應該控制 CPU、以什么順序以及在放棄對處理器的控制之前允許多長時間。

它管理多個活動之間的內(nèi)部存儲共享。

它管理連接的硬件設備的輸入和輸出,例如控制器設備的串行端口和 I/O 總線。

它發(fā)送有關操作狀態(tài)和已發(fā)生的任何錯誤的消息。

精心設計的 RTOS(圖 1)提供了許多切實的好處,例如:

通過規(guī)則和政策為項目奠定堅實的基礎,以確保一致性和可重復性。

簡化開發(fā)過程并提高生產(chǎn)力:豐富的內(nèi)核服務 (API) 集允許節(jié)省編寫擴展代碼的時間,而系統(tǒng)開銷過多,無法完成相同的事情。

對處理器的抽象,而不關注許多硬件細節(jié)。

實施可靠的編程系統(tǒng)以成功管理共享同一處理器的多個操作:這使您可以管理對各種處理器或外圍資源的訪問,以便可以在不受干擾的情況下成功執(zhí)行操作。

清理功能的高效管理:保存和恢復日志集以及管理內(nèi)存緩沖區(qū)。

集成和管理來自通信和中間件堆棧(TCP/IP、USB、CAN、FAT 和 Flash 文件系統(tǒng)等)的必要資源。

優(yōu)化系統(tǒng)資源的使用,提高產(chǎn)品的可靠性、可維護性和質量。

RTOS 可以將所有這些元素整合到一個平臺中。它實現(xiàn)了便利的開發(fā)過程,并允許更短的上市時間、更高的可靠性和更低的風險。

pYYBAGLeBIGAVJJHAABWWh3k9IU129.jpg

圖 1:通用實時系統(tǒng) (RTOS)

pYYBAGLeBI6ANbYoAACRUe2ffa8556.jpg

圖 2:實時系統(tǒng) (RTOS) – 調度程序

實時操作系統(tǒng)的組件

RTOS 的組件是調度程序、函數(shù)庫、類和用戶定義的數(shù)據(jù)對象。讓我們分別詳細地分析它們。調度程序(圖 2)是 RTOS 的關鍵組件,它確定應用程序代碼的哪些實體以何種順序訪問 CPU。在大多數(shù)商業(yè) RTOS 中,存在三種編程模型:搶占式、協(xié)作式(也稱為循環(huán))和時間片模型。RTOS 函數(shù)庫用作應用程序代碼和 RTOS 之間的接口。這些功能也稱為應用程序接口 (API),將 RTOS 的操作需求封裝在其眾多服務中。應用程序代碼實體通過 API 向內(nèi)核發(fā)出請求,然后確定應用程序所需的編程行為。類和用戶定義的數(shù)據(jù)對象:RTOS 采用的數(shù)據(jù)結構通常根據(jù)操作類型排列成組或類。RTOS 將用來控制程序的每個類中的對象集由用戶定義。名稱可能不同,具體取決于適當設計的 RTOS 系統(tǒng)。

屬性和功能

RTOS 的屬性和功能可分為主要要求和次要要求。

主要要求:
· 管理處理器和其他系統(tǒng)資源以滿足應用程序的需要。
· 同步事件。
· 在進程之間有效地移動數(shù)據(jù)。
· 管理與時間等獨立變量相關的流程需求。
· 可預測地執(zhí)行在可預測的時間段內(nèi)發(fā)生的操作

次要要求:
· 高效的 RAM 管理。
· 獨占訪問系統(tǒng)資源。

資源管理系統(tǒng)

RTOS 的主要功能是管理某些系統(tǒng)資源,例如 CPU、內(nèi)存和時間。每個資源必須在并發(fā)進程之間共享,以實現(xiàn)系統(tǒng)的一般功能,如下原則:

系統(tǒng)內(nèi)存是有限資源,因此必須共享。

由于 CPU 的運行速度比執(zhí)行控制或監(jiān)視的物理進程快得多,因此可以共享 CPU 以避免處理延遲。這種延遲可能會違反基本的系統(tǒng)策略。

時間是 RTOS 管理的最困難的資源。

RTOS 服務的執(zhí)行速度決定了系統(tǒng)對物理過程變化的響應。然而,對于每項服務而言,在時間方面盡可能地具有確定性(可預測性)同樣重要。如果沒有可預測的時序,系統(tǒng)設計人員無法保證滿足物理過程的時間限制。

多任務處理

如果沒有專用于每個代碼實體的 CPU,就不可能同時執(zhí)行操作。但是,可以共享 CPU 訪問時間以實現(xiàn)同時操作方面。許多活動之間的切換順序是多任務處理概念的基礎。圖 3 顯示了如何實現(xiàn)多任務處理。左側顯示了處理器的典型模型,由 CPU、一些寄存器、處理器狀態(tài)、程序計數(shù)器 (PC) 和堆棧組成。

pYYBAGLeBJuAPYerAABr7_9vmq8427.jpg

圖 3:多任務處理

要共享物理處理器,每個任務必須具有與物理處理器相同的屬性:一組寄存器、一個狀態(tài)、一個指向任務中下一條可執(zhí)行指令的 PC,以及一個用于局部變量的堆棧。當然,每個活動也會有自己的一組運行代碼。另一方面,圖 2 的右側顯示了幾個虛擬處理器(任務)。每個任務都等待其在物理處理器中激活其屬性的機會。調度程序不斷地決定 CPU 在給定時刻應該控制哪些活動。當需要停止正在運行的任務并將 CPU 控制權交給新任務時,調度程序會將正在運行的任務的屬性(操作上下文)與新任務的屬性(操作上下文)進行交換。此過程稱為“上下文切換”。

優(yōu)先和搶占

為了實現(xiàn)效率和共享 CPU 利用率,實時多任務操作系統(tǒng)使用從一個任務到另一個任務的適當控制轉移。為了實現(xiàn)這一點,調度程序必須監(jiān)控系統(tǒng)資源和每個任務的執(zhí)行狀態(tài),以確保每個實體及時接收 CPU 控制權。
這里的關鍵詞是及時性。沒有在正確的時間執(zhí)行必要任務的實時系統(tǒng)是無效的。這個錯誤可能會產(chǎn)生從良性到災難性的后果。這意味著內(nèi)核服務請求的響應時間和這些服務的執(zhí)行時間必須是快速且可預測的。RTOS 固有的可預測性允許設計應用程序代碼以確保檢測和處理所有需求。實時應用程序通常由多個進程(任務和線程)組成,由于外部或內(nèi)部事件,這些進程需要在不同時間控制系統(tǒng)資源。

調度模型

有幾種調度模型允許任務從處理器接收執(zhí)行時間。這些中的每一個的有用性取決于
Round-Robin (Cooperative) 應用要求:所有活動同等重要,具有相同的優(yōu)先級。一旦任務接收到處理器控制,它將一直運行,直到完成或到達重新調度點。然后它放棄對 CPU 的控制權,以允許調度確定下一個任務,從而獲得對 CPU 的控制權。在其執(zhí)行周期中,行循環(huán)任務(圖 4)不能凍結、等待、暫?;驁?zhí)行任何可能允許另一個任務獲得 CPU 控制權的操作,但它可以被中斷(異常)搶占。Tick-Sliced Scheduling:是循環(huán)調度的一種變體。兩種方法都是相似的,只是任務滴答只能由可以表示時間或某些其他特定單位的關聯(lián)計數(shù)器執(zhí)行預定義的次數(shù)(量子滴答)。任務保持對 CPU 的控制,直到時間量刻度到期或直到活動阻塞。如果量子滴答到期,如果有另一個具有相同優(yōu)先級的任務等待執(zhí)行,則調度會強制任務出售其業(yè)務。Preemptive Scheduling:是導致預防性計劃概念的策略,其中物理處理器的控制權委托給具有最高優(yōu)先級的任務。如圖 5 所示,較低優(yōu)先級的任務(任務 2)在發(fā)生激活或釋放任務 1 的事件時被搶占。是導致預防性計劃概念的策略,其中物理處理器的控制委托給具有最高優(yōu)先級的任務。如圖 5 所示,較低優(yōu)先級的任務(任務 2)在發(fā)生激活或釋放任務 1 的事件時被搶占。是導致預防性計劃概念的策略,其中物理處理器的控制委托給具有最高優(yōu)先級的任務。如圖 5 所示,較低優(yōu)先級的任務(任務 2)在發(fā)生激活或釋放任務 1 的事件時被搶占。

poYBAGLeBKeAd0AEAACgYuBxRSE998.jpg

圖 4:循環(huán)

poYBAGLeBLKANSjOAABsL-voIQs629.jpg

圖 5:任務搶占

pYYBAGLeBL6AfLINAACGmQcIl_o812.jpg

圖 6:內(nèi)核服務

內(nèi)核類

RTOS 在一組通常稱為類的結構上運行。每個類都支持一組通常稱為內(nèi)核服務的運算符(圖 6),這些運算符由應用程序進程調用以實現(xiàn)預期的行為。這些類如下:

任務:管理程序代碼的執(zhí)行;每個活動都獨立于其他活動,但能夠以多種形式與其他活動建立關系,包括數(shù)據(jù)結構、輸入、輸出或其他構造。

任務間通信:將信息從一項任務傳遞到另一項執(zhí)行的任務。用于交互任務的常用類是信號量、隊列和管道。紅綠燈提供了一種使活動與各種事件同步的方法。

內(nèi)核服務:執(zhí)行某些系統(tǒng)行為的例程。當應用程序代碼實體請求內(nèi)核提供的功能時,會啟動對該功能的內(nèi)核服務請求。

ISR(中斷服務程序):是一個軟件程序,被激活以響應中斷

編譯具有實時支持的 Linux 內(nèi)核

要編譯具有實時支持的 linux 內(nèi)核(圖 7),您必須首先實時獲取源代碼和補丁。–

http://www.kernel.org/內(nèi)核版本;

http://www.kernel.org/pub/linux/kernel/projects/rt/獲取 RTOS 補丁

下載兼容版本很重要,否則編譯不會產(chǎn)生積極的結果。解壓文件夾后,復制舊配置文件:
cp /boot/config/kernel path/

下一步:
制作 oldconfig

完成上述命令后,運行以下命令:

bzcat/路徑dellapatch/patch-2.6。Xx-rtyy。柏油。Bz2 | 補丁-p1

這會將實時補丁插入 Linux 內(nèi)核。此時鍵入以下命令:

制作菜單配置

轉到“處理器類型和功能”(圖 8)并在“搶占模式”下選擇“完全搶占(實時)”。

在“定時器頻率”下選擇值,例如 1000 Hz。除了修改內(nèi)核的其他功能外,設置完成后必須立即執(zhí)行以下命令:

制作 -j5 bzImage

制作 -j5 模塊

制作modules_install

現(xiàn)在復制文件:/bootfolder中的arch / x86 / boot / bzImage。您有兩個選項來運行測試:在啟動時使用 grub shell 并手動加載文件,或者為 grub 創(chuàng)建一個新條目。這可以通過將默認內(nèi)核版本的值復制到/boot/grub/menu并適當?shù)匦薷穆窂胶兔Q來完成。

pYYBAGLeBMqAPysdAACSIOYmzKg158.jpg

圖 7:QNX 微內(nèi)核示例

pYYBAGLeBNSAA6TGAADtchHpHXI073.jpg

圖 8:使用 RTOS 編譯內(nèi)核

審核編輯 黃昊宇

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

    關注

    5152

    文章

    19676

    瀏覽量

    317733
  • Linux
    +關注

    關注

    87

    文章

    11511

    瀏覽量

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

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    一文讀懂:嵌入式Linux實時性進階

    在工業(yè)控制、機器人、汽車電子等關鍵領域,嵌入式系統(tǒng)對實時性要求極高。 Linux作為強大的通用操作系統(tǒng),其原生實時性能難以滿足最嚴苛的硬實時
    發(fā)表于 07-10 15:26

    怎么結合嵌入式,Linux,和FPGA三個方向達到一個均衡發(fā)展?

    嵌入式領域,不少人都懷揣著讓嵌入式、Linux 和 FPGA 三個方向實現(xiàn)均衡發(fā)展的夢想,然而實踐中卻面臨諸多挑戰(zhàn)。就像備受矚目的全棧工程師稚暉君,他從大學玩單片機起步,憑借將智能算法融入
    的頭像 發(fā)表于 06-25 10:08 ?323次閱讀
    怎么結合<b class='flag-5'>嵌入式</b>,<b class='flag-5'>Linux</b>,和FPGA三個方向達到一個均衡發(fā)展?

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

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

    嵌入式開發(fā)入門指南:從零開始學習嵌入式

    基礎 3. 學習路徑推薦第一階段:熟悉開發(fā)環(huán)境(如Keil、IAR、STM32)第二階段:掌握裸機編程與驅動開發(fā)第三階段:學習RTOS(實時操作系統(tǒng))如FreeRTOS第四階段:深入理解Linux嵌入式
    發(fā)表于 05-15 09:29

    嵌入式主板開發(fā)詳細指南

    嵌入式主板開發(fā)涉及硬件設計、軟件集成、系統(tǒng)優(yōu)化等多個環(huán)節(jié),需要結合具體應用場景進行深度定制。以下是嵌入式主板開發(fā)的詳細指南,涵蓋關鍵步驟、工具、挑戰(zhàn)及實際案例:一、開發(fā)流程與關鍵步驟1.需求分析
    的頭像 發(fā)表于 04-02 11:35 ?556次閱讀
    <b class='flag-5'>嵌入式</b>主板開發(fā)<b class='flag-5'>詳細</b>指南

    怎么嵌入式linux下控制dlp?

    請問怎么嵌入式linux 下控制dlp,有沒有支持
    發(fā)表于 03-03 07:02

    嵌入式 Linux 操作系統(tǒng)配置

    隨著物聯(lián)網(wǎng)(IoT)和智能設備的快速發(fā)展,嵌入式系統(tǒng)在各個領域扮演著越來越重要的角色。Linux因其開源、靈活和穩(wěn)定的特性,成為嵌入式系統(tǒng)的首選操作系統(tǒng)。 1. 硬件選擇 在配置嵌入式
    的頭像 發(fā)表于 11-06 10:22 ?1207次閱讀

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植
    的頭像 發(fā)表于 10-22 14:46 ?1172次閱讀
    【北京迅為】i.mx8mm<b class='flag-5'>嵌入式</b><b class='flag-5'>linux</b>開發(fā)指南第四篇 <b class='flag-5'>嵌入式</b><b class='flag-5'>Linux</b>系統(tǒng)移植篇第六十九章uboot移植

    嵌入式系統(tǒng)的原理和應用

    嵌入式系統(tǒng)是一種專用的計算機系統(tǒng),其設計初衷是執(zhí)行特定任務,而非作為通用計算機使用。這類系統(tǒng)通常作為更大系統(tǒng)的一部分,起到控制、監(jiān)控或輔助的作用,具有資源受限、實時性高、可靠性強等特點。下面將從嵌入式系統(tǒng)的原理、應用兩個方面進行
    的頭像 發(fā)表于 10-05 17:03 ?2218次閱讀

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

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

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

    開發(fā)板概述 嵌入式Linux開發(fā)板是一種專門為嵌入式系統(tǒng)開發(fā)而設計的硬件平臺。它具有體積小、功耗低、性能高等特點,廣泛應用于工業(yè)控制、智能家居、醫(yī)療設備、汽車電子等領域。與傳統(tǒng)的PC機相比,
    的頭像 發(fā)表于 09-02 09:09 ?809次閱讀

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

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

    嵌入式系統(tǒng)中的實時操作系統(tǒng)

    嵌入式RTOS是嵌入式應用程序運行、相互交互和與外界通信的底層軟件機制。在本節(jié)中,您將了解嵌入式軟件開發(fā)人員使用哪些流行RTOS以及它們運行的嵌入式硬件平臺。
    的頭像 發(fā)表于 08-20 11:28 ?893次閱讀

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?682次閱讀
    【出版發(fā)行】<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)

    專家力薦|《嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)》新書發(fā)售

    當前,嵌入式系統(tǒng)已成為智能設備的核心之一,RISC-V+Linux的開源力量為嵌入式系統(tǒng)注入強大的創(chuàng)新動力。作為中國RISC-V軟硬件生態(tài)領導者,賽昉科技與業(yè)界專家合作推出《嵌入式系統(tǒng)
    的頭像 發(fā)表于 07-24 08:20 ?1111次閱讀
    專家力薦|《<b class='flag-5'>嵌入式</b>系統(tǒng)原理與開發(fā)——基于RISC-V和<b class='flag-5'>Linux</b>系統(tǒng)》新書發(fā)售