99久久全国免费观看_国产一区二区三区四区五区VM_久久www人成免费看片中文_国产高清在线a视频大全_深夜福利www_日韩一级成人av

嵌入式操作系統三問:what?when?how?

大家好,很高興和各位一起分享我的文章,喜歡和支持我的工程師,一定記得給我點贊、收藏、分享。

加微信[xyzn3333]與作者溝通交流,免費獲取更多單片機與嵌入式的海量電子資料。

在嵌入式領域中,嵌入式實時操作系統正得到越來越廣泛的應用。采用嵌入式實時操作系統(RTOS)可以更合理、更有效地利用 CPU 的資源,簡化應用軟件的設計,縮短系統開發時間,更好地保證系統的實時性和可靠性。本文我們對嵌入式實時操作系統進行經典三問:what?when?how?因此,以下是嵌入式設計需要RTOS解決方案的時間和原因。但在此之前,RTOS到底是什么,尤其是與裸機解決方案相比?

一:什么是嵌入式實時操作系統(RTOS)?

RTOS是一種操作系統,旨在管理嵌入式系統的硬件資源;它創建了多個軟件執行線程和一個調度程序來管理這些線程。另一種說法是一個調度內核,它創建了一個多任務和確定性的運行時環境。

RTOS與無操作系統的“前后臺”設計的最本質區別是任務調度器的設計,調度器可以為正在運行的任務分配精確且可重復的時間段的能力,

二:什么時候需要用RTOS?

當有更多中斷源、更多功能和更多通信接口時,通常使用RTOS。簡而言之,應用程序的復雜性在很大程度上決定了為MCU定制的RTO的使用。

剛開始學單片機,基本都是從裸機開始,經典的“項目”就是流水燈,也是你學習單片機的開始。但是隨著學習的不斷深入,裸機所暴露的問題就越來越多,這里我給大家總結下吧:1、并發性:程序并發工作效率低在寫裸機軟件時,不可避免的在主程序中會有一個超級大的 while(1) 循環,這里面幾乎包含整個項目的所有業務邏輯。因為每個業務邏輯里面基本都會有 delay 這樣的循環等待函數,這樣導致了所有的業務邏輯幾乎都是串行起來工作的。這個時候 CPU 就會有很多時間都浪費在了延時函數里,一直在空轉,導致軟件的并發效率非常差。2、模塊化:高內聚,低耦合的原則從軟件工程的角度,我們在做軟件開發時,都會強調高內聚、低耦合的原則。而裸機的模塊化開發難度非常大,模塊間的耦合較重,這也導致了無法在大型項目使用裸機來開發。還是剛才 main 函數中大 while(1) 的例子,可以想象到那么多功能都緊緊的擠在一個函數里,不可拆分,模塊化開發的困難重重。舉一個非常貼切的例子,在一些使用看門狗的項目中,如果使用 delay 延時函數,那得注意點,萬一延時過長,主函數來不及喂狗,看門狗就被觸發了。最后會產生這樣一種感覺,一個簡簡單單的 delay 還得考慮喂狗功能,裸機開發時操的心太多了,自然無法應用在大型項目中。3、生態:很多高級軟件組件,必須依賴于操作系統來實現比如說,前些年一個基于 FreeModbus 的 Modbus 主機協議棧,因為要考慮各個平臺適配問題,原本計劃支持各種各樣的操作系統,甚至是裸機平臺。在各個操作系統上的適配都非常容易,但再去嘗試著適配裸機時,發現難度重重,有一些函數在裸機上實現起來非常復雜,而且針對于不同的裸機環境,幾乎沒有通用性可言,太耗費精力了。所以我最終就放棄了裸機適配,一直到現在,在裸機上都沒用這個 Modbus 主機協議棧。還有一些軟件無法運行在裸機上,比如:樂鑫,Realtek、 ti 和 聯發科 提供的 WIFi SOC SDK ,一些藍牙 SOC 的 SDK 也都是只支持操作系統。所以,如果你不了解、不會使用操作系統,這些芯片也就玩不轉了。4、實時性:功能復雜的情況下,實時性無法保證軟件的實時性在一些領域會有一定的要求,軟件的每個步驟必須在指定的時間被觸發。工控領域就是最常見到的場景,如果實時性無法保證,機械設備可能就無法按照指定時序要求去動作,以至于發生機械事故,甚至會威脅到人的生命。回過來接著看裸機軟件,如果軟件變得龐大以后,可以想象到,主程序中那么大的一個 while(1) 循環,代碼耦合嚴重,到處都是 delay 延時,要保證實時性幾乎是不可能的。5、可重用性:軟件可重用性差,總是重復造輪子可重用性與模塊化程度有直接的關系。相信大家每個人在工作中都不想做很多重復性的工作,同樣在寫代碼時,也想著盡可能少寫一些功能相似的代碼。但在這個嵌入式碎片化極其嚴重的時代,各式各樣的芯片,想要讓同樣的代碼,在裸機環境下同時適配不同的硬件,難度非常大。這樣也就導致了裸機的代碼會過多的依賴于底層硬件,重復造輪子的過程也就不可避免。

三:選擇RTOS需要考慮的因素

現在開源或不開源的RTOS非常多,當我們選擇具體使用哪個RTOS時主要需要考慮哪些因素呢?響應性:RTOS調度算法、中斷延遲和上下文切換時間將顯著定義系統的響應性和確定性。最重要的考慮是需要什么類型的響應——是否需要硬實時響應?這意味著有精確定義的最后期限,如果不滿足,將導致系統失敗?;蛘撸谴_定性的軟實時響應是否合適?在這種情況下,無法保證每項任務何時完成。可用系統資源:微內核使用最少的系統資源,并提供有限但必不可少的任務調度功能。微內核通常提供硬實時響應,廣泛用于RAM/ROM容量有限的嵌入式微處理器,但也適用于較大的嵌入式處理器系統。或者,可以使用Linux或WinCE等功能齊全的操作系統。它們提供了功能豐富的操作系統環境,通常隨驅動程序、GUI和中間件組件一起提供。與微內核相比,功能齊全的操作系統通常響應速度較慢,需要更多的內存和處理能力,主要用于系統資源豐富的強大嵌入式處理器上。開源或專業許可有廣泛使用的、免費的開源RTOS可用,在GPL或修改的GPL許可下分發。然而,這些許可證可能包含保留拷貝的限制,提供的保護很少。專業授權的RTOS產品取消了版權限制,提供完整的知識產權侵權賠償和擔保。此外,只有一家公司提供支持,并對產品質量負責。質量:RTOS供應商在其組織內對質量的重視程度如何?質量不僅僅是編碼標準。是否有正確的程序來保證未來產品和支持的質量?管理良好、重視質量的公司往往通過ISO 9001認證。安全認證:預認證和可認證RTO可用于需要按照國際設計標準(如DO-178C和IEC 61508)認證的應用。這些RTO提供了關鍵的安全特性,以及認證機構要求的設計證據,以確認用于開發RTO的過程符合相關設計標準。許可證:它不僅是您需要考慮的RTOS功能和特性,而且是對您的項目預算和公司的“投資回報”最有效的許可模式。RTOS供應商:RTOS背后的公司與選擇正確的RTOS本身一樣重要。理想情況下,您希望與供應商建立關系,不僅支持您當前的產品,而且支持您未來的產品。要做到這一點,你需要選擇一個具有良好聲譽的積極主動的供應商,與領先的硅制造商合作,確保他們能夠支持最新的處理器和工具。信任、產品質量和支持質量是一切。

聲明:本內容為作者獨立觀點,不代表電子星球立場。未經允許不得轉載。授權事宜與稿件投訴,請聯系:editor@netbroad.com
覺得內容不錯的朋友,別忘了一鍵三連哦!
贊 3
收藏 3
關注 51
成為作者 賺取收益
全部留言
0/200
成為第一個和作者交流的人吧
主站蜘蛛池模板: 一区二区三区国产免费 | 久久众筹精品私拍模特 | 69免费网站 | 韩日免费| 欧美性生交大片免费看a片 黄色录像a级片 | 免费视频mv在线观看 | 国产乱码精品一区二区三区忘忧草 | 精品乱码一区二区三四区视频 | 国产亚洲综合精品 | 欧美人与ZOXXXX乱叫 | 欧美精产国品一二三产品区别在哪 | 久久精品国产成人精品 | 国产精品乱码精品久久久 | 国内精品人妻无码久久久影院蜜桃 | 亚洲一区二区制服在线 | 97视频免费 | 九色精品国产 | 青青操五月天 | 日本孕妇潮喷高潮视频 | 国产高潮久久 | 秋霞影视一区二区三区 | 欧美日韩激情在线 | 亚洲人成黄69影院 | 好大好硬好湿免费视频 | 中文天堂在线观看 | 亚洲高清免费观看在线视频 | 色哟哟最新在线观看入口 | 精品中文视频 | 91超碰caoporm国产香蕉 | 亚洲成AV人片一区二区密柚 | 国产精品免费人成网站 | 欧美激情第五页 | 日本理论中文字幕 | 女人被男人桶爽视频网站 | CHINESEMATURE老女熟 | 丰满少妇高潮惨叫久久久 | 天天干天天摸天天操 | 久久精品中文字幕一区二区三区 | 北条麻妃中文字幕 | 狠狠躁夜夜a产精品视频 | 日日夜夜精品网站 |