1. gzyueqian
      13352868059

      POSIX是未來(lái)推進(jìn)嵌入式開(kāi)發(fā)RTOS項(xiàng)目的關(guān)鍵嗎?

      更新時(shí)間: 2024-07-02 09:57:51來(lái)源: 粵嵌教育瀏覽量:1404

      在嵌入式系統(tǒng)中,對(duì)兼容性和便攜性的追求是一個(gè)永恒的挑戰(zhàn)。雖然今天許多系統(tǒng)都采用了實(shí)時(shí)操作系統(tǒng)(RTOS),但每個(gè)系統(tǒng)都是獨(dú)一無(wú)二的,差異很大,因此兼容性仍然是一個(gè)問(wèn)題。如果不希望應(yīng)用程序代碼與RTOS緊密耦合,那么只有幾種選擇。

       

      首先,可以創(chuàng)建一個(gè)操作系統(tǒng)抽象層(OSAL)。雖然優(yōu)雅且符合架構(gòu)師的世界觀,但大多數(shù)團(tuán)隊(duì)無(wú)法接受這個(gè)想法。這增加了復(fù)雜性,并且設(shè)計(jì)出完全符合需求的產(chǎn)品具有挑戰(zhàn)性。(即使有一個(gè)ArmCMSIS-RTOS v2這樣的存在)

       

      一個(gè)更有趣也更容易接受的解決方案是采用便攜式操作系統(tǒng)接口(POSIX)POSIX是一組標(biāo)準(zhǔn)化的API和約定,長(zhǎng)期以來(lái)一直是類(lèi)似Unix操作系統(tǒng)領(lǐng)域的主流。但是POSIX是未來(lái)開(kāi)發(fā)RTOS應(yīng)用程序的關(guān)鍵嗎?在這篇文章中,我們將探討POSIXRTOS開(kāi)發(fā)中的作用、它的優(yōu)勢(shì)、考慮事項(xiàng)以及表明它可能確實(shí)是前進(jìn)方向的趨勢(shì)。

       

      POSIX是什么?

      POSIXIEEE定義的一組標(biāo)準(zhǔn),用于確保跨類(lèi)Unix操作系統(tǒng)的兼容性和可移植性。它提供了標(biāo)準(zhǔn)的應(yīng)用程序編程接口(API)、命令行外殼和實(shí)用程序接口。POSIX為線程管理、文件I/O、套接字和計(jì)時(shí)器定義了接口,使嵌入式開(kāi)發(fā)人員能夠更容易地編寫(xiě)跨不同Unix系統(tǒng)工作的軟件。

       

      RTOS兼容性挑戰(zhàn)

      RTOS應(yīng)用程序通常是為它們運(yùn)行的特定操作系統(tǒng)定制的。這種定制可確保應(yīng)用程序充分利用RTOS的特性和功能。但是,它也將應(yīng)用程序與RTOS緊密耦合在一起!對(duì)于一個(gè)從未計(jì)劃改變RTOS團(tuán)隊(duì)來(lái)說(shuō),這可能不是問(wèn)題。RTOS成為他們的應(yīng)用程序所圍繞的架構(gòu)的核心組件。

       

      任何優(yōu)秀的軟件架構(gòu)師都會(huì)討厭這個(gè)想法。一個(gè)好的架構(gòu)和實(shí)現(xiàn)應(yīng)該是與操作系統(tǒng)無(wú)關(guān)的,而不是以操作系統(tǒng)為中心!今天,許多嵌入式開(kāi)發(fā)團(tuán)隊(duì)正在設(shè)計(jì)他們計(jì)劃在未來(lái)十年或更長(zhǎng)時(shí)間內(nèi)使用的軟件平臺(tái)。如何確定選擇的RTOS將仍然存在或提供需要的支持?如果業(yè)務(wù)目標(biāo)或需求發(fā)生變化,而不同的RTOS最能滿足這些需求,那該怎么辦?

       

      如果發(fā)生上述任何情況,并且已經(jīng)將RTOS與應(yīng)用程序緊密耦合,那么將面臨大量的時(shí)間和成本來(lái)更新和重新驗(yàn)證的軟件。你可能認(rèn)為這只是更新調(diào)用的問(wèn)題,只是幾天的工作。事情總是比你想象的復(fù)雜。例如,請(qǐng)參閱FreeRTOS如何在隊(duì)列中發(fā)送數(shù)據(jù),以及ThreadX如何在隊(duì)列中將數(shù)據(jù)發(fā)送。一個(gè)按字節(jié),另一個(gè)按!沒(méi)什么大不了的,但如果你忽略了這一區(qū)別呢?(給你個(gè)提示靜默緩沖區(qū)溢出,導(dǎo)致應(yīng)用程序中其他地方出現(xiàn)意外行為!)。

       

      POSIXRTOS應(yīng)用程序中的作用

      POSIX可以作為RTOS開(kāi)發(fā)中的一個(gè)統(tǒng)一因素。通過(guò)采用符合POSIXAPIRTOS供應(yīng)商可以為嵌入式開(kāi)發(fā)人員提供一個(gè)熟悉且一致的編程接口。這意味著為一個(gè)POSIX兼容的RTOS編寫(xiě)的應(yīng)用程序可以更容易地移植到另一個(gè),而不需要大量的代碼更改。

      有利于RTOS應(yīng)用程序的一些關(guān)鍵POSIX特性包括

      l POSIX Threads (Pthreads):支持多線程和并行性,這對(duì)實(shí)時(shí)應(yīng)用程序至關(guān)重要。

      l POSIX文件I/O簡(jiǎn)化跨不同RTOS平臺(tái)的文件操作。

      l POSIX套接字用標(biāo)準(zhǔn)化的套接字API促進(jìn)網(wǎng)絡(luò)通信。

      l POSIX定時(shí)器管理時(shí)間關(guān)鍵的任務(wù)和調(diào)度。

      l POSIX信號(hào)處理異步事件和信號(hào)。

      l POSIX互斥和信號(hào)量線程安全操作的同步原語(yǔ)。

       

      RTOS應(yīng)用程序中使用POSIX的優(yōu)點(diǎn)和缺點(diǎn)

      RTOS應(yīng)用程序中采用POSIX有幾個(gè)好處。首先,POSIX兼容性使得跨不同的RTOS平臺(tái)重用或改編代碼更加容易,減少了開(kāi)發(fā)時(shí)間和工作量。接下來(lái),在基于POSIX的環(huán)境中有經(jīng)驗(yàn)的嵌入式開(kāi)發(fā)人員可以在處理RTOS應(yīng)用程序時(shí)利用他們的技能。傳統(tǒng)上,新開(kāi)發(fā)人員需要大量的培訓(xùn)。有了POSIX,任何熟悉Unix模型的開(kāi)發(fā)人員從第一天開(kāi)始就能高效工作。最后,開(kāi)發(fā)者可以同時(shí)針對(duì)多個(gè)平臺(tái)。例如,一個(gè)團(tuán)隊(duì)可以使用RTOS作為他們的嵌入式目標(biāo),但是測(cè)試他們的應(yīng)用程序代碼Linux

       

      這些優(yōu)勢(shì)有利于使用POSIX。不過(guò),在做出這樣的決定之前,有必要了解POSIX的局限性。例如,有人認(rèn)為POSIX抽象引入的開(kāi)銷(xiāo)可能會(huì)影響資源受限環(huán)境中的實(shí)時(shí)性能。事實(shí)上,在資源高度受限的系統(tǒng)中,增加的復(fù)雜性可能會(huì)使POSIX的使用立即變得不可行。即使采用了POSIX,某些應(yīng)用程序也可能會(huì)有特定的需求,單靠POSIX是無(wú)法完全滿足的。在這種情況下,特定于RTOSAPI可能仍然是必要的,盡管團(tuán)隊(duì)可能會(huì)盡力減少這些API的使用。

       

      結(jié)論

      在兼容性和可移植性至關(guān)重要的世界里,POSIX是應(yīng)對(duì)RTOS應(yīng)用程序開(kāi)發(fā)挑戰(zhàn)的有前途的解決方案。雖然它可能不是一個(gè)萬(wàn)能的解決方案,但它在代碼可移植性和開(kāi)發(fā)人員熟悉度方面的優(yōu)勢(shì)必須得到重視。RTOS應(yīng)用的未來(lái)可能是POSIX驅(qū)動(dòng)的,在資源受限的嵌入式系統(tǒng)中開(kāi)創(chuàng)了一個(gè)跨平臺(tái)開(kāi)發(fā)的新時(shí)代。已經(jīng)有幾個(gè)開(kāi)源的和商業(yè)的RTOS解決方案提供了POSIX接口。看看這個(gè)成熟的標(biāo)準(zhǔn)是否會(huì)在使用RTOS應(yīng)用程序的嵌入式開(kāi)發(fā)人員中獲得第二次生命,這將是一件有趣的事情。

      免費(fèi)預(yù)約試聽(tīng)課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 午夜性色福利剧场 | 无遮挡高潮国产免费观看 | 日本一道本日韩 | 一色屋成人精品视频在线 | 日本一本免费一区二区三区免 | 亚洲综合中文字幕无线码 |