新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > ARM系統(tǒng)預(yù)引導(dǎo)固件的新機(jī)遇- UEFI

ARM系統(tǒng)預(yù)引導(dǎo)固件的新機(jī)遇- UEFI

作者: 時間:2011-08-12 來源:網(wǎng)絡(luò) 收藏

ARM處理器已經(jīng)在智能手機(jī)市場占主導(dǎo)地位,并越來越成為整個嵌入式領(lǐng)域的主流。最近,ARM處理器也進(jìn)軍服務(wù)器領(lǐng)域,追求計算連續(xù)性。

本文引用地址:http://butianyuan.cn/article/257847.htm

然而,歷史上,ARM系統(tǒng)沒有一個預(yù)引導(dǎo)固件的標(biāo)準(zhǔn)。這使得每個設(shè)計都有自己獨特的與所引導(dǎo)的操作系統(tǒng)緊密結(jié)合的模式。這種傳統(tǒng)的方法意味著固件開發(fā)者必須保持完全不同的代碼庫,即使系統(tǒng)可能使用的外圍設(shè)備(網(wǎng)絡(luò),SATA接口,USB控制器等)和整個設(shè)計功能集是相同的。傳統(tǒng)的ARM設(shè)計依賴諸如UBoot,Redboot,或?qū)S熊浖榆浖?br />
如何有效地開發(fā)生產(chǎn)這些產(chǎn)品來滿足快捷上市需求已成為一個挑戰(zhàn)。很有必要用某種形式的融合固件基礎(chǔ)設(shè)施來實現(xiàn)代碼重用的最大化,使這些產(chǎn)品可在有限的工程資源條件下實現(xiàn)更快推上市場,并同時添加創(chuàng)新功能。

(UEFI)對ARM系統(tǒng)的預(yù)引導(dǎo)固件是一個新機(jī)遇。 UEFI負(fù)責(zé)定義操作系統(tǒng)和系統(tǒng)固件之間以及固件驅(qū)動程序和系統(tǒng)固件之間的接口。此外,UEFI的平臺初始化(PI)負(fù)責(zé)定義固件到芯片之間和固件內(nèi)部的接口。 UEFI是無關(guān)。

ARM公司,蘋果,惠普和微軟的專家們一起確定了UEFI的ARM綁定。這樣,使用UEFI就可以最大限度地實現(xiàn)不同設(shè)計間的代碼重用,包括那些使用不同的的設(shè)計。

歷史

在UEFI之前,有EFI(可擴(kuò)展固件接口)。EFI最初創(chuàng)立于1998年,為的是讓使用英特爾安騰處理器的系統(tǒng)擺脫BIOS對設(shè)計大型計算機(jī)的束縛,例如,BIOS對原有8259中斷控制器的依賴,僅有64K的IO端口空間,僅有192K的OptionROM執(zhí)行空間,單一的PCI段組。所有這些都影響系統(tǒng)的可擴(kuò)展性。我們也預(yù)見到將要遇到的2.2TB主引導(dǎo)記錄(MBR)硬盤驅(qū)動器分區(qū)限制,并定義了新的GUID分區(qū)表(GPT)格式。

在擺脫束縛的同時,EFI還采用了一個模塊化的,靈活的可擴(kuò)展體系結(jié)構(gòu),并使用高層次的編程語言。創(chuàng)建EFI時就考慮到它應(yīng)與無關(guān),當(dāng)時就支持安騰,x86和一個與處理器無關(guān)的字節(jié)代碼,叫EFI字節(jié)代碼(EBC)。

EFI是一個英特爾公司擁有的規(guī)范定義操作系統(tǒng)和系統(tǒng)固件之間,以及設(shè)備引導(dǎo)驅(qū)動程序和系統(tǒng)固件之間的接口。英特爾還創(chuàng)建了“框架”來定義系統(tǒng)固件內(nèi)部接口以使EFI的實現(xiàn)進(jìn)一步模塊化。

2005年,計算機(jī)行業(yè)決定組建UEFI論壇來規(guī)范EFI和“框架”所涵蓋的接口。英特爾貢獻(xiàn)了EFI和“框架”規(guī)范給UEFI論壇作為新的起點。名稱從EFI變?yōu)閁EFI(U為統(tǒng)一的縮寫)標(biāo)志著定義、推廣和使用的任務(wù)從此落在業(yè)界的肩膀上。


Figure 1: The UEFI Forum

由UEFI論壇定義的第一個規(guī)范(UEFI 2.0)在AMD和英特爾的幫助下定義了x64處理器的綁定。 “框架”也演變成了平臺初始化(PI)規(guī)范。UEFI的ARM綁定作為UEFI 2.3規(guī)范的一部分于2009年公布。

開源社區(qū)“tianocore.org”于2004年開始,采用BSD許可證。隨著ARM綁定的公布,蘋果和惠普向tianocore.org貢獻(xiàn)了UEFI的參考實現(xiàn),其中對Beagle Board(beagleboard.org)的一個實現(xiàn),使硅片供應(yīng)商可為他們的硬件提供UEFI的驅(qū)動程序。 ARM公司近日貢獻(xiàn)了使用Cortex A9 多核處理器的Versatile Express參考平臺的核心代碼,以及

· 修復(fù)了ARM GCC工具鏈的構(gòu)建環(huán)境

· ARM的RealView仿真底板代碼的更新

· 新的包含ARM參考平臺通用組件的ArmPlatformPkg

· 支持TrustZone控制器

· 支持多核

· 支持PL18x MMC卡控制器

· 一個特制的啟動設(shè)備選擇BDS庫以支持直接啟動Linux

有關(guān)在ARM上實現(xiàn)UEFI的優(yōu)越性和UEFI論壇組織結(jié)構(gòu)的詳細(xì)說明,請見下回分解。
現(xiàn)在我將探討它,特別是在ARM的系統(tǒng)上的優(yōu)越性。我也會更詳細(xì)地描述UEFI論壇的組織結(jié)構(gòu)。

優(yōu)越性

盡管現(xiàn)有的ARM預(yù)引導(dǎo)固件并沒有BIOS的束縛,使用UEFI標(biāo)準(zhǔn)對ARM預(yù)引導(dǎo)固件仍有很多優(yōu)越性。 OEM / ODM廠商一直在試圖降低開發(fā)成本。代碼共享是在預(yù)引導(dǎo)固件領(lǐng)域?qū)崿F(xiàn)這目標(biāo)的一種方式。

ARM和x86都注重計算連續(xù)性,UEFI不僅使得在ARM產(chǎn)品之間或在x86產(chǎn)品之間代碼共享,還可以讓代碼在不同處理器架構(gòu)的產(chǎn)品之間共享。產(chǎn)品可以共享外圍設(shè)備(網(wǎng)絡(luò),SATA,USB控制器等),以及眾多的設(shè)計功能集。

圖2顯示了從x86到ARM的一個移植有99.42%的代碼不需要更改。


圖2: ARM移植中添加和更改的程序行數(shù)

模塊化的UEFI技術(shù)還可以使芯片廠商能夠為自己的硬件提供驅(qū)動程序。這使得OEM / ODM廠商能夠靈活地使用來自不同供應(yīng)商的模塊,擴(kuò)大了選擇余地。

UEFI在ARM的實現(xiàn)提供了真正獨立于操作系統(tǒng)的啟動解決方案,而其他大多數(shù)現(xiàn)有的ARM啟動解決方案(UBoot,小內(nèi)核等)是與他們的支持操作系統(tǒng)相耦合的。對計算連續(xù)性的追求也包括支持Windows和Linux等多個操作系統(tǒng)。

把預(yù)引導(dǎo)固件標(biāo)準(zhǔn)化于UEFI也使?jié)撛诘莫毩⒐碳?yīng)商能夠進(jìn)入市場提供支持。這將有可能讓這些廠商為多個客戶提供支持,有效地部署模塊,并提供可擴(kuò)展的共同解決方案。這種標(biāo)準(zhǔn)化也將減少芯片廠商的開發(fā)成本,現(xiàn)在他們只需要支持一種類型的驅(qū)動程序給所有的OEM/ ODM來整合。這可以提高驗證效率和調(diào)試的能力。

對于操作系統(tǒng)廠商,這種標(biāo)準(zhǔn)化使它們能夠集中在同一個引導(dǎo)程序方面的投資。這種標(biāo)準(zhǔn)化也將為獨立軟件開發(fā)商提供新的創(chuàng)新的機(jī)會。

組織結(jié)構(gòu)

UEFI論壇是一個非贏利的合作貿(mào)易組織,旨在促進(jìn)和管理UEFI標(biāo)準(zhǔn)。 AMD,安邁,蘋果,戴爾,惠普,IBM,系微,英特爾,聯(lián)想,微軟和鳳凰科技是發(fā)起人在董事會任職。 ARM公司,博通,博科,ARCI,Emulex,富士通,鴻海,浪潮,LSI,百敖軟件,日電,英偉達(dá),甲骨文,QLogic,桑迪亞國家實驗室,希捷,東芝,威盛和威睿是貢獻(xiàn)者成員,還有130多個公司和個人的使用者成員。這是在預(yù)引導(dǎo)固件行業(yè)最廣泛的行業(yè)代表。

如圖3所示,論壇有四個工作組。發(fā)起者和貢獻(xiàn)者有機(jī)會在這些工作組貢獻(xiàn)和施加影響:

圖3: UEFI 論壇組織結(jié)構(gòu)圖

工業(yè)通訊工作組(ICWG)

ICWG旨在通過教育,宣傳和營銷各種方案使業(yè)界對UEFI規(guī)范有清楚的認(rèn)識并鼓勵業(yè)界普及其使用。ICWG與ODM和OEM,產(chǎn)業(yè)界的合作伙伴,技術(shù)聯(lián)盟/協(xié)會團(tuán)體同行,以及行業(yè)媒體進(jìn)行交流和協(xié)作,以達(dá)到他們對UEFI的認(rèn)識和廣泛采納。

ICWG負(fù)責(zé)有關(guān)UEFI論壇進(jìn)展和成功的對外交流。這個工作組將制定如新聞稿,新聞文章,白皮書,演示文稿,相關(guān)文件等必要的技術(shù)和市場營銷方式。

ICWG將幫助指引會員公司的營銷和新聞發(fā)布,以確保信息內(nèi)容及相關(guān)UEFI活動的時間安排上的一致性。

平臺初始化工作組(PIWG)

該工作組的范圍如下:PI規(guī)范和其他由工作組的大多數(shù)商定的相關(guān)規(guī)范。這些規(guī)范的實現(xiàn)是作為固件在UEFI規(guī)范的界面層之下提供計算機(jī)系統(tǒng)初始化服務(wù)。PI的實現(xiàn)不是UEFI規(guī)范的必須。

UEFI規(guī)范工作組(USWG)

該工作組的范圍是管理和發(fā)展的“”規(guī)范的定義。該規(guī)范的目的是定義在平臺固件和操作系統(tǒng)軟件之間的控制轉(zhuǎn)移中使用的編程接口和相關(guān)數(shù)據(jù)結(jié)構(gòu)和約定。此外,操作系統(tǒng)啟動前環(huán)境中附加卡適配器引導(dǎo)支持,制造測試和自動化等的編程接口需要也在考慮的范圍。

為支持主要規(guī)范工作,該工作組還被授權(quán)編寫“UEFI的驅(qū)動程序作者指南”及任何類似的材料,這將有助于在UEFI產(chǎn)品的開發(fā)。

UEFI測試工作組(UTWG)

該小組負(fù)責(zé)(1)制作和維護(hù)UEFI自我認(rèn)證測試套件,(2)認(rèn)可開源的平臺初始化規(guī)范的自我認(rèn)證為測試套件和(3)組織UEFI的插拔大會活動和培訓(xùn)。

每個工作組可組建子團(tuán)隊來就特定專題召集專家對某些界面和功能深入探討。例如,USWG有一個網(wǎng)絡(luò)子團(tuán)隊專職網(wǎng)絡(luò)有關(guān)的協(xié)議,包括對IPv6的支持,一個安全子團(tuán)隊專職與安全相關(guān)的協(xié)議,一個配置子團(tuán)隊專職人機(jī)接口基礎(chǔ)設(shè)施相關(guān)的協(xié)議。當(dāng)然,還有一個ARM綁定子團(tuán)隊來定義UEFI2.3規(guī)范中的ARM綁定。 ARM公司,蘋果,惠普,微軟和鳳凰科技是該子團(tuán)隊的主要成員。

關(guān)于作者

魏東是惠普公司的高管級杰出技術(shù)專家和策略家。他是IEEE的資深會員。他有領(lǐng)導(dǎo)業(yè)界創(chuàng)新和標(biāo)準(zhǔn)化的豐富經(jīng)驗。他是UEFI論壇的副董事長(行政總裁)和測試工作組主席。他也是在ACPI5.0 國際標(biāo)準(zhǔn)組織的秘書。作為惠普UEFI和ACPI的總設(shè)計師,他負(fù)責(zé) 為使用x64, x86, ARM, ia64 and PA-RISC處理器的系統(tǒng)定義硬件,BIOS固件和操作系統(tǒng)的平臺接口。他經(jīng)常在惠普世界,惠普技術(shù)論壇,英特爾開發(fā)者論壇,微軟Windows硬件大會,ARM開發(fā)研討會,和PCI會議上發(fā)表演講。他擁有主管級工商管理,電子工程,和物理學(xué)的碩士學(xué)位。



評論


技術(shù)專區(qū)

關(guān)閉