亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

處理器初始化方法及裝置制造方法

文檔序號:6486507閱讀:330來源:國知局
處理器初始化方法及裝置制造方法
【專利摘要】本發(fā)明公開了一種處理器初始化方法及裝置,該方法包括:在硬件復位期間對相同架構下的處理器進行配置,其中,處理器屬于同一系列且內核相同;對處理器及其片外資源進行初始化。本發(fā)明通過同一引導程序對相同架構下的處理器進行配置和初始化,將同類產品的引導程序編譯為同一個文件,增加了引導程序的靈活性,便于引導程序版本的維護和管理,且進行不同硬件設備(即片外資源)的初始化工作,為底層軟件進一步屏蔽了硬件差別。
【專利說明】處理器初始化方法及裝置
【技術領域】
[0001]本發(fā)明涉及通信領域,具體而言,涉及一種處理器初始化方法及裝置。
【背景技術】
[0002]在嵌入式設備中,需要通過引導程序引導操作系統(tǒng),目前市場上通訊類產品有很大一部分使用PowerPC架構處理器,其引導程序選用U_Boot。U-Boot的實現(xiàn)理念是對于不同的單板使用不同的板級配置文件,是完全的靜態(tài)方式,即一個引導程序只能引導一塊單板,引導程序缺乏靈活性,而且版本管理不方便。

【發(fā)明內容】

[0003]本發(fā)明提供了一種處理器初始化方法及裝置,以至少解決相關技術中,一個引導程序只能引導一塊單板,缺乏靈活性且版本管理不方便的問題。
[0004]根據本發(fā)明的一個方面,提供了一種處理器初始化方法,包括:在硬件復位期間對相同架構下的處理器進行配置,其中,處理器屬于同一系列且內核相同;對處理器及其片外資源進行初始化。
[0005]優(yōu)選地,在硬件復位期間對相同架構下的處理器進行配置包括:通過通用引導程序獲取處理器的配置信息,其中,通用引導程序是引導多個單板的引導程序;根據配置信息對處理器進行上電配置。
[0006]優(yōu)選地,通過通用引導程序獲取處理器的配置信息包括:通過可擦除可編程邏輯器件(Erasable Programmable Logic Device,簡稱為 EPLD)實現(xiàn)只讀存儲器(Read OnlyMemory,簡稱為ROM),并將處理器的配置信息保存到ROM中;在硬件復位期間將處理器發(fā)送的地址信號映射到ROM ;讀取ROM中的配置信息。
[0007]優(yōu)選地,對處理器及其片外資源進行初始化包括:初始化處理器的內核,讀取處理器內核中標識處理器具體型號的寄存器;根據處理器的具體型號對處理器進行初始化。
[0008]優(yōu)選地,在根據處理器的具體型號對處理器進行初始化之后,上述方法還包括:通過訪問在硬件復位期間獲取配置信息時已經配置的片外資源,獲取不同單板的類型;根據不同單板的類型對未配置的片外資源以及處理器內部的功能模塊進行初始化。
[0009]優(yōu)選地,在硬件復位期間獲取配置信息時已經配置的片外資源至少包括:EPLD。
[0010]根據本發(fā)明的另一方面,提供了一種處理器初始化裝置,包括:配置模塊,用于在硬件復位期間對相同架構下的處理器進行配置,其中,處理器屬于同一系列且內核相同;初始化模塊,用于對處理器及其片外資源進行初始化。
[0011]優(yōu)選地,配置模塊包括:獲取單元,用于通過通用引導程序獲取處理器的配置信息,其中,通用引導程序是引導多個單板的引導程序;配置單元,用于根據配置信息對處理器進行上電配置。
[0012]優(yōu)選地,獲取單元包括:處理子單元,用于通過EPLD實現(xiàn)ROM ;保存子單元,用于將處理器的配置信息保存到ROM中;映射子單元,用于在硬件復位期間將處理器發(fā)送的地址信號映射到ROM ;讀取子單元,用于讀取ROM中的配置信息。
[0013]優(yōu)選地,初始化模塊包括:第一初始化單元,用于初始化處理器的內核;讀取單元,用于讀取內核中標識處理器具體型號的寄存器;第二初始化單元,用于根據處理器的具體型號對處理器進行初始化。
[0014]本發(fā)明通過同一引導程序對相同架構下的處理器進行配置和初始化,將同類產品的引導程序編譯為同一個文件,增加了引導程序的靈活性,便于引導程序版本的維護和管理,且進行不同硬件設備(即片外資源)的初始化工作,為底層軟件進一步屏蔽了硬件差別。
【專利附圖】

【附圖說明】
[0015]此處所說明的附圖用來提供對本發(fā)明的進一步理解,構成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構成對本發(fā)明的不當限定。在附圖中:
[0016]圖1是根據本發(fā)明實施例的處理器初始化方法的流程圖;
[0017]圖2是根據本發(fā)明優(yōu)選實施例的利用EPLD實現(xiàn)ROM、讀取配置信息以及地址映射的不意圖;
[0018]圖3是根據本發(fā)明優(yōu)選實施例的相同架構下同一系列處理器的通用引導程序的實現(xiàn)示意圖;
[0019]圖4是根據本發(fā)明優(yōu)選實施例的處理器初始化方法的流程圖;
[0020]圖5是根據本發(fā)明實施例的處理器初始化裝置的結構框圖;
[0021]圖6是根據本發(fā)明優(yōu)選實施例的處理器初始化裝置的結構框圖一;
[0022]圖7是根據本發(fā)明優(yōu)選實施例的處理器初始化裝置的結構框圖二。
【具體實施方式】
[0023]需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。下面將參考附圖并結合實施例來詳細說明本發(fā)明。
[0024]本發(fā)明實施例提供了一種處理器初始化方法,圖1是根據本發(fā)明實施例的處理器初始化方法的流程圖,如圖1所示,包括如下的步驟S102至步驟S104。
[0025]步驟S102,在硬件復位期間對相同架構下的處理器進行配置,其中,處理器屬于同一系列且內核相同。
[0026]步驟S104,對處理器及其片外資源進行初始化。
[0027]相關技術中,一個引導程序只能引導一塊單板,缺乏靈活性且版本管理不方便。本發(fā)明實施例中,通過同一引導程序對相同架構下的處理器進行配置和初始化,將同類產品的引導程序編譯為同一個文件,增加了引導程序的靈活性,便于引導程序版本的維護和管理,且進行不同硬件設備(即片外資源)的初始化工作,為底層軟件進一步屏蔽了硬件差別。
[0028]需要說明的是,本發(fā)明實施例中的處理器需要滿足兩個前提條件:1、相同架構下,同一系列的處理器;2、處理器內核相同。這是因為相同架構的處理器在上電啟動過程中具有相同的流程;相同的內核,可以保證處理器復位上電后,執(zhí)行指令的一致性。只有滿足這兩個條件,對處理器具體型號的區(qū)分才有意義。在實際應用中,軟件實現(xiàn)可以基于U-Boot開源代碼,同時需要對U-boot代碼進行架構調整和部分修改,并且在某些情況向需要借助其他硬件器件,如EPLD等。[0029]優(yōu)選地,步驟S102包括:通過通用弓I導程序獲取處理器的配置信息,其中,通用引導程序是引導多個單板的引導程序;根據配置信息對處理器進行上電配置。當然,配置也可以通過上下拉電阻實現(xiàn),或者通過常用總線接口的設備進行獲取配置信息。
[0030]通過通用引導程序獲取處理器的配置信息包括:通過EPLD實現(xiàn)R0M,并將處理器的配置信息保存到ROM中;在硬件復位期間將處理器發(fā)送的地址信號映射到ROM ;讀取ROM中的配置信息。本優(yōu)選實施例中,利用EPLD實現(xiàn)R0M,從而進行地址映射以讀取配置信息,避免了不同型號處理器的配置信息的差異對通用引導程序的實現(xiàn)的影響。
[0031]優(yōu)選地,步驟S104包括:初始化處理器的內核,讀取處理器內核中標識處理器具體型號的寄存器;根據處理器的具體型號對處理器進行初始化。
[0032]在根據處理器的具體型號對處理器進行初始化之后,上述方法還包括:通過訪問在硬件復位期間獲取配置信息時已經配置的片外資源,獲取不同單板的類型;根據不同單板的類型對未配置的片外資源以及處理器內部的功能模塊進行初始化。需要說明的是,在硬件復位期間獲取配置信息時已經配置的片外資源至少包括:EPLD。在實際應用中,需要為每種單板定制唯一的邏輯程序(通過EPLD實現(xiàn)),其他功能可由引導程序代碼完成,實現(xiàn)對處理器具體型號的屏蔽。
[0033]為了實現(xiàn)通用弓丨導程序,需要解決以下三個主要問題:一、處理器硬件復位期間的配置;二、動態(tài)實現(xiàn)對具體型號處理器的初始化;三、動態(tài)實現(xiàn)對不同類型單板的初始化。下面分別加以介紹。
[0034]一、處理器硬件復位期間的配置
[0035]在處理器硬件復位期間需要對處理器的啟動設備(即引導程序的存放位置)、處理器時鐘和鎖相環(huán)、以及處理器的一些啟動模式等進行配置,而進行這種配置的方法可以通過上下拉電阻實現(xiàn),可以通過常用總線接口的設備(如I2C接口的電可擦除可編程只讀存儲器(Electrically Erasable Programmable Read-only Memory,簡稱為 EEPROM))進行獲取,可以通過引導程序本身保存的配置信息進行獲取。
[0036]其中,最為靈活并且最為通用的方法是將配置信息保存在引導程序中,由于本發(fā)明采用的是通用引導程序,這會引入一個新問題,即不同型號的處理器所需要的配置信息不盡相同,而又不能將不同型號處理器的配置信息都存儲在通用引導程序中,對此,需要借助于EPLD實現(xiàn)一個邏輯功能,具體如下:通過EPLD實現(xiàn)一個R0M,將配置信息保存在ROM中,在硬件復位期間將處理器發(fā)送的地址信號,映射到EPLD內部實現(xiàn)的ROM空間,處理器便可以讀取ROM中的配置信息,在若干時鐘周期后,EPLD結束地址映射,返回正常狀態(tài),不影響處理器對正常地址空間的訪問。這樣在通用引導程序中就無需存儲配置信息。利用EPLD實現(xiàn)ROM、讀取配置信息以及地址映射的示意圖參見圖2,圖2中只對從NOR Flash(閃存)執(zhí)行引導程序的情況進行說明,引導程序中的虛線框表示無需在引導程序中存儲配置信息。對于不同的啟動設備(NOR Flash或者NAND Flash)具體的實現(xiàn)方法略有不同,但原理是一樣的,此處不再贅述。
[0037]二、動態(tài)實現(xiàn)對具體型號處理器的初始化
[0038]由于相同架構下同一系列的處理器,具有相同的上電啟動流程,即在上電后可以從某個地址上取指令,執(zhí)行指令。在初始化處理器核心后(相同的核心),便可通過處理器核心空間內的寄存器獲取處理器的具體型號,這是獲取處理器型號的唯一方式,也是引導程序最早可以獲得處理器型號的時機。
[0039]通過處理器型號的差異,進一步對處理器進行初始化。這里需要說明的是相同架構下同一系列處理器的內部地址空間肯定是互相兼容的(硬件廠商通常會這樣做)。對于設備制造商來說同一型號處理器在使用上基本不會有太大差異,所以對同一型號處理器的初始化可以視為相同(如片上和片外資源的分配,內存管理單元(Memory Management Unit,簡稱為MMU)屬性、輸入輸出(Input Output,簡稱為10)屬性的配置等)。這樣軟件就可以在處理器執(zhí)行若干指令后,通過讀取處理器的型號信息,分別對不同型號處理器的片上和片外資源空間,IO管腳,以及必要的寄存器進行初始化。這個過程只需要完成處理器所必需的相關資源初始化的工作即可。在對片上和片外資源的分配上,軟件要做好規(guī)劃,保證同一型號處理器下的不同單板之間相互兼容。
[0040]三、動態(tài)實現(xiàn)對不同類型單板的初始化
[0041]有了上一步的保證,處理器就可以實現(xiàn)對片外資源的訪問,對于某些片外資源需要進一步對處理器的相關功能模塊進行初始化,如片外隨機存取器(Random AccessMemory,簡稱為RAM)等,而某些片外資源在第一步,即處理器硬件復位期間的配置已經完成,如EPLD等。這時可以通過對片外資源(如EPLD)的訪問,來動態(tài)識別單板的具體類型(在EPLD的邏輯中實現(xiàn)相關內部寄存器),根據不同類型的單板來完成對相關硬件的初始化工作。引導程序通常保存在NOR Flash或NAND Flash中,引導程序中到第三步為止,代碼會在NOR Flash中或者NAND Flash RAM中執(zhí)行,在獲得單板類型后,可以對片外RAM進行初始化,將引導程序代碼拷貝到片外RAM中執(zhí)行。接下來就可以在正常的C環(huán)境下通過單板類型對不同硬件進行初始化工作了。
[0042]為了使本發(fā)明的技術方案和實現(xiàn)方法更加清楚,下面將結合優(yōu)選的實施例對其實現(xiàn)過程進行詳細描述。
[0043](I)處理器在硬件復位期`間,可通過硬編碼(即上下拉電阻)、常用總線接口器件或者引導程序文件獲得處理器的配置信息。如果選擇通過引導程序文件獲得處理器的配置信息,則進行步驟(2 ),否則進行步驟(3 )。
[0044](2)通過EPLD實現(xiàn)一個R0M,將配置信息保存在ROM中。在硬件復位期間將處理器發(fā)送的地址信號,映射到EPLD內部實現(xiàn)的ROM空間,處理器便可以讀取ROM中的配置信息,在若干時鐘周期后,EPLD結束地址映射,返回正常狀態(tài)。
[0045](3)在處理器上電復位執(zhí)行若干指令后,初始化處理器核心,設置MMU,讀取處理器核心中標識處理器具體型號的寄存器,分別對不同型號處理器的片上和片外資源空間,10管腳,以及必要的寄存器進行初始化。
[0046](4)通過訪問片外資源(如EPLD)動態(tài)獲取單板類型,根據不同類型的單板來完成對相關片外資源以及處理器內部的功能模塊進行初始化。
[0047]圖3是根據本發(fā)明優(yōu)選實施例的相同架構下同一系列處理器的通用引導程序的實現(xiàn)示意圖,如圖3所示,本優(yōu)選實施例以射頻識別(Radio Frequency Identification,簡稱RFID)產品中使用的PowerPC架構的X系列處理器為例,實現(xiàn)了可以運行在多種單板上的通用引導程序。對于X系列下具體型號的處理器用XI,X2,X3…表示;對單板類型使用 Boardl,Board2,Board3…表示;EPLD 的版本用 EPLD-1,EPLD-2,EPLD-3 表示。實現(xiàn)相同架構同一系列處理器的通用引導程序,需要為每種單板定制唯一的邏輯程序(通過EPLD實現(xiàn)),其他功能可由引導程序代碼完成,實現(xiàn)對處理器具體型號的屏蔽。
[0048]圖4是根據本發(fā)明優(yōu)選實施例的處理器初始化方法的流程圖,如圖4所示,包括如下步驟:
[0049]步驟S402,通過硬編碼選擇啟動設備,CPU上電復位。
[0050]步驟S404,EPLD地址映射,映射到EPLD內部的ROM空間,讀取配置信息。
[0051]步驟S406,EPLD地址映射結束。
[0052]步驟S408,CPU進行上電配置。
[0053]步驟S410,CPU從啟動設備中執(zhí)行引導程序指令。
[0054]步驟S412,初始化CPU核心。
[0055]步驟S414,初始化MMU,分配CPU外設地址空間。
[0056]步驟S416,讀取CPU核心中標識ID的寄存器。
[0057]步驟S418,根據ID對不同型號的CPU進行初始化(包括10,以及相關必要模塊的初始化)。
[0058]步驟S420,通過CPU片外資源獲得單板類型,可以通過EPLD內部寄存器實現(xiàn)。
[0059]步驟S422,根據單板類型對其它外設進行初始化。
[0060]步驟S424,引導程序可在RAM中實行代碼。
[0061]步驟S426,引導程序進入正常啟動流程。
[0062]由上述可知,本發(fā)明實施例將同一架構下相同內核處理器的引導程序統(tǒng)一為一個文件,動態(tài)識別處理器具體型號、單板類型,從而進行對于不同硬件設備的初始化工作,為底層軟件進一步屏蔽硬件差別,增加了引導程序的靈活性,同時使引導程序的版本管理更加方便。
[0063]需要說明的是,在附圖的流程圖示出的步驟可以在諸如一組計算機可執(zhí)行指令的計算機系統(tǒng)中執(zhí)行,并且,雖然在流程圖中示出了邏輯順序,但是在某些情況下,可以以不同于此處的順序執(zhí)行所示出或描述的步驟。
[0064]本發(fā)明實施例還提供了 一種處理器初始化裝置,該處理器初始化裝置可以用于實現(xiàn)上述處理器初始化方法。圖5是根據本發(fā)明實施例的處理器初始化裝置的結構框圖,如圖5所示,包括配置模塊52和初始化模塊54。下面對其結構進行詳細描述。
[0065]配置模塊52,用于在硬件復位期間對相同架構下的處理器進行配置,其中,處理器屬于同一系列且內核相同;第一初始化模塊54,連接至配置模塊52,用于對處理器及其片外資源進行初始化。
[0066]如圖6所示,配置模塊52包括:獲取單元522,用于通過通用引導程序獲取處理器的配置信息,其中,通用引導程序是引導多個單板的引導程序;配置單元524,連接至獲取單元522,用于根據獲取單元522獲取的配置信息對處理器進行上電配置。
[0067]優(yōu)選地,獲取單元522包括:處理子單元,用于通過EPLD實現(xiàn)ROM ;保存子單元,連接至處理子單元,用于將處理器的配置信息保存到ROM中;映射子單元,連接至保存子單元,用于在硬件復位期間將處理器發(fā)送的地址信號映射到ROM ;讀取子單元,連接至映射子單元,用于讀取ROM中的配置信息。
[0068]優(yōu)選地,第一初始化模塊54包括:第一初始化單元,用于初始化處理器的內核;讀取單元,連接至第一初始化單元,用于讀取第一初始化單元初始化后的內核中標識處理器具體型號的寄存器;第二初始化單元,連接至讀取單元,用于根據讀取單元讀取的處理器的具體型號對處理器進行初始化。
[0069]如圖7所示,上述裝置還包括:獲取模塊56,連接至第一初始化模塊54,用于通過訪問在硬件復位期間獲取配置信息時已經配置的片外資源,獲取不同單板的類型;第二初始化模塊58,連接至獲取模塊56,用于根據獲取模塊56獲取的不同單板的類型對未配置的片外資源以及處理器內部的功能模塊進行初始化。
[0070]優(yōu)選地,在硬件復位期間獲取配置信息時已經配置的片外資源至少包括:EPLD。
[0071]需要說明的是,本發(fā)明上述實施例僅以PowerPC架構處理器為例,包括但不限于PowerPC架構處理器,上述方法同樣適用于高級精簡指令系統(tǒng)處理器(Advanced RISCMachines,簡稱為ARM,其中,RISC是指精簡指令計算機,Reduced Instruction SetComputer)架構和無內部互鎖流水級的微處理器(Microprocessor without InterlockedPiped Stages,簡稱為MIPS)架構的處理器。
[0072]綜上所述,根據本發(fā)明的上述實施例,提供了 一種處理器初始化方法及裝置。通過同一引導程序對相同架構下的處理器進行配置和初始化,將同類產品的引導程序編譯為同一個文件,增加了引導程序的靈活性,便于引導程序版本的維護和管理,且進行不同硬件設備(即片外資源)的初始化工作,為底層軟件進一步屏蔽了硬件差別。本發(fā)明通過邏輯器件和軟件的配合,將同類產品的引導程序編譯為同一個文件,便于版本的維護和管理,尤其是對生產過程中管理引導程序版本提供了保障。硬件主要是完成EPLD的設計,而軟件則需要根據系統(tǒng)方案,完成對關鍵參數的整體規(guī)劃,同時需要將開源代碼進行架構調整和部分修改。
[0073]顯然,本領域的技術人員應該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網絡上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結合。
[0074]以上所述僅為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領域的技術人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【權利要求】
1.一種處理器初始化方法,其特征在于包括: 在硬件復位期間對相同架構下的處理器進行配置,其中,所述處理器屬于同一系列且內核相同; 對所述處理器及其片外資源進行初始化。
2.根據權利要求1所述的方法,其特征在于,在硬件復位期間對相同架構下的處理器進行配置包括: 通過通用引導程序獲取所述處理器的配置信息,其中,所述通用引導程序是引導多個單板的引導程序; 根據所述配置信息對所述處理器進行上電配置。
3.根據權利要求2所述的方法,其特征在于,通過通用引導程序獲取所述處理器的配置信息包括: 通過可擦除可編程邏輯器件EPLD實現(xiàn)只讀存儲器ROM,并將處理器的配置信息保到所述ROM中; 在硬件復位期間將所述處理器發(fā)送的地址信號映射到所述ROM ; 讀取所述ROM中的配置信息。
4.根據權利要求1所述 的方法,其特征在于,對所述處理器以及片外資源進行初始化包括:初始化所述處理器的內核,讀取所述處理器內核中標識所述處理器具體型號的寄存器; 根據所述處理器的具體型號對所述處理器進行初始化。
5.根據權利要求4所述的方法,其特征在于,在根據所述處理器的具體型號對所述處理器進行初始化之后,所述方法還包括: 通過訪問在硬件復位期間獲取配置信息時已經配置的片外資源,獲取不同單板的類型; 根據所述不同單板的類型對未配置的片外資源以及所述處理器內部的功能模塊進行初始化。
6.根據權利要求5所述的方法,其特征在于,在硬件復位期間獲取配置信息時已經配置的片外資源至少包括:EPLD。
7.—種處理器初始化裝置,其特征在于包括: 配置模塊,用于在硬件復位期間對相同架構下的處理器進行配置,其中,所述處理器屬于同一系列且內核相同; 初始化模塊,用于對所述處理器及其片外資源進行初始化。
8.根據權利要求7所述的裝置,其特征在于,所述配置模塊包括: 獲取單元,用于通過通用引導程序獲取所述處理器的配置信息,其中,所述通用引導程序是引導多個單板的引導程序; 配置單元,用于根據所述配置信息對所述處理器進行上電配置。
9.根據權利要求8所述的裝置,其特征在于,所述獲取單元包括: 處理子單元,用于通過可擦除可編程邏輯器件EPLD實現(xiàn)只讀存儲器ROM ; 保存子單元,用于將處理器的配置信息保存到所述ROM中; 映射子單元,用于在硬件復位期間將所述處理器發(fā)送的地址信號映射到所述ROM ;讀取子單元,用于讀取所述ROM中的配置信息。
10.根據權利要求7所述的裝置,其特征在于,所述初始化模塊包括:第一初始化單元,用于初始化所述處理器的內核;讀取單元,用于讀取所述內核中標識所述處理器具體型號的寄存器;第二初始化單元,用于根據所述處`理器的具體型號對所述處理器進行初始化。
【文檔編號】G06F9/445GK103514001SQ201210215590
【公開日】2014年1月15日 申請日期:2012年6月27日 優(yōu)先權日:2012年6月27日
【發(fā)明者】丁岳, 汪旭光, 劉建志 申請人:中興通訊股份有限公司
網友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1