国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

這篇具有很好參考價值的文章主要介紹了物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

RTOS簡介

1.1 背景

在大型計算機的世界里,操作系統(tǒng)(OS operating systems)已經(jīng)存在了相當(dāng)長的一段時間。最基本的操作系統(tǒng)可以追溯到20世紀(jì)50年代。到20世紀(jì)70年代中期,操作系統(tǒng)的概念、結(jié)構(gòu)、功能和界面已經(jīng)非常成熟。

微型系統(tǒng)大約在 1970年出現(xiàn)。在基于微處理器的設(shè)備中迅速應(yīng)用操作系統(tǒng)似乎是合乎邏輯的。然而到直到20世紀(jì)80年代中期,幾乎沒有任何此類應(yīng)用采用了可稱為正式設(shè)計的實時操作系統(tǒng)。誠然,CP/M 于 1975年發(fā)布,后來由英特爾公司投入芯片。但它對實時領(lǐng)域的影響甚微;它的天然歸宿是臺式機。

有兩個因素影響了實時操作系統(tǒng)的普及,一是機器的限制,另一個是圍繞微型機的設(shè)計文化。早期的微型機在計算能力、運行速度和內(nèi)存容量方面都相當(dāng)有限。試圖在此基礎(chǔ)上建立操作系統(tǒng)結(jié)構(gòu)是相當(dāng)困難的。此外,大多數(shù)嵌入式系統(tǒng)編程人員幾乎沒有操作系統(tǒng)方面的背景知識。

如今,情況大為不同?,F(xiàn)代嵌入式設(shè)計的主力是 16/32位復(fù)雜微控制器。這些微控制器成本低、性能高,集成了大量片上存儲器和外設(shè)功能。市場上還有許多商用實時操作系統(tǒng)。但是,能做什么并不意味著就應(yīng)該做什么,究竟為什么要在下一次設(shè)計中選擇使用 RTOS呢?首先,我們需要考慮更基本的問題:我們應(yīng)該如何解決嵌入式系統(tǒng)中的軟件設(shè)計問題。這就是本章的重點。它為實用的設(shè)計技術(shù)奠定了基礎(chǔ),并確切地說明了 RTOS 如何與之相匹配。

1.2 生產(chǎn)高質(zhì)量的軟件

乍一看,本章一開始就談軟件質(zhì)量似乎有些奇怪。這似乎與操作系統(tǒng)關(guān)系不大。事實上并非如此,我們可以從中學(xué)到一些寶貴的經(jīng)驗。

如果讓你定義 "高質(zhì)量 "軟件的含義,你會怎么說?怎么樣?

  • 正確地完成工作("功能 "正確性)。
  • 正確的時間完成任務(wù)("時間 "正確性)。
  • 行為應(yīng)該是可預(yù)測的。
  • 行為應(yīng)該是一致的。
  • 代碼不應(yīng)難以維護(低復(fù)雜性)。
  • 代碼的正確性可以分析(靜態(tài)分析)。
  • 代碼行為可分析(覆蓋率分析)。
  • 運行時性能應(yīng)可預(yù)測。
  • 內(nèi)存需求應(yīng)可預(yù)測。
  • 如果需要,可以證明代碼符合相關(guān)標(biāo)準(zhǔn)。

當(dāng)然,您也可以根據(jù)自己的特殊要求對上述原則進行擴展。

請考慮將這些原則應(yīng)用到下面這個相對簡單的小型實時系統(tǒng)中。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

這里的要求是通過改變液體流速來控制液體溫度。具體做法如下

  • 使用溫度傳感器測量液體溫度。
  • 將其與所需的溫度值進行比較,然后
  • 生成控制信號,以設(shè)定控制冷卻劑流量的執(zhí)行器的位置。

軟件必須執(zhí)行

  • 數(shù)據(jù)采集
  • 信號線性化和縮放
  • 控制計算
  • 執(zhí)行器驅(qū)動。

這是核反應(yīng)堆控制系統(tǒng)中的安全關(guān)鍵 SIL 4(安全完整性等級Safety Integrity Leve 4)子系統(tǒng)。因此,禁止使用中斷。

沒有唯一的代碼解決方案,但會采用以下形式:

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

我們所看到的是一個 "應(yīng)用級"代碼示例,在這里是一個單獨的順序程序單元。還請注意,低層次的細節(jié)并不為我們所知。

底層操作主要涉及系統(tǒng)硬件和相關(guān)活動。即使使用高級語言,程序員也必須具備機器硬件和功能方面的專業(yè)知識。這就凸顯了與傳統(tǒng)微機編程相關(guān)的問題:實現(xiàn)良好設(shè)計所需的硬件/軟件專業(yè)知識。即使是這個簡單的例子,程序員也需要相當(dāng)程度的硬件和軟件技能。

1.3 軟件建模

制作運行程序有幾個不同的階段。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

首先是軟件設(shè)計,形成設(shè)計或邏輯模型。然后以源代碼的形式實現(xiàn),即物理模型。源代碼經(jīng)過編譯、鏈接和定位("構(gòu)建")后得到目標(biāo)代碼,即部署模型。最后,將目標(biāo)代碼加載到處理器上并執(zhí)行,這就是運行時模型。請注意,在許多現(xiàn)代集成開發(fā)環(huán)境(IDE)中,編譯和下載都是作為一項活動來處理的。

在這里,我們主要關(guān)注的是代碼和運行時模型。我們暫時將設(shè)計模型放在一邊,集中精力處理其他兩個模型。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

如果使用現(xiàn)代工具集,開發(fā)和處理這些工作非常簡單。然而,無法自動化的是將源代碼結(jié)構(gòu)分配到源代碼組件。程序員需要做出這些關(guān)鍵決定,我們將在處理設(shè)計模型時再次討論這個話題。

代碼模型為我們提供了軟件的靜態(tài)視圖。相比之下,運行時模型是代碼、數(shù)據(jù)和處理器的組合。它被定義為一個軟件流程,在嵌入式領(lǐng)域也被稱為任務(wù)(這一術(shù)語存在爭議,稍后會有更多論述)。簡單地說,一個任務(wù)代表一個順序程序的執(zhí)行。

我們暫且將運行時模型稱為任務(wù)模型。

代碼模型的更改可能(通常會)影響任務(wù)分配模型。因此,開發(fā)人員必須充分理解并記錄它們之間的關(guān)系。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

1.4 時間和定時的重要性

三代飛機有一個三軸自動穩(wěn)定系統(tǒng)。從根本上說,現(xiàn)實世界中需要完成的工作是相同的

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

每種飛機所采用的技術(shù)卻大相徑庭?;谖⑻幚砥鞯南到y(tǒng)與其他兩種系統(tǒng)的本質(zhì)區(qū)別在于:離散操作與連續(xù)操作。

在連續(xù)("模擬")電子系統(tǒng)中,如果需要,所有操作都可以同時進行("并發(fā)")。不僅如此,處理過程也是瞬時完成的。但這在以處理器為基礎(chǔ)的系統(tǒng)中是不可能實現(xiàn)的,因為這些系統(tǒng)從根本上說是離散運行的:

  • 處理器一次只能做一件事(順序機器),而且
  • 操作需要時間--事情不會立即發(fā)生。

這兩個因素讓我們在設(shè)計工作中倍感焦慮。因此,如果您在不了解系統(tǒng)時序需求的情況下就開始開發(fā),那么您就要做好準(zhǔn)備,迎接令人討厭的意外。

有鑒于此,讓我們重溫一下之前的設(shè)計練習(xí),可以看出任務(wù)代碼

  • 以連續(xù)循環(huán)的方式執(zhí)行。
  • 在每個循環(huán)中完成工作("run-to-completion"語義)。
  • 有完成工作的截止日期 (Td)。
  • 完成工作需要時間(任務(wù)執(zhí)行時間 - Te task execution time)。
  • 以固定間隔或周期重復(fù)("周期性 "運行 - Tp periodic)。
  • 在空閑期間不做任何事情(空閑時間 Ts spare)。
  • 需要定時機制來控制周期時間(這里我們最有可能使用硬件定時器來跟蹤)。

在這個特殊的設(shè)計中,Tp和Td是系統(tǒng)要求,Te取決于我們的代碼解決方案,而Ts則是我們最終得到的結(jié)果。例如,假設(shè)Tp為100毫秒,Te為5毫秒,則 Ts值為95毫秒。由此可見,處理器每100毫秒執(zhí)行代碼 5毫秒,利用率(U Utilization)為 5%。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

這些數(shù)字對設(shè)計有何影響?首先,在嵌入式系統(tǒng)中,任務(wù)在每次啟動時都要運行到完成點。其次實用的系統(tǒng)必須有一些空閑時間。第三,代碼能在一段時間內(nèi)執(zhí)行并不意味著其性能是可以接受的。輸入到輸出的處理延遲("延遲" latency)可能會導(dǎo)致整個系統(tǒng)的行為出現(xiàn)問題。

參考資料

  • 軟件測試精品書籍文檔下載持續(xù)更新 https://github.com/china-testing/python-testing-examples 請點贊,謝謝!
  • 本文涉及的python測試開發(fā)庫 謝謝點贊! https://github.com/china-testing/python_cn_resouce
  • python精品書籍下載 https://github.com/china-testing/python_cn_resouce/blob/main/python_good_books.md

1.5 處理多個工作

上例中的代碼結(jié)構(gòu)可以讓我們構(gòu)建出最好的軟件。但是,如圖所示,它只包含一個程序單元中的一個定義明確的作業(yè)。那么,這種方法的擴展性如何呢?例如,在處理多個作業(yè)時,是否有可能達到單作業(yè)設(shè)計的質(zhì)量?這取決于具體情況,我們很快就會看到。

假設(shè)我們被要求為基于微處理器的雙軸搖攝和俯仰攝像機穩(wěn)定器系統(tǒng)制作軟件。因此,總體工作或功能 "穩(wěn)定圖像 "由兩個子工作組成:

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

假設(shè)各軸的時序要求如下:

  • 搖鏡頭:25赫茲采樣率(每秒25次,Tp=40毫秒)。
  • 傾斜50Hz采樣率(Tp=20ms)。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

現(xiàn)在我們不僅要運行代碼單元,還要以不同的速率運行它們。這就需要一些總體協(xié)調(diào)軟件:一種執(zhí)行控制 "引擎"。

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

每個代碼單元都以 C 語言函數(shù)的形式實現(xiàn),例如

  • 代碼單元 1(函數(shù) 1):RunPanStabilizer();

  • 代碼單元 2(函數(shù) 2):RunTiltStabilizer();

物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)

請注意,這樣寫是為了清晰,而不是為了提高效率。

我們在這里看到的是合理設(shè)計方法的基礎(chǔ)。然而,它仍然只是基礎(chǔ),有很大的缺陷。文章來源地址http://www.zghlxwxcb.cn/news/detail-590238.html

到了這里,關(guān)于物聯(lián)網(wǎng)實時操作系統(tǒng)1RTOS簡介(上)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 操作系統(tǒng)教程1簡介

    操作系統(tǒng)教程1簡介

    這個操作系統(tǒng)教程提供了操作系統(tǒng)的所有基本和高級概念。這個操作系統(tǒng)課程是為初學(xué)者、專業(yè)人士和GATE考生準(zhǔn)備考試而設(shè)計的。本教程將為你提供關(guān)于每個操作系統(tǒng)概念的深刻知識。 操作系統(tǒng)(OS Operating System)是一種軟件,作為最終用戶和計算機硬件之間的接口。每臺計

    2024年02月07日
    瀏覽(46)
  • 嵌入式實時操作系統(tǒng)的設(shè)計與開發(fā)

    嵌入式實時操作系統(tǒng)的設(shè)計與開發(fā)

    在RTOS中,時鐘具有非常重要的作用,通過時鐘可實現(xiàn)延時任務(wù)、周期性觸發(fā)任務(wù)執(zhí)行、任務(wù)有限等待的計時。 大多數(shù)嵌入式系統(tǒng)有兩種時鐘源,分別為實時時鐘RTC(Real-Time Clock)和定時器/計數(shù)器。 實時時鐘一般是靠電池供電,即使系統(tǒng)斷電,也可以維持日期和時間。由于實

    2024年02月11日
    瀏覽(23)
  • FreeRTOS實時操作系統(tǒng)(六)列表與列表項

    FreeRTOS實時操作系統(tǒng)(六)列表與列表項

    FreeRTOS實時操作系統(tǒng)(一)RTOS的基本概念 FreeRTOS實時操作系統(tǒng)(二)任務(wù)創(chuàng)建與任務(wù)刪除(HAL庫) FreeRTOS實時操作系統(tǒng)(三)任務(wù)掛起與恢復(fù) FreeRTOS實時操作系統(tǒng)(四)中斷任務(wù)管理 FreeRTOS實時操作系統(tǒng)(五)進入臨界區(qū)、任務(wù)調(diào)度器掛起與恢復(fù) FreeRTOS實時操作系統(tǒng)(六)列

    2024年02月10日
    瀏覽(20)
  • 微控制器實時操作系統(tǒng)實踐5選擇IDE

    微控制器實時操作系統(tǒng)實踐5選擇IDE

    集成開發(fā)環(huán)境(IDE integrated development environment)有能力極大地影響開發(fā)。集成開發(fā)環(huán)境被設(shè)計成具有較小的學(xué)習(xí)曲線,并且通常提供一種簡單的方法來從現(xiàn)有的驅(qū)動程序和中間件建立解決方案。 在本章中,我們將討論如何選擇IDE,看看不同類型的IDE,并選擇一個IDE來創(chuàng)建你在

    2024年02月08日
    瀏覽(22)
  • 歐拉操作系統(tǒng)(openEuler)簡介

    歐拉操作系統(tǒng)(openEuler)簡介

    ? ? ? ? ? 一、歐拉操作系統(tǒng)(openEuler)? 是什么? ? ? ?歐拉操作系統(tǒng)(openEuler, 簡稱“歐拉”)是面向數(shù)字基礎(chǔ)設(shè)施的操作系統(tǒng),支持服務(wù)器、云計算、邊緣openEuler是面向數(shù)字基礎(chǔ)設(shè)施的操作系統(tǒng),支持服務(wù)器、 云計算、邊緣計算、嵌入式等應(yīng)用場景,支持多樣性計算,致力于

    2024年02月04日
    瀏覽(27)
  • 6.物聯(lián)網(wǎng)操作系統(tǒng)信號量

    6.物聯(lián)網(wǎng)操作系統(tǒng)信號量

    一。信號量的概念與應(yīng)用 信號量定義 FreeRTOS信號量介紹 FreeRTOS信號量工作原理 1.信號量的定義 ? ? ? ? 多任務(wù)環(huán)境下使用,用來協(xié)調(diào)多個任務(wù)正確合理使用臨界資源。 2.FreeRTOS信號量介紹 ????????Semaphore包括Binary,Count,Mutex; ? ? ? ? Mutex包括RecursiveMutex,Mutex。 3.Free

    2024年02月14日
    瀏覽(22)
  • 常見的物聯(lián)網(wǎng)操作系統(tǒng)介紹

    ????????物聯(lián)網(wǎng)(Internet of Things,IoT)是指將各種物理設(shè)備、車輛、家用電器、工業(yè)設(shè)備等通過網(wǎng)絡(luò)連接起來,實現(xiàn)數(shù)據(jù)交換和通信的技術(shù)。物聯(lián)網(wǎng)操作系統(tǒng)是管理這些設(shè)備并使其能夠相互通信的軟件平臺。以下是一些常見的物聯(lián)網(wǎng)操作系統(tǒng): ????????1. Amazon FreeRTOS

    2024年02月20日
    瀏覽(14)
  • STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實時系統(tǒng)

    STM32初學(xué)者入門FreeRTOS操作系統(tǒng),多任務(wù)實時系統(tǒng)

    ? ? ? ? FreeRTOS(Free Real-Time Operating System)是一個開源的嵌入式實時操作系統(tǒng),它專門設(shè)計用于在資源有限的嵌入式系統(tǒng)中運行。FreeRTOS提供了一些用于任務(wù)管理、調(diào)度、同步和通信的功能,使開發(fā)者能夠輕松地創(chuàng)建可靠的嵌入式系統(tǒng)。 以下是FreeRTOS的一些特點和功能: 輕量

    2024年02月11日
    瀏覽(27)
  • 嵌入式實時操作系統(tǒng)的設(shè)計與開發(fā)(十)

    RTOS的引導(dǎo)是指將操作系統(tǒng)裝入內(nèi)存并開始執(zhí)行的過程。在嵌入式系統(tǒng)的實際應(yīng)用中,針對不同應(yīng)用環(huán)境,對時間效率和空間效率有不同的要求。因此,操作系統(tǒng)啟動時應(yīng)充分考慮這兩種限制。 時間限制主要包括兩種情況:系統(tǒng)要求快速啟動和系統(tǒng)啟動后要求程序能實時運行

    2024年02月07日
    瀏覽(27)
  • 簡單介紹STM32上的FreeRTOS實時操作系統(tǒng)

    FreeRTOS是一款廣泛使用的開源實時操作系統(tǒng)(RTOS),它為嵌入式系統(tǒng)提供了可靠的任務(wù)調(diào)度和并發(fā)管理。在嵌入式領(lǐng)域中,STM32微控制器廣受歡迎,并且與FreeRTOS的結(jié)合使用可以提供強大的功能和靈活性。在本篇博客中,我們將深入探究STM32上的FreeRTOS,并了解其核心概念、任

    2024年02月16日
    瀏覽(33)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包