Global Sources
電子工程專輯
 
電子工程專輯 > 介面技術
 
 
介面技術  

利用BIOS定製實現嵌入式產品的差異化

上網時間: 2005年10月21日     打印版  Bookmark and Share  字型大小:  

關鍵字:BIOS  韌體  嵌入式設備  firmware  OS 

BIOS定製是實現嵌入式產品差異化特性的有效途徑,本文將討論與製作這些定製BIOS相關的問題,包括快速引導、用戶介面和功能,以及韌體應用能力等。

許多基於x86的嵌入式解決方案都依賴針對桌上型電腦設計BIOS,透過對BIOS進行配置可實現更高效的、富有成本效益的設計,以滿足專用硬體和軟體的需求。

在桌上型電腦、伺服器以及筆記型電腦中常見的BIOS(一種專為IT應用而設計BIOS)已被設計成使這些設備能像通用電腦一樣工作,因此人們能以同樣的方式來使用這些設備。而諸如網路設備和自助式資訊服務終端(如kiosk設備)等基於x86的嵌入式產品,則需要像設備而不是像通用電腦那樣來工作。嵌入式設備需要使設備具有獨特功能的韌體,這正是BIOS可發揮作用的地方。嵌入式韌體(即用在x86架構上的BIOS)正是實現嵌入式設備差異化的基礎。

為嵌入式系統定製BIOS有兩種方法:一種方法是花費大量的時間和精力將桌上型電腦和/或伺服器的BIOS改造成可滿足嵌入式系統的要求;另一種方法則是採用一種專為嵌入式市場設計BIOS。後一方法有助於簡化為嵌入式系統製作定製BIOS的全過程,這既可盡量減少工作量和風險,又能提供強大的韌體能力。

用BIOS實現嵌入式產品差異化

差異化是嵌入式產品獲得成功並走向具有競爭優勢的新方向的一個關鍵因素。表1列出的是用BIOS實現產品功能差異化的一些方法。本文將討論與製作這些BIOS有關的問題,這些BIOS的特點包括:可配置成只包含標準IT BIOS的一部份特性;可定製成包含專用平台設置螢幕、濺射效果螢幕(splash screen)設置(包括多媒體)以及諸如FPGA初始化程式碼等專用程式碼;可實現亞秒級快速引導的目標;提供增強的韌體應用能力,比如高可用性監控和引導安全性等。

表:利用BIOS技術實現嵌入式產品的差異化。

大多數桌上型電腦或伺服器系統都要求將所有的BIOS初始化功能整合在系統中,包括即插即用(PnP)、高級功率模式(APM)、高級配置和電源介面(ACPI)、PCI設備枚舉與資源分配、增強硬碟驅動器(EDD)、系統管理BIOS(SMBIOS)、系統管理匯流排(SMBUS)以及其它功能等。在使用通用IT BIOS的情況下,這些功能必須全部被建構到系統的BIOS中,以便系統能支援所有需要這種支援的軟硬體插件。

但對大多數嵌入式應用來說,這些功能組件很多都是一些只會增加設備加電自檢(POST)時間和消耗ROM空間的非必要功能。Embedded BIOS 2000等可配置BIOS則能提供800多種配置選項,這些選項用來控制將哪些功能組件包含在BIOS建構過程中。特定設計不需要的任何功能組件都不會包含在BIOS二進制程式碼中。

定製BIOS的用戶介面和功能

嵌入式設備很少需要標準的BIOS用戶介面。如果設備是從內部硬碟驅動器上引導,則它既不需要配置成從快閃記憶體或CDROM上引導,也不需要提供用於非標準CPU或記憶體時脈的選項。另外,若專用硬體(如ASIC)需要在引導時進行初始化和配置,則還需要在核心BIOS中包含這種程式碼。

取消設置螢幕可讓BIOS用戶介面採用新的形式,如無頭設計、通過與遠端終端程式相連的RS232串列電纜實現的選單或類似桌上型電腦的POST,以及借助乙太網路的遠端登錄對話,甚至一種可在裝載OS時顯示由OEM定義的圖形、動畫和聲音的圖形化準作業系統(pre-OS)環境。

建構定製的用戶介面需要BIOS核心功能的支援,這樣用戶介面就能在恰當時候得到控制權。另外,BIOS鍵盤和視訊調用需要被路由到新設備(例如遠端登錄)上並進行適當處理。

初始化專用硬體不但需要定製程式碼,而且初始化序列也很重要,例如配置ASIC需要在PCI設備枚舉之前進行。對BIOS用戶來說,能在BIOS引導序列的恰當時候插入定製程式碼是非常必要的。如果所有的BIOS程式碼都以原始程式碼的形式提供,則嵌入式BIOS用戶就能在引導序列的任何點上調用其初始化程式碼。此外,可以將這種程式碼進行封包,這樣就無需將定製程式碼整合在核心BIOS程式碼中,因而可將它從一個平台移植到另一個平台。

快速引導

設備從供電到功能可用的這段時間的長短,將影響用戶對設備性能和可靠性的看法。引導時間超過1秒的設備看起來就像沒有響應或者響應緩慢。最佳化BIOS引導時間並不容易,因為在BIOS加電自檢過程中,有許多步驟需要最佳化。

實現快速引導的一種最佳概念是使用微軟的簡單引導標記增強(simple boot flag enhancement),它能決定引導時執行哪些POST組件。當然,還可在其它地方減少引導時間。

利用速度標記,簡單引導標記以最簡單的形式被用來控制引導速度。在首次引導過程中,BIOS在非揮發性記憶體中設置引導速度標記,然後再執行一組完整的診斷測試。在引導末期,BIOS將控制權交給OS,如果OS引導沒有任何問題,它便會清除引導速度標記。在下一次重啟時,BIOS會看到引導速度標記已經被清除,然後它會進行一組較短的診斷測試,因而減少引導時間。如果BIOS或OS檢測到任何硬體配置的變化和/或故障,則它們將互相協調以確保在下一個引導週期中執行一組完整的診斷測試。

儘管引導速度的提高主要歸功於採用簡單引導標記,但在其它許多方面也可提高引導速度,包括:視訊ROM擴展(大約需要1至3秒);到螢幕的任何其它BIOS輸出,包括POST及PCI消息等(大約需要100毫秒);不需要BIOS但需要由OS啟動的硬體初始化,如滑鼠及鍵盤等(大約需要數秒鐘);由於大多數嵌入式系統具有固定的硬體配置,所以還可利用特定目標的最佳化(如經過最佳化的記憶體初始化和PCI枚舉)來進一步提高引導速度。

透過使用簡單引導標記、消除硬體初始化並使用特定目標的最佳化,目前許多平台的引導時間都已可達亞秒級。在個別平台上,從重置到OS加載的時間可小於100毫秒。

增強的嵌入式韌體應用能力

嵌入式系統開發商正日益尋求透過增加更多的特性,來使產品有別於競爭產品的方法。韌體是增強這種特性(特別是那些需要單獨執行平台OS的特性)的理想地方,其中一個例子就是高可用性監控與引導安全性。

如果自助式資訊服務終端採用獨立於OS執行的韌體,它便能以許多方式檢測出故障情況,然後採取記錄故障、透過網路發送電子郵件或者重啟等糾正措施。儘管這是一種可見性故障,但無頭(headless)設備也同樣容易受到攻擊。

韌體是實現這種監控的理想地方,該監控獨立於OS並以系統管理模式(SMM,x86處理器架構的第四種模式)與OS平行執行。例如,Firmbase SMM作業環境具有自己的32位元SMM作業環境,以便執行用Windows工具建構的可移植可執行程式。Firmbase應用程式駐留在ROM中的BIOS旁邊,在這?它們獨立於OS執行,即使OS已經崩潰或丟失。這使BIOS成為對系統故障進行檢測和響應的高可用性監控解決方案的最佳實現地方。

某些情況下,韌體可幫助解決終端用戶竄改設備的問題。投票機、遊戲機,甚至視訊轉換盒等都需要一系列設立在應用層軟體、韌體本身以及平台之間的信任。如果沒有這種信任,用戶就可以在硬碟驅動器上修改關鍵文件,或者用另一塊主板來擾亂輪詢結果或欺騙主機。通過與執行在Windows或Linux OS下的應用程式、以及執行在SMM並獨立於OS的韌體設立可重覆性的加密握手,無論是應用程式還是韌體都能夠禁用系統,以免系統進行錯誤作業。

過去,將硬體與應用程式綁在一起是應用程式員的工作。如今,無論是擴展系統的系統管理介面(SMI)處理程式來執行握手,還是授權在韌體層具有日誌、遠端管理以及OEM級配置的引導時間安全應用程式,都變得更加安全和簡單。

還可透過另外一些方式使用BIOS,以使產品在韌體級上具有差異化並獲得競爭優勢。在解決BIOS的功能配置、用戶介面、快速引導以及增加專用功能等問題後,還可考慮其它許多方面。例如,可用ROM、RAM、快閃記憶體或USB記憶體等固態媒體來代替硬碟;內建診斷可整合在BIOS中以助於實現自動製造;內建除錯程式可加速電路板的推出過程;此外,專用加載程式(比如那些用於Windows CE與EFI的加載程式)還可為未來技術改進提供內建路線圖。

由於嵌入式系統之間存在廣泛的應用差異性,所以沒有一個單一的BIOS能對它們全部適用或者有效。為能直接開發並高效地、富有成本效益地配置嵌入式設備,用開發商定製硬體和軟體應用的相同方式來定製韌體的能力還有待進一步提高。

作者:Steve Jones


Nat Hillary


通用軟體公司





投票數:   加入我的最愛
我來評論 - 利用BIOS定製實現嵌入式產品的差異化
評論:  
*  您還能輸入[0]個字
*驗證碼:
 
論壇熱門主題 熱門下載
 •   將邁入40歲的你...存款多少了  •  深入電容觸控技術就從這個問題開始
 •  我有一個數位電源的專利...  •  磷酸鋰鐵電池一問
 •   關於設備商公司的工程師(廠商)薪資前景  •  計算諧振轉換器的同步整流MOSFET功耗損失
 •   Touch sensor & MEMS controller  •  針對智慧電表PLC通訊應用的線路驅動器
 •   下週 深圳 llC 2012 關於PCB免費工具的研討會  •  邏輯閘的應用


EE人生人氣排行
 
返回頁首