本發(fā)明涉及汽車診斷設(shè)備技術(shù)領(lǐng)域,尤其涉及一種讀碼卡的軟件升級方法及系統(tǒng)。
背景技術(shù):
讀碼卡時常需要升級,現(xiàn)有的讀碼卡都是通過串口或usb轉(zhuǎn)串口方式與pc(personalcomputer,個人計(jì)算機(jī))連接,通過在windows操作系統(tǒng)下,使用自定義開發(fā)的工具軟件對讀碼卡進(jìn)行軟件升級。在軟件升級時,對pc操作系統(tǒng)有要求,需要額外的工具軟件;還涉及到驅(qū)動對不同系統(tǒng)版本的支持不夠,工具軟件本身的下載、安裝;且存在升級軟件下載速度慢,還需要用戶對工具軟件進(jìn)行相應(yīng)的操作才能實(shí)現(xiàn)軟件的升級,操作麻煩。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明提供一種讀碼卡的軟件升級方法及系統(tǒng),其主要目的在于無需額外的工具軟件,且對usb主機(jī)端操作系統(tǒng)無要求,即可方便快速地實(shí)現(xiàn)對讀碼卡的軟件進(jìn)行升級。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種讀碼卡的軟件升級方法,所述讀碼卡具有usb通訊功能和數(shù)據(jù)存儲功能,該讀碼卡的軟件升級方法包括:
讀碼卡連接到usb主機(jī)后,將在usb主機(jī)上出現(xiàn)可移動存儲設(shè)備,其中,所述讀碼卡通過usb數(shù)據(jù)線與usb主機(jī)建立連接;
用戶將待升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),完成固件下載和資源文件的升級,其中,所述升級軟件包括所述固件和所述資源文件;
讀碼卡重新上電后,對數(shù)據(jù)存儲器內(nèi)下載的固件進(jìn)行升級。
優(yōu)選地,所述的讀碼卡的軟件升級方法,其特征在于,所述讀碼卡的軟件升級方法包括:
當(dāng)所述讀碼卡上電啟動判斷與usb主機(jī)后,所述讀碼卡將進(jìn)行usb大容量存儲類的初始化。
優(yōu)選地,所述的讀碼卡的軟件升級方法,其特征在于,所述讀碼卡對所述固件進(jìn)行升級的步驟包括:
讀碼卡對所述數(shù)據(jù)存儲器內(nèi)下載的固件進(jìn)行校驗(yàn),判斷所述固件的正確性;
若所述固件校驗(yàn)正確,則判斷所述固件對應(yīng)的軟件版本是否與所述讀碼卡當(dāng)前使用的軟件版本一致;
若所述固件與所述讀碼卡當(dāng)前使用的版本不一致,則采用所述固件替換所述讀碼卡當(dāng)前固件,完成升級。
優(yōu)選地,所述的讀碼卡的軟件升級方法,其特征在于,所述讀碼卡對所述固件進(jìn)行升級的步驟還包括:
讀碼卡對所述數(shù)據(jù)存儲器內(nèi)下載的固件進(jìn)行校驗(yàn),判斷所述固件的正確性;
若所述固件校驗(yàn)正確,則判斷所述固件對應(yīng)的軟件版本是否與所述讀碼卡當(dāng)前使用的軟件版本一致;
若所述固件與所述讀碼卡當(dāng)前使用的版本不一致,則采用所述固件替換所述讀碼卡當(dāng)前固件,完成升級。
優(yōu)選地,所述讀碼卡對所述固件進(jìn)行升級的步驟還包括:
若讀碼卡從所述存儲器內(nèi)讀取不到固件或固件校驗(yàn)不正確,則跳過升級。
優(yōu)選地,所述采用所述軟件升級包進(jìn)行軟件升級的步驟包括:
將所述待升級軟件拷貝至所述讀碼卡的存儲空間內(nèi),并使用拷貝的固件進(jìn)行軟件升級。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種讀碼卡的軟件升級系統(tǒng),所述讀碼卡具有usb通訊模塊和數(shù)據(jù)存儲模塊,所述讀碼卡的軟件升級系統(tǒng)包括:
文件下載模塊,用于與usb主機(jī)連接,實(shí)現(xiàn)文件下載到本地,其中所述usb主機(jī)通過usb數(shù)據(jù)線與所述讀碼卡建立連接;
數(shù)據(jù)讀取模塊,用于從所述數(shù)據(jù)存儲模塊中讀取升級軟件,其中,所述數(shù)據(jù)讀取模塊通過文件系統(tǒng)從數(shù)據(jù)存儲模塊內(nèi)讀取文件;
軟件升級模塊,用于從所述數(shù)據(jù)存儲模塊中讀取到固件時,采用所述固件進(jìn)行軟件升級。
優(yōu)選地,所述的讀碼卡的軟件升級系統(tǒng),其特征在于,所述軟件升級模塊包括:
文件校驗(yàn)單元,用于校驗(yàn)文件的正確性;
版本判斷單元,用于從所述存儲模塊中讀取到固件時,判斷所述固件對應(yīng)的軟件的版本是否與當(dāng)前安裝的軟件的版本一致;
軟件升級單元,用于若所述固件對應(yīng)的軟件版本與當(dāng)前安裝版本不一致,則采用所述固件進(jìn)行軟件升級。
優(yōu)選地,所述讀碼卡的軟件升級系統(tǒng)還包括:
異常處理模塊,用于若從所述存儲設(shè)備中讀取不到固件或所述固件校驗(yàn)不正確,則跳過所述固件升級。
優(yōu)選地,所述讀碼卡的軟件升級系統(tǒng)還包括:
初始化模塊,用于所述讀碼卡上電啟動判斷與usb主機(jī)連接后,所述讀碼卡將進(jìn)行usb大容量存儲類的初始化。
優(yōu)選地,所述軟件升級模塊,還用于將所述軟件升級包拷貝至所述讀碼卡的存儲空間中,并使用拷貝的固件對軟件進(jìn)行升級。
本發(fā)明提出的一種讀碼卡的軟件升級方法及系統(tǒng),讀碼卡通過usb數(shù)據(jù)線與usb主機(jī)連接后,在usb主機(jī)端會出現(xiàn)可移動存儲設(shè)備,用戶將升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),在讀碼卡重新上電后,自動完成軟件升級,本發(fā)明的方法及系統(tǒng),無需額外的工具軟件,且對操作系統(tǒng)平臺無苛刻要求,只需要usb主機(jī)支持大容量存儲設(shè)備,即可方便快速地實(shí)現(xiàn)對讀碼卡的軟件進(jìn)行升級。
附圖說明
圖1為本發(fā)明一種讀碼卡的軟件升級方法較佳實(shí)施例的流程圖。
圖2為本發(fā)明一種讀碼卡的軟件升級方法較佳實(shí)施例中軟件升級步驟的細(xì)化流程示意圖。
圖3為本發(fā)明一種讀碼卡的軟件升級系統(tǒng)較佳實(shí)施例的功能模塊示意圖。
圖4為本發(fā)明一種讀碼卡的軟件升級系統(tǒng)較佳實(shí)施例中軟件升級模塊的細(xì)化功能模塊示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種讀碼卡的軟件升級方法。
參照圖1所示,為本發(fā)明一種讀碼卡的軟件升級方法較佳實(shí)施例的流程圖。
在該實(shí)施例中,該讀碼卡的軟件升級方法包括:
步驟s10,讀碼卡與usb主機(jī)連接,在所述usb主機(jī)上出現(xiàn)可移動存儲設(shè)備,其中,所述usb主機(jī)通過usb數(shù)據(jù)線與讀碼卡建立連接。
如果讀碼卡有新的軟件需要更新時,用戶可以先獲取到升級軟件包,并將其下載到pc、平板、筆記本等具有usb主機(jī)功能的設(shè)備中。因此,用戶可以將軟件升級包下載至一臺裝有win7的pc,然后將讀碼卡通過usb數(shù)據(jù)線連接至pc的usb端口,pc上將會出現(xiàn)一個可移動存儲設(shè)備。當(dāng)然,用戶也可以通過其他不同操作系統(tǒng)的pc來完成。
步驟s20,用戶將待升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),以msc類(massstoragedeviceclass,大容量存儲設(shè)備類)的傳輸協(xié)議來進(jìn)行數(shù)據(jù)傳輸。
步驟s30,讀碼卡重新上電后,對數(shù)據(jù)存儲區(qū)內(nèi)下載的文件進(jìn)行升級,可以固定待升級固件的的名稱,根據(jù)上述名稱在所述存儲區(qū)內(nèi)檢索對應(yīng)名稱的文件,因此,用戶在復(fù)制待升級文件到所述可移動存儲設(shè)備中時,需要將其以正確的名稱命名。參照圖2所示,該步驟可以包括以下細(xì)化步驟:
步驟s31,從所述數(shù)據(jù)存儲區(qū)中讀取到固件時,對所述固件進(jìn)行校驗(yàn),判斷文件的正確性。
本實(shí)施例提供了一種校驗(yàn)固件準(zhǔn)確性的方式,所述固件文件包括本身的固件內(nèi)容及crc16校驗(yàn)碼。生成所述固件時,采用crc16對固件內(nèi)容進(jìn)行校驗(yàn),在固件內(nèi)容的末尾增加2個字節(jié)用于存放crc16校驗(yàn)碼。通過對所述的固件內(nèi)容進(jìn)行crc16計(jì)算,與所述固件的校驗(yàn)碼比較判斷是否一致。
步驟s32,若所述固件校驗(yàn)正解,判斷所述固件的版本是否與當(dāng)前使用的版本一致。
步驟s33,若所述固件版本與當(dāng)前使用的版本不一致則采用所述固件進(jìn)行軟件升級。
讀碼卡從所述數(shù)據(jù)存儲區(qū)內(nèi)讀取到固件時,獲取所述固件對應(yīng)的軟件的版本號;將獲取到的所述版本號與當(dāng)前安裝的軟件的版本號進(jìn)行對比,以判斷所述軟件升級包對應(yīng)的軟件版本是否與當(dāng)前安裝版本一致。
本實(shí)施例提供了一種判斷所述固件的版本是否與當(dāng)前安裝版本一致的方式,通過對比版本號實(shí)現(xiàn),現(xiàn)有的軟件版本編號一般采用以下格式:vxx.xx固定6個字節(jié),通過字符串的比較就可判斷是否一致。
由于只是對固件版本是否一致進(jìn)行限制,固件是可以支持退回舊版本。
本發(fā)明提出的一種讀碼卡的軟件升級方法,讀碼卡通過usb數(shù)據(jù)線與usb主機(jī)連接后,在usb主機(jī)端會出現(xiàn)可移動存儲設(shè)備,用戶將升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),在讀碼卡重新上電后,自動完成軟件升級,本發(fā)明的方法及系統(tǒng),無需額外的工具軟件,且對操作系統(tǒng)平臺無苛刻要求,只需要usb主機(jī)支持大容量存儲設(shè)備,即可方便快速地實(shí)現(xiàn)對讀碼卡的軟件進(jìn)行升級。
本發(fā)明還提出一種讀碼卡的軟件升級系統(tǒng)。
參照圖3所示,為本發(fā)明一種讀碼卡的軟件升級系統(tǒng)第一實(shí)施例的功能模塊示意圖。
在該實(shí)施例中,該讀碼卡的軟件升級系統(tǒng)包括:
文件下載模塊10,用于支持從usb主機(jī)下載升級文件到所述讀碼卡存儲器內(nèi),其中,所述usb主機(jī)通過usb數(shù)據(jù)線與所述讀碼卡建立連接。
如果讀碼卡有新的軟件需要更新時,用戶可以先獲取到升級軟件包,并將其下載到pc、平板、筆記本等具有usb主機(jī)功能的設(shè)備中。因此,用戶可以將軟件升級包下載至一臺裝有win7的pc,然后將讀碼卡通過usb數(shù)據(jù)線連接至pc的usb端口,pc上將會出現(xiàn)一個可移動存儲設(shè)備。當(dāng)然,用戶也可以通過其他不同操作系統(tǒng)的pc來完成。
文件下載模塊10實(shí)現(xiàn)用戶將待升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),以msc類(massstoragedeviceclass,大容量存儲設(shè)備類)的傳輸協(xié)議來進(jìn)行數(shù)據(jù)傳輸。
數(shù)據(jù)讀取模塊20,用于支持所述讀碼卡的主控制器通過文件系統(tǒng)從所述讀碼卡存儲器內(nèi)讀取數(shù)據(jù)。
軟件升級模塊30,讀碼卡重新上電后,對數(shù)據(jù)存儲區(qū)內(nèi)下載的文件進(jìn)行升級,可以固定待升級固件的的名稱,根據(jù)上述名稱在所述存儲區(qū)內(nèi)檢索對應(yīng)名稱的文件,因此,用戶在復(fù)制待升級文件到所述可移動存儲設(shè)備中時,需要將其以正確的名稱命名。參照圖4所示,軟件升級模塊30可以包括以下細(xì)化單元:
文件校驗(yàn)單元31,從所述數(shù)據(jù)存儲區(qū)中讀取到固件時,對所述固件進(jìn)行校驗(yàn),判斷文件的正確性。
本實(shí)施例提供了一種校驗(yàn)固件準(zhǔn)確性的方式,所述固件文件包括本身的固件內(nèi)容及crc16校驗(yàn)碼。生成所述固件時,采用crc16對固件內(nèi)容進(jìn)行校驗(yàn),在固件內(nèi)容的末尾增加2個字節(jié)用于存放crc16校驗(yàn)碼。通過對所述的固件內(nèi)容進(jìn)行crc16計(jì)算,與所述固件的校驗(yàn)碼比較判斷是否一致。
版本判斷單元32,用于從所述數(shù)據(jù)存儲區(qū)中讀取到固件時,判斷所述固件的版本是否與當(dāng)前使用的版本一致。
軟件升級單元33,用于若所述固件校驗(yàn)正確,且若所述固件版本與當(dāng)前使用的版本不一致則采用所述固件進(jìn)行固件升級。
讀碼卡從所述數(shù)據(jù)存儲區(qū)內(nèi)讀取到固件時,版本判斷單元32獲取所述固件對應(yīng)的軟件的版本號;將獲取到的所述版本號與當(dāng)前安裝的軟件的版本號進(jìn)行對比,以判斷所述軟件升級包對應(yīng)的軟件版本是否與當(dāng)前安裝版本一致。
本實(shí)施例提供了一種判斷所述固件的版本是否與當(dāng)前安裝版本一致的方式,通過對比版本號實(shí)現(xiàn),現(xiàn)有的軟件版本編號一般采用以下格式:vxx.xx固定6個字節(jié),通過字符串的比較就可判斷是否一致。
由于只是對固件版本是否一致進(jìn)行限制,固件是可以支持退回舊版本。
進(jìn)一步地,該讀碼卡的軟件升級系統(tǒng)還包括以下模塊:
異常處理模塊40,如果讀碼卡從所述數(shù)據(jù)存儲區(qū)中校驗(yàn)固件不正確,或者,在升級過程中發(fā)生錯誤,無法完成升級過程,異常處理模塊可以發(fā)出提示信息以告知用戶軟件升級失敗,例如,若讀碼卡設(shè)置有警報裝置,則可以發(fā)出警報,或者,當(dāng)讀碼卡上連接有顯示裝置時,異常處理模塊也可以在顯示裝置上提示信息。
本實(shí)施例提出的一種讀碼卡的軟件升級系統(tǒng),讀碼卡通過usb數(shù)據(jù)線與usb主機(jī)連接后,在usb主機(jī)端會出現(xiàn)可移動存儲設(shè)備,用戶將升級軟件復(fù)制到可移動存儲設(shè)備內(nèi),在讀碼卡重新上電后,自動完成軟件升級,本發(fā)明的方法及系統(tǒng),無需額外的工具軟件,且對操作系統(tǒng)平臺無苛刻要求,只需要usb主機(jī)支持大容量存儲設(shè)備,即可方便快速地實(shí)現(xiàn)對讀碼卡的軟件進(jìn)行升級。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。