提高定制嵌入式設備的開發(fā)效率,您的操作系統(tǒng)能滿足需要嗎

時間:2006-12-14

來源:中國傳動網(wǎng)

導語:應用開發(fā)人員不需要每次都對他們編寫的一項應用進行重復的勞動。工具和應用開發(fā)架構已獲得了長足的發(fā)展

應用開發(fā)人員不需要每次都對他們編寫的一項應用進行重復的勞動。工具和應用開發(fā)架構已獲得了長足的發(fā)展,以至于應用開發(fā)人員能夠集中精力創(chuàng)造他們的附加價值,而不需要擔心底層的應用架構和細節(jié)。那么嵌入式系統(tǒng)的開發(fā)是否也朝著同樣的方向發(fā)展? 開發(fā)人員需要利用有限的時間和/或資源來創(chuàng)建硬件/軟件解決方案,這是存在的情況;開發(fā)人員應該將時間和精力集中在創(chuàng)造產(chǎn)品的附加價值方面,而不是底層的細節(jié)。 嵌入式軟件開發(fā)的發(fā)展歷程 回顧過去的幾年,嵌入式系統(tǒng)通常是由工程師自行利用匯編語言設計,并且在定制硬件上運行,不需要任何通信技術或安全架構(時代已經(jīng)改變?。?。這些系統(tǒng)會像獨立設備一樣運行,在許多情況下甚至不用操作系統(tǒng)的支持;事實上,這些系統(tǒng)只會運行一個專用的單任務或進程(現(xiàn)在的設備當然也是如此),開發(fā)人員將負責系統(tǒng)的每個方面、系統(tǒng)與底層硬件的互動以及用戶的輸入和輸出(若有必要)。設備的每個方面都需要由開發(fā)人員進行編碼。一般來說,應用開發(fā)人員必須非常熟悉底層硬件,而且或許還曾經(jīng)參與硬件的設計。 隨著時間的推移,開發(fā)人員不再使用匯編語言自行設計操作系統(tǒng)程序,他們改用C/C++等高級語言或利用軟件庫開發(fā)字符串處理、文件I/O、圖形、音頻和視頻等常用的軟件。許多知名的軟件開發(fā)工具都提供軟件庫以協(xié)助應用軟件開發(fā),如Borland OWL和Microsoft Foundation Classes (MFC) 就是應用開發(fā)軟件庫的很好例子,它們讓開發(fā)人員擺脫操作系統(tǒng)API的糾纏,并且提供各種函式和類別來支持常見的程序設計工作。我們可以將這些軟件庫視為操作系統(tǒng)和應用軟件之間的中介層,但在許多情況下應用開發(fā)人員仍然需要控制對象的生命周期、線程和內(nèi)存管理。 許多應用開發(fā)軟件庫其實就是應用軟件和底層操作系統(tǒng)之間的中介層,而許多軟件庫還提供原代碼以方便設計人員了解軟件庫的工作方式,并通過檢查源代碼來確定軟件庫調用本地操作系統(tǒng)API的速度有多快。應用開發(fā)軟件庫提供原代碼的另一優(yōu)點是設計人員可借此擴大軟件庫功能。只要將應用開發(fā)和操作系統(tǒng)抽象模型往前推進一步,我們就能得到 (在多數(shù)情況下) 與操作系統(tǒng)和處理器無關的應用開發(fā)模型,Java和.NET就是很好的例子。在這個模型里,應用開發(fā)人員與底層操作系統(tǒng)的距離會更遠,對象生命周期是由應用軟件的運行時間環(huán)境(JVM或.NET運行時間)、類別、對象、事件,以及與底層操作系統(tǒng)API沒有多大關系的方法來處理的。從C/C++轉向管理應用開發(fā)將帶來更多好處,這就像應用開發(fā)人員從匯編語言轉到C/C++語言后,就能加快產(chǎn)品開發(fā)的腳步一樣。 底層硬件的抽象化是將應用軟件開發(fā)從匯編語言通過C/C++轉換到管理應用開發(fā)環(huán)境的附帶效果之一。應用開發(fā)人員多半不需知道硬件細節(jié),硬件抽象層則可搭配設備驅動程序將應用軟件與實際硬件隔開。例如,一個串行端口可能作為UART或FPGA來執(zhí)行,但這些硬件的相關問題都由驅動程序負責處理,應用軟件只需要使用串行端口即可,完全不需要知道它的硬件細節(jié)。圖形、音頻和許多其它外圍設備也是如此。 嵌入式操作系統(tǒng)的選擇非常重要 但這與嵌入式操作系統(tǒng)的發(fā)展有什么關系呢? 嵌入式設備的開發(fā)人員可以選擇所需的設備開發(fā)工具和操作系統(tǒng)。在選擇硬件、操作系統(tǒng) (如果需要)和應用開發(fā)工具時,需要進行一個平衡。相關因素可能很復雜,決策過程當然是以商業(yè)和技術考慮為主,但最后多半仍然以時間、資源和成本為重點。凡是能減少時間、資源或成本的做法對于您的應用開發(fā)計劃都有好處。 您的嵌入式系統(tǒng)價值在那里?是運行設備的用戶界面、應用軟件、程序或服務,還是為設備傳送和接收數(shù)據(jù)的服務器?大家都知道研發(fā)人員應該將時間用于增加產(chǎn)品價值的應用軟件和技術上,但線程管理、內(nèi)存管理、網(wǎng)絡堆棧、媒體播放器、網(wǎng)絡瀏覽器和各種服務器技術該怎么辦?這些技術通常是由操作系統(tǒng)提供,您的研發(fā)團隊是否應以數(shù)月的寶貴時間開發(fā)出一套比市場上TCP/IP協(xié)議堆棧小5kb和快10%的TCP/IP協(xié)議堆棧?或是將時間用于更新操作系統(tǒng)的網(wǎng)絡服務,以便符合最新的規(guī)格? 問題在于讓您的研發(fā)團隊將時間用于編寫、開發(fā)、測試和維護操作系統(tǒng)層級的軟件組件是不是一種好的做法?答案或許不是! 一個必須回答的問題是:“發(fā)展嵌入式系統(tǒng)時,我要將時間和資源用在什么地方?”這個看似簡單的問題當然有很多答案。我們可以將時間用于硬件方面,或許為了您的嵌入式系統(tǒng)編寫硬件抽象層代碼(如果需要)、以構建操作系統(tǒng)基礎架構代碼和其它低水平的支持代碼,或者您的團隊也會將時間用于高水平、定制的最終用戶體驗方面,并將您的產(chǎn)品特定的知識產(chǎn)權添加到現(xiàn)有的操作系統(tǒng)中。 希望您能看到應用開發(fā)技術進步和嵌入式系統(tǒng)設計與發(fā)展方向之間的相似處。 有多種操作系統(tǒng)可以選擇?;蛟S您在使用幾年前開發(fā)且在不斷發(fā)展的自主開發(fā)的操作系統(tǒng),或許您正在使用一個商用“臺式”操作系統(tǒng)、一個商用嵌入式操作系統(tǒng),或者在使用一個開放資源的操作系統(tǒng)。無論是哪種情況,您都要做出許多評估才能為您的嵌入式設備找出最合適的操作系統(tǒng)。評估內(nèi)容包括程序大小、處理器支持、本地硬實時支持、硬件設備支持的范圍 (或參考硬件)、源代碼存取,以及是否有開發(fā)商和合作伙伴可以幫助您進行嵌入式系統(tǒng)的開發(fā)。 上市時間越來越重要;加快上市時間的方法之一是將時間用于提高設備的附加價值部份。但是操作系統(tǒng)要怎么辦?嵌入式操作系統(tǒng)有各種不同的類型和大小,有些操作系統(tǒng)僅提供原代碼,研發(fā)人員必須先建立一套工具鏈,然后才開始發(fā)展設備;還有些操作系統(tǒng)則提供完整的操作系統(tǒng)鏡像文件,研發(fā)人員可直接開發(fā)應用軟件。前者讓您將寶貴的人力和時間浪費在操作系統(tǒng)和工具鏈的建立及配置,后者才能加快設備的開發(fā)和上市時間。 讓我們分析兩種選擇,第一種是使用市場上銷售的操作系統(tǒng)和現(xiàn)成的參考電路板(畢竟人們早就在發(fā)展以CPM/80、MS-DOS、OS/2和Windows 3.x到Windows XP為基礎的嵌入式設備)。這種做法的優(yōu)點是讓您得到操作系統(tǒng)的所有功能,只需把您的應用、服務和驅動程序加在操作系統(tǒng)之上就算大功告成。這種做法的缺點同樣是讓您得到操作系統(tǒng)的所有功能,這表示您的操作系統(tǒng)會比您所需還要龐大,其中包含許多您的嵌入式系統(tǒng)不會用到的功能(媒體播放器、網(wǎng)絡瀏覽器、網(wǎng)絡功能等),而且無法針對嵌入式系統(tǒng)應用進行定制(例如只能從只讀媒體引導)。 第二種選擇是使用一個能夠進行定制、可滿足您的嵌入式設計需要的操作系統(tǒng),您可把它稱為一種組件化的操作系統(tǒng)?;蛟S閃存引導能力、快速引導時間、支持多種處理器架構、本地硬實時支持和程序大小等對于您的設計都很重要。除此之外,還有許多其它理由讓功能完整的臺式操作系統(tǒng)或服務器市場專用的操作系統(tǒng)不適合您的嵌入式設備?;蛟S能夠提供設備相關功能的操作系統(tǒng)正是滿足各種嵌入式系統(tǒng)市場需求的理想選擇,微軟的Windows CE和Windows XP Embedded就是組件化嵌入式操作系統(tǒng)的最好實例,它們可以通過所支持的處理器、硬件、實時、網(wǎng)絡和媒體技術彼此互補搭配。 定制不表示您一定要花很多時間或克服許多困難才能完成操作系統(tǒng)配置以滿足您的設備需求。典型的Windows XP Embedded設計從概念到交貨通常僅需12-14周。 Windows XP Embedded如何發(fā)揮威力? 安裝Windows XP Professional SP2大約需要1.5GB的硬盤空間。這是因為Windows XP是一種通用臺式操作系統(tǒng),支持廣泛的硬件設備(不是即插即用?。┖妥罱K用戶應用軟件。微軟還為嵌入式系統(tǒng)提供專用的Windows XP Professional SP2操作系統(tǒng),稱為Windows XP Embedded。這套組件化操作系統(tǒng)大約能分割為12,000種軟件組件、9,000個驅動程序以及3,000種系統(tǒng)功能。嵌入式系統(tǒng)開發(fā)人員可選擇嵌入式設備所需的個別組件或技術。通過這種方式,您不用安裝整套操作系統(tǒng)就能得到網(wǎng)絡、多媒體和安全功能的所有最新優(yōu)點。 Windows XP Embedded和Windows XP Professional一樣,都是使用以x86處理器和PC架構為基礎的硬件電路。當然,它們引導媒體的要求完全不同。Windows XP Embedded可從網(wǎng)絡(PXE引導t)、光盤(El-Torito)、閃存或硬盤進行引導。由于操作系統(tǒng)已經(jīng)組件化,您可以選擇適當?shù)某绦虼笮頋M足設備的需求。 廣泛的硬件和軟件支持是使用Windows XP Embedded操作系統(tǒng)的優(yōu)點之一,只要操作系統(tǒng)鏡像文件包含適當?shù)牟僮飨到y(tǒng)依賴性,任何能在Windows XP上運行的驅動程序就能在Windows XP Embedded上運行。就此而言,依賴性是開發(fā)人員必須考慮的重要問題之一。 您在建立嵌入式操作系統(tǒng)鏡像文件時或許已經(jīng)知道您的用戶界面、應用軟件和服務都要依賴特定的操作系統(tǒng)功能,但增加這些功能和熟悉所有的操作依賴性卻需要很長時間。Windows CE和Windows XP Embedded所提供的工具都包含許多操作系統(tǒng)功能(稱為組件),這些組件含有所需的依賴性信息。例如,假設您正在使用Windows CE,并想把80kb左右的HTTP Web Server加入操作系統(tǒng)。您只要從組件目錄把這個組件加入到您的工作區(qū) (workspace),該組件的依賴性信息也會自動地進行添加。 使用組件、依賴性和操作系統(tǒng)配置模板就能迅速完成嵌入式操作系統(tǒng)的配置和測試。例如以x86為基礎的參考電路板可在30分鐘內(nèi)完成Windows XP Embedded操作系統(tǒng)的配置、構建和引導。Windows CE Emulator或相關BSP所提供的Windows CE 5.0操作系統(tǒng)也能在30分鐘內(nèi)完成配置、構建和引導。 我們看到應用開發(fā)人員可以通過各種應用開發(fā)工具和架構加速產(chǎn)品上市的時間,使用組件化的嵌入式操作系統(tǒng)也能將產(chǎn)品更快地推出。以小觀大,設計人員只要把最新的應用開發(fā)工具和程序架構以及最新的組件化嵌入式操作系統(tǒng)融為一體,必定能夠發(fā)揮出驚人的威力!
中傳動網(wǎng)版權與免責聲明:

凡本網(wǎng)注明[來源:中國傳動網(wǎng)]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(wǎng)(www.treenowplaneincome.com)獨家所有。如需轉載請與0755-82949061聯(lián)系。任何媒體、網(wǎng)站或個人轉載使用時須注明來源“中國傳動網(wǎng)”,違反者本網(wǎng)將追究其法律責任。

本網(wǎng)轉載并注明其他來源的稿件,均來自互聯(lián)網(wǎng)或業(yè)內(nèi)投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

如涉及作品內(nèi)容、版權等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關權利。

關注伺服與運動控制公眾號獲取更多資訊

關注直驅與傳動公眾號獲取更多資訊

關注中國傳動網(wǎng)公眾號獲取更多資訊

最新新聞
查看更多資訊

熱搜詞
  • 運動控制
  • 伺服系統(tǒng)
  • 機器視覺
  • 機械傳動
  • 編碼器
  • 直驅系統(tǒng)
  • 工業(yè)電源
  • 電力電子
  • 工業(yè)互聯(lián)
  • 高壓變頻器
  • 中低壓變頻器
  • 傳感器
  • 人機界面
  • PLC
  • 電氣聯(lián)接
  • 工業(yè)機器人
  • 低壓電器
  • 機柜
回頂部
點贊 0
取消 0