為FPGA軟處理器選擇操作系統

發(fā)布時(shí)間:2010-10-11 22:24    發(fā)布者:conniede
關(guān)鍵詞: FPGA , RTOS , Unix , 處理器
1 引言

操作系統能夠提高可移植性,并提供多種經(jīng)過(guò)測試的抽象層,服務(wù)層和應用模塊層以供選擇,從而加快產(chǎn)品上市時(shí)間并減少應用程序出錯的可能性。然而,選擇一個(gè)嵌入式操作系統( OS )從來(lái)就不是一個(gè)簡(jiǎn)單的過(guò)程,因為集成嵌入式軟件的方式選擇余地很大,你可以完全都由自己來(lái)編寫(xiě),或通過(guò)商業(yè)定制專(zhuān)門(mén)實(shí)時(shí)操作系統,也可以直接購買(mǎi)通用操作系統不作任何修改,現成的通用操作系統。FPGA性能的提高和軟處理器核的出現,直接導致了可編程邏輯SoC解決方案的產(chǎn)生,隨著(zhù)這一變化,關(guān)于選擇標準,設計方案以及折中考慮等傳統經(jīng)驗也需要與時(shí)俱進(jìn)以適應這些新的開(kāi)發(fā)方式。

在本文中,我們研究了選擇嵌入式操作系統的各種方案,并且針對嵌入式和實(shí)時(shí)操作系統,討論一些選擇標準,并強調由可編程邏輯解決方案引入的設計折衷。闡述了一個(gè)典型實(shí)例,這里我們以在萊迪思半導體公司的FPGA 上運行的LatticeMico32軟處理器設計為例提供一個(gè)典型方案的討論。

2 傳統經(jīng)驗

根據傳統經(jīng)驗,一個(gè)操作系統的選擇有四個(gè)主要方式。

2.1 無(wú)操作系統

許多簡(jiǎn)單的嵌入式系統不需要操作系統。該代碼通常始于設立堆棧指針和初始化幾個(gè)時(shí)鐘和外設寄存器。然后,該代碼進(jìn)入主循環(huán)(也稱(chēng)為超級循環(huán)) ,以執行產(chǎn)品的功能。編寫(xiě)中斷服務(wù)程序( ISR)用以處理異步事件,以提供一些響應而不是輪詢(xún)設備方式來(lái)進(jìn)行服務(wù)。 ISR的響應通常是在0到10微秒的范圍。如果 處理器速度 足夠 快,以及超級循環(huán)是小而緊湊的,這是一個(gè)完全可行的選擇。然而,如果進(jìn)行更復雜的操作,如執行控制循環(huán),提供圖形顯示服務(wù),使用文件系統或網(wǎng)絡(luò )堆棧( TCP / IP協(xié)議或其他),超級循環(huán)將無(wú)法正常工作。如果考慮一個(gè) 快速和 功能強大的 處理器, 如開(kāi)放源 代碼LatticeMico32軟處理器, 應該選擇一個(gè)操作系統。

2.2 自己編寫(xiě)操作系統

對于一些特定需求,現有的解決方案無(wú)法滿(mǎn)足需要,或者現有的解決方案成本太高,通常就需要考慮自己編寫(xiě)操作系統。自己編寫(xiě)RTOS (實(shí)時(shí)操作系統)通常不是一個(gè)好的選擇,因為總是嚴重低估所需付出的努力。一個(gè)簡(jiǎn)單的“tasker”要寫(xiě)幾天或幾周,但更艱巨的挑戰是需要對實(shí)現魯棒性商業(yè)產(chǎn)品的努力。例如,一個(gè)商業(yè)的RTOS ,如μC/OS-II可能包含超過(guò)10000行的代碼,已經(jīng)在各種各樣的產(chǎn)品中得到了現場(chǎng)驗證,并可能已被認證應用于,如電子和醫療產(chǎn)品等。如果選擇你自己編寫(xiě),誰(shuí)將確保長(cháng)期維護,并且完成詳細的文檔?

從商業(yè)的觀(guān)點(diǎn)來(lái)看,自己編寫(xiě)的RTOS不是一個(gè)好的選擇。

2.3 商業(yè)RTOS

實(shí)時(shí)操作系統是一個(gè)管理微控制器,微處理器或DSP時(shí)間的軟件。最重要的一個(gè)特點(diǎn)是它對實(shí)時(shí)事件的響應,通常不到25微秒。這種響應通常是確定性,在某些情況下,甚至相當穩定。一個(gè)實(shí)時(shí)操作系統以應用編程接口( API )的形式為應用程序員提供了許多“服務(wù)”。當選擇一個(gè)實(shí)時(shí)操作系統時(shí),從技術(shù)和業(yè)務(wù)問(wèn)題方面考慮會(huì )有數十種選擇。
技術(shù)問(wèn)題可以大致分類(lèi)為:

  • RTOS對應用作出的響應夠嗎?

  • 實(shí)時(shí)操作系統提供了所需的功能嗎?大多數實(shí)時(shí)操作系統提供相同的基本功能:任務(wù)管理,時(shí)間管理,信號量,消息隊列,事件標志等。

  • RTOS可以實(shí)時(shí)用于不同的CPU (即代碼可以移植嗎)嗎 ?一個(gè) 實(shí)時(shí)操作系統,如μC/OS-II已移植到超過(guò)45種不同CPU 架構, 所以在這種 情況下,可移植性不會(huì )成為問(wèn)題,產(chǎn)品和其一部分的長(cháng)壽性是得到保證的。如果使用一個(gè)新的架構,移植 到一個(gè) CPU通常需要一兩個(gè)星期。

  • 使用RTOS是否有足夠的ROM和RAM?根據所需的特性RTOS的空間可以減少嗎?例如,μC/OS-II是可以升級的,代碼 空間的要求在6千字節到24 千字節的之間,最低只需要500字節的RAM 。

從商業(yè)角度,事情并非那么容易解決。具體來(lái)說(shuō),嵌入式開(kāi)發(fā)者需要從操作系統供應商那里得到滿(mǎn)意答復,了解價(jià)格結構,支持結構和供應商的聲譽(yù)和穩定性。尋找一個(gè)ROTS操作系統或RTOS的供應商時(shí),調查通常是一個(gè)好的開(kāi)端。

當系統響應速度是最重要時(shí),如控制和監測應用程序,就會(huì )選擇商業(yè)的RTOS,因為它們很依賴(lài)于軟件的執行功能。如果你可以選擇用硬件實(shí)現時(shí)間至關(guān)重要的功能,通常就不需要由RTOS提供嚴格的時(shí)間保證。

2.4 UNIX操作系統

在過(guò)去幾年中,嵌入式應用中采用的32位處理器平臺的性能和功能得到了極大增強。今天,即使軟處理器,如LatticeMico32提供達到50至100 DMIPS的計算能力。隨著(zhù)可用資源的性能和功能的增強,提供豐富的功能集和抽象層的操作系統已成為一種可行的可選嵌入式解決方案。UNIX提供了非常豐富的編程環(huán)境,對多處理器的應用有相當的規模,以及在網(wǎng)絡(luò )的應用方面擁有豐富的歷史。通過(guò)文件操作,它提供了一個(gè)統一的設備抽象層,使平臺之間的應用可以快速移植。一些UNIX版本也可獲取開(kāi)放源代碼授權:Linux是最著(zhù)名的變種,有非常龐大的用戶(hù)群體和許多嵌入式應用(如WLAN路由器,打印機,VoIP電話(huà))。Linux系統甚至對不包括MMU (內存管理單元)的處理器提供了有限的支持。各種BSD (伯克利軟件分發(fā))版本可能不太為人所知,但它們在許可證上限制較少。  

一些實(shí)時(shí)擴展為L(cháng)inux提供了在Linux執行層的頂部(或者說(shuō),下面)的最佳的軟實(shí)時(shí)層。RT/ Linux、 RTAI和Xenomai是實(shí)時(shí)擴展的例子。通過(guò)多種已知的API從其他的RTOS (在Xenomai,此功能被稱(chēng)為“skins”),一些實(shí)時(shí)層輸出其功能 。

Linux系統提供了豐富的應用,可以很容易地集成到一個(gè)嵌入式應用程序,如Web服務(wù)器,協(xié)議棧,數據庫引擎,圖形庫和網(wǎng)絡(luò )管理。這些功能可以添加到任何嵌入式應用,而不需要“從草圖”開(kāi)發(fā)。隨著(zhù)Linux的先進(jìn)I/O子系統的出現,和全面支持的非易失存儲技術(shù)(從閃存到SATA硬盤(pán)) ,甚至可以集成“大”的應用(如在NAS應用中,跟蹤照片的數據庫應用)。

廣泛使用的操作系統技術(shù),例如Linux,其中一個(gè)最大的好處是在互聯(lián)網(wǎng)上可獲取大量的可用信息,有許多專(zhuān)業(yè)設計公司可以提供專(zhuān)業(yè)服務(wù)。雖然源代碼的許可證是免費的,Linux的復雜性和大小會(huì )壓垮許多用戶(hù)。在這種情況下,專(zhuān)門(mén)設計公司,如Theobroma Systems可提供專(zhuān)業(yè)支持,培訓和總承包設計服務(wù)。重要的是要記住,“開(kāi)放源代碼組織”并不能給你提供工業(yè)質(zhì)量的支持,只有有經(jīng)驗的工程人員才行。

使用FPGA解決方案時(shí),有與大型操作系統如Linux相關(guān)的性能和響應時(shí)間方面的問(wèn)題,可以用硬件實(shí)現。在這種情況下,操作系統功能作為一種資源監管,大部分關(guān)鍵時(shí)間工作用硬件來(lái)完成。這個(gè)方法的一個(gè)例子是在UART內利用一個(gè)大的FIFO,以減少至操作系統 的中斷次數。當然,此方法有一定的局限性和復雜性,但與一個(gè)專(zhuān)用的CPU芯片相比,有更多的靈活性。

3 另一方案:使用可編程邏輯

FPGA為系統設計者提供了一系列的權衡選擇,這是現有的ASIC/ASSP解決方案無(wú)法提供的。正如圖1所示 ,當一個(gè)處理器集成至FPGA時(shí),設計者可以各種方式實(shí)現功能例如:

  • 軟件控制硬件

  • 僅軟件

  • 軟件功能,控制或數據流,通過(guò)硬件加速(SW/HW)

  • 僅硬件,與CPU沒(méi)有直接的互動(dòng),但是硬件可與任何功能進(jìn)行交互。


圖1 FPGA中的多種選擇

使用提供這些權衡的可編程邏輯解決方案,SoC設計者有控制結構的多種選擇。相反,控制結構的選擇涉及到如何實(shí)現所需的功能。

一個(gè)簡(jiǎn)單的便攜式媒體播放器示范了操作系統如何控制硬件,以及如何使用一個(gè)FPGA提供一系列改善硬件/軟件的權衡選擇。圖2從硬件的角度展示了播放器的功能。所需硬件的數量在很大程度上取決于所期望的系統響應。有了RTOS,許多硬件模塊可以比在Linux應用中簡(jiǎn)單得多?偠灾,FPGA的可編程邏輯為任何操作系統提供硬件權衡選擇。


圖2 從硬件角度觀(guān)察便攜式媒體播放器

設計者在系統中用什么附加硬件,和如何用附加硬件有更多的靈活性,這可以從軟件的角度來(lái)觀(guān)察,如圖3所示。


圖3 從軟件角度觀(guān)察相同的便攜式媒體播放器

一個(gè)鍵盤(pán)掃描器或許可以作為RTOS任務(wù)來(lái)執行,也作為硬件通過(guò)Linux任務(wù)來(lái)訪(fǎng)問(wèn)。事實(shí)上,用硬件實(shí)現的鍵盤(pán)掃描器在系統中是隱藏的,因為它被包裝在一個(gè)任務(wù)中。其優(yōu)點(diǎn)是大大減少了對操作系統的中斷。輕松地權衡添加硬件或者使用軟件為系統設計師帶來(lái)了一種新的靈活性。

4 與FPGA相關(guān)的操作系統選擇

基于FPGA的應用引入了一個(gè)將時(shí)間緊迫任務(wù)用硬件實(shí)現的重要方法,使選擇操作系統在時(shí)間約束方面得到緩解,參見(jiàn)圖4。這張圖顯示了本文中討論過(guò)的各種選擇的響應范圍。
因為它是可編程邏輯,FPGA為設計者提供了精細的增量控制執行。因為它是硬件,它對實(shí)時(shí)事件的響應極快。如圖所示,該響應可用于擴大服務(wù)范圍,甚至更大的操作系統。


圖4 響應范圍

5 結論

用可編程邏輯的SoC平臺的設計,如FPGA芯片里的LatticeMico32,給系統設計師提供了難得的機會(huì ),因為他們可以選擇自己喜歡的硬件支持和輕載功能。這使得系統設計師通過(guò)轉移軟件到FPGA中執行數據路徑,來(lái)滿(mǎn)足時(shí)間上的限制。這一做法改變了對操作系統的標準選擇判據,使得在實(shí)時(shí)操作系統和通用操作系統解決方案之間有更靈活的選擇。雖然商業(yè)實(shí)時(shí)操作系統在確定中斷響應方面仍然有其優(yōu)勢,但通過(guò)使用FPGA中實(shí)現的減負引擎后,通用操作系統的解決方案(如Linux )可能成為適合于較大的應用領(lǐng)域!败泴(shí)時(shí)”的解決方案,如RT Linux或Xenomai,這時(shí)就顯得不那么理想了,因為使用減負引擎可以提供更好的響應而沒(méi)有額外的工程費用。  

無(wú)論選擇了RTOS操作系統,還是基于Linux的解決方案用于基于FPGA的設計,開(kāi)發(fā)者需要強有力的合作伙伴支持他們。萊迪思半導體公司的合作伙伴有Micrium ,該公司擁有μC/OS-II許可證和其他的嵌入式軟件組件,還有Theobroma Systems,該公司在LatticeMico32平臺上為μClinux(微控制器的Linux )提供咨詢(xún),培訓和專(zhuān)業(yè)服務(wù)。
本文地址:http://selenalain.com/thread-31614-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页