專(zhuān)利名稱:一種固件程序在線升級(jí)的方法及硬件設(shè)備的制作方法
所屬技術(shù)領(lǐng)域:
本發(fā)明涉及一種固件程序在線升級(jí)的方法及硬件設(shè)備,特別是關(guān)于利用計(jì)算機(jī)操作系統(tǒng)自動(dòng)執(zhí)行機(jī)制實(shí)現(xiàn)固件程序在線升級(jí)的方法及硬件設(shè)備。
背景技術(shù):
固件是硬件設(shè)備(可編程邏輯器件作為控制器)的能夠正常運(yùn)行所需要的軟件,固件(Firmware)最早的涵義是具有軟件功能的硬件,早期的這種器件一般是指存有軟件的EPROM或EEPROM等等,隨著存儲(chǔ)技術(shù)的發(fā)展,閃存(FlashMemory)的出現(xiàn),使得可以簡(jiǎn)單的通過(guò)可編程電路實(shí)現(xiàn)存儲(chǔ)介質(zhì)儲(chǔ)存信息的讀寫(xiě)操作,如果選用閃存存儲(chǔ)硬件所需要的固件,則在不更換物理硬件的情況下,就可以通過(guò)刷新閃存信息實(shí)現(xiàn)固件升級(jí),使得硬件設(shè)備的功能獲得增加或改善。目前普遍依托計(jì)算機(jī)操作系統(tǒng),采用專(zhuān)門(mén)的固件更新程序?qū)τ布墓碳绦蜻M(jìn)行刷新。
固件文件為固件在計(jì)算機(jī)文件系統(tǒng)的存儲(chǔ)方式,通常由硬件設(shè)備提供商定期或不定期發(fā)布,使用者可以通過(guò)特定存儲(chǔ)介質(zhì)(磁盤(pán)、光盤(pán)等)或通過(guò)網(wǎng)絡(luò)將待升級(jí)的固件文件下載到本地計(jì)算機(jī)的存儲(chǔ)空間中,在通過(guò)在本地安裝的固件升級(jí)程序,將固件文件的內(nèi)容,燒寫(xiě)到硬件設(shè)備用于存儲(chǔ)固件的非易失性存儲(chǔ)介質(zhì)(volatile memory)的特定位置,固件在該非易失性存儲(chǔ)介質(zhì)上表現(xiàn)為物理地址或邏輯地址連續(xù)的一段指令,硬件設(shè)備重新上電(Reset)后,控制器會(huì)從起始位置開(kāi)始順序讀入指令,從而使得原有的硬件實(shí)現(xiàn)了新的功能。現(xiàn)有技術(shù)有多種升級(jí)固件的方式,現(xiàn)介紹如下現(xiàn)有技術(shù)一利用硬件設(shè)備自帶的網(wǎng)絡(luò)連接功能,實(shí)現(xiàn)Internet在線固件更新(類(lèi)似計(jì)算機(jī)通過(guò)網(wǎng)絡(luò)自動(dòng)升級(jí)操作系統(tǒng))??刂破靼l(fā)出指令,控制網(wǎng)絡(luò)控制模塊請(qǐng)求與遠(yuǎn)端服務(wù)器建立連接,并將目前固件版本信息發(fā)送至服務(wù)器,服務(wù)器控制程序?qū)⑵溆嘧钚掳姹緦?duì)比,如果是最新版本,則結(jié)束升級(jí)過(guò)程,如果非最新版本,則提供最新固件下載位置,網(wǎng)絡(luò)設(shè)備下載后對(duì)原有固件進(jìn)行升級(jí)。這種升級(jí)方式需要硬件設(shè)備自身配備網(wǎng)絡(luò)模塊,同時(shí)需要完成復(fù)雜的網(wǎng)絡(luò)會(huì)話過(guò)程,通常適用于比較昂貴,結(jié)構(gòu)和功能比較復(fù)雜的硬件設(shè)備,不適用于多數(shù)中低價(jià)位的消費(fèi)類(lèi)數(shù)碼產(chǎn)品。
現(xiàn)有技術(shù)二需要從網(wǎng)絡(luò)手動(dòng)下載固件文件到本地計(jì)算機(jī),再通過(guò)特定的I/O機(jī)制將固件文件下載到硬件設(shè)備的存儲(chǔ)空間內(nèi),硬件設(shè)備能夠自動(dòng)識(shí)別新拷入的固件文件版本是否高于已有的固件,如果為新版本,則自動(dòng)安裝新的固件文件。不足在于智能化只局限于在硬件設(shè)備內(nèi)部判斷版本是否需要更新,而不能自動(dòng)通過(guò)網(wǎng)絡(luò)獲得新的固件程序,該方案沒(méi)有減少用戶通過(guò)網(wǎng)絡(luò)手動(dòng)下載固件和將固件文件傳送到硬件內(nèi)部的繁瑣程度,同時(shí)由于內(nèi)置了版本判定模式和固件安裝程序,對(duì)硬件本身控制器的運(yùn)算能力提出了很高的要求。
現(xiàn)有技術(shù)三為中國(guó)專(zhuān)利CN02121474.3所揭示的“嵌入式系統(tǒng)中固件程序在線升級(jí)的實(shí)現(xiàn)方法”,該方法將支持在線升級(jí)的固件程序與系統(tǒng)功能的固件程序分離,并將支持在線升級(jí)的固件程序存儲(chǔ)于設(shè)置在程序存儲(chǔ)器的永久駐留空間;然后系統(tǒng)上電啟動(dòng),直接轉(zhuǎn)至執(zhí)行支持在線升級(jí)的固件程序,支持在線升級(jí)的固件程序?qū)⒈匾挠布Y源進(jìn)行初始化后,判斷是否進(jìn)行在線升級(jí),如果是,則將升級(jí)系統(tǒng)功能固件程序、向程序存儲(chǔ)器寫(xiě)入升級(jí)的固件程序的指令代碼存儲(chǔ)于動(dòng)態(tài)存儲(chǔ)器中;轉(zhuǎn)至動(dòng)態(tài)存儲(chǔ)器中的上述指令代碼,將升級(jí)的固件程序?qū)懭氤绦虼鎯?chǔ)器中永久駐留空間之外的地址空間,然后轉(zhuǎn)至運(yùn)行升級(jí)后的系統(tǒng)功能固件程序。此方案提高了固件升級(jí)的安全性,但仍舊存在下列缺陷1、支持在線升級(jí)固件程序的啟動(dòng)過(guò)程沒(méi)有實(shí)現(xiàn)完全自動(dòng)化,需要在操作系統(tǒng)上安裝額外的驅(qū)動(dòng)程序;2、在嵌入式系統(tǒng)的動(dòng)態(tài)存儲(chǔ)器中運(yùn)行向程序存儲(chǔ)器寫(xiě)入升級(jí)的固件程序的指令代碼要求配備大容量的動(dòng)態(tài)存儲(chǔ)器,且硬件本身控制器要有較高的性能。
上述現(xiàn)有技術(shù)由于有多個(gè)步驟需要手工操作,對(duì)于不熟悉計(jì)算機(jī)的操作者,很容易操作失誤,導(dǎo)致固件程序升級(jí)失敗。
發(fā)明內(nèi)容
針對(duì)現(xiàn)有技術(shù)中所存在的不足,本發(fā)明的目的在于實(shí)現(xiàn)一種固件程序在線升級(jí)的方法及硬件設(shè)備,在對(duì)硬件系統(tǒng)的需求和對(duì)操作者的計(jì)算機(jī)熟悉程度要求都不高的情況下,無(wú)需人工干預(yù)就可以實(shí)現(xiàn)硬件設(shè)備的固件程序的可靠自動(dòng)在線升級(jí)。
本發(fā)明的第一方面提供了一種固件程序在線升級(jí)的方法,其方法在于包括1)硬件設(shè)備通過(guò)通訊接口與聯(lián)網(wǎng)的計(jì)算機(jī)連接的步驟;2)激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的步驟;3)操作系統(tǒng)執(zhí)行自動(dòng)執(zhí)行配置文件所指向的存儲(chǔ)在硬件設(shè)備所帶存儲(chǔ)器中的在線升級(jí)程序的步驟;4)在線升級(jí)程序通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序的步驟;5)將下載的固件程序?qū)懭胗布O(shè)備所帶非易失可擦寫(xiě)存儲(chǔ)器特定空間,取代原固件程序,從而完成固件程序升級(jí)的步驟。
本方法還需要具有通訊接口,該接口可為USB接口、IEEE1394接口、無(wú)線USB接口或者藍(lán)牙接口。
其中,在步驟1,2之間,本方法還設(shè)置了一個(gè)開(kāi)啟或者關(guān)閉自動(dòng)升級(jí)的步驟。該步驟用來(lái)控制是否執(zhí)行在線升級(jí)程序,以避免每次硬件設(shè)備接入本地計(jì)算機(jī)后,都要執(zhí)行自動(dòng)升級(jí)命令。
步驟2、3的實(shí)質(zhì)是利用計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制使得存儲(chǔ)在硬件設(shè)備所帶存儲(chǔ)器中的在線升級(jí)程序可以自動(dòng)運(yùn)行。通常將硬件設(shè)備的存儲(chǔ)器初始化為本地計(jì)算機(jī)上的一個(gè)光驅(qū)或者其他支持自動(dòng)執(zhí)行功能的存儲(chǔ)設(shè)備,然后利用Autorun應(yīng)用模塊,啟動(dòng)在線升級(jí)程序。其具體方法已經(jīng)由中國(guó)專(zhuān)利申請(qǐng)“利用半導(dǎo)體存儲(chǔ)裝置實(shí)現(xiàn)自動(dòng)執(zhí)行的方法”(申請(qǐng)?zhí)?3146090.9)揭示和公開(kāi),該申請(qǐng)的內(nèi)容在此引用。
進(jìn)一步地,為了更好定位升級(jí)服務(wù)器,在線升級(jí)程序中預(yù)存儲(chǔ)了以定位服務(wù)器的IP地址或者域名。當(dāng)在線升級(jí)程序開(kāi)始運(yùn)行時(shí),通過(guò)預(yù)存儲(chǔ)的服務(wù)器的IP地址或者域名,就可以迅速地定位升級(jí)服務(wù)器。
在步驟3與步驟4之間,當(dāng)本地計(jì)算機(jī)和遠(yuǎn)端服務(wù)器建立連接后,將用目前固件版本信息與服務(wù)器中的升級(jí)版本信息進(jìn)行比照,如果是目前固件版本信息高于或者等同于服務(wù)器中的升級(jí)版本信息,則結(jié)束升級(jí)過(guò)程,如果低于服務(wù)器中的升級(jí)版本信息,則執(zhí)行步驟4。
步驟4)中下載的固件程序可預(yù)存于計(jì)算機(jī)硬盤(pán)的臨時(shí)文件夾中。
步驟4)與步驟5)之間還包括對(duì)已下載的固件程序進(jìn)行校驗(yàn)的步驟,如校驗(yàn)無(wú)誤,則繼續(xù)步驟5)。
最后將校驗(yàn)無(wú)誤的最新版本的固件寫(xiě)入到硬件設(shè)備的非易失性存儲(chǔ)空間,覆蓋原固件版本,從而可實(shí)現(xiàn)存儲(chǔ)在電子設(shè)備中的硬件設(shè)備的固件程序自動(dòng)在線升級(jí)的功能。
本發(fā)明的第二方面提供了一種可在線升級(jí)固件程序的硬件設(shè)備,該硬件設(shè)備包括用于與聯(lián)網(wǎng)的計(jì)算機(jī)相連并進(jìn)行數(shù)據(jù)交換的通訊接口和存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器,以及用于存儲(chǔ)可激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的初始化信息的初始化信息存儲(chǔ)裝置、用于存儲(chǔ)自動(dòng)執(zhí)行配置文件的配置文件存儲(chǔ)裝置和用于存儲(chǔ)所述自動(dòng)執(zhí)行配置文件所指向的在線升級(jí)程序的在線升級(jí)程序存儲(chǔ)裝置。在線升級(jí)程序存儲(chǔ)裝置中預(yù)先存儲(chǔ)了用以定位服務(wù)器的IP地址或者域名。在線升級(jí)程序包含通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序的下載模塊和將下載的固件程序通過(guò)所述通訊接口寫(xiě)入所述存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器以取代原固件程序的固件更新模塊。另外,本裝置還設(shè)有升級(jí)啟動(dòng)開(kāi)關(guān),所述升級(jí)啟動(dòng)開(kāi)關(guān)與初始化信息存儲(chǔ)裝置相連,可開(kāi)啟或關(guān)閉計(jì)算機(jī)對(duì)初始化信息存儲(chǔ)裝置的訪問(wèn)通道。
其中,非易失可擦寫(xiě)存儲(chǔ)器可為閃存、硬盤(pán)、EEPROM等;通訊接口可為USB接口、IEEE1394接口、無(wú)線USB接口或者藍(lán)牙接口等。
本發(fā)明“一種固件程序在線升級(jí)的方法及硬件設(shè)備”的效果如下第一、降低了操作不當(dāng)導(dǎo)致固件升級(jí)失敗的機(jī)會(huì),且可以隨時(shí)方便地查詢服務(wù)器端的固件更新情況,如果發(fā)現(xiàn)需要更新,則自動(dòng)完成升級(jí);第二、完成固件升級(jí)的步驟都借助于計(jì)算機(jī)的軟件和硬件平臺(tái)完成,對(duì)于需升級(jí)的硬件設(shè)備沒(méi)有很高的軟硬件要求,從而可以廣泛的應(yīng)用在工業(yè)或民用的各種電子設(shè)備當(dāng)中。
第三、由于利用了具有強(qiáng)大處理功能PC的平臺(tái),可增加許多保證升級(jí)成功的措施,因而具有更好的安全性。例如在固件升級(jí)程序下載過(guò)程中采用斷點(diǎn)續(xù)傳和校驗(yàn)技術(shù),從而保證了程序下載的完整性;固件升級(jí)程序完成下載后存儲(chǔ)在本地計(jì)算機(jī)的臨時(shí)文件夾,從而使得固件程序升級(jí)的刷新進(jìn)程中,即使發(fā)生升級(jí)的意外中斷,也可進(jìn)行重新刷新直至升級(jí)成功。此外,還可將待升級(jí)的固件存儲(chǔ)位置與用以實(shí)現(xiàn)在線升級(jí)的程序存儲(chǔ)位置分離,從而避免了因?yàn)楣碳?jí)失敗,導(dǎo)致該硬件設(shè)備無(wú)法使用的情況。
綜上所述,本發(fā)明具有更方便、安全、同時(shí)對(duì)自身的軟硬件要求不高的特點(diǎn)。
圖1是本發(fā)明實(shí)施例一可在線固件升級(jí)的視頻播放器存儲(chǔ)空間示意圖。
圖2是本發(fā)明支持在線升級(jí)的視頻播放器接入系統(tǒng)后自動(dòng)啟動(dòng)在線升級(jí)程序的流程圖。
圖3是本發(fā)明在線升級(jí)程序自動(dòng)下載新版本固件文件并對(duì)視頻播放器進(jìn)行固件升級(jí)的流程圖。
圖4是本發(fā)明藍(lán)牙多功能鼠標(biāo)固件在線升級(jí)流程圖。
具體實(shí)施方式
以下結(jié)合附圖和實(shí)施例對(duì)本方明進(jìn)行進(jìn)一步的詳細(xì)說(shuō)明。
實(shí)施例一為一種視頻播放器。首先說(shuō)明一下本發(fā)明中實(shí)施例一的視頻播放器的結(jié)構(gòu)。該設(shè)備的硬件設(shè)備含有三個(gè)存儲(chǔ)器(如圖1)所示存儲(chǔ)器01是在線升級(jí)功能的核心裝置,該存儲(chǔ)器分為第一存儲(chǔ)區(qū)011、第二存儲(chǔ)區(qū)012和第三存儲(chǔ)區(qū)013三部分。第一存儲(chǔ)區(qū)011存儲(chǔ)了可激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的初始化信息,本實(shí)施例中,將初始化信息中設(shè)備類(lèi)型設(shè)為光盤(pán),計(jì)算機(jī)操作系統(tǒng)就會(huì)將存儲(chǔ)器01默認(rèn)為光盤(pán)。由于大多數(shù)操作系統(tǒng)都對(duì)光盤(pán)默認(rèn)了自動(dòng)運(yùn)行程序,將插入的半導(dǎo)體存儲(chǔ)設(shè)備初始化為光盤(pán)就能利用這種操作系統(tǒng)默認(rèn)的自動(dòng)運(yùn)行機(jī)制。第二存儲(chǔ)區(qū)012存儲(chǔ)了自動(dòng)執(zhí)行配置文件,在windows操作系統(tǒng)中,需要設(shè)置的配置文件為autorun.ini,在其中記錄了在線升級(jí)程序的文件名和它的啟動(dòng)全路徑。第三存儲(chǔ)區(qū)013存儲(chǔ)了自動(dòng)執(zhí)行配置文件所指向的在線升級(jí)程序,在線升級(jí)程序包含通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序的下載模塊和將下載的固件程序通過(guò)通訊接口寫(xiě)入所述存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器以取代原固件程序的固件更新模塊。存儲(chǔ)器01采用ROM作為存儲(chǔ)介質(zhì),ROM是一種非易失不可擦寫(xiě)存儲(chǔ)器,以保證在線升級(jí)功能的核心部分不會(huì)由于誤操作而丟失。第三存儲(chǔ)區(qū)013還存儲(chǔ)了服務(wù)器的IP地址或者域名,用以定位服務(wù)器。存儲(chǔ)器02存儲(chǔ)的是應(yīng)用級(jí)固件,使得控制器能夠協(xié)調(diào)硬件模塊的資源,實(shí)現(xiàn)硬件設(shè)備所具備的各種功能,也是本發(fā)明中需要升級(jí)的固件部分,存儲(chǔ)器02可采用閃存、硬盤(pán)、EEPROM等非易失存儲(chǔ)器作為存儲(chǔ)介質(zhì),且將存儲(chǔ)固件的部分隱藏,以保證固件的安全性。存儲(chǔ)器03是文件存儲(chǔ)區(qū),存儲(chǔ)的是需要視頻播放器播放的文件,如電影文件、MTV文件等,此存儲(chǔ)器一般采用硬盤(pán)、閃存等大容量的存儲(chǔ)介質(zhì)。通訊接口04,是連接視頻播放器和聯(lián)網(wǎng)計(jì)算機(jī)的通訊接口,在本實(shí)施例中,為USB接口,當(dāng)然也可采用IEEE1394接口、無(wú)線USB接口或者藍(lán)牙接口等其他通訊接口。
本實(shí)施例中的視頻播放器實(shí)現(xiàn)固件自動(dòng)升級(jí)的方法如下首先是在本地計(jì)算機(jī)中啟動(dòng)視頻播放器中的在線升級(jí)程序的過(guò)程。如圖2所示,包含以下步驟步驟101將視頻播放器通過(guò)USB接口04與本地計(jì)算機(jī)連接;步驟102計(jì)算機(jī)的操作系統(tǒng)訪問(wèn)第一存儲(chǔ)區(qū)011中的初始化信息,將存儲(chǔ)器01默認(rèn)為光盤(pán)。;步驟103初始化完成之后,操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制被激活,操作系統(tǒng)將在存儲(chǔ)器01中尋找自動(dòng)執(zhí)行配置文件。
步驟104計(jì)算機(jī)操作系統(tǒng)訪問(wèn)自動(dòng)執(zhí)行配置文件,定位在線升級(jí)程序;步驟105在計(jì)算機(jī)上開(kāi)始運(yùn)行在線升級(jí)程序;步驟106將在線升級(jí)程序在本地計(jì)算機(jī)上的臨時(shí)文件夾進(jìn)行備份,然后進(jìn)入固件文件下載步驟。
然后將服務(wù)器端的固件文件下載在本地計(jì)算機(jī)中。如(圖3)所示,為應(yīng)用本發(fā)明的將服務(wù)器端的固件文件下載在本地計(jì)算機(jī)中的流程圖。
步驟201在線升級(jí)程序開(kāi)始運(yùn)行后,會(huì)對(duì)于網(wǎng)絡(luò)狀況進(jìn)行自動(dòng)探測(cè),判斷本地計(jì)算機(jī)能否連接到服務(wù)器端。如果不能夠連接,重新執(zhí)行步驟201;如果能夠連接,則執(zhí)行步驟202;步驟202在線升級(jí)程序首先對(duì)設(shè)備的固件部分進(jìn)行查詢,獲取設(shè)備當(dāng)前的固件版本號(hào)Ver A;步驟203在線升級(jí)程序查詢服務(wù)器端,獲得最新的固件版本號(hào)Ver B;步驟204在線升級(jí)程序?qū)er A與Ver B進(jìn)行比較,如果版本號(hào)相同,則說(shuō)明目前設(shè)備的固件是最新版本,無(wú)需進(jìn)行升級(jí),在線升級(jí)程序會(huì)自動(dòng)退出,同時(shí)切斷計(jì)算機(jī)與硬件設(shè)備的通信;如果Ver B高于Ver A,則說(shuō)明有更高版本的固件可以升級(jí);步驟205自動(dòng)升級(jí)軟件連接到服務(wù)器端,利用斷點(diǎn)續(xù)傳等手段下載Ver B固件文件,固件文件存放位置為本地計(jì)算機(jī)的臨時(shí)文件目錄;步驟206在線升級(jí)程序校驗(yàn)下載的固件文件,如果校驗(yàn)失敗,則執(zhí)行步驟205;如果校驗(yàn)成功,則執(zhí)行硬件設(shè)備中固件升級(jí)程序;最后在線升級(jí)程序?qū)⒋鎯?chǔ)在本地計(jì)算機(jī)臨時(shí)文件目錄中校驗(yàn)無(wú)誤的最新版本的固件文件通過(guò)通訊接口寫(xiě)入到設(shè)備的存儲(chǔ)器02部分,從而實(shí)現(xiàn)了自動(dòng)的在線固件更新。如果升級(jí)失敗,則在線升級(jí)軟件將臨時(shí)文件目錄中的固件文件再次寫(xiě)入到硬件設(shè)備中,直到更新成功。
實(shí)施例二為一種多功能藍(lán)牙鼠標(biāo)。所述的多功能藍(lán)牙鼠標(biāo)通過(guò)藍(lán)牙接口連接本地計(jì)算機(jī),同時(shí)所述的多功能藍(lán)牙鼠標(biāo)具有多功能鍵,可以發(fā)出預(yù)制的多種指令。
說(shuō)明一下所述的多功能藍(lán)牙鼠標(biāo)的結(jié)構(gòu)。該設(shè)備的硬件設(shè)備含有一個(gè)非易失性可擦寫(xiě)存儲(chǔ)器,例如閃存,被劃分為3個(gè)區(qū)域區(qū)域1,存儲(chǔ)的是系統(tǒng)級(jí)固件,該固件擔(dān)負(fù)了與計(jì)算機(jī)進(jìn)行I/O通信的功能,硬件上電之后連接計(jì)算機(jī)就能正常實(shí)現(xiàn)通信功能;區(qū)域2,該區(qū)域內(nèi)部劃分第一存儲(chǔ)裝置、第二存儲(chǔ)裝置和第三存儲(chǔ)裝置三部分,其中第一存儲(chǔ)裝置存儲(chǔ)可激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的初始化信息,第二存儲(chǔ)裝置存儲(chǔ)了自動(dòng)執(zhí)行配置文件autorun.ini,第三存儲(chǔ)裝置存儲(chǔ)了自動(dòng)執(zhí)行配置文件所指向的在線升級(jí)程序;區(qū)域3,存儲(chǔ)的是應(yīng)用級(jí)固件,使得控制器能夠協(xié)調(diào)硬件模塊的的資源,實(shí)現(xiàn)硬件設(shè)備所具備的各種功能,也是本發(fā)明中需要升級(jí)的固件部分。通訊接口為藍(lán)牙接口。
該鼠標(biāo)還包括一升級(jí)啟動(dòng)開(kāi)關(guān),升級(jí)啟動(dòng)開(kāi)關(guān)與第一存儲(chǔ)裝置相連,可開(kāi)啟或關(guān)閉計(jì)算機(jī)對(duì)初始化信息存儲(chǔ)裝置的訪問(wèn)通道。
同時(shí),可將此非易失可擦寫(xiě)存儲(chǔ)器設(shè)置為用戶不可見(jiàn),以防止用戶不當(dāng)刪除其所存儲(chǔ)的初始化信息、自動(dòng)執(zhí)行配置文件、在線升級(jí)程序、應(yīng)用級(jí)固件等。
多功能藍(lán)牙鼠標(biāo)的固件程序在線升級(jí)步驟流程如圖4所示步驟301將多功能藍(lán)牙鼠標(biāo)通過(guò)藍(lán)牙接口與本地計(jì)算機(jī)連接;步驟302開(kāi)啟多功能藍(lán)牙鼠標(biāo)的“在線升級(jí)開(kāi)關(guān)”,啟動(dòng)在線升級(jí)功能;步驟303多功能藍(lán)牙鼠標(biāo)的硬件設(shè)備中的配置文件將激活計(jì)算機(jī)系統(tǒng)的自動(dòng)執(zhí)行機(jī)制。將鼠標(biāo)初始化為光本地計(jì)算機(jī)上的一個(gè)存儲(chǔ)設(shè)備或者光驅(qū),然后啟動(dòng)autorun應(yīng)用模塊;步驟304多功能藍(lán)牙鼠標(biāo)訪問(wèn)聯(lián)機(jī)信息部分,定位在線升級(jí)程序;步驟305多功能藍(lán)牙鼠標(biāo)的配置文件指示計(jì)算機(jī)自動(dòng)運(yùn)行在線升級(jí)程序;步驟306在線升級(jí)程序開(kāi)始運(yùn)行后,會(huì)通過(guò)指定IP地址連接到服務(wù)器端,獲得最新的固件版本號(hào);步驟307在線升級(jí)程序?qū)?duì)版本進(jìn)行比較,如果發(fā)現(xiàn)最新版本高于本地版本,則執(zhí)行固件升級(jí);步驟308自動(dòng)升級(jí)軟件連接到服務(wù)器端,利用斷點(diǎn)續(xù)傳等手段下載最新版本固件文件,下載位置為本地計(jì)算機(jī)的臨時(shí)文件目錄;步驟309在線升級(jí)程序校驗(yàn)下載的固件文件,直到校驗(yàn)成功,則執(zhí)行硬件設(shè)備中固件升級(jí)程序;步驟310最后在線升級(jí)程序?qū)⒋鎯?chǔ)在本地計(jì)算機(jī)臨時(shí)文件目錄中校驗(yàn)無(wú)誤的最新版本的固件寫(xiě)入到設(shè)備的存儲(chǔ)器中,取代原固件程序,從而實(shí)現(xiàn)了自動(dòng)的在線固件更新。
以上實(shí)施例僅用以說(shuō)明而非限制本方面的技術(shù)方案,盡管參照上述實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)說(shuō)明,本領(lǐng)域的普通技術(shù)人員應(yīng)當(dāng)理解依然可以對(duì)本發(fā)明進(jìn)行修改或者等同替換,而不脫離本發(fā)明的精神和范圍的任務(wù)修改或局部替換,其均應(yīng)涵蓋在本發(fā)明的權(quán)利要求
范圍當(dāng)中。
權(quán)利要求
1.一種硬件設(shè)備中固件程序在線升級(jí)的方法,其特征在于包括1)硬件設(shè)備通過(guò)通訊接口與聯(lián)網(wǎng)的計(jì)算機(jī)連接的步驟;2)激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的步驟;3)操作系統(tǒng)執(zhí)行自動(dòng)執(zhí)行配置文件所指向的存儲(chǔ)在硬件設(shè)備所帶存儲(chǔ)器中的在線升級(jí)程序的步驟;4)在線升級(jí)程序通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序的步驟;5)將下載的固件程序?qū)懭胗布O(shè)備所帶非易失可擦寫(xiě)存儲(chǔ)器特定空間,取代原固件程序,從而完成固件程序升級(jí)的步驟。
2.如權(quán)利要求
1所述的一種硬件設(shè)備中固件程序在線升級(jí)的方法,其特征在于步驟3)與步驟4)之間還包括在線升級(jí)程序從預(yù)定的服務(wù)器獲取欲下載的固件程序的版本信息并將其與硬件設(shè)備當(dāng)前固件程序版本進(jìn)行比較的步驟,如欲下載的固件程序版本新于當(dāng)前版本,則繼續(xù)步驟4)。
3.如權(quán)利要求
1所述的一種硬件設(shè)備中固件程序在線升級(jí)的方法,其特征在于步驟4)中下載的固件程序存于計(jì)算機(jī)硬盤(pán)的臨時(shí)文件夾中。
4.如權(quán)利要求
1所述的一種硬件設(shè)備中固件程序在線升級(jí)的方法,其特征在于所述通訊接口為USB接口、IEEE1394接口、無(wú)線USB接口或者藍(lán)牙接口。
5.如權(quán)利要求
1所述的一種硬件設(shè)備中固件程序在線升級(jí)的方法,其特征在于步驟4)與步驟5)之間還包括對(duì)已下載的固件程序進(jìn)行校驗(yàn)的步驟,如校驗(yàn)無(wú)誤,則繼續(xù)步驟5)。
6.一種可在線升級(jí)固件程序的硬件設(shè)備,包括用于與聯(lián)網(wǎng)的計(jì)算機(jī)相連并進(jìn)行數(shù)據(jù)交換的通訊接口和存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器,其特征在于還包括用于存儲(chǔ)可激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制的初始化信息的初始化信息存儲(chǔ)裝置;和用于存儲(chǔ)自動(dòng)執(zhí)行配置文件的配置文件存儲(chǔ)裝置;用于存儲(chǔ)所述自動(dòng)執(zhí)行配置文件所指向的在線升級(jí)程序的在線升級(jí)程序存儲(chǔ)裝置;所述在線升級(jí)程序包含通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序的下載模塊和將下載的固件程序通過(guò)所述通訊接口寫(xiě)入所述存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器以取代原固件程序的固件更新模塊。
7.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述非易失可擦寫(xiě)存儲(chǔ)器為閃存、硬盤(pán)、EEPROM。
8.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述通訊接口為USB接口、IEEE1394接口、無(wú)線USB接口或者藍(lán)牙接口。
9.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述初始化信息存儲(chǔ)裝置、配置文件存儲(chǔ)裝置和/或在線升級(jí)程序存儲(chǔ)裝置為非易失不可擦寫(xiě)存儲(chǔ)器。
10.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述初始化信息存儲(chǔ)裝置、配置文件存儲(chǔ)裝置和/或在線升級(jí)程序存儲(chǔ)裝置為非易失可擦寫(xiě)存儲(chǔ)器的隱藏區(qū)。
11.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于還包括升級(jí)啟動(dòng)開(kāi)關(guān),所述升級(jí)啟動(dòng)開(kāi)關(guān)與初始化信息存儲(chǔ)裝置相連,可開(kāi)啟或關(guān)閉計(jì)算機(jī)對(duì)初始化信息存儲(chǔ)裝置的訪問(wèn)通道。
12.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述在線升級(jí)程序存儲(chǔ)裝置中預(yù)先存儲(chǔ)了用以定位服務(wù)器的IP地址或者域名。
13.如權(quán)利要求
6所述的一種可在線升級(jí)固件程序的硬件設(shè)備,其特征在于所述固件程序存儲(chǔ)在非易失可擦寫(xiě)存儲(chǔ)器的隱藏區(qū)。
專(zhuān)利摘要
本發(fā)明涉及一種硬件設(shè)備中固件程序在線升級(jí)的方法,該方法包括下列步驟1)硬件設(shè)備通過(guò)通訊接口與聯(lián)網(wǎng)的計(jì)算機(jī)連接;2)激活計(jì)算機(jī)操作系統(tǒng)的自動(dòng)執(zhí)行機(jī)制;3)操作系統(tǒng)執(zhí)行自動(dòng)執(zhí)行配置文件所指向的存儲(chǔ)在硬件設(shè)備所帶存儲(chǔ)器中的在線升級(jí)程序;4)在線升級(jí)程序通過(guò)網(wǎng)絡(luò)從預(yù)定的服務(wù)器下載固件程序;5)將下載的固件程序?qū)懭胗布O(shè)備所帶非易失可擦寫(xiě)存儲(chǔ)器特定空間,取代原固件程序,從而完成固件程序升級(jí)。本發(fā)明同時(shí)涉及一種可在線升級(jí)固件程序的硬件設(shè)備,包括通訊接口和存儲(chǔ)固件程序的非易失可擦寫(xiě)存儲(chǔ)器,以及初始化信息存儲(chǔ)裝置、配置文件存儲(chǔ)裝置、在線升級(jí)程序存儲(chǔ)裝置。
文檔編號(hào)G06F9/445GK1991761SQ200510135570
公開(kāi)日2007年7月4日 申請(qǐng)日期2005年12月30日
發(fā)明者李富強(qiáng) 申請(qǐng)人:北京華旗資訊數(shù)碼科技有限公司導(dǎo)出引文BiBTeX, EndNote, RefMan