Usb設(shè)備升級方法
【專利摘要】本發(fā)明涉及一種USB設(shè)備升級方法,通過引導(dǎo)程序完成初始化后,跳轉(zhuǎn)至應(yīng)用程序主函數(shù),在跳轉(zhuǎn)至應(yīng)用程序主函數(shù)之后,進入正常工作模式之前插入一段選擇程序,以改變USB設(shè)備原有引導(dǎo)程序的初始化,實現(xiàn)在不改變原有引導(dǎo)程序的前提下增加USB設(shè)備的功能,從而完成USB設(shè)備的升級。
【專利說明】USB設(shè)備升級方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信領(lǐng)域,尤其涉及一種USB設(shè)備升級方法。
【背景技術(shù)】
[0002]隨著用戶需求的增加,為了增加已出貨產(chǎn)品的競爭力和降低產(chǎn)品生產(chǎn)成本等原因,需要對原有產(chǎn)品開放更多的資源給用戶,用戶可以將原有產(chǎn)品進行升級。不過,由于燒寫在原有產(chǎn)品中的原引導(dǎo)程序可能滿足不了現(xiàn)階段產(chǎn)品升級的需求,但是更改已出貨產(chǎn)品的原有引導(dǎo)程序可能造成維護成本的提升以及用戶投訴的增加。比如,用戶在程序更換引導(dǎo)程序的時候,強制將設(shè)備斷電,造成更新引導(dǎo)程序失敗,從而導(dǎo)致整個系統(tǒng)無法引導(dǎo)正常工作模式而無法使用,這時需要專業(yè)人員進行維護來解決。
[0003]圖1為現(xiàn)有嵌入式產(chǎn)品從上電到進入正常工作模式的流程示意圖,通常將USB設(shè)備初始化為一種USB CDC類(Universal Serial Bus Communicat1ns Devices Class,USB通信設(shè)備類),用于和上位機通信,作為打印工具的功能來使用。這時,為了將設(shè)備升級,用戶不得不將SD卡拔出,用上位機升級工具通過USB接口的SD卡讀卡器進行升級。這種升級方法需要將SD卡讀卡器作為產(chǎn)品標(biāo)配的配件,導(dǎo)致產(chǎn)品的成本較高,且操作比較繁瑣,升級效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明的目的在于提供一種USB設(shè)備升級方法,在不改變原有引導(dǎo)程序的前提下增加USB設(shè)備的功能,從而完成USB設(shè)備的升級。
[0005]為實現(xiàn)上述目的,本發(fā)明提供一種USB設(shè)備升級方法,通過引導(dǎo)程序完成初始化后,跳轉(zhuǎn)至應(yīng)用程序主函數(shù),并進入正常工作模式,在跳轉(zhuǎn)至應(yīng)用程序主函數(shù)之后,進入正常工作模式之前插入一段選擇程序,以改變USB設(shè)備原有引導(dǎo)程序的初始化,實現(xiàn)在不改變原有引導(dǎo)程序的前提下增加USB設(shè)備的功能,從而完成USB設(shè)備的升級。
[0006]USB設(shè)備上電后自動跳轉(zhuǎn)執(zhí)行所述引導(dǎo)程序。
[0007]所述引導(dǎo)程序包括引導(dǎo)程序起始、初始化系統(tǒng)時鐘和外部時鐘、及初始化外圍電路。
[0008]所述選擇程序用于選擇USB設(shè)備的工作模式。
[0009]所述USB設(shè)備的工作模式包括用于和上位機通信的通信設(shè)備類(⑶C)與用于設(shè)備升級的大容量存儲設(shè)備類(MSC)。
[0010]通過用戶操作界面上顯示的配置選項選擇所述USB設(shè)備的工作模式,所述配置選項包括配置USB設(shè)備為虛擬串口與配置USB設(shè)備為大容量存儲;選擇配置USB設(shè)備為虛擬串口時,所述USB設(shè)備的工作模式設(shè)置為通信設(shè)備類(⑶C),選擇配置USB設(shè)備為大容量存儲時,所述USB設(shè)備的工作模式設(shè)置為大容量存儲設(shè)備類(MSC)。
[0011]所述USB設(shè)備升級方法,包括如下步驟:
[0012]步驟1、設(shè)備上電;
[0013]步驟2、引導(dǎo)程序完成相關(guān)初始化;
[0014]步驟3、跳轉(zhuǎn)到應(yīng)用程序主函數(shù);
[0015]步驟4、用戶在操作界面上選擇配置USB的工作模式,配置USB為虛擬串口,則進行步驟5 ;配置USB為大容量存儲,則跳至步驟6 ;
[0016]步驟5、USB設(shè)備為USB通訊設(shè)備類(CTC),進入正常的工作模式;
[0017]步驟6、USB設(shè)備為USB大容量存儲類(MSC),進入升級模式,作為一個可移動磁盤,連接上位機并對其進行升級操作。
[0018]所述弓I導(dǎo)程序默認初始化USB設(shè)備為通信設(shè)備類(⑶C)。
[0019]所述USB設(shè)備為嵌入式產(chǎn)品,無操作系統(tǒng)。
[0020]本發(fā)明的有益效果:本發(fā)明的一種USB設(shè)備升級方法,在產(chǎn)品無操作系統(tǒng)和不更改原有引導(dǎo)程序的情況下,不更改硬件配置,在同一個USB設(shè)備中提供可供用戶選擇的兩種不同的工作模式,從而提升了軟件升級效率,省去了 SD讀卡器作為標(biāo)配配件,節(jié)省了產(chǎn)品的成本。
【專利附圖】
【附圖說明】
[0021]下面結(jié)合附圖,通過對本發(fā)明的【具體實施方式】詳細描述,將使本發(fā)明的技術(shù)方案及其他有益效果顯而易見。
[0022]附圖中,
[0023]圖1為現(xiàn)有USB設(shè)備的工作流程圖;
[0024]圖2為本發(fā)明USB設(shè)備升級方法中用戶選擇USB設(shè)備的工作模式的示意圖;
[0025]圖3為本發(fā)明USB設(shè)備升級方法對USB設(shè)備升級的示意圖;
[0026]圖4為本發(fā)明USB設(shè)備升級方法的流程圖。
【具體實施方式】
[0027]下面結(jié)合附圖,通過對本發(fā)明的【具體實施方式】詳細描述,將使本發(fā)明的技術(shù)方案及其它有益效果顯而易見。
[0028]請參閱圖2-4,本發(fā)明提供一種USB設(shè)備升級方法,通過引導(dǎo)程序完成初始化后,跳轉(zhuǎn)至應(yīng)用程序主函數(shù),并進入正常工作模式,在跳轉(zhuǎn)至應(yīng)用程序主函數(shù)之后,進入正常工作模式之前的點A處插入一段選擇程序,以改變USB設(shè)備原有引導(dǎo)程序的初始化,實現(xiàn)在不改變原有引導(dǎo)程序的前提下增加USB設(shè)備的功能,從而完成USB設(shè)備的升級。
[0029]所述USB設(shè)備為嵌入式產(chǎn)品,無操作系統(tǒng)。
[0030]USB設(shè)備上電后自動跳轉(zhuǎn)執(zhí)行所述引導(dǎo)程序,所述引導(dǎo)程序默認初始化USB設(shè)備為通信設(shè)備類(OTC)。
[0031]具體地,所述引導(dǎo)程序包括引導(dǎo)程序起始、初始化系統(tǒng)時鐘和外部時鐘、及初始化外圍電路。
[0032]所述選擇程序用于選擇USB設(shè)備的工作模式。
[0033]所述USB設(shè)備的工作模式包括用于和上位機通信的通信設(shè)備類(⑶C)與用于設(shè)備升級的大容量存儲設(shè)備類(MSC)。
[0034]請參閱圖2,通過用戶操作界面上顯示的配置選項選擇所述USB設(shè)備的工作模式,并將該選擇傳遞給USB設(shè)備的工作標(biāo)志flag。經(jīng)選擇程序判斷flag值是否為I對應(yīng)輸出Y或N選擇對應(yīng)的工作模式。所述配置選項包括配置USB設(shè)備為虛擬串口與配置USB設(shè)備為大容量存儲。
[0035]進一步的,當(dāng)用戶需要進行打印、上傳等操作時,選擇Y配置USB設(shè)備為虛擬串口,此時設(shè)置該所述flag為1,所述USB設(shè)備的工作模式設(shè)置為通信設(shè)備類(⑶C),可以實現(xiàn)打印、上傳等操作。當(dāng)用戶需要對USB設(shè)備進行升級時,選擇N配置USB設(shè)備為大容量存儲,此時設(shè)置所述flag為0,所述USB設(shè)備的工作模式設(shè)置為大容量存儲設(shè)備類(MSC),類似于U盤,用戶可以實現(xiàn)對USB設(shè)備升級。
[0036]請參閱圖4,使用該升級方法對USB設(shè)備進行升級的具體流程如下:
[0037]步驟1、設(shè)備上電。
[0038]USB設(shè)備上電后自動跳轉(zhuǎn)執(zhí)行所述引導(dǎo)程序,所述引導(dǎo)程序默認初始化USB設(shè)備為通信設(shè)備類(OTC)。
[0039]步驟2、引導(dǎo)程序完成相關(guān)初始化。包括引導(dǎo)程序起始、初始化系統(tǒng)時鐘和外部時鐘、及初始化外圍電路。
[0040]步驟3、跳轉(zhuǎn)到應(yīng)用程序主函數(shù)。
[0041]步驟4、用戶在操作界面上選擇配置USB的工作模式,配置USB為虛擬串口,USB工作標(biāo)志flag為I,選擇程序輸出結(jié)構(gòu)為Y,則進行步驟5 ;配置USB為大容量存儲,USB工作標(biāo)志flag為0,選擇程序輸出結(jié)構(gòu)為N,則跳至步驟6。
[0042]步驟5、USB設(shè)備為USB通訊設(shè)備類,進入正常的工作模式。
[0043]步驟6、USB設(shè)備為USB大容量存儲類,進入升級模式,作為一個可移動磁盤,連接上位機并對其進行升級操作。
[0044]如圖3所示,USB設(shè)備I通過數(shù)據(jù)線將USB大容量存儲11與電腦端2的USB接口21連接,電腦端2中的升級工具22通過與服務(wù)器連接實現(xiàn)對USB設(shè)備I的升級,從而避免了拔出SD卡12。
[0045]綜上所述,本發(fā)明提供的一種USB設(shè)備的升級方法,在產(chǎn)品無操作系統(tǒng)和不更改原有引導(dǎo)程序的情況下,不更改硬件配置,在同一個USB設(shè)備中提供可供用戶選擇的兩種不同的工作模式,從而提升了軟件升級效率,省去了 SD讀卡器作為標(biāo)配配件,節(jié)省了產(chǎn)品的成本。
[0046]以上所述,對于本領(lǐng)域的普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案和技術(shù)構(gòu)思作出其他各種相應(yīng)的改變和變形,而所有這些改變和變形都應(yīng)屬于本發(fā)明后附的權(quán)利要求的保護范圍。
【權(quán)利要求】
1.一種USB設(shè)備升級方法,通過引導(dǎo)程序完成初始化后,跳轉(zhuǎn)至應(yīng)用程序主函數(shù),并進入正常工作模式,其特征在于,在跳轉(zhuǎn)至應(yīng)用程序主函數(shù)之后,進入正常工作模式之前插入一段選擇程序,以改變USB設(shè)備原有引導(dǎo)程序的初始化,實現(xiàn)在不改變原有引導(dǎo)程序的前提下增加USB設(shè)備的功能,從而完成USB設(shè)備的升級。
2.如權(quán)利要求1所述的USB設(shè)備升級方法,其特征在于,USB設(shè)備上電后自動跳轉(zhuǎn)執(zhí)行所述引導(dǎo)程序。
3.如權(quán)利要求2所述的USB設(shè)備升級方法,其特征在于,所述弓|導(dǎo)程序包括弓I導(dǎo)程序起始、初始化系統(tǒng)時鐘和外部時鐘、及初始化外圍電路。
4.如權(quán)利要求1所述的USB設(shè)備升級方法,其特征在于,所述選擇程序用于選擇USB設(shè)備的工作模式。
5.如權(quán)利要求4所述的USB設(shè)備升級方法,其特征在于,所述USB設(shè)備的工作模式包括用于和上位機通信的通信設(shè)備類(CDC)與用于設(shè)備升級的大容量存儲設(shè)備類(MSC)。
6.如權(quán)利要求5所述的USB設(shè)備升級方法,其特征在于,通過用戶操作界面上顯示的配置選項選擇所述USB設(shè)備的工作模式,所述配置選項包括配置USB設(shè)備為虛擬串口與配置USB設(shè)備為大容量存儲;選擇配置USB設(shè)備為虛擬串口時,所述USB設(shè)備的工作模式設(shè)置為通信設(shè)備類(CDC),選擇配置USB設(shè)備為大容量存儲時,所述USB設(shè)備的工作模式設(shè)置為大容量存儲設(shè)備類(MSC)。
7.如權(quán)利要求6所述的USB設(shè)備升級方法,其特征在于,包括如下步驟: 步驟1、設(shè)備上電; 步驟2、引導(dǎo)程序完成相關(guān)初始化; 步驟3、跳轉(zhuǎn)到應(yīng)用程序主函數(shù); 步驟4、用戶在操作界面上選擇配置USB的工作模式,配置USB為虛擬串口,則進行步驟5 ;配置USB為大容量存儲,則跳至步驟6 ; 步驟5、USB設(shè)備為USB通訊設(shè)備類(⑶C),進入正常的工作模式; 步驟6、USB設(shè)備為USB大容量存儲類(MSC),進入升級模式,作為一個可移動磁盤,連接上位機并對其進行升級操作。
8.如權(quán)利要求5所述的USB設(shè)備升級方法,其特征在于,所述弓|導(dǎo)程序默認初始化USB設(shè)備為通信設(shè)備類(CDC)。
9.如權(quán)利要求1所述的USB設(shè)備升級方法,其特征在于,所述USB設(shè)備為嵌入式產(chǎn)品,無操作系統(tǒng)。
【文檔編號】G06F9/445GK104346205SQ201410593773
【公開日】2015年2月11日 申請日期:2014年10月28日 優(yōu)先權(quán)日:2014年10月28日
【發(fā)明者】劉均, 任鵬 申請人:深圳市元征科技股份有限公司