国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

RTOS系列——初識嵌入式實時操作系統

不知名網友 / 3494人閱讀

摘要:嵌入式實時操作系統是一個特殊的程序通常稱為內核,它可以創建,銷毀,控制所有任務。顯示處理函數運行過程中,定時器產生中斷,系統進入定時器中斷程序將傳感器標志位置。實時操作系的子系統將再后續持續更新。

嵌入式實時操作系統是什么
嵌入式實時操作系統是一個特殊的程序,是一個支持多任務的運行環境。嵌入式實時操作系統最大的特點就是“實時性”,如果有一個任務需要執行,實時操作系統會立即執行該任務,不會有較長的延時。典型的實時操作系統有uCOS ,RT-Thread,FreeRTOS ,VxWorks,WinCE等。

嵌入式實時操作系統是一個特殊的程序(通常稱為內核),它可以創建,銷毀,控制所有任務。嵌入式實時操作系統除了包含一個內核以外,還提供其他服務,如文件系統,協議棧,圖形用戶界面等。本文的重點在于了解嵌入式實時操作系統內核的工作原理和結構,因此文中提到的實時操作系統通常指的是操作系統內核。實時操作系統內核通常要占用5%左右的CPU運行時間,另外內核是一個軟件代碼,需要額外占用ROM空間和RAM空間

實時性
實時性可以定義為:觸發條件產生后系統的反應能力。通俗的描述就是“天下武功唯快不破”,能達到所需要的“快”就是實時,在不同的場合需要達到us級、ns級。實時系統不僅僅只表現在“快”上,更主要的是實時系統需要對觸發事件在限定時間內做出反應,這個限定時間是根據實際需要來定,例如自動駕駛控制系統的規定時間要求很短,需要在極短時間內做出動作;一些農業溫度控制系統的規定時間要求比較長,需要溫度控制平滑穩定。

響應時間
實時性越強,其響應時間越短。響應時間是指系統識別到一個事件到開始做出響應的時間。舉一個簡單的例子:一個工控設備有一個急停按鍵開關,用戶希望按下急停開關的時候系統立即將停止所有的動作,假設用戶在第1.001秒時按下了急停開關,軟件系統在第1.011秒時執行了停止指令,工控設備相應的機械部件在1.211秒停止動作,此時軟件系統響應時間為0.01秒,設備系統響應時間為0.21秒,設備系統的響應時間和軟件系統的響應時間有一定區別,通常情況下設備系統的響應時間>軟件系統的響應時間。本文中提到的響應時間指的是軟件系統的響應時間

再舉一個通俗的例子:你在玩王者榮耀,突然發現對面打野從草叢中跑出準備gank你,從你眼睛看到,到手指點擊閃現,然后到你的人物閃現到塔下。這就是響應時間,高端職業玩家可能只需要100ms即可完成整套動作,而菜鳥玩家可能需要1000ms來完成整個動作。

普通的嵌入式軟件架構
普通的嵌入式軟件系統通常設計成前后臺結構,這個結構包含一個死循環和若干中斷服務程序:應用程序是一個無限循環的代碼塊,循環中調用相應的函數完成相應的操作(后 臺),中斷程序用于處理系統的異步事件(前臺)。前臺稱做中斷級,后臺稱做任務級。下面是一個典型的前后臺結構的代碼:

上圖中的代碼的執行流程是:
1、判斷按鍵標志位,若標志位為1就執行按鍵處理操作。
2、判斷通訊標志位,若標志位為1就執行通訊處理操作。
3、執行LCD顯示操作
4、判斷傳感器標志位,若標志位為1就執行傳感器處理操作。
此代碼中有3個中斷函數:
1、GPIO外部中斷,當按鍵按下后產生一個中斷,中斷函數中將鍵標志位置1。
2、串口空閑中斷,當串口總線空閑時產生一個中斷,中斷函數中將通訊標志位置1。
3、定時器中斷,每500ms周期性產生一個中斷,中斷函數中將傳感器標志位置1。

代碼執行如圖所示:

分析運行圖:
1、程序判斷按鍵標志位,標志位為0,不執行按鍵處理函數。
2、程序判斷通訊標志位,標志位為0,不執行通訊處理函數。
3、程序執行顯示處理函數,此時用戶按下了按鍵,系統進入按鍵中斷程序將按鍵標志位置1,中斷完成后返回顯示處理函數繼續運行。
4、顯示處理函數運行過程中,此時串口接收完一包數據產生了一個空閑中斷,系統進入串口空閑中斷程序將通訊標志位置1,中斷完成后返回顯示處理函數繼續運行。
5、顯示處理函數運行過程中,定時器產生中斷,系統進入定時器中斷程序將傳感器標志位置1。
6、顯示處理函數執行完畢,程序判斷傳感器標志位,標志位為1,執行通訊處理函數。
7、程序判斷按鍵標志位,標志位為1,執行按鍵處理函數。
8、程序判斷通訊標志位,標志位為1,執行通訊處理函數。
9、無限循環…

由上述例子可知,按鍵標志位和通訊標志位就緒后,程序還需要等待顯示函數,傳感器函數執行完畢。即使是按鍵處理函數的緊急性再高,也需要等待其他函數執行完畢。因此就產生了響應延遲,響應延遲的時間隨機的不確定的,有的時候時幾毫秒的時間,有的時候是幾百毫秒甚至更長(如執行傳感器讀取),因此需要提高系統的實時性。

實時操作系統
實時操作系可以隨時剝奪正在運行任務的CPU使用權,并將CPU使用權交給進入就緒狀態的最高優先級任務,使用操作系統后的運行圖如下:

分析運行圖:
1、低優先級的顯示任務正在運行,此時用戶按下了按鍵,系統進入按鍵中斷程序給按鍵任務發送一個信號,此時按鍵任務進入就緒狀態,中斷返回時切換到按鍵處理任務中運行。
2、按鍵處理任務正在運行,此時串口接收完一包數據產生了一個空閑中斷,系統進入串口空閑中斷程序并給通訊處理任務發送一個信號,通訊處理任務進入就緒狀態,中斷返回時切換到通訊處理任務。
3、通訊處理任務執行完畢,放棄CPU使用權限,此時切換到按鍵處理任務。
4、按鍵處理任務執行完畢,放棄CPU使用權限,此時切換到顯示處理任務。

由此可見,當觸發產生后實時操作系將立即中斷當前的任務并執行相應的任務。使用實時操作系可以極大的提高軟件系統的實時性。

實時操作系統組成
實時操作系由以下3個子系統組成(以uCOS和FreeRTOS為參考對象):
1、任務調度子系統
2、任務通信子系統
3、內存管理子系統

任務調度子系統主要是維護兩個鏈表:就緒表和等待表。切換任務時從就緒表中取出最高優先級任務;任務需要延時等待時,內核將任務中就緒表中移動到等待表中;時鐘節拍任務會周期性的更新等待表,并將等待時間完成的任務從等待表中移動到就緒表中。

任務通訊子系統主要是維護一個鏈表:掛起表。任務需要等待信號時,內核將任務移動到掛起表中,當內核收到信號時,內核將任務從掛起表中移動到就緒表中。

內存管理子系統,內核提供了幾種動態申請內存的方式,防止出現內存碎片。

實時操作系的子系統將再后續持續更新。

創作不易希望朋友們點贊,轉發,評論,關注。
您的點贊,轉發,評論,關注將是我持續更新的動力
作者:李巍
Github:liyinuoman2017

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/125574.html

相關文章

  • 入式系統基礎知識總結

    摘要:設計一個完整的需要完成兩部分工作嵌入式系統的硬件初始化和功能。片級初始化純硬件的初始化過程,把嵌入式微處理器從上電的默認狀態逐步設置成系統所要求的工作狀態。是嵌入式應用軟件的基礎和開發平臺。 一、嵌入式系統基礎 1、嵌入式系統的定義 1.1 ?定義:以應用為中心,以計算機技術為基礎,軟硬件可...

    AlphaWatch 評論0 收藏0
  • 如何將RTOS系統啟動時間做到“毫秒級”?AliOS Things是這樣做的

    摘要:自年以來,在智能家居市場的驅動下,智能貓眼市場膨脹速度驚人。移動偵測即人體感應當有人經過門前時會自動啟動拍照或者錄像功能記錄來訪者。而實時操作系統內核小巧,對任何中斷指令都可以做到馬上響應,系統啟動時間則只有幾秒鐘。 1、背景 ????隨著人工智能的迅速發展,智能家居的時代已經到來,除了智...

    Zachary 評論0 收藏0
  • 痞子衡入式入式Cortex-M系統中斷延遲及其測量方法簡介

    摘要:今天痞子衡給大家分享的是系統中斷延遲及其測量方法。至此,系統中斷延遲及其測量方法痞子衡便介紹完畢了,掌聲在哪里歡迎訂閱歡迎訂閱文章會同時發布到我的博客園主頁主頁知乎主頁微信公眾號平臺上。  大家好,我是痞子衡,是正經搞技術的痞子。今天痞子衡給大家分享的是Cortex-M系統中斷延遲及其測量方法。  在嵌入式領域里,實時性是個經常被我們掛在嘴邊的概念,這里的實時性主要強調得是當外界事件發生時,...

    不知名網友 評論0 收藏0
  • Zephyr Project RTOS - 開源實時操作系統的首次功能安全認證提交

    摘要:另一方面是提供的安全程度。這解決了為功能安全而設計的絕大多數設備用例。項目已經開始致力于在開源環境中開發功能安全認證的。最后,認證將建立軟件故障避免和控制措施到目標完整性水平。 showImg(https://segmentfault.com/img/bVbpvvs?w=137&h=174);作者:Amber Hibberd,博士。英特爾功能安全工程經理和Zephyr項目成員 免費的開...

    oliverhuang 評論0 收藏0
  • 發現一個非常好用的RTC(實時音視頻通信)方案,做直播和視頻通話都很牛

    摘要:除了一些線程調度和線程模型的調整,我們還需要進行業務邏輯上的優化,比如縮減高消耗,低反饋的業務模塊,降低消耗,限制業務邏輯隊列內存分配增長空間,避免某些業務場景中內存持續增長導致系統奔潰。 1、HaaS RTC背景介紹 HaaS RTC是阿里云IoT聯合視頻云開發的IoT設備端上的實時通...

    LeviDing 評論0 收藏0

發表評論

0條評論

不知名網友

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<