ARM系統(tǒng)預(yù)引導(dǎo)固件的新機(jī)遇-UEFI
ARM處理器已經(jīng)在智能手機(jī)市場占主導(dǎo)地位,并越來越成為整個嵌入式領(lǐng)域的主流。最近,ARM處理器也進(jìn)軍服務(wù)器領(lǐng)域,追求計(jì)算連續(xù)性。
本文引用地址:http://butianyuan.cn/article/150337.htm然而,歷史上,ARM系統(tǒng)沒有一個預(yù)引導(dǎo)固件的標(biāo)準(zhǔn)。這使得每個設(shè)計(jì)都有自己獨(dú)特的與所引導(dǎo)的操作系統(tǒng)緊密結(jié)合的模式。這種傳統(tǒng)的方法意味著固件開發(fā)者必須保持完全不同的代碼庫,即使系統(tǒng)可能使用的外圍設(shè)備(網(wǎng)絡(luò),SATA接口,USB控制器等)和整個設(shè)計(jì)功能集是相同的。傳統(tǒng)的ARM設(shè)計(jì)依賴諸如UBoot,Redboot,或?qū)S熊浖榆浖?/p>
如何有效地開發(fā)生產(chǎn)這些產(chǎn)品來滿足快捷上市需求已成為一個挑戰(zhàn)。很有必要用某種形式的融合固件基礎(chǔ)設(shè)施來實(shí)現(xiàn)代碼重用的最大化,使這些產(chǎn)品可在有限的工程資源條件下實(shí)現(xiàn)更快推上市場,并同時(shí)添加創(chuàng)新功能。
統(tǒng)一可擴(kuò)展固件接口(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是處理器架構(gòu)無關(guān)。
ARM公司,蘋果,惠普和微軟的專家們一起確定了UEFI的ARM綁定。這樣,使用UEFI就可以最大限度地實(shí)現(xiàn)不同設(shè)計(jì)間的代碼重用,包括那些使用不同的處理器架構(gòu)的設(shè)計(jì)。
歷史
在UEFI之前,有EFI(可擴(kuò)展固件接口)。EFI最初創(chuàng)立于1998年,為的是讓使用英特爾安騰處理器的系統(tǒng)擺脫BIOS對設(shè)計(jì)大型計(jì)算機(jī)的束縛,例如,BIOS對原有8259中斷控制器的依賴,僅有64K的IO端口空間,僅有192K的OptionROM執(zhí)行空間,單一的PCI段組。所有這些都影響系統(tǒng)的可擴(kuò)展性。我們也預(yù)見到將要遇到的2.2TB主引導(dǎo)記錄(MBR)硬盤驅(qū)動器分區(qū)限制,并定義了新的GUID分區(qū)表(GPT)格式。
在擺脫束縛的同時(shí),EFI還采用了一個模塊化的,靈活的可擴(kuò)展體系結(jié)構(gòu),并使用高層次的編程語言。創(chuàng)建EFI時(shí)就考慮到它應(yīng)與處理器架構(gòu)無關(guān),當(dāng)時(shí)就支持安騰,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的實(shí)現(xiàn)進(jìn)一步模塊化。
2005年,計(jì)算機(jī)行業(yè)決定組建UEFI論壇來規(guī)范EFI和“框架”所涵蓋的接口。英特爾貢獻(xiàn)了EFI和“框架”規(guī)范給UEFI論壇作為新的起點(diǎn)。名稱從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的參考實(shí)現(xiàn),其中對Beagle Board(beagleboard.org)的一個實(shí)現(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上實(shí)現(xiàn)UEFI的優(yōu)越性和UEFI論壇組織結(jié)構(gòu)的詳細(xì)說明,請見下回分解。
現(xiàn)在我將探討它,特別是在ARM的系統(tǒng)上的優(yōu)越性。我也會更詳細(xì)地描述UEFI論壇的組織結(jié)構(gòu)。
評論