專利名稱:使用usb設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法、設(shè)備、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及系統(tǒng)引導(dǎo)技術(shù),特別涉及一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法、一種USB引導(dǎo)設(shè)備、一種啟動(dòng)裝置以及一種使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng)。
背景技術(shù):
系統(tǒng)引導(dǎo)就是CPU上電后,引導(dǎo)操作系統(tǒng)運(yùn)行前,CPU運(yùn)行的一段小程序,通常稱為Boot Loader (弓丨導(dǎo)裝載程序,也稱為BIOS或Bootrom等)。Intel X86CPU上,把CPU引導(dǎo)程序分為兩部分BIOS加Boot Loader。在htel的術(shù)語(yǔ)中,BIOS是CPU上電執(zhí)行的第一段代碼,而B(niǎo)oot Loader是操作系統(tǒng)引導(dǎo)程序,是由 BIOS引導(dǎo)的。即在htel的術(shù)語(yǔ)中,Boot Loader和BIOS不是等同的概念。而在其它CPU術(shù)語(yǔ)中,Boot Loader和BIOS是等同的概念。本發(fā)明中,Boot Loader特指CPU上電執(zhí)行的第一段代碼。Boot Loader主要完成系統(tǒng)硬件的初始化,包括CPU最基本的初始化、初始化串口控制器、LocalBus總線下FLASH/CPLD時(shí)序配置、初始化DDR內(nèi)存控制器、實(shí)現(xiàn)存儲(chǔ)區(qū)的映射等,為最終啟動(dòng)操作系統(tǒng)準(zhǔn)備好正確的軟硬件環(huán)境。系統(tǒng)引導(dǎo)程序Boot Loader都是保存在電子設(shè)備內(nèi)部集成的非易失存儲(chǔ)介質(zhì)中, 如NorFlasKNandFlash等,這些保存Boot Loader的存儲(chǔ)介質(zhì)又稱為BootFlash,要求讀訪問(wèn)操作簡(jiǎn)單,以便于CPU上電后,可直接讀取指令,一般都是RAM或ROM芯片。圖1示出了傳統(tǒng)的系統(tǒng)引導(dǎo)示意圖。如圖1所示,CPU在上電啟動(dòng)或者復(fù)位后,輸出啟動(dòng)芯片選擇信號(hào), 選擇相應(yīng)的啟動(dòng)設(shè)備,并從啟動(dòng)設(shè)備中讀取Boot Loader并運(yùn)行,完成系統(tǒng)引導(dǎo)。從圖1中可以看出,假如非易失存儲(chǔ)介質(zhì)中存放Boot Loader程序的存儲(chǔ)空間損壞或者Boot Loader 程序錯(cuò)誤,將導(dǎo)致系統(tǒng)無(wú)法啟動(dòng)。由于CPU是電子設(shè)備的核心,而B(niǎo)oot Loader是CPU上電后最先執(zhí)行的代碼,所以Boot Loader是電子設(shè)備可靠性的基礎(chǔ)。數(shù)據(jù)通信設(shè)備對(duì)可靠性的要求是電子設(shè)備中最高的。為提高可靠性,在數(shù)據(jù)通信設(shè)備目前的設(shè)計(jì)中,多采用邏輯備份(一片非易失存儲(chǔ)介質(zhì)劃分兩個(gè)邏輯空間,分別保存兩份Boot Loader)或物理備份(兩片非易失存儲(chǔ)介質(zhì),分別保存兩份Boot Loader)的方法進(jìn)行備份。圖2示出了現(xiàn)有Boot Loader物理備份系統(tǒng)的引導(dǎo)示意圖。即使采取了備份的方式提高可靠性,但實(shí)際應(yīng)用中,仍小概率存在BootLoader被破壞的風(fēng)險(xiǎn)。例如由于設(shè)備硬件器件或者軟件功能的升級(jí),BootLoader也可能需要升級(jí),在Boot Loader升級(jí)過(guò)程中,如果斷電或者異常終止升級(jí),將導(dǎo)致Boot Loader程序被破壞;或者由于長(zhǎng)期使用,保存Boot Loader程序的存儲(chǔ)空間損壞,無(wú)法讀取或者錯(cuò)誤讀取 Boot Loader程序,這樣都將導(dǎo)致設(shè)備無(wú)法啟動(dòng)。由于存放Boot Loader的非易失存儲(chǔ)介質(zhì)都是集成在電子設(shè)備內(nèi)部,一旦出現(xiàn)這種小概率情況,不可避免地需要進(jìn)行維修。為解決Boot Loader損壞問(wèn)題,現(xiàn)有存放Boot Loader的非易失存儲(chǔ)介質(zhì)一般不是焊死在電路板上,而是用插座的形式內(nèi)置在電路板上。 這種方式有利于Boot Loader損壞后,返廠快速維修。但這種方式存在以下問(wèn)題
(1)易用性差,存放Boot Loader非易失存儲(chǔ)介質(zhì)的插座也是內(nèi)置在電子設(shè)備中, 必須拆開(kāi)電子設(shè)備,才能更換Boot Loader非易失存儲(chǔ)介質(zhì)。(2)操作要求高,必須是專業(yè)維修人員采用手工方式,才能維修更換Boot Loader 的非易失存儲(chǔ)介質(zhì)。(3)無(wú)法實(shí)現(xiàn)在線修復(fù),只能從插座上拔掉Boot Loader非易失存儲(chǔ)介質(zhì),并使用專用存儲(chǔ)介質(zhì)燒片器燒寫(xiě)后,再安裝回插座上。(4)信息安全性差,無(wú)法在用戶處臨時(shí)啟動(dòng)設(shè)備,由用戶刪除或保存機(jī)密重要信肩、ο可見(jiàn),采用上述方法,用戶無(wú)法自行維修電子設(shè)備,只能返廠維修,重新加載Boot Loader程序或者更換非易失存儲(chǔ)設(shè)備,維修成本較高。而且,數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)介質(zhì)經(jīng)常保存用戶重要機(jī)密信息(如用戶網(wǎng)絡(luò)接入密鑰等),用戶往往希望在數(shù)據(jù)通信設(shè)備返廠維修前,手動(dòng)刪除或保存一些機(jī)密信息,但由于Boot Loader損壞,數(shù)據(jù)通信設(shè)備無(wú)法啟動(dòng),導(dǎo)致用戶無(wú)法手動(dòng)刪除或保存機(jī)密信息。
發(fā)明內(nèi)容
本發(fā)明提供了一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法、一種USB引導(dǎo)設(shè)備、一種啟動(dòng)裝置以及一種使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng),以便在電子設(shè)備的Boot Loader程序代碼或用于存儲(chǔ)Boot Loader的非易失存儲(chǔ)介質(zhì)被損壞時(shí),能夠在用戶處引導(dǎo)系統(tǒng)啟動(dòng),從而簡(jiǎn)便快速地修復(fù)故障,并滿足用戶臨時(shí)啟動(dòng)系統(tǒng)處理重要信息的需求。本發(fā)明提供了一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法,包括數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置通過(guò)IIC接口訪問(wèn)通用串行總線USB引導(dǎo)設(shè)備,將USB 引導(dǎo)設(shè)備中的引導(dǎo)裝載程序Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中;數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置控制數(shù)據(jù)通信設(shè)備的CPU復(fù)位,將CPU復(fù)位后所發(fā)出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器上;數(shù)據(jù)通信設(shè)備中的CPU從所述存儲(chǔ)器讀取Boot Loader并執(zhí)行。 進(jìn)一步地,在數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置通過(guò)IIC接口訪問(wèn)USB弓丨導(dǎo)設(shè)備之前,可以包括觸發(fā)數(shù)據(jù)通信設(shè)備從USB引導(dǎo)設(shè)備啟動(dòng);數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置斷開(kāi)數(shù)據(jù)通信設(shè)備中USB控制器與USB連接器之間的連接,并建立數(shù)據(jù)通信設(shè)備中IIC接口與USB連接器之間的連接。較佳地,觸發(fā)數(shù)據(jù)通信設(shè)備從USB引導(dǎo)設(shè)備啟動(dòng)的方式可以包括在數(shù)據(jù)通信設(shè)備內(nèi)置的Boot Loader啟動(dòng)失敗時(shí)觸發(fā);或者在USB引導(dǎo)設(shè)備插入數(shù)據(jù)通信設(shè)備時(shí)觸發(fā);或者在檢測(cè)到輸入的從USB引導(dǎo)設(shè)備啟動(dòng)的指令時(shí)觸發(fā)。本發(fā)明還提供了一種USB引導(dǎo)設(shè)備,包括IIC接口存儲(chǔ)介質(zhì)、USB連接器和供電模塊,其中IIC接口存儲(chǔ)介質(zhì)為具備IIC接口的存儲(chǔ)介質(zhì),加載有Boot Loader ;USB連接器的電源線和地線分別與供電模塊的電源線和地線相連,兩根數(shù)據(jù)線分別與IIC接口存儲(chǔ)介質(zhì)的IIC接口的兩根數(shù)據(jù)線相連;
供電模塊用于為USB引導(dǎo)設(shè)備供電。本發(fā)明還提供了一種啟動(dòng)裝置,包括控制邏輯子模塊、USB直通子模塊、IIC訪問(wèn)子模塊、CPU復(fù)位控制子模塊和啟動(dòng)芯片選擇子模塊;當(dāng)觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)時(shí),控制邏輯子模塊首先控制USB直通子模塊斷開(kāi)USB 控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的連接,并控制IIC訪問(wèn)子模塊建立IIC接口與USB連接器的數(shù)據(jù)線之間的連接;然后,控制邏輯子模塊通過(guò)IIC接口從USB引導(dǎo)設(shè)備中讀取Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器,并控制CPU復(fù)位控制子模塊復(fù)位CPU,CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào);隨后,控制邏輯子模塊控制啟動(dòng)芯片選擇子模塊將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器,CPU從所述存儲(chǔ)器中執(zhí)行Boot Loader0較佳地,所述裝置中可以進(jìn)一步包括啟動(dòng)邏輯計(jì)數(shù)器;所述啟動(dòng)邏輯計(jì)數(shù)器用于在CPU啟動(dòng)之后進(jìn)行計(jì)數(shù),如果CPU啟動(dòng)BootLoader成功,CPU對(duì)所述啟動(dòng)邏輯計(jì)數(shù)器清O,如果所述啟動(dòng)邏輯計(jì)數(shù)器超時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。較佳地,所述裝置中可以進(jìn)一步包括檢測(cè)子模塊;所述檢測(cè)子模塊用于對(duì)USB連接器的兩根數(shù)據(jù)線的高低電平進(jìn)行檢測(cè),在檢測(cè)到 USB連接器的兩根數(shù)據(jù)線均為高電平,并保持預(yù)設(shè)時(shí)長(zhǎng)時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。較佳地,所述裝置中可以進(jìn)一步包括按鍵檢測(cè)子模塊;所述按鍵檢測(cè)子模塊用于檢測(cè)數(shù)據(jù)通信設(shè)備的觸發(fā)按鍵是否被按下,在檢測(cè)到觸發(fā)按鍵被按下時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。所述存儲(chǔ)器可以設(shè)置于所述啟動(dòng)裝置內(nèi)部或外部。本發(fā)明還提供了一種使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng),包括USB引導(dǎo)設(shè)備和數(shù)據(jù)通信設(shè)備;所述USB引導(dǎo)設(shè)備中集成具有IIC接口的存儲(chǔ)介質(zhì),所述具有IIC接口的存儲(chǔ)介質(zhì)中加載有Boot Loader,所述具有IIC接口的存儲(chǔ)介質(zhì)的IIC接口的兩根數(shù)據(jù)線分別與所述USB引導(dǎo)設(shè)備的USB連接器的兩根數(shù)據(jù)線相連;所述USB弓I導(dǎo)設(shè)備通過(guò)USB連接器連接到所述數(shù)據(jù)通信設(shè)備;所述數(shù)據(jù)通信設(shè)備內(nèi)部設(shè)置有啟動(dòng)裝置;當(dāng)觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)時(shí),所述啟動(dòng)裝置首先斷開(kāi)USB控制器的數(shù)據(jù)線與USB 連接器的數(shù)據(jù)線之間的連接,并建立Iic接口與USB連接器的數(shù)據(jù)線之間的連接;然后,從 USB引導(dǎo)設(shè)備中讀取Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器,并復(fù)位CPU,CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào);隨后,將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器,CPU 從所述存儲(chǔ)器中執(zhí)行Boot Loader。由上述技術(shù)方案可見(jiàn),本發(fā)明在數(shù)據(jù)通信設(shè)備無(wú)法正常啟動(dòng)時(shí),通過(guò)邏輯動(dòng)態(tài)地切換USB接口數(shù)據(jù)線的功能,將USB接口數(shù)據(jù)線切換為IIC總線,從而克服了 USB總線協(xié)議復(fù)雜,USB設(shè)備無(wú)法應(yīng)用在CPU Boot階段的缺點(diǎn),使得啟動(dòng)裝置可以從USB設(shè)備中讀取Boot Loader ;在此基礎(chǔ)上,本發(fā)明進(jìn)一步巧妙利用了數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)空間,將從USB設(shè)備中讀取BootLoader存儲(chǔ)于數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中,并觸發(fā)CPU從數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中執(zhí)行Boot Loader,從而實(shí)現(xiàn)了引導(dǎo)系統(tǒng)啟動(dòng)。
圖1示出了傳統(tǒng)的系統(tǒng)引導(dǎo)示意圖;圖2示出了現(xiàn)有Boot Loader物理備份系統(tǒng)的引導(dǎo)示意圖;圖3為本發(fā)明一具體實(shí)施例的USB Boot的組成結(jié)構(gòu)示意圖;圖4為本發(fā)明一具體實(shí)施例的啟動(dòng)裝置的組成結(jié)構(gòu)示意圖;圖5為本發(fā)明一具體實(shí)施例中使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng)組成示意圖;圖6為本發(fā)明一具體實(shí)施例中使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法流程示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下參照附圖并舉實(shí)施例,對(duì)本發(fā)明作進(jìn)一步詳細(xì)說(shuō)明。USB (通用串行總線)是一種計(jì)算機(jī)通用外設(shè)連接規(guī)范,簡(jiǎn)單地說(shuō),是一種計(jì)算機(jī)外圍串行通訊接口標(biāo)準(zhǔn)。USB具有熱插拔、數(shù)據(jù)傳輸可靠、擴(kuò)展方便、低成本等特點(diǎn),已成為當(dāng)前電子設(shè)備必備的外設(shè)接口。數(shù)據(jù)通信設(shè)備也都有USB接口。USB2.0協(xié)議規(guī)定,USB總線有四根信號(hào)線,其中包括兩根差分?jǐn)?shù)據(jù)線D+和D-,一根供電線和一根地線。USB3. 0協(xié)議仍保留USB2. 0定義的4根信號(hào)線。USB規(guī)范制定了一套復(fù)雜的USB設(shè)備識(shí)別流程,USB主機(jī)通過(guò)不同的控制命令,反復(fù)和USB設(shè)備進(jìn)行交互,才能完成USB主機(jī)對(duì)USB設(shè)備的識(shí)別。在本發(fā)明描述中,數(shù)據(jù)通信設(shè)備具有USB接口。由于USB數(shù)據(jù)傳輸?shù)膹?fù)雜性,所以 USB數(shù)據(jù)傳輸必須有CPU軟件參與才能實(shí)現(xiàn),這就導(dǎo)致只有在數(shù)據(jù)通信設(shè)備的CPU Boot Loader啟動(dòng)后,CPU軟件準(zhǔn)備好,數(shù)據(jù)通信設(shè)備才可支持各種USB設(shè)備。目前業(yè)界應(yīng)用中, USB存儲(chǔ)介質(zhì)(例如U盤或USB移動(dòng)硬盤)都可作為數(shù)據(jù)通信設(shè)備操作系統(tǒng)存放的存儲(chǔ)介質(zhì),即數(shù)據(jù)通信設(shè)備都支持從USB存儲(chǔ)介質(zhì)啟動(dòng)操作系統(tǒng)和應(yīng)用軟件。由于上述USB數(shù)據(jù)傳輸和USB設(shè)備識(shí)別流程的復(fù)雜性,且USB存儲(chǔ)介質(zhì)不支持CPU直接隨機(jī)訪問(wèn),所以USB存儲(chǔ)介質(zhì)不能作為數(shù)據(jù)通信設(shè)備Boot Loader的存儲(chǔ)介質(zhì)。CPU 一般支持從 NorFlash 啟動(dòng) Boot Loader、從 NandFlash 啟動(dòng) BootLoader 或從 Iic接口的EEPROM中啟動(dòng)Boot Loader。以上三種啟動(dòng)介質(zhì)都集成在電子設(shè)備內(nèi)部,不支持熱插拔功能,不具備通用10接口,一旦發(fā)生損壞就無(wú)法更換。本發(fā)明的主要思想是利用數(shù)據(jù)通信設(shè)備都具備USB接口的特點(diǎn),以及IIC總線簡(jiǎn)單傳輸?shù)奶攸c(diǎn),將兩者相結(jié)合,提出一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法、設(shè)備、裝置及系統(tǒng)?;谏鲜鲋饕枷?,本發(fā)明提出一種特殊USB設(shè)備,以下稱為USB Boot (USB引導(dǎo)設(shè)備)。USB Boot上具備用于保存Boot Loader的非易失存儲(chǔ)介質(zhì),并加載好可用的Boot Loader可執(zhí)行代碼。USB Boot僅是借用USB接口數(shù)據(jù)線進(jìn)行IIC訪問(wèn),無(wú)需實(shí)現(xiàn)USB總線協(xié)議功能,數(shù)據(jù)通信設(shè)備可以通過(guò)IIC總線訪問(wèn)該USB Boot。當(dāng)數(shù)據(jù)通信設(shè)備發(fā)生小概率內(nèi)置Boot Loader損壞問(wèn)題后,數(shù)據(jù)通信設(shè)備啟動(dòng)失敗。插入U(xiǎn)SB Boot,數(shù)據(jù)通信設(shè)備的啟動(dòng)裝置通過(guò)IIC總線從USB Boot讀取Boot Loader到數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器(RAM/ ROM)中。啟動(dòng)裝置重新復(fù)位CPU,并把CPU復(fù)位之后所輸出的啟動(dòng)芯片選擇信號(hào)切到上述存
7儲(chǔ)有Boot Loader的存儲(chǔ)器,從而,CPU從上述存儲(chǔ)器中執(zhí)行Boot Loader,完成系統(tǒng)引導(dǎo)。 數(shù)據(jù)通信設(shè)備從USB Boot啟動(dòng)后,可嘗試修復(fù)設(shè)備固有的Boot Loader非易失存儲(chǔ)設(shè)備。 本發(fā)明中,啟動(dòng)裝置可以是CPLD(復(fù)雜可編程邏輯器件)或FPGA (現(xiàn)場(chǎng)可編程門陣列)等。 用于存儲(chǔ)從USB Boot讀取到的Boot Loader的存儲(chǔ)器可以設(shè)置于啟動(dòng)裝置內(nèi)部,也可以設(shè)置于啟動(dòng)裝置外部。圖3為本發(fā)明一具體實(shí)施例的USB Boot的組成結(jié)構(gòu)示意圖。參見(jiàn)圖3,本發(fā)明提供的USB Boot包含三個(gè)基本模塊USB連接器310、IIC接口存儲(chǔ)介質(zhì)320和供電模塊330。 其中USB連接器310,是標(biāo)準(zhǔn)的USB連接器;IIC接口存儲(chǔ)介質(zhì)320,可以是具備IIC接口的EEI3ROM,也可以是帶IIC接口的控制器/CPU轉(zhuǎn)換的其它存儲(chǔ)介質(zhì),只要確保可通過(guò)IIC總線訪問(wèn)即可;IIC接口存儲(chǔ)介質(zhì)320 中加載有Boot Loader ;供電模塊330,主要利用USB供電功能,給USB Boot供電。USB連接器310的電源線和地線按照與現(xiàn)有技術(shù)相同的方式分別連接到供電模塊 330的電源線和地線;USB連接器310的兩根數(shù)據(jù)線分別連接到IIC接口存儲(chǔ)介質(zhì)320的 IIC接口的兩根數(shù)據(jù)線上。由于USB連接器具有兩根數(shù)據(jù)線D+和D-,而IIC總線協(xié)議恰好是在兩根數(shù)據(jù)線上傳輸數(shù)據(jù)的協(xié)議,因此,可以通過(guò)啟動(dòng)裝置的控制,使用USB連接器的這兩個(gè)數(shù)據(jù)線,按照IIC協(xié)議對(duì)USB Boot中的IIC接口存儲(chǔ)介質(zhì)進(jìn)行訪問(wèn)。例如可以將IIC接口的SCL線連接到USB數(shù)據(jù)線的D+上,并將IIC接口的SDA線連接到USB數(shù)據(jù)線的D-上;也可以將IIC接口的SCL線連接到USB數(shù)據(jù)線的D-上,并將IIC接口的SDA線連接到USB數(shù)據(jù)線的D+上,只要與數(shù)據(jù)通信設(shè)備內(nèi)部啟動(dòng)裝置的數(shù)據(jù)線連接設(shè)計(jì)保持一致即可。即如果啟動(dòng)裝置設(shè)計(jì)上,IIC訪問(wèn)子模塊出的SCL線連接到USB數(shù)據(jù)線的D+上,SDA線連接到USB數(shù)據(jù)線的D-上,那么USB Boot上的IIC接口存儲(chǔ)介質(zhì)的SCL線就必須連接到USB數(shù)據(jù)線的D+上,SDA線必須連接到USB數(shù)據(jù)線的D-上。反之亦然。上述帶IIC接口的控制器/CPU轉(zhuǎn)換的其它存儲(chǔ)介質(zhì)是指對(duì)于不具有IIC接口的存儲(chǔ)介質(zhì)NorFLash或NandFlash,可以通過(guò)嵌入式CPU間接實(shí)現(xiàn)將NorFLash或NandFlash 通過(guò)IIC接口連接到USB連接器上。在USB Boot上可如此實(shí)現(xiàn)嵌入式CPU具有IIC接口,可以通過(guò)IIC接口連接到USB連接器上,嵌入式CPU通過(guò)設(shè)備總線連接一片NorFLash 或 NandFlash。本發(fā)明上述具體實(shí)施例中提出的USB Boot實(shí)際為一塊集成IIC接口的存儲(chǔ)介質(zhì), 并對(duì)外出USB接口的設(shè)備。USB Boot借用了 USB數(shù)據(jù)線作為IIC總線,即利用USB D+和 D-兩個(gè)數(shù)據(jù)線進(jìn)行IIC總線數(shù)據(jù)傳輸,可使用在任何具有USB接口的電子設(shè)備上。本發(fā)明一具體實(shí)施例中提出的啟動(dòng)裝置如圖4所示。在實(shí)際應(yīng)用中,該啟動(dòng)裝置相當(dāng)于數(shù)據(jù)通信設(shè)備內(nèi)部的啟動(dòng)邏輯。本發(fā)明啟動(dòng)裝置包括以下幾部分控制邏輯子模塊 410,USB直通子模塊420、IIC訪問(wèn)子模塊430、存儲(chǔ)子模塊440、CPU復(fù)位控制子模塊450和啟動(dòng)芯片選擇子模塊460。這些邏輯子模塊都實(shí)現(xiàn)在啟動(dòng)裝置CPLD/FPGA內(nèi)部,其中,存儲(chǔ)子模塊440也可以實(shí)現(xiàn)在啟動(dòng)裝置CPLD/FPGA的外部??刂七壿嬜幽K410是本發(fā)明的核心。當(dāng)從USB Boot啟動(dòng)時(shí),控制邏輯子模塊410首先控制USB直通子模塊420斷開(kāi)USB控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的直連;然后控制IIC訪問(wèn)子模塊430接管USB連接器的數(shù)據(jù)線,通過(guò)IIC總線從USB Boot 讀取Boot Loader到存儲(chǔ)子模塊440中;再控制CPU復(fù)位控制子模塊450,令CPU重新復(fù)位, CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào),控制邏輯子模塊410控制啟動(dòng)芯片選擇子模塊460將 CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到存儲(chǔ)子模塊440上,讓CPU從存儲(chǔ)子模塊440中啟動(dòng) Boot Loader,最終實(shí)現(xiàn)從USB Boot啟動(dòng)。USB直通子模塊420,在從USB Boot啟動(dòng)的情況下,用于接收來(lái)自于控制邏輯子模塊410的控制信號(hào),斷開(kāi)USB控制器(可集成在CPU內(nèi)部,也可以設(shè)置在CPU外部)的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的直連;在數(shù)據(jù)通信設(shè)備正常啟動(dòng)后,用于將USB控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線直接互聯(lián),實(shí)現(xiàn)正常的USB數(shù)據(jù)傳輸。IIC訪問(wèn)子模塊430,在從USB Boot啟動(dòng)的情況下,用于接收來(lái)自于控制邏輯子模塊410的控制信號(hào),接管USB連接器的數(shù)據(jù)線,并通過(guò)IIC總線協(xié)議從USB Boot讀取Boot Loader到存儲(chǔ)子模塊440中。存儲(chǔ)子模塊440,用于臨時(shí)存放IIC訪問(wèn)子模塊430從USB Boot中讀取的 BootLoader。當(dāng)從USB Boot啟動(dòng)時(shí),控制邏輯子模塊410控制IIC訪問(wèn)子模塊430從USB Boot讀取Boot Loader到存儲(chǔ)子模塊440中,CPU從存儲(chǔ)子模塊440中啟動(dòng)BootLoader。 存儲(chǔ)子模塊可以在啟動(dòng)裝置的內(nèi)部,也可以在啟動(dòng)裝置外部。CPU復(fù)位控制子模塊450,用于控制CPU復(fù)位管腳,可拉低CPU復(fù)位管腳,再拉高 CPU復(fù)位管腳,令CPU重新啟動(dòng)。當(dāng)從USB Boot啟動(dòng)時(shí),控制邏輯子模塊410控制CPU復(fù)位控制子模塊450,令CPU重新復(fù)位,輸出啟動(dòng)芯片選擇信號(hào)。啟動(dòng)芯片選擇子模塊460,用于把CPU輸出的啟動(dòng)芯片選擇信號(hào)輸出到相應(yīng)的啟動(dòng)芯片上。在CPU正常啟動(dòng)時(shí),啟動(dòng)芯片選擇子模塊460將CPU輸出的啟動(dòng)芯片選擇信號(hào)輸出到數(shù)據(jù)通信設(shè)備內(nèi)部集成的BootFlash上,即CPU從BootFlash上啟動(dòng)BootLoader ;當(dāng)從USB Boot啟動(dòng)時(shí),啟動(dòng)芯片選擇子模塊460根據(jù)控制邏輯子模塊410的控制,將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到存儲(chǔ)子模塊440上。為了判斷啟動(dòng)裝置當(dāng)前是正常啟動(dòng)還是從USB引導(dǎo)設(shè)備啟動(dòng),可以在啟動(dòng)裝置中設(shè)置相應(yīng)的子模塊進(jìn)行判斷。例如可以在啟動(dòng)裝置中設(shè)置啟動(dòng)邏輯計(jì)數(shù)器,該啟動(dòng)邏輯計(jì)數(shù)器用于在CPU啟動(dòng)之后進(jìn)行計(jì)數(shù),如果CPU啟動(dòng)Boot Loader成功,CPU對(duì)啟動(dòng)邏輯計(jì)數(shù)器清0,如果啟動(dòng)邏輯計(jì)數(shù)器超時(shí),觸發(fā)從USB弓丨導(dǎo)設(shè)備啟動(dòng)。也可以在啟動(dòng)裝置中設(shè)置檢測(cè)子模塊,該檢測(cè)子模塊用于對(duì)USB連接器的兩根數(shù)據(jù)線的高低電平進(jìn)行檢測(cè),在檢測(cè)到USB連接器的兩根數(shù)據(jù)線均為高電平,并保持預(yù)設(shè)時(shí)長(zhǎng)時(shí),觸發(fā)從USB弓丨導(dǎo)設(shè)備啟動(dòng)。還可以在啟動(dòng)裝置中設(shè)置按鍵檢測(cè)子模塊,該按鍵檢測(cè)子模塊用于檢測(cè)數(shù)據(jù)通信設(shè)備的觸發(fā)按鍵是否被按下,在檢測(cè)到觸發(fā)按鍵被按下時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。本發(fā)明一具體實(shí)施例中總體的系統(tǒng)設(shè)計(jì)實(shí)現(xiàn)框圖如圖5所示,本系統(tǒng)包括USB Boot和數(shù)據(jù)通信設(shè)備內(nèi)部?jī)刹糠帧D5中USB Boot中集成具有IIC接口的存儲(chǔ)介質(zhì),該存儲(chǔ)介質(zhì)中加載有BootLoader,該存儲(chǔ)介質(zhì)的IIC接口的兩根數(shù)據(jù)線分別與USB Boot的USB連接器的兩根數(shù)據(jù)線相連;
USB Boot通過(guò)USB連接器連接到數(shù)據(jù)通信設(shè)備;數(shù)據(jù)通信設(shè)備內(nèi)部設(shè)置有啟動(dòng)裝置;圖5所示數(shù)據(jù)通信設(shè)備內(nèi)部的啟動(dòng)裝置以 CPLD為例進(jìn)行說(shuō)明。在正常應(yīng)用的情況下,標(biāo)準(zhǔn)的USB設(shè)備通過(guò)USB連接器與USB控制器直接相連, CPLD透?jìng)鱑SB數(shù)據(jù)線上所傳輸?shù)臄?shù)據(jù);當(dāng)用于存放Boot Loader的存儲(chǔ)器損壞或Boot Loader損壞時(shí),觸發(fā)從USB Boot啟動(dòng)。當(dāng)觸發(fā)從USBBoot時(shí),啟動(dòng)裝置首先斷開(kāi)USB控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的連接,并建立IIC接口與USB連接器的數(shù)據(jù)線之間的連接;然后,按照IIC總線協(xié)議從USB Boot中讀取Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器,并重新復(fù)位CPU,CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào);隨后,將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到上述存儲(chǔ)器,CPU從上述存儲(chǔ)器中執(zhí)行BootLoader,從而完成系統(tǒng)引導(dǎo)。本發(fā)明一具體實(shí)施例中提供的使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法流程如圖6所示。參見(jiàn)圖6,該方法包括以下步驟步驟O 觸發(fā)數(shù)據(jù)通信設(shè)備從USB Boot啟動(dòng)。本步驟中,觸發(fā)的方式可以有以下幾種第一種方式數(shù)據(jù)通信設(shè)備內(nèi)置的Boot Loader啟動(dòng)失敗時(shí)觸發(fā)啟動(dòng)裝置包含一個(gè)啟動(dòng)邏輯計(jì)數(shù)器,啟動(dòng)裝置控制CPU啟動(dòng)后開(kāi)始使用啟動(dòng)邏輯計(jì)數(shù)器進(jìn)行計(jì)數(shù),如果CPU啟動(dòng)Boot Loader成功,CPU對(duì)啟動(dòng)邏輯計(jì)數(shù)器清O ;如果CPU 啟動(dòng)Boot Loader失敗,就不會(huì)清O啟動(dòng)邏輯計(jì)數(shù)器,因此,當(dāng)啟動(dòng)邏輯計(jì)數(shù)器超時(shí)時(shí),代表 CPU啟動(dòng)Boot Loader失敗。啟動(dòng)裝置通過(guò)監(jiān)控其內(nèi)部的啟動(dòng)邏輯計(jì)數(shù)器是否超時(shí),來(lái)檢測(cè) CPU啟動(dòng)BootLoader是否失敗。這是一種較通用的方法,雙BootFlash應(yīng)用也是使用這種方法,本發(fā)明是進(jìn)一步擴(kuò)展,從雙BootFlash擴(kuò)展到USB Boot。第二種方式USB Boot插入觸發(fā)USB規(guī)范要求在無(wú)設(shè)備接入時(shí),D+和D-均為低電平。USB設(shè)備插入,將USB的兩根數(shù)據(jù)線一個(gè)拉高,一個(gè)拉低,對(duì)應(yīng)不同速率的USB設(shè)備。D+高,D-低對(duì)應(yīng)USB高速/全速設(shè)備;D-高,D+低對(duì)應(yīng)USB低速設(shè)備。為了實(shí)現(xiàn)USB Boot插入觸發(fā),可以在USB Boot內(nèi)部設(shè)置可控的上拉電路,在USB Boot插入數(shù)據(jù)通信設(shè)備后,上拉電路強(qiáng)制將D+和D-都拉高并保持一段時(shí)間,啟動(dòng)裝置中的檢測(cè)子模塊檢測(cè)到USB數(shù)據(jù)線的這種變化后,就識(shí)別出USB Boot插入,這時(shí)啟動(dòng)裝置觸發(fā)從USB Boot啟動(dòng)。第三種方式在檢測(cè)到輸入的從USB引導(dǎo)設(shè)備啟動(dòng)的指令時(shí)觸發(fā)數(shù)據(jù)通信設(shè)備對(duì)外設(shè)置觸發(fā)按鍵,操作者按下觸發(fā)按鍵,啟動(dòng)裝置檢測(cè)到觸發(fā)按鍵被按下時(shí),觸發(fā)從USB Boot啟動(dòng)。舉例一數(shù)據(jù)通信設(shè)備面板上通常設(shè)置都有Reset鍵,可采用長(zhǎng)按Reset鍵觸發(fā)從USB Boot啟動(dòng)(長(zhǎng)按10秒以上)。即Reset鍵連接到啟動(dòng)裝置的一根檢測(cè)管腳上,Reset鍵沒(méi)有被按下時(shí),檢測(cè)管腳處于一個(gè)空閑狀態(tài)(例如高電平);當(dāng)長(zhǎng)按Reset鍵時(shí),將導(dǎo)致檢測(cè)管腳處于長(zhǎng)時(shí)間有效狀態(tài)(對(duì)應(yīng)低電平),啟動(dòng)裝置內(nèi)部啟動(dòng)一個(gè)計(jì)數(shù)器對(duì)檢測(cè)管腳處于有效狀態(tài)的時(shí)間進(jìn)行計(jì)數(shù),如果發(fā)現(xiàn)檢測(cè)管腳處于長(zhǎng)時(shí)間有效狀態(tài),就認(rèn)為操作者長(zhǎng)按Reset鍵,觸發(fā)從USB Boot啟動(dòng)。舉例二 在數(shù)據(jù)通信設(shè)備面板上增加一個(gè)Boot選擇鍵。Boot選擇鍵連接到啟動(dòng)裝置的一根檢測(cè)管腳上,Boot選擇鍵沒(méi)有被按下時(shí),檢測(cè)管腳處于一個(gè)空閑狀態(tài)(例如高電平);按下Boot鍵,導(dǎo)致檢測(cè)管腳處于有效狀態(tài)(對(duì)應(yīng)低電平),啟動(dòng)裝置發(fā)現(xiàn)檢測(cè)管腳處于有效狀態(tài),就認(rèn)為操作者按下了 Boot鍵,觸發(fā)從USB Boot啟動(dòng)。步驟1 啟動(dòng)裝置斷開(kāi)USB連接器與USB控制器之間的數(shù)據(jù)線直連,通過(guò)IIC接口接管USB接口,S卩建立IIC接口與USB連接器之間的連接,從而啟動(dòng)裝置可以通過(guò)IIC接口訪問(wèn) USB Boot。步驟2 啟動(dòng)裝置按照IIC總線協(xié)議讀取USB Boot中的Boot Loader代碼,并把 Boot Loader代碼存放到數(shù)據(jù)通信設(shè)備的內(nèi)部的存儲(chǔ)器中。這里,存儲(chǔ)器可以是RAM或ROM, 如前所述,RAM/ROM可以設(shè)置于啟動(dòng)裝置內(nèi)部,也可以設(shè)置于啟動(dòng)裝置內(nèi)部。步驟3 啟動(dòng)裝置將Boot Loader代碼搬移到RAM/ROM后,控制CPU復(fù)位。步驟4 :CPU復(fù)位后,發(fā)出啟動(dòng)芯片選擇信號(hào),啟動(dòng)裝置將該芯片選擇信號(hào)切換到上述存放Boot Loader代碼的RAM/ROM上。步驟5 =CPU從上述RAM/ROM中讀取Boot Loader代碼,完成BootLoader啟動(dòng)。在本發(fā)明上述技術(shù)方案的基礎(chǔ)上,可以進(jìn)行以下擴(kuò)展功能擴(kuò)展CPU從USB Boot啟動(dòng)后,可以檢測(cè)數(shù)據(jù)通信設(shè)備內(nèi)部集成的 Bootflash,判斷是否僅是Boot Loader代碼被破壞。如果僅是代碼被破壞,則把存儲(chǔ)子模土夬中的Boot Loader代碼寫(xiě)到BootFlash中,從而實(shí)現(xiàn)BootLoader自修復(fù)。應(yīng)用擴(kuò)展CPU可不再?gòu)臄?shù)據(jù)通信設(shè)備內(nèi)置的BootFlash啟動(dòng)BootLoader,或者數(shù)據(jù)通信設(shè)備內(nèi)部不再集成BootFlash,而是CPU僅從USBBoot啟動(dòng)。這種應(yīng)用擴(kuò)展適用于信息安全要求較高的應(yīng)用中,只有插入專用的USB Boot設(shè)備才能啟動(dòng),不插入專用的USB Boot,設(shè)備連最基本的初始化都無(wú)法進(jìn)行。由上述技術(shù)方案可見(jiàn),本發(fā)明在數(shù)據(jù)通信設(shè)備無(wú)法正常啟動(dòng)時(shí),通過(guò)邏輯動(dòng)態(tài)地切換USB接口數(shù)據(jù)線的功能,將USB接口數(shù)據(jù)線切換為IIC總線,從而克服了 USB總線協(xié)議復(fù)雜,USB設(shè)備無(wú)法應(yīng)用在CPU Boot階段的缺點(diǎn),使得啟動(dòng)裝置可以從USB設(shè)備中讀取Boot Loader ;在此基礎(chǔ)上,本發(fā)明進(jìn)一步巧妙利用了數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)空間,將從USB設(shè)備中讀取BootLoader存儲(chǔ)于數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中,并觸發(fā)CPU從數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中執(zhí)行Boot Loader,從而實(shí)現(xiàn)了引導(dǎo)系統(tǒng)啟動(dòng)。本發(fā)明技術(shù)方案可以帶來(lái)以下有益效果1)提高易用性,對(duì)于BootLoader損壞問(wèn)題,無(wú)需拆開(kāi)數(shù)據(jù)通信設(shè)備,只需插入本發(fā)明提出的USB Boot設(shè)備,就可以引導(dǎo)CPU啟動(dòng)。2)適用范圍廣,絕大部分電子設(shè)備都具有USB接口,可以使用本發(fā)明提出的技術(shù)方案。3)降低維修成本,一旦出現(xiàn)系統(tǒng)無(wú)法啟動(dòng)的情況,用戶或者技術(shù)支援可以現(xiàn)場(chǎng)插入U(xiǎn)SB Boot進(jìn)行維修,如果設(shè)備硬件不存在問(wèn)題,僅是BootFlash中的Boot Loader代碼被破壞,通過(guò)這種現(xiàn)場(chǎng)維修就可完全修復(fù)設(shè)備,不需要返廠維修,大大降低了維修成本和時(shí)間。
4)提高應(yīng)急處理能力,可在用戶處臨時(shí)啟動(dòng)BootFlash損壞的設(shè)備,由用戶刪除或保存機(jī)密重要信息。5)實(shí)現(xiàn)自動(dòng)修復(fù),如果設(shè)備硬件不存在問(wèn)題,插入U(xiǎn)SB Boot后,可自動(dòng)恢復(fù) BootFlash 中的 Boot Loader 代碼。6)適用于信息安全性較高的應(yīng)用場(chǎng)景,用戶必須使用USB Boot,才允許設(shè)備啟動(dòng), 可以防止設(shè)備被盜用。以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明保護(hù)的范圍之內(nèi)。
權(quán)利要求
1.一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法,其特征在于,包括數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置通過(guò)Iic接口訪問(wèn)通用串行總線USB引導(dǎo)設(shè)備,將USB引導(dǎo)設(shè)備中的引導(dǎo)裝載程序Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器中;數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置控制數(shù)據(jù)通信設(shè)備的CPU復(fù)位,將CPU復(fù)位后所發(fā)出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器上;數(shù)據(jù)通信設(shè)備中的CPU從所述存儲(chǔ)器讀取Boot Loader并執(zhí)行。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,在數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置通過(guò)IIC接口訪問(wèn)USB引導(dǎo)設(shè)備之前,進(jìn)一步包括觸發(fā)數(shù)據(jù)通信設(shè)備從USB引導(dǎo)設(shè)備啟動(dòng);數(shù)據(jù)通信設(shè)備中的啟動(dòng)裝置斷開(kāi)數(shù)據(jù)通信設(shè)備中USB控制器與USB連接器之間的連接,并建立數(shù)據(jù)通信設(shè)備中IIC接口與USB連接器之間的連接。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,觸發(fā)數(shù)據(jù)通信設(shè)備從USB引導(dǎo)設(shè)備啟動(dòng)的方式包括在數(shù)據(jù)通信設(shè)備內(nèi)置的Boot Loader啟動(dòng)失敗時(shí)觸發(fā); 或者在USB引導(dǎo)設(shè)備插入數(shù)據(jù)通信設(shè)備時(shí)觸發(fā); 或者在檢測(cè)到輸入的從USB引導(dǎo)設(shè)備啟動(dòng)的指令時(shí)觸發(fā)。
4.一種USB引導(dǎo)設(shè)備,其特征在于,包括IIC接口存儲(chǔ)介質(zhì)、USB連接器和供電模塊, 其中IIC接口存儲(chǔ)介質(zhì)為具備IIC接口的存儲(chǔ)介質(zhì),加載有引導(dǎo)裝載程序BootLoader ; USB連接器的電源線和地線分別與供電模塊的電源線和地線相連,兩根數(shù)據(jù)線分別與 IIC接口存儲(chǔ)介質(zhì)的IIC接口的兩根數(shù)據(jù)線相連; 供電模塊用于為USB引導(dǎo)設(shè)備供電。
5.一種啟動(dòng)裝置,其特征在于,包括控制邏輯子模塊、USB直通子模塊、IIC訪問(wèn)子模塊、CPU復(fù)位控制子模塊和啟動(dòng)芯片選擇子模塊;當(dāng)觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)時(shí),控制邏輯子模塊首先控制USB直通子模塊斷開(kāi)USB控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的連接,并控制IIC訪問(wèn)子模塊建立IIC接口與 USB連接器的數(shù)據(jù)線之間的連接;然后,控制邏輯子模塊通過(guò)IIC接口從USB引導(dǎo)設(shè)備中讀取引導(dǎo)裝載程序Boot Loader 存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器,并控制CPU復(fù)位控制子模塊復(fù)位CPU,CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào);隨后,控制邏輯子模塊控制啟動(dòng)芯片選擇子模塊將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器,CPU從所述存儲(chǔ)器中執(zhí)行Boot Loader0
6.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置中進(jìn)一步包括啟動(dòng)邏輯計(jì)數(shù)器; 所述啟動(dòng)邏輯計(jì)數(shù)器用于在CPU啟動(dòng)之后進(jìn)行計(jì)數(shù),如果CPU啟動(dòng)BootLoader成功,CPU對(duì)所述啟動(dòng)邏輯計(jì)數(shù)器清O,如果所述啟動(dòng)邏輯計(jì)數(shù)器超時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。
7.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置中進(jìn)一步包括檢測(cè)子模塊;所述檢測(cè)子模塊用于對(duì)USB連接器的兩根數(shù)據(jù)線的高低電平進(jìn)行檢測(cè),在檢測(cè)到USB 連接器的兩根數(shù)據(jù)線均為高電平,并保持預(yù)設(shè)時(shí)長(zhǎng)時(shí),觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)。
8.根據(jù)權(quán)利要求5所述的裝置,其特征在于,所述裝置中進(jìn)一步包括按鍵檢測(cè)子模塊;所述按鍵檢測(cè)子模塊用于檢測(cè)數(shù)據(jù)通信設(shè)備的觸發(fā)按鍵是否被按下,在檢測(cè)到觸發(fā)按鍵被按下時(shí),觸發(fā)從USB弓丨導(dǎo)設(shè)備啟動(dòng)。
9.根據(jù)權(quán)利要求5至8任一項(xiàng)所述的裝置,其特征在于 所述存儲(chǔ)器設(shè)置于所述啟動(dòng)裝置內(nèi)部或外部。
10.一種使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng),其特征在于,包括USB引導(dǎo)設(shè)備和數(shù)據(jù)通信設(shè)備;所述USB引導(dǎo)設(shè)備中集成具有IIC接口的存儲(chǔ)介質(zhì),所述具有IIC接口的存儲(chǔ)介質(zhì)中加載有引導(dǎo)裝載程序Boot Loader,所述具有IIC接口的存儲(chǔ)介質(zhì)的IIC接口的兩根數(shù)據(jù)線分別與所述USB引導(dǎo)設(shè)備的USB連接器的兩根數(shù)據(jù)線相連;所述USB引導(dǎo)設(shè)備通過(guò)USB連接器連接到所述數(shù)據(jù)通信設(shè)備; 所述數(shù)據(jù)通信設(shè)備內(nèi)部設(shè)置有啟動(dòng)裝置;當(dāng)觸發(fā)從USB引導(dǎo)設(shè)備啟動(dòng)時(shí),所述啟動(dòng)裝置首先斷開(kāi)USB控制器的數(shù)據(jù)線與USB連接器的數(shù)據(jù)線之間的連接,并建立IIC接口與USB連接器的數(shù)據(jù)線之間的連接;然后,從 USB引導(dǎo)設(shè)備中讀取Boot Loader存放至數(shù)據(jù)通信設(shè)備內(nèi)部的存儲(chǔ)器,并復(fù)位CPU,CPU復(fù)位后輸出啟動(dòng)芯片選擇信號(hào);隨后,將CPU輸出的啟動(dòng)芯片選擇信號(hào)切換到所述存儲(chǔ)器,CPU 從所述存儲(chǔ)器中執(zhí)行BootLoader。
全文摘要
本發(fā)明利用數(shù)據(jù)通信設(shè)備都具備USB接口的特點(diǎn),以及IIC總線簡(jiǎn)單傳輸?shù)奶攸c(diǎn),將兩者相結(jié)合,提出了一種使用USB設(shè)備進(jìn)行系統(tǒng)引導(dǎo)的方法、一種USB引導(dǎo)設(shè)備、一種啟動(dòng)裝置以及一種使用USB設(shè)備進(jìn)行引導(dǎo)的系統(tǒng)。應(yīng)用本發(fā)明能夠在數(shù)據(jù)通信設(shè)備無(wú)法正常啟動(dòng)時(shí),引導(dǎo)系統(tǒng)啟動(dòng),從而滿足用戶臨時(shí)啟動(dòng)系統(tǒng)處理重要信息的需求。
文檔編號(hào)G06F9/445GK102169442SQ20111007206
公開(kāi)日2011年8月31日 申請(qǐng)日期2011年3月24日 優(yōu)先權(quán)日2011年3月24日
發(fā)明者張穎, 李星爽, 段琳, 趙志宇, 錢嘉林 申請(qǐng)人:杭州華三通信技術(shù)有限公司