a一级爱做片免费观看欧美,久久国产一区二区,日本一二三区免费,久草视频手机在线观看

關 閉

新聞中心

EEPW首頁 > 安全與國防 > 學習方法與實踐 > 如何提高定制嵌入式設備開發效率?

如何提高定制嵌入式設備開發效率?

——
作者:Mike Hall 時間:2007-11-15 來源:賽迪網 收藏
       應用人員不需每次都對他們編寫的一項應用進行重復的勞動。工具和應用架構已獲得了長足的發展,以至于應用人員能夠集中精力創造附加價值,而無需擔心底層的應用架構和細節。那么系統的開發是否也朝著同樣的方向發展? 

       過去,系統通常是由工程師自行利用匯編語言設計,在硬件上運行,不需任何通信技術或安全架構。這些系統會像獨立設備一樣運行,在許多情況下甚至不用操作系統的支持。 

       事實上,這些系統只會運行一個專用的單任務或進程,開發人員將負責系統的每個方面、系統與底層硬件的互動及用戶輸入和輸出(若有必要)。設備的每個方面都要由開發人員編碼。一般來說,應用開發人員必須非常熟悉底層硬件,而且或許還曾經參與硬件的設計。 

       隨著時間的推移,開發人員不再使用匯編語言自行設計操作系統程序,而是改用C/C++等高級語言或利用軟件庫開發字符串處理、文件I/O、圖形、視頻等常用軟件。 

       許多知名的軟件開發工具都提供軟件庫以協助應用軟件開發,我們可將這些軟件庫視為操作系統和應用軟件間的中介層,但在許多情況下應用開發人員仍需控制對象的生命周期、線程和內存管理。 

       許多應用開發軟件庫其實就是應用軟件和底層操作系統間的中介層,而許多軟件庫還提供原代碼以方便設計人員了解軟件庫的工作方式,并通過檢查源代碼來確定軟件庫調用本地操作系統API的速度。 

       應用開發軟件庫提供原代碼的另一優點是設計人員可借此擴大軟件庫功能。只要將應用開發和操作系統抽象模型往前推進一步,我們就能得到 (多數情況下) 與操作系統和處理器無關的應用開發模型,Java和.NET就是很好的例子。在這個模型里,應用開發人員與底層操作系統的距離會更遠,對象生命周期是由應用軟件的運行時間環境(JVM或.NET運行時間)、類別、對象、事件及與底層操作系統API無多大關系的方法處理的。從C/C++轉向管理應用開發將帶來更多好處,這就像應用開發人員從匯編語言轉到C/C++語言后,就能加快產品開發。 

       底層硬件的抽象化是將應用軟件開發從匯編語言通過C/C++轉換到管理應用開發環境的附帶效果之一。應用開發人員多半不需知道硬件細節,硬件抽象層則可搭配設備驅動程序將應用軟件與實際硬件隔開。 

       但這與操作系統的發展有什么關系呢? 

       的開發人員可以選擇所需的設備開發工具和操作系統。但在選擇硬件、操作系統(如需要)和應用開發工具時,需進行一個平衡。相關因素可能很復雜,決策過程當然是以商業和技術考慮為主,但最后多半仍然以時間、資源和成本為重點。 

       您的嵌入式系統價值在哪里?是運行設備的用戶界面、應用軟件、程序或服務,還是為設備傳送和接收數據的服務器?研發人員應將時間用于增加產品價值的應用軟件和技術上,但線程管理、內存管理、網絡堆棧、媒體播放器、網絡瀏覽器和各種服務器技術該怎么辦? 

       這些技術通常是由操作系統提供,您的研發團隊是否能在數月內開發出一套比市場上TCP/IP協議堆棧小5kb和快10%的TCP/IP協議堆棧?或是將時間用于更新操作系統的網絡服務,以便符合最新規格? 

       問題在于讓您的研發團隊將時間用于編寫、開發、測試和維護操作系統層級的軟件組件是否是一種好的做法? 

       答案或許不是。那么,“發展嵌入式系統時,我要將時間和資源用在什么地方?”這個看似簡單的問題可以有很多答案。我們可將時間用于硬件方面,或許為您的嵌入式系統編寫硬件抽象層代碼(如果需要)以構建操作系統基礎架構代碼和其它低水平的支持代碼,或者您的團隊也會將時間用于高水平、的最終用戶體驗方面,并將您的產品特定的知識產權添加到現有的操作系統中。 

       希望您能看到應用開發技術進步和嵌入式系統設計與發展方向間的相似處。 

       有多種操作系統可以選擇。無論是自主開發的操作系統還是開源操作系統抑或是其他,您都要做出許多評估才能為找出最合適的操作系統。 

       評估內容包括程序大小、處理器支持、本地硬實時支持、硬件設備支持的范圍 (或參考硬件)、源代碼存取及是否有開發商和合作伙伴可以幫助您進行嵌入式系統的開發。 

       上市時間越來越重要,加快上市時間的方法之一是將時間用于提高設備的附加價值部分。但操作系統怎么辦?嵌入式操作系統有不同的類型和大小,有些操作系統僅提供原代碼,研發人員必須先建立一套工具鏈,然后才開始發展設備;還有些操作系統則提供完整的操作系統鏡像文件,研發人員可直接開發應用軟件。前者讓您將寶貴的人力和時間浪費在操作系統和工具鏈的建立及配置,后者才能加快設備的開發和上市時間。 

       讓我們分析兩種選擇,一是使用市場上銷售的操作系統和現成的參考電路板。這種做法的優點是讓您得到操作系統的所有功能,只需把您的應用、服務和驅動程序加在操作系統之上即可;缺點也正是您得到了所有功能,這表示操作系統會比所需龐大,其中包含許多您的嵌入式系統不會用到的功能,而且無法針對嵌入式系統應用進行。 

       第二種選擇是使用一個能夠進行定制、滿足嵌入式設計需求的操作系統(可稱之為一種組件化的操作系統)。或許閃存引導能力、快速引導時間、支持多種處理器架構、本地硬實時支持等對于您的設計很重要,除此外,還有許多其它理由讓功能完整的臺式操作系統或服務器市場專用的操作系統不適合您的。 

       或許能夠提供設備相關功能的操作系統正是滿足各種嵌入式系統市場需求的理想選擇,Windows CE和Windows XP Embedded也許是組件化嵌入式操作系統的最好實例,它們可以通過所支持的處理器、硬件、實時、網絡和媒體技術彼此互補搭配。 

       定制不表示一定要花很多時間或克服許多困難才能完成操作系統配置以滿足設備需求。典型的Windows XP Embedded設計從概念到交貨通常僅需12~14周。這套組件化操作系統大約能分割為12000種軟件組件、9000個驅動程序及3000種系統功能。嵌入式系統開發人員可選擇嵌入式設備所需的個別組件或技術,而不需安裝整套操作系統。 

       廣泛的硬件和軟件支持是使用Windows XP Embedded操作系統的優點之一,只要操作系統鏡像文件包含適當的操作系統依賴性,任何能在Windows XP上運行的驅動程序就能在Windows XP Embedded上運行。就此而言,依賴性是開發人員必須考慮的重要問題之一。 

       您在建立嵌入式操作系統鏡像文件時或許已經知道您的用戶界面、應用軟件和服務都要依賴特定的操作系統功能,但增加這些功能和熟悉所有的操作依賴性卻需很長時間。Windows CE和Windows XP Embedded所提供的工具都包含許多操作系統功能(稱為組件),這些組件含有所需的依賴性信息。例如,假設您正在使用Windows CE,并想把80kb左右的HTTP Web Server加入操作系統。您只要從組件目錄把這個組件加入到工作區(workspace),該組件的依賴性信息也會自動地進行添加。使用組件、依賴性和操作系統配置模板就能迅速完成嵌入式操作系統的配置和測試。 

       應用開發人員可以通過使用合適的應用開發工具和架構來加速產品上市時間,也可以通過使用組件化的嵌入式操作系統加快產品的推出。可以做此推斷,把合適的應用開發工具和程序架構以及組件化嵌入式操作系統融為一體,也許這是設計人員加快產品開發的一條最佳路徑。  
 
linux操作系統文章專題:linux操作系統詳解(linux不再難懂)

c++相關文章:c++教程




評論


相關推薦

技術專區

關閉