在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

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

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

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

嵌入式 Linux 設(shè)計:詳細實時 ?

王英 ? 來源:hdfsf ? 作者:hdfsf ? 2022-07-26 10:31 ? 次閱讀

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

pYYBAGLeBIGAVJJHAABWWh3k9IU129.jpg

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

pYYBAGLeBI6ANbYoAACRUe2ffa8556.jpg

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

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

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

屬性和功能

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

主要要求:
· 管理處理器和其他系統(tǒng)資源以滿足應(yīng)用程序的需要。
· 同步事件。
· 在進程之間有效地移動數(shù)據(jù)。
· 管理與時間等獨立變量相關(guān)的流程需求。
· 可預(yù)測地執(zhí)行在可預(yù)測的時間段內(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 服務(wù)的執(zhí)行速度決定了系統(tǒng)對物理過程變化的響應(yīng)。然而,對于每項服務(wù)而言,在時間方面盡可能地具有確定性(可預(yù)測性)同樣重要。如果沒有可預(yù)測的時序,系統(tǒng)設(shè)計人員無法保證滿足物理過程的時間限制。

多任務(wù)處理

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

pYYBAGLeBJuAPYerAABr7_9vmq8427.jpg

圖 3:多任務(wù)處理

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

優(yōu)先和搶占

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

調(diào)度模型

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

poYBAGLeBKeAd0AEAACgYuBxRSE998.jpg

圖 4:循環(huán)

poYBAGLeBLKANSjOAABsL-voIQs629.jpg

圖 5:任務(wù)搶占

pYYBAGLeBL6AfLINAACGmQcIl_o812.jpg

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

內(nèi)核類

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

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

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

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

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

編譯具有實時支持的 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)生積極的結(jié)果。解壓文件夾后,復(fù)制舊配置文件:
cp /boot/config/kernel path/

下一步:
制作 oldconfig

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

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

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

制作菜單配置

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

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

制作 -j5 bzImage

制作 -j5 模塊

制作modules_install

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

pYYBAGLeBMqAPysdAACSIOYmzKg158.jpg

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

pYYBAGLeBNSAA6TGAADtchHpHXI073.jpg

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

審核編輯 黃昊宇

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

    關(guān)注

    5097

    文章

    19227

    瀏覽量

    308770
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11357

    瀏覽量

    210845
收藏 人收藏

    評論

    相關(guān)推薦

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

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

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

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

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

    【北京迅為】i.mx8mm嵌入式linux開發(fā)指南第四篇 嵌入式Linux系統(tǒng)移植篇第六十九章uboot移植
    的頭像 發(fā)表于 10-22 14:46 ?803次閱讀
    【北京迅為】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)的原理和應(yīng)用

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

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

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

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

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

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

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

    嵌入式機電一體化系統(tǒng)設(shè)計與實現(xiàn)》讀后感

    的應(yīng)用。曾教授詳細講解了如何為嵌入式系統(tǒng)構(gòu)建Linux環(huán)境,以及在Linux中進行程序設(shè)計的方法和技巧。通過這些內(nèi)容,我不僅掌握了Linux
    發(fā)表于 08-21 08:45

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

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

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

    【出版發(fā)行】嵌入式系統(tǒng)原理與開發(fā)——基于RISC-V和Linux系統(tǒng)
    的頭像 發(fā)表于 07-26 08:36 ?419次閱讀
    【出版發(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ā)售

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

    嵌入式開發(fā)前景怎么樣?

    嵌入式開發(fā)前景非常廣闊,這主要得益于物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù)的快速發(fā)展,以及嵌入式系統(tǒng)在各個領(lǐng)域的廣泛應(yīng)用。以下是對嵌入式開發(fā)前景的詳細分析
    的頭像 發(fā)表于 07-10 09:00 ?3259次閱讀
    <b class='flag-5'>嵌入式</b>開發(fā)前景怎么樣?

    在研華科技的嵌入式IPC上設(shè)置實時Linux和EtherCAT主站

    歡迎的選擇。對于需要快速處理器性能的高要求應(yīng)用,x86CPU架構(gòu)通常是最好的選擇?;谶@些原因,工業(yè)PC(IPC)——也被稱為嵌入式PC,非常適合EtherCAT應(yīng)用,但
    的頭像 發(fā)表于 04-19 08:33 ?1088次閱讀
    在研華科技的<b class='flag-5'>嵌入式</b>IPC上設(shè)置<b class='flag-5'>實時</b><b class='flag-5'>Linux</b>和EtherCAT主站

    再談嵌入式實時操作系統(tǒng)

    程序的可移植性得到了增強,系統(tǒng)開發(fā)的工作量減輕的同時也提高了開發(fā)效率。對實時性和可靠性日益增長的要求正在塑造某些現(xiàn)代領(lǐng)域的嵌入式實時操作系統(tǒng)的發(fā)展方向,例如航空航天、工業(yè)控制、汽車電子、能源電力和醫(yī)療
    的頭像 發(fā)表于 04-09 17:27 ?880次閱讀
    再談<b class='flag-5'>嵌入式</b><b class='flag-5'>實時</b>操作系統(tǒng)

    嵌入式人工智能的就業(yè)方向有哪些?

    的發(fā)展方向有很多,門檻高低不一樣。下面給大家列舉一些相應(yīng)崗位所需具備的技能: 一:嵌入式Linux,C語言開發(fā)工程師,Linux軟件開發(fā)工程師 LinuxC語言開發(fā) LinuxC語言開發(fā)進階
    發(fā)表于 02-26 10:17
    主站蜘蛛池模板: 午夜视 | 色色网视频| 亚洲资源在线视频 | 成人免费播放视频777777 | 99久久久精品免费观看国产 | 奇米影视四色7777 | 在线色片 | 国产人人澡 | 午夜视频网站在线观看 | 欧美性aaa | 国产精品久久久久久影院 | 亚洲成人综合在线 | 亚洲一区二区在线视频 | 午夜看片网 | 五月婷婷网站 | 成年人激情视频 | 永久免费看的啪啪网站 | 国产图片综合 | 天天操夜夜逼 | 久久99精品福利久久久 | 在线视频三区 | 美国bj69 video18| 嫩草影院www| 国产精品夜夜春夜夜爽久久 | 夜夜操夜夜 | 亚欧人成精品免费观看 | 午夜精品aaa国产福利 | 精品欧美一区二区三区在线观看 | 狠狠干天天爱 | 久久三级国产 | 美女扒开尿口让男人30视频 | 边做边爱在线观看视频免费 | 久久天天丁香婷婷中文字幕 | 性欧美精品久久久久久久 | 中文字幕一区二区三区精品 | 亚洲国产成人最新精品资源 | 快乐你懂的在线视频免费观看 | 国产呦在线观看视频 | 伊人色综合久久天天爱 | 久久这里只有精品免费播放 | 国产视频一区二区在线观看 |