為FPGA軟處理器選擇操作系統(tǒng)(08-100)
技術(shù)問題可以大致分類為:
本文引用地址:http://2s4d.com/article/91693.htm* RTOS對應(yīng)用作出的響應(yīng)夠嗎?
* 實時操作系統(tǒng)提供了所需的功能嗎?大多數(shù)實時操作系統(tǒng)提供相同的基本功能:任務(wù)管理,時間管理,信號量,消息隊列,事件標(biāo)志等。
* RTOS可以實時用于不同的CPU (即代碼可以移植嗎)嗎 ?一個 實時操作系統(tǒng),如μC/OS-II已移植到超過45種不同CPU 架構(gòu), 所以在這種 情況下,可移植性不會成為問題,產(chǎn)品和其一部分的長壽性是得到保證的。如果使用一個新的架構(gòu),移植 到一個 CPU通常需要一兩個星期。
* 使用RTOS是否有足夠的ROM和RAM?根據(jù)所需的特性RTOS的空間可以減少嗎?例如,μC/OS-II是可以升級的,代碼 空間的要求在6千字節(jié)到24 千字節(jié)的之間,最低只需要500字節(jié)的RAM 。
從商業(yè)角度,事情并非那么容易解決。具體來說,嵌入式開發(fā)者需要從操作系統(tǒng)供應(yīng)商那里得到滿意答復(fù),了解價格結(jié)構(gòu),支持結(jié)構(gòu)和供應(yīng)商的聲譽和穩(wěn)定性。尋找一個ROTS操作系統(tǒng)或RTOS的供應(yīng)商時,調(diào)查通常是一個好的開端。
當(dāng)系統(tǒng)響應(yīng)速度是最重要時,如控制和監(jiān)測應(yīng)用程序,就會選擇商業(yè)的RTOS,因為它們很依賴于軟件的執(zhí)行功能。如果你可以選擇用硬件實現(xiàn)時間至關(guān)重要的功能,通常就不需要由RTOS提供嚴(yán)格的時間保證。
UNIX操作系統(tǒng)
在過去幾年中,嵌入式應(yīng)用中采用的32位處理器平臺的性能和功能得到了極大增強。今天,即使軟處理器,如LatticeMico32提供達(dá)到50至100 DMIPS的計算能力。隨著可用資源的性能和功能的增強,提供豐富的功能集和抽象層的操作系統(tǒng)已成為一種可行的可選嵌入式解決方案。UNIX提供了非常豐富的編程環(huán)境,對多處理器的應(yīng)用有相當(dāng)?shù)囊?guī)模,以及在網(wǎng)絡(luò)的應(yīng)用方面擁有豐富的歷史。通過文件操作,它提供了一個統(tǒng)一的設(shè)備抽象層,使平臺之間的應(yīng)用可以快速移植。一些UNIX版本也可獲取開放源代碼授權(quán):Linux是最著名的變種,有非常龐大的用戶群體和許多嵌入式應(yīng)用(如WLAN路由器,打印機,VoIP電話)。Linux系統(tǒng)甚至對不包括MMU (內(nèi)存管理單元)的處理器提供了有限的支持。各種BSD (伯克利軟件分發(fā))版本可能不太為人所知,但它們在許可證上限制較少。
一些實時擴展為Linux提供了在Linux執(zhí)行層的頂部(或者說,下面)的最佳的軟實時層。RT/ Linux、 RTAI和Xenomai是實時擴展的例子。通過多種已知的API從其他的RTOS (在Xenomai,此功能被稱為“skins”),一些實時層輸出其功能 。
Linux系統(tǒng)提供了豐富的應(yīng)用,可以很容易地集成到一個嵌入式應(yīng)用程序,如Web服務(wù)器,協(xié)議棧,數(shù)據(jù)庫引擎,圖形庫和網(wǎng)絡(luò)管理。這些功能可以添加到任何嵌入式應(yīng)用,而不需要“從草圖”開發(fā)。隨著Linux的先進(jìn)I/O子系統(tǒng)的出現(xiàn),和全面支持的非易失存儲技術(shù)(從閃存到SATA硬盤) ,甚至可以集成“大”的應(yīng)用(如在NAS應(yīng)用中,跟蹤照片的數(shù)據(jù)庫應(yīng)用)。
廣泛使用的操作系統(tǒng)技術(shù),例如Linux,其中一個最大的好處是在互聯(lián)網(wǎng)上可獲取大量的可用信息,有許多專業(yè)設(shè)計公司可以提供專業(yè)服務(wù)。雖然源代碼的許可證是免費的,Linux的復(fù)雜性和大小會壓垮許多用戶。在這種情況下,專門設(shè)計公司,如Theobroma Systems可提供專業(yè)支持,培訓(xùn)和總承包設(shè)計服務(wù)。重要的是要記住,“開放源代碼組織”并不能給你提供工業(yè)質(zhì)量的支持,只有有經(jīng)驗的工程人員才行。
使用FPGA解決方案時,有與大型操作系統(tǒng)如Linux相關(guān)的性能和響應(yīng)時間方面的問題,可以用硬件實現(xiàn)。在這種情況下,操作系統(tǒng)功能作為一種資源監(jiān)管,大部分關(guān)鍵時間工作用硬件來完成。這個方法的一個例子是在UART內(nèi)利用一個大的FIFO,以減少至操作系統(tǒng) 的中斷次數(shù)。當(dāng)然,此方法有一定的局限性和復(fù)雜性,但與一個專用的CPU芯片相比,有更多的靈活性。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論