專利名稱:一種雙cpu系統(tǒng)及其啟動方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種嵌入式系統(tǒng)的雙CPU(Central Processor Unit,中央處理單元)系統(tǒng)及啟動,尤其是無線通訊系統(tǒng)中的雙CPU系統(tǒng)啟動技術(shù)。
背景技術(shù):
目前嵌入式系統(tǒng)啟動有兩種方法,一種是單CPU系統(tǒng)啟動,一種是多CPU系統(tǒng)啟動。嵌入式系統(tǒng)通常采用單CPU結(jié)構(gòu),擁有完整的地址空間,駐留一套完整操作系統(tǒng),系統(tǒng)啟動采用通用的單CPU啟動方法,附圖1就是這種單CPU系統(tǒng)啟動流程圖。在無線通訊系統(tǒng)中也存在少量雙CPU結(jié)構(gòu)的嵌入式系統(tǒng),但目前的雙CPU結(jié)構(gòu)是每個CPU都有一套自己的外圍接口電路,包括存放引導(dǎo)程序的EEPROM(Electrically Erasable Programmable Read-only Memory,電可擦除只讀存儲器)、存放系統(tǒng)運行代碼數(shù)據(jù)的SDRAM(Synchronous Dynamic random access memory,同步動態(tài)隨機存儲器)等,都有一套自己的嵌入式系統(tǒng)。與單CPU系統(tǒng)一樣,只是為了增強處理能力,采用了雙CPU結(jié)構(gòu)的分布式系統(tǒng)。這樣做系統(tǒng)較簡單,但成本也較高,不但使硬件電路板尺寸變得較大,而且也增加了很多外圍器件。附圖2就是這種傳統(tǒng)分布式雙CPU系統(tǒng)啟動流程圖。通常這兩種應(yīng)用系統(tǒng)的CPU處理能力都不太高,當遇到需要很高處理能力的CPU系統(tǒng)時,比如總線只支持64位的CPU,由于沒有相應(yīng)的EEPROM可以直接掛接在這種CPU上,沒辦法上電自引導(dǎo)啟動,需要再增加一種性能較低支持8位或16位總線等常見EEPROM的CPU,一起構(gòu)成雙CPU系統(tǒng)。這是一種新的雙CPU結(jié)構(gòu)系統(tǒng),需要新的啟動方法,本發(fā)明就是一種關(guān)于這種新雙CPU結(jié)構(gòu)的系統(tǒng)如何啟動的方法。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)方案為,基于高處理能力CPU應(yīng)用的需求提出了一種新雙CPU應(yīng)用系統(tǒng)及其啟動方法,拓展雙CPU系統(tǒng)應(yīng)用的解決方案,并降低應(yīng)用系統(tǒng)的成本,降低軟件的應(yīng)用、維護難度。
本發(fā)明的雙CPU系統(tǒng),包括低處理能力CPU和高處理能力CPU,低處理能力CPU帶有存放一級、二級引導(dǎo)程序的EEPROM和存放二級引導(dǎo)代碼的第一SDRAM,高處理能力CPU帶有存放運行程序和數(shù)據(jù)的第二SDRAM;低處理能力CPU所連接的總線與高處理能力所連接的總線之間通過總線轉(zhuǎn)換器進行轉(zhuǎn)換。
存放二級引導(dǎo)代碼的SDRAM可以掛在與低處理能力CPU相連總線上,也可也以掛在與高處理能力CPU相連的總線上。
低處理能力CPU可以帶有一種或二種總線,存放引導(dǎo)程序的EEPROM和存放二級引導(dǎo)代碼的SDRAM掛在同一條總線上或各掛在一種總線上。
高處理能力CPU還帶有存放商用版本的FLASH。
本發(fā)明的雙CPU系統(tǒng)的啟動方法,包括以下步驟301系統(tǒng)上電;302低處理能力CPU進行內(nèi)核寄存器初始化,外圍存儲空間初始化,搬移并執(zhí)行高處理能力CPU引導(dǎo)代碼;303執(zhí)行高處理能力CPU引導(dǎo)代碼,進行低處理能力CPU內(nèi)核、寄存器、外轉(zhuǎn)存儲空間、外圍設(shè)備等初始化,關(guān)閉低處理能力CPU,打開高處理能力CPU并進行簡單初始化;304完成中斷安裝、基本外圍設(shè)備等硬件初始化和啟動,完成系統(tǒng)軟件初始化;305完成嵌入式操作系統(tǒng)加載并啟動運行;306調(diào)度用戶的任務(wù)完成產(chǎn)品商用版本加載和運行。
相對于現(xiàn)有技術(shù),本發(fā)明拓展了雙CPU系統(tǒng)應(yīng)用的解決方案,并降低了應(yīng)用系統(tǒng)的成本,降低了軟件的應(yīng)用、維護難度,提高了系統(tǒng)的處理能力,提高了無線通訊系統(tǒng)的容量。
圖1是現(xiàn)有技術(shù)中的單CPU系統(tǒng)啟動流程圖;圖2是現(xiàn)有技術(shù)中的分布式雙CPU系統(tǒng)啟動流程圖;圖3是本發(fā)明的雙CPU系統(tǒng)硬件結(jié)構(gòu)圖;圖4是本發(fā)明的雙CPU系統(tǒng)軟件啟動流程圖。
具體實施例方式
下面結(jié)合附圖對本發(fā)明作詳細的說明。
圖1是現(xiàn)有技術(shù)中單CPU系統(tǒng)啟動流程圖。在嵌入式系統(tǒng)開發(fā)領(lǐng)域,從101系統(tǒng)上電開始,CPU從存放其引導(dǎo)代碼的EEPROM的第一條指令開始運行,到102、103進行CPU內(nèi)核和引導(dǎo)系統(tǒng)初始化,直到104加載嵌入式操作系統(tǒng),開始任務(wù)調(diào)度,最后105完成應(yīng)用系統(tǒng)的加載和運行,這是一個典型的單CPU系統(tǒng)最常見的完整啟動過程。
圖2是傳統(tǒng)分布式雙CPU系統(tǒng)啟動流程圖。在嵌入式系統(tǒng)開發(fā)領(lǐng)域,這種分布式雙CPU系統(tǒng)共用一套上電電路,保證系統(tǒng)上電時兩個CPU系統(tǒng)能同時上電,其他外圍電路、存儲設(shè)備等都是完全獨立的,與傳統(tǒng)單CPU系統(tǒng)完全相同,因此系統(tǒng)引導(dǎo)就像兩個獨立的單CPU系統(tǒng)引導(dǎo)一樣,各自完成自己的啟動,就像圖1說明的啟動過程一樣。通過圖1與圖2比較可以看出,201是兩個CPU公用的上電部分,與單CPU的101對應(yīng),202~205與212~215是兩個CPU的引導(dǎo)部分,完全相同,與102~105也是一一對應(yīng),完全相同。因此傳統(tǒng)分布式雙CPU系統(tǒng)是傳統(tǒng)單CPU系統(tǒng)的簡單疊加。
圖3是本發(fā)明的實施例的雙CPU系統(tǒng)硬件結(jié)構(gòu)圖,兩個CPU通過一種稱為“橋”的硬件設(shè)備連接起來,“橋”是一種總線轉(zhuǎn)換器,它實現(xiàn)總線1與總線2的相互轉(zhuǎn)換,低處理能力CPU通過總線1直接訪問EEPROM,開始系統(tǒng)一級引導(dǎo)和二級引導(dǎo)代碼的搬移,高處理能力CPU通過“橋”將總線2的訪問轉(zhuǎn)換為總線1的訪問,實現(xiàn)掛接在總線1上的SDRAM1的二級引導(dǎo)代碼的訪問,通過總線2直接訪問SDRAM2上運行的的商用版本代碼和數(shù)據(jù),還有FLASH的商用版本。其中EEPROM存放系統(tǒng)啟動的完整引導(dǎo)代碼,包括一級引導(dǎo)代碼、二級引導(dǎo)代碼,SDRAM1存放二級引導(dǎo)代碼,SDRAM2存放運行的商用版本和數(shù)據(jù),F(xiàn)LASH存放商用版本。另外系統(tǒng)輔助外圍設(shè)備框中的設(shè)備只是為了實現(xiàn)本發(fā)明的實施例添加進來的輔助設(shè)備,并不是本發(fā)明的內(nèi)容。實現(xiàn)本發(fā)明的硬件架構(gòu)圖并非只有圖3這一種,比如以下兩種硬件架構(gòu)也能實現(xiàn)本發(fā)明,但不僅僅局限于這2種硬件架構(gòu)(1)存放二級引導(dǎo)代碼的SDRAM1就可以不掛接在總線1上而掛接在總線2上;(2)系統(tǒng)的總線也可以不限于2種,比如低處理能力的CPU1有2種總線,EEPROM和SDRAM1各掛接在一種總線上,高處理能力CPU有1種總線。
圖4是本發(fā)明的實施例的雙CPU系統(tǒng)軟件啟動流程圖。這個流程圖是以EEPROM的引導(dǎo)程序燒結(jié)好為前提條件的。EEPROM的引導(dǎo)程序制作可以按照常規(guī)嵌入式系統(tǒng)開發(fā)方法制作一級引導(dǎo)程序和二級引導(dǎo)程序,并將一級引導(dǎo)程序拷貝到二級引導(dǎo)程序首地址位置的方法將它們合并在一起,將其燒結(jié)到EEPROM中形成雙CPU系統(tǒng)的完整引導(dǎo)程序。與傳統(tǒng)單CPU系統(tǒng)啟動不同的是302、303,301與101對應(yīng)是從系統(tǒng)上電開始;302是引導(dǎo)低處理能力CPU,進行簡單內(nèi)核初始化,存儲空間初始化,搬移并執(zhí)行高處理能力CPU引導(dǎo)代碼;所述代碼搬移原地址是EEPROM空間的第二級啟動代碼的起始位置,搬移目的地址就是存放高處理能力CPU二級引導(dǎo)代碼的SDRAM空間起始地址,搬移代碼大小就是EEPROM空間大小減去EEPROM空間的第二級啟動代碼的起始位置,跳轉(zhuǎn)執(zhí)行的地址是高處理能力CPU引導(dǎo)代碼即第二級啟動代碼的代碼段起始地址;303是執(zhí)行高處理能力CPU引導(dǎo)代碼,進行低處理能力CPU內(nèi)核、寄存器、存儲空間等更完整初始化,關(guān)閉低處理能力CPU,打開高處理能力CPU并進行簡單初始化;304~306與傳統(tǒng)單CPU系統(tǒng)啟動過程的103~105一一對應(yīng),完成引導(dǎo)系統(tǒng)初始化,嵌入式操作系統(tǒng)的加載,任務(wù)調(diào)度,應(yīng)用系統(tǒng)的加載和運行整個啟動工作。
本發(fā)明提出了一種新雙CPU結(jié)構(gòu)的二級啟動方法,具體實現(xiàn)可以有多種不同方式,本發(fā)明采用的是簡化一級啟動,重點關(guān)注二級啟動的思想,其實一級啟動也可以與二級啟動一樣更完整、更詳細,只是為了降低存儲啟動代碼的EEPROM容量,將一級啟動代碼簡化了。這都不違背本發(fā)明的描述。
權(quán)利要求
1.一種雙CPU系統(tǒng),包括低處理能力CPU和高處理能力CPU,低處理能力CPU帶有存放一級、二級引導(dǎo)程序的EEPROM和存放二級引導(dǎo)代碼的第一SDRAM,高處理能力CPU帶有存放運行程序和數(shù)據(jù)的第二SDRAM,其特征在于,所述低處理能力CPU所連接的總線與高處理能力所連接的總線之間通過總線轉(zhuǎn)換器進行總線信號的轉(zhuǎn)換。
2.權(quán)利要求1所述的雙CPU系統(tǒng),其特征在于,存放二級引導(dǎo)代碼的第一SDRAM掛在與低處理能力CPU相連總線上或掛在與高處理能力CPU相連的總線上。
3.權(quán)利要求1所述的雙CPU系統(tǒng),其特征在于,所述低處理能力CPU存放引導(dǎo)程序的EEPROM和存放二級引導(dǎo)代碼的SDRAM各掛在一種總線上,或者掛在同一條總線上。
4.權(quán)利要求1、2或3所述的雙CPU系統(tǒng),其特征在于,高處理能力CPU還帶有存放商用版本的FLASH。
5.一種雙CPU系統(tǒng)的啟動方法,包括以下步驟301系統(tǒng)上電;302低處理能力CPU進行內(nèi)核寄存器初始化,外圍存儲空間初始化,搬移并執(zhí)行高處理能力CPU引導(dǎo)代碼;303執(zhí)行高處理能力CPU引導(dǎo)代碼,進行低處理能力CPU內(nèi)核、寄存器、外轉(zhuǎn)存儲空間、外圍設(shè)備初始化,關(guān)閉低處理能力CPU,打開高處理能力CPU并進行簡單初始化;304完成中斷安裝、基本外圍設(shè)備硬件初始化和啟動,完成系統(tǒng)軟件初始化;305完成嵌入式操作系統(tǒng)加載并啟動運行;306調(diào)度用戶的任務(wù)完成產(chǎn)品商用版本加載和運行。
6.權(quán)利要求5所述的雙CPU系統(tǒng)的啟動方法,其特征在于,所述外圍存儲空間初始化,包括對存放雙CPU結(jié)構(gòu)的一級、二級完全引導(dǎo)代碼的EEPROM空間和僅存放搬移的高處理能力CPU簡單二級引導(dǎo)代碼的SDRAM空間的初始化。
7.權(quán)利要求6所述的雙CPU系統(tǒng)的啟動方法,其特征在于,若需要運行商用版本,則所述外圍存儲空間初始化,還包括存放運行程序和數(shù)據(jù)的SDRAM空間初始化,存放商用版本的FLASH空間初始化。
8.權(quán)利要求5或6所述的雙CPU系統(tǒng)的啟動方法,其特征在于,所述代碼搬移原地址是EEPROM空間的第二級啟動代碼的起始位置,搬移目的地址就是存放高處理能力CPU二級引導(dǎo)代碼的SDRAM空間起始地址,搬移代碼大小就是EEPROM空間大小減去EEPROM空間的第二級啟動代碼的起始位置,跳轉(zhuǎn)執(zhí)行的地址是高處理能力CPU引導(dǎo)代碼即第二級啟動代碼的代碼段起始地址。
全文摘要
一種雙CPU系統(tǒng),包括低處理能力CPU和高處理能力CPU,低處理能力CPU帶有存放一級、二級引導(dǎo)程序的EEPROM和存放二級引導(dǎo)代碼的第一SDRAM,高處理能力CPU帶有存放運行程序和數(shù)據(jù)的第二SDRAM;低處理能力CPU所連接的總線與高處理能力所連接的總線之間通過總線轉(zhuǎn)換器進行轉(zhuǎn)換。啟動方法為先進行低處理能力CPU啟動,后進行高處理能力CPU啟動,最后完成系統(tǒng)軟件初始化以及嵌入式操作系統(tǒng)加載并啟動運行和調(diào)度用戶的任務(wù)完成產(chǎn)品商用版本加載、運行。本發(fā)明拓展了雙CPU系統(tǒng)應(yīng)用的解決方案,并降低了應(yīng)用系統(tǒng)的成本,降低了軟件的應(yīng)用、維護難度,提高了系統(tǒng)的處理能力,提高了無線通訊系統(tǒng)的容量。
文檔編號G06F13/00GK1885260SQ20051003547
公開日2006年12月27日 申請日期2005年6月20日 優(yōu)先權(quán)日2005年6月20日
發(fā)明者陳宏進, 馬書宇 申請人:中興通訊股份有限公司