專利名稱:一種電子裝置、一種基本輸入輸出系統(tǒng)的啟動(dòng)方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子技術(shù)領(lǐng)域,尤其涉及一種電子裝置、基本輸入輸出系統(tǒng)的啟動(dòng)方
法和系統(tǒng)。
背景技術(shù):
BIOS(Basic Input/Output System,基本輸入輸出系統(tǒng))是一組被固化到計(jì)算機(jī) 或嵌入式電子設(shè)備系統(tǒng)中,為系統(tǒng)提供最底級(jí)、最直接的硬件控制的程序,它是連通軟件程 序和硬件設(shè)備之間的樞紐,通俗地說,BIOS主要完成對(duì)CPU (Central Processing Unit,中 央處理單元)的初始化和簡(jiǎn)單外圍器件的初始化,使得CPU可以完成一些簡(jiǎn)單的輸入輸出、 加載功能。 例如某個(gè)系統(tǒng)的BI OS在啟動(dòng)過程中對(duì)CPU的時(shí)鐘頻率、總線頻率、片選空間、 DDR(Double Data Rate,雙倍數(shù)據(jù)速率)/SDRAM(Synchronous Dynamicrandom access memory,同步動(dòng)態(tài)隨機(jī)存儲(chǔ)器)控制器、匪U(MemoryManage Unit,存儲(chǔ)器管理單元)進(jìn)行了 初始化,使得系統(tǒng)可以訪問這些外圍設(shè)備。 現(xiàn)有技術(shù)中,在同系列CPU類型的前提下,如果硬件設(shè)計(jì)方案有變化,當(dāng)BIOS程序 不能支持時(shí),就需要更新整個(gè)BIOS程序,也就是舊的BIOS程序無法兼容啟動(dòng)新的硬件,即 同一個(gè)BIOS程序不能滿足不同硬件設(shè)計(jì)方案下對(duì)硬件的初始化的需要。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供了一種電子設(shè)備和一種基本輸入輸出系統(tǒng)BIOS的啟動(dòng)方法和
系統(tǒng),能夠?qū)崿F(xiàn)在在同系列CPU類型的前提下,硬件設(shè)計(jì)方案有變化時(shí),同一個(gè)BIOS程序能
夠滿足新硬件方案下對(duì)硬件的初始化的需要。 本發(fā)明實(shí)施例的目的是通過以下技術(shù)方案實(shí)現(xiàn)的 —種電子裝置,包括 硬件配置模塊,獨(dú)立于通用基本輸入輸出系統(tǒng)BIOS程序存儲(chǔ)模塊,用于存放初始 化硬件設(shè)備所需的配置值,該配置值包括CPU特定寄存器配置值、片選空間配置值、DDR控 制器配置值、匪U表項(xiàng)值; 通用BIOS程序配置模塊,用于存放通用BIOS程序; 通用BIOS程序配置模塊用于根據(jù)初始化單個(gè)硬件設(shè)備的指令,從硬件配置模塊 中讀取初始化硬件設(shè)備所需的配置值,配置初始化硬件設(shè)備所需的通用BIOS程序,完成對(duì) 硬件設(shè)備的初始化。 —種基本輸入輸出系統(tǒng)BI0S的啟動(dòng)方法,包括 通用BIOS程序配置模塊接收初始化硬件設(shè)備的指令,根據(jù)該指令從硬件配置值 存儲(chǔ)模塊中讀取初始化硬件設(shè)備所需的配置值,其中,硬件配置值存儲(chǔ)模塊中存儲(chǔ)的初始 化硬件設(shè)備所需的配置值包括CPU特定寄存器配置值、片選空間配置值、DDR控制器配置 值、MMU表項(xiàng)值;
通用BIOS程序配置模塊根據(jù)配置值配置存放在通用BIOS程序配置模塊中的通用 BIOS程序,完成對(duì)BIOS的啟動(dòng)。 —種基本輸入輸出系統(tǒng)BIOS的啟動(dòng)系統(tǒng),包括 通用BIOS程序配置模塊和硬件配置值存儲(chǔ)模塊,硬件配置值存儲(chǔ)模塊獨(dú)立于通 用BIOS程序配置模塊;其中, 硬件配置值存儲(chǔ)模塊,用于存儲(chǔ)初始化硬件設(shè)備所需的配置值,該配置值包括
CPU特定寄存器配置值、片選空間配置值、DDR控制器配置值、匪U表項(xiàng)值; 通用BIOS程序配置模塊,用于存放通用BIOS程序,根據(jù)初始化硬件設(shè)備的指令,
從硬件配置值存儲(chǔ)模塊中讀取初始化硬件設(shè)備所需的配置值,并根據(jù)配置值配置初始化硬
件設(shè)備所需的通用BIOS程序,完成對(duì)BIOS的啟動(dòng)。 從上述發(fā)明內(nèi)容可知,使用本發(fā)明實(shí)施例提供的技術(shù)方案,能夠?qū)崿F(xiàn)在硬件設(shè)計(jì) 方案有變化時(shí),同一個(gè)BIOS程序能夠滿足新硬件方案下對(duì)硬件初始化的需要。
圖1是本發(fā)明實(shí)施例提供的裝置實(shí)施例的結(jié)構(gòu)示意圖;
圖2是本發(fā)明實(shí)施例提供的方法實(shí)施例的示意圖;
圖3是本發(fā)明實(shí)施例提供的系統(tǒng)實(shí)施例的示意圖。
具體實(shí)施例方式
為了使本發(fā)明實(shí)施例的技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,下面結(jié)合附圖并舉實(shí)施例 對(duì)本發(fā)明實(shí)施例進(jìn)行進(jìn)一步詳細(xì)說明。 本發(fā)明實(shí)施例提供了一種電子裝置,該電子裝置能夠滿足同一系列CPU下的不同 硬件設(shè)計(jì)方案下對(duì)硬件的初始化的要求。該電子設(shè)備如圖1所示,包括兩部分通用BIOS 程序配置模塊101和硬件配置值存儲(chǔ)模塊102。 其中,通用BIOS程序配置模塊101,用于存放通用BIOS程序。這些通用BIOS程 序是CPU —上電啟動(dòng)就要運(yùn)行的指令程序,包括初始化CPU特定寄存器、片選空間、DDR控 制器、匪U表項(xiàng)需要的程序和其他一些CPU —上電就要初始化的硬件所需要的程序。這些 程序編譯成通用格式,即沒有給這些程序賦相應(yīng)的配置值,當(dāng)要完成對(duì)CPU或?qū)ζ渌恍?硬件的初始化時(shí),就需要對(duì)這些程序配置相應(yīng)的配置值。通用BIOS程序配置模塊101生成 后,就固定存放在FLASH的某個(gè)位置,同一系列類型的CPU對(duì)應(yīng)一個(gè)通用BIOS程序配置模 塊101。 硬件配置值存儲(chǔ)模塊102,用于存放硬件的配置值信息,這些配置值是完成對(duì)CPU 的初始化和對(duì)其他一些硬件的初始化所必須的,也就是說,需要通用BIOS程序配置模塊 101從硬件配置值存儲(chǔ)模塊102中讀取相應(yīng)的配置值,完成對(duì)通用BIOS程序配置模塊101 中相應(yīng)程序的配置,才能完成對(duì)CPU的初始化和對(duì)其他硬件的初始化。當(dāng)硬件設(shè)計(jì)方案發(fā) 生變化時(shí),例如擴(kuò)大或者縮小FLASH的容量、擴(kuò)大或者縮小DDR/SDRAM的容量、更換DDR/ SDRAM芯片型號(hào)時(shí),只需修改硬件配置值存儲(chǔ)模塊102中影響這些硬件方案變化的配置值 項(xiàng),通用BIOS程序存儲(chǔ)模塊讀取這些修改后的配置值,就可以完成對(duì)新硬件的初始化。
硬件配置值存儲(chǔ)模塊102中的配置值可以手動(dòng)寫入,也可以使用軟件來自動(dòng)配置生成,硬件配置值存儲(chǔ)模塊102生成后,就燒入在BI0S—啟動(dòng)就可以訪問到的空間中,例如 固定存放在FLASH的某個(gè)位置或EPROM(Electrically Erasable Programmable Read-Only Memory,電可擦除可編程只讀內(nèi)存)中,為了增加可靠性,這個(gè)存放在FLASH中的硬件配置 值存儲(chǔ)模塊102可以設(shè)置為寫保護(hù)。在硬件配置值存儲(chǔ)模塊102上可以預(yù)留對(duì)外接口,以 便對(duì)該硬件配置值存儲(chǔ)模塊102進(jìn)行刷新。 硬件配置值存儲(chǔ)模塊102中存放的硬件配置值主要包括CPU特定寄存器配置值 1021、片選空間配置值1022、 DDR控制器配置值1023、匪U表項(xiàng)值1024和其他配置項(xiàng)的值 1025。 對(duì)與硬件配置值存儲(chǔ)模塊102中各項(xiàng)對(duì)應(yīng)的硬件進(jìn)行說明 其中,CPU特定寄存器指跟CPU緊密相關(guān),一上電就必須配置的寄存器,例如 總線頻率寄存器、模塊分頻寄存器、CPU內(nèi)部寄存器、偏移基址寄存器、PCI (Peripheral Component Interconnection,外設(shè)組件互連標(biāo)準(zhǔn))配置空間地址寄存器、PCI配置空間數(shù) 據(jù)寄存器等; 片選空間指CPU啟動(dòng)后,按照統(tǒng)一編址給各個(gè)外部設(shè)備分配的地址空間;
DDR控制器CPU提供的DDR控制器、SDRAM控制器,通過配置這些寄存器,CPU就 可以控制訪問不同的DDR/SDRAM存儲(chǔ)器件; 匪U表項(xiàng)包括軟件上的頁(yè)表和硬件上的塊表,操作系統(tǒng)或者CPU通過這些表項(xiàng)值 對(duì)訪問空間進(jìn)行虛擬地址到物理地址的映射; 其他配置項(xiàng)除了上面提到的硬件外的其他需要配置的硬件項(xiàng)。
基于以上的說明,現(xiàn)在舉例說明該電子設(shè)備如何工作。 例如,在某種硬件方案下生成的硬件配置值存儲(chǔ)模塊102如圖2所示,將其存放在 偏移BIOS存放基址2兆的地方。CPU上電后,通用BIOS程序存儲(chǔ)模塊101按照上述的偏移 量找到硬件配置值存儲(chǔ)模塊102,根據(jù)CPU的初始化指令,例如,要初始化CPU特定寄存器 1,則通用BIOS程序配置模塊101從硬件配置值存儲(chǔ)模塊102中讀取CPU特定寄存器1的 配置值,完成對(duì)初始化CPU特定寄存器1的程序的配置,從而完成對(duì)CPU特定寄存器的初始 化。按照同樣的方法,通用BIOS程序配置模塊101,根據(jù)CPU初始化CPU特定寄存器2或 n、初始化片選空間1或2、初始化DDR控制器、初始化匪U表項(xiàng)和其他配置項(xiàng)的指令,從硬件 配置模塊中讀取相應(yīng)的配置值,完成對(duì)初始化相應(yīng)硬件設(shè)備所需的程序的配置,從而完成 對(duì)CPU的初始化和其他硬件資源的啟動(dòng)。 如果硬件方案有變化時(shí),例如FLASH要從原來的64兆擴(kuò)展到128兆,只要修改影 響FLASH配置的片選空間的配置值和匪U表項(xiàng)值,生成新的硬件配置值存儲(chǔ)模塊102,通用 BIOS程序存儲(chǔ)模塊中初始化FLASH的程序從新生成的硬件配置值存儲(chǔ)模塊102中讀取修 改后的配置值,就可以完成對(duì)擴(kuò)展后的FLASH的初始化,而無需要修改通用BIOS程序配置 模塊101。同樣,當(dāng)其他硬件方案有變化,例如更換DDR/SDRAM芯片型號(hào)、啟動(dòng)或者禁用某 個(gè)片選空間、修正某些寄存器的配置等,只要修改硬件配置值存儲(chǔ)模塊102中影響上述硬 件方案變化的相對(duì)應(yīng)配置值項(xiàng),即生成相應(yīng)的新的硬件配置值存儲(chǔ)模塊102即可實(shí)現(xiàn),通 用BIOS程序配置模塊101無需變動(dòng)。這樣,就可以實(shí)現(xiàn)同一個(gè)BIOS程序支持不同的硬件 設(shè)計(jì)方案下對(duì)硬件的初始化。 本發(fā)明實(shí)施例還提供一種啟動(dòng)BIOS的方法,如圖3所示,CPU上電后,通用BIOS程序配置模塊301接收到CPU的指令,通用BIOS程序配置模塊301根據(jù)CPU初始化特定硬件 的指令,從硬件配置值存儲(chǔ)模塊302中讀取相應(yīng)初始化相應(yīng)硬件程序的配置值,從而完成 對(duì)CPU的初始化或相應(yīng)硬件資源的初始化,其過程同裝置實(shí)施例中的說明,此處不再詳述。 硬件配置值存儲(chǔ)模塊302中存放有CPU特定寄存器配置值、片選空間配置值、DDR控制器配 置值、匪U表項(xiàng)和其他配置項(xiàng)值。 如果硬件方案有變化,例如FLASH要從原來的64兆擴(kuò)展到128兆,那么只要修改 影響FLASH配置的片選空間的配置值和匪U的表項(xiàng)值,然后生成新的硬件配置值存儲(chǔ)模塊 302即可,而無需要修改通用BIOS程序配置模塊301,同樣,當(dāng)其他硬件有變化,例如更換 DDR/SDRAM芯片型號(hào)、啟動(dòng)或者禁用某個(gè)片選空間、修正某些寄存器的配置等,只要修改硬 件配置值存儲(chǔ)模塊302中相應(yīng)的配置值,即生成相應(yīng)的硬件配置值存儲(chǔ)模塊302即可,通用 BIOS程序配置模塊301無需變動(dòng)。 本發(fā)明實(shí)施例還提供一種啟動(dòng)BIOS的系統(tǒng),如圖4所示,該系統(tǒng)包括通用BIOS程 序配置模塊401和硬件配置值存儲(chǔ)模塊402。其中,通用BIOS程序配置模塊401用于接收 CUP的指令信息,并根據(jù)指令信息的內(nèi)容,從硬件配置值存儲(chǔ)模塊402中讀取相應(yīng)的配置 值,完成對(duì)CPU的初始化和硬件資源的啟動(dòng),具體過程同裝置實(shí)施例,此處不再贅述。
通過本發(fā)明提供的實(shí)施例,可以實(shí)現(xiàn)在硬件設(shè)計(jì)方案有變化時(shí),同一個(gè)BIOS程序 能夠滿足新硬件方案下對(duì)硬件的初始化的需要。 以上僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則 之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
一種電子裝置,其特征在于,包括硬件配置值存儲(chǔ)模塊,獨(dú)立于通用基本輸入輸出系統(tǒng)BIOS程序模塊,用于存放初始化硬件設(shè)備所需的配置值,所述配置值包括CPU特定寄存器配置值、片選空間配置值、DDR控制器配置值、MMU表項(xiàng)值;所述通用BIOS程序配置模塊,用于存放通用BIOS程序;所述通用BIOS程序配置模塊用于根據(jù)初始化單個(gè)硬件設(shè)備的指令,從所述硬件配置值存儲(chǔ)模塊中讀取初始化該硬件設(shè)備所需的配置值,配置初始化所述硬件設(shè)備所需的通用BIOS程序,完成對(duì)所述硬件設(shè)備的初始化。
2. 如權(quán)利要求1所述的裝置,其特征在于,所述硬件配置值存儲(chǔ)模塊中的配置值手動(dòng)寫入,或用軟件自動(dòng)配置生成。
3. 如權(quán)利要求1所述的裝置,其特征在于,所述硬件配置值存儲(chǔ)模塊設(shè)置為寫保護(hù),BIOS —啟動(dòng)就訪問到所述硬件配置值存儲(chǔ)模塊中的配置值。
4. 如權(quán)利要求1、2或3所述的裝置,其特征在于,所述硬件配置值存儲(chǔ)模塊預(yù)留對(duì)外接口 ,通過所述對(duì)外接口對(duì)所述硬件配置模塊進(jìn)行刷新。
5. —種基本輸入輸出系統(tǒng)BIOS的啟動(dòng)方法,其特征在于,包括通用BIOS程序配置模塊接收初始化硬件設(shè)備的指令,根據(jù)所述指令從硬件配置值存儲(chǔ)模塊中讀取初始化所述硬件設(shè)備所需的配置值,其中,所述硬件配置值存儲(chǔ)模塊中存儲(chǔ)的初始化硬件設(shè)備所需的配置值包括CPU特定寄存器配置值、片選空間配置值、DDR控制器配置值、匪U表項(xiàng)值;所述通用BIOS程序配置模塊根據(jù)所述配置值配置存放在通用BIOS程序配置模塊中的通用BIOS程序,完成對(duì)所述BIOS的啟動(dòng)。
6. —種基本輸入輸出系統(tǒng)BIOS的啟動(dòng)系統(tǒng),其特征在于,包括通用BIOS程序配置模塊和硬件配置值存儲(chǔ)模塊,所述硬件配置值存儲(chǔ)模塊獨(dú)立于所述通用BIOS程序配置模塊;其中,所述硬件配置值存儲(chǔ)模塊,用于存儲(chǔ)初始化硬件設(shè)備所需的配置值,所述配置值包括CPU特定寄存器配置值、片選空間配置值、DDR控制器配置值、匪U表項(xiàng)值;所述通用BIOS程序配置模塊,用于存放通用BIOS程序,根據(jù)初始化硬件設(shè)備的指令,從所述硬件配置值存儲(chǔ)模塊中讀取初始化所述硬件設(shè)備所需的配置值,并根據(jù)所述配置值配置初始化所述硬件設(shè)備所需的所述通用BIOS程序,完成對(duì)所述BIOS的啟動(dòng)。
全文摘要
本發(fā)明實(shí)施例提供一種電子裝置、一種啟動(dòng)基本輸入輸出系統(tǒng)的方法和系統(tǒng)。其中,通用BIOS程序配置模塊根據(jù)初始化硬件設(shè)備的指令,從硬件配置值存儲(chǔ)模塊中讀取相應(yīng)的配置值,完成對(duì)所述硬件設(shè)備的初始化。本發(fā)明實(shí)施例還提供一種啟動(dòng)基本輸入輸出系統(tǒng)的方法和系統(tǒng)。通過本發(fā)明實(shí)施例提供的技術(shù)方案,可以實(shí)現(xiàn)在硬件設(shè)計(jì)方案有變化時(shí),同一個(gè)BIOS程序能夠滿足新硬件方案下對(duì)硬件初始化的需要。
文檔編號(hào)G06F9/445GK101739272SQ20081021749
公開日2010年6月16日 申請(qǐng)日期2008年11月19日 優(yōu)先權(quán)日2008年11月19日
發(fā)明者陳貴敏 申請(qǐng)人:華為技術(shù)有限公司