一種通過移動終端升級配件的方法、系統(tǒng)及移動終端的制作方法
【專利摘要】本發(fā)明適用于升級【技術(shù)領(lǐng)域】,提供了一種通過移動終端升級配件的方法、系統(tǒng)及移動終端,所述移動終端包括CPU,所述移動終端還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接,所述方法包括:存儲配件的固件至移動終端中;移動終端與配件建立連接;移動終端通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者移動終端通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。本發(fā)明,配件出廠后,若遇上嚴(yán)重bug或者后續(xù)需要添加新功能時,可以通過移動終端升級固件,不需要將配件返回廠家,用戶在當(dāng)?shù)丶茨懿僮?,而且簡單便攜。
【專利說明】一種通過移動終端升級配件的方法、系統(tǒng)及移動終端
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于升級【技術(shù)領(lǐng)域】,尤其涉及一種通過移動終端升級配件的方法、系統(tǒng)及移動終端。
【背景技術(shù)】
[0002]隨著智能移動終端的普及,各種配件如雨后春筍般出現(xiàn),如快充適配器、移動電源、健康手環(huán)、智能眼鏡等等。
[0003]由于配件的存儲空間普遍較小、大部分沒有無線保真WIFI功能,且沒有完整的文件系統(tǒng)、不能存儲文件,因此無法像移動終端一樣通過空中下載技術(shù)(Over-the-AirTechnology, OTA)對配件進(jìn)行升級。若遇上重大bug或者需要增加新功能,只能返廠,由廠商將配件拆開,把配件的電路板放在治具上,通過特定的工具對電路板里面的芯片進(jìn)行固件升級。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實(shí)施例提供了一種通過移動終端升級配件的方法、系統(tǒng)及移動終端,旨在解決現(xiàn)有技術(shù)提供的配件的升級方法,必須返廠升級的問題。
[0005]一方面,提供一種通過移動終端升級配件的方法,所述移動終端包括CPU,所述移動終端還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接,所述方法包括:
[0006]存儲配件的固件至移動終端中;
[0007]移動終端與配件建立連接;
[0008]移動終端通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者
[0009]移動終端通過USB線的D+/D-按照i2C/uart協(xié)議發(fā)送固件至配件。
[0010]進(jìn)一步地,在移動終端按照i2C/uart協(xié)議發(fā)送固件至配件之前,還包括:
[0011]移動終端接收輸入的升級配件指令;
[0012]移動終端根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart 連接。
[0013]進(jìn)一步地,移動終端按照i2c/uart協(xié)議發(fā)送固件至配件包括:
[0014]步驟A、移動終端發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù);
[0015]步驟B、移動終端發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址;
[0016]步驟C、移動終端發(fā)送寫入地址至配件,通知配件等待接收固件;
[0017]步驟D、移動終端按照i2C/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中,N為16或8 ;
[0018]步驟E、返回步驟C,直至固件中的數(shù)據(jù)全部發(fā)送完畢。
[0019]進(jìn)一步地,在移動終端按照i2c/uart協(xié)議發(fā)送固件至配件之后,還包括:
[0020]步驟A、移動終端發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址;
[0021]步驟B、移動終端發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù);
[0022]步驟C、移動終端接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù);
[0023]步驟D、移動終端將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對t匕,如果相同,則返回步驟B,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則執(zhí)行步驟E ;
[0024]步驟E、移動終端按照i2C/uart協(xié)議發(fā)送固件至配件。
[0025]另一方面,提供一種移動終端,所述移動終端包括CPU,其特征在于,所述移動終端還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接;
[0026]所述移動終端還包括:
[0027]固件存儲單元,用于存儲配件的固件至所述移動終端中;
[0028]所述CPU包括:
[0029]連接建立單元,用于與配件建立連接;
[0030]固件發(fā)送單元,用于通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者
[0031]通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。
[0032]進(jìn)一步地,所述CPU還包括:
[0033]升級指令接收單元,用于接收輸入的升級配件指令;
[0034]連接控制單元,用于根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接。
[0035]進(jìn)一步地,所述固件發(fā)送單元包括:
[0036]擦除指令發(fā)送模塊,用于發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù);
[0037]寫入請求發(fā)送模塊,用于發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址;
[0038]寫入地址發(fā)送模塊,用于發(fā)送寫入地址至配件,通知配件等待接收固件;
[0039]固件發(fā)送模塊,用于按照i2c/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中,重復(fù)調(diào)用寫入地址發(fā)送模塊,直至固件中的數(shù)據(jù)全部發(fā)送完畢,N為16或8。
[0040]進(jìn)一步地,所述CPU還包括:
[0041]讀取請求發(fā)送單元,用于發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址;
[0042]讀地址發(fā)送單元,用于發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù);
[0043]數(shù)據(jù)接收單元,用于接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù);
[0044]數(shù)據(jù)對比單元,用于將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對比,如果相同,則調(diào)用讀地址發(fā)送單元,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則調(diào)用固件發(fā)送單元,按照i2c/uart協(xié)議發(fā)送固件至配件。
[0045]又一方面,提供一種通過移動終端升級配件的系統(tǒng),包括配件,所述系統(tǒng)還包括如上所述的移動終端,所述移動終端插上OTG接口后,通過USB線與所述配件連接;或者
[0046]所述移動終端通過USB線與所述配件連接。
[0047]在本發(fā)明實(shí)施例,提前將配件的固件存儲在移動終端中,在需要對配件進(jìn)行升級時,通過USB線或者OTG接頭和USB線將移動終端和配件連接起來,同時使與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D -與所述CPU的i2c/uart連接后,移動終端即可按照i2c/uart協(xié)議通過移動終端和配件之間的連線,發(fā)送固件中的數(shù)據(jù)至配件,完成配件的固件升級。配件出廠后,若遇上嚴(yán)重bug或者后續(xù)需要添加新功能時,可以通過移動終端升級固件,不需要將配件返回廠家,用戶在當(dāng)?shù)丶茨懿僮?,而且簡單便攜。
【專利附圖】
【附圖說明】
[0048]圖1是本發(fā)明實(shí)施例一提供的配件的升級方法的實(shí)現(xiàn)流程圖;
[0049]圖2是本發(fā)明實(shí)施例一提供的移動終端和配件之間的第一種連接方式示意圖;
[0050]圖3是本發(fā)明實(shí)施例一提供的轉(zhuǎn)換開關(guān)的接口示意圖;
[0051]圖4是本發(fā)明實(shí)施例一提供的配件升級的具體流程圖;
[0052]圖5是本發(fā)明實(shí)施例二提供的配件的升級方法的實(shí)現(xiàn)流程圖;
[0053]圖6是本發(fā)明實(shí)施例三提供的移動終端的結(jié)構(gòu)框圖;
[0054]圖7是本發(fā)明實(shí)施例三提供的優(yōu)選實(shí)施中,具有升級校驗(yàn)功能的CPU的結(jié)構(gòu)框圖。
【具體實(shí)施方式】
[0055]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0056]在本發(fā)明實(shí)施例中,存儲配件的固件至移動終端中,移動終端與配件建立連接后,通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者通過USB線的D+/D-按照i2C/uart協(xié)議發(fā)送固件至配件,完成配件的固件升級。
[0057]以下結(jié)合具體實(shí)施例對本發(fā)明的實(shí)現(xiàn)進(jìn)行詳細(xì)描述:
[0058]實(shí)施例一
[0059]圖1示出了本發(fā)明實(shí)施例一提供的配件的升級方法的實(shí)現(xiàn)流程,詳述如下:
[0060]在步驟SlOl中,存儲配件的固件至移動終端中。
[0061]配件通常是通過微控制單元(Micro Controller Unit, MCU)來實(shí)現(xiàn)的,MCU的內(nèi)存一般較小(一般只有2k byte或4k byte),因此,大部分配件沒有無線保真WIFI功能,且沒有完善的文件系統(tǒng),所以,配件不能像移動終端一樣通過WIFI下載固件至本地完成升級工作,也不能像存儲卡一樣,可以實(shí)現(xiàn)固件的隨意拷貝。
[0062]鑒于配件的上述自身?xiàng)l件限制,在本發(fā)明實(shí)施例中,先將配件的固件存儲至移動終端的存儲卡中,然后將移動終端與配件通過USB線或者通過OTG轉(zhuǎn)接頭和USB線連接,由移動終端逐次發(fā)送固件中的數(shù)據(jù)至配件中,完成配件的升級。
[0063]其中,本發(fā)明實(shí)施例中提到的存儲卡可以包括SD卡、miniSD卡、TF卡、MS卡等。
[0064]本發(fā)明實(shí)施例中提到的移動終端包括但不限于手機(jī)、平板電腦、手提電腦、音樂播放器(比如MP3)等具有USB接口的電子設(shè)備。
[0065]在步驟S102中,移動終端與配件建立連接。
[0066]在本發(fā)明實(shí)施例中,移動終端和配件之間可以通過兩種方式建立連接,一種連接方式如圖2所示。
[0067]具體的,在圖2中,左邊示意的終端為移動終端,與移動終端連接的白色的先是OTG轉(zhuǎn)接頭,與OTG轉(zhuǎn)接頭連接的是USB線,與USB線連接的最右邊的終端是配件。
[0068]另一種連接方式是:移動終端直接和配件通過USB線連接。這種情況下,配件是適配器或者移動電源。
[0069]在步驟S103中,移動終端通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件,或者移動終端通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。
[0070]在本發(fā)明實(shí)施例中,移動終端中包括一個轉(zhuǎn)換開關(guān),該轉(zhuǎn)換開關(guān)布置在移動終端的USB通信線路上,與移動終端的CPU連接,通過所述轉(zhuǎn)換開關(guān),與移動終端連接的OTG轉(zhuǎn)接頭或者與移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接。
[0071 ] 具體的,該轉(zhuǎn)換開關(guān)的接口如圖3所示,包括9個引腳,2個D+、2個D-、I個VDD、I個 GND、I 個 CTRL、一個 SCL/UARTTX、I 個 SDA/UARTRX。
[0072]其中,VCC/GND是電源和地,圖中左邊的D+/D-可以與OTG轉(zhuǎn)接頭或者USB線連接,右邊的D+/D-與CPU的D+/D-觸點(diǎn)連接,右邊的SCL/UARTTX和SDA/UARTRX分別與CPU的一組i2c/uart觸點(diǎn)連接,CTRL也與CPU連接,用于在CPU的控制下,將圖中左邊的D+/D-與圖中右邊的SCL/UARTTX和SDA/UARTRX連接。
[0073]CTRL為控制信號,CTRL = I時,圖中左邊的D+/D-連接到圖中右邊的D+/D- ;CTRL=O時,圖中左邊的D+/D-連接到右邊的SCL/UARTTX和SDA/UARTRX。這樣實(shí)現(xiàn)了在不同的需求下,左邊的D+/D-與不同的觸點(diǎn)連接實(shí)現(xiàn)不同的功能。比如,圖中左邊的D+/D-連接到右邊的SCL/UARTTX和SDA/UARTRX,可以通過i2c/uart協(xié)議給配件升級固件;圖中左邊的D+/D-連接到右邊的D+/D-時,圖中左邊的D+/D-連接到CPU的USB功能,不能對配件進(jìn)行升級。
[0074]所以,在要對配件升級之前,移動終端還需要之前下述步驟:
[0075]步驟1、接收輸入的升級配件指令。
[0076]具體的,移動終端的界面上有一個“給配件升級固件”的圖標(biāo),用戶點(diǎn)擊該圖標(biāo)后,CPU即可接收到一個升級配件指令。
[0077]步驟2、移動終端根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU 的 i2c/uart 連接。
[0078]具體的,CPU接收到升級配件的指令后,即可通過控制信號CTRL = O控制轉(zhuǎn)換開關(guān),使圖3中左邊的D+/D-連接到右邊的SCL/UARTTX和SDA/UARTRX。
[0079]另外,在對配件升級之前,還要先使配件進(jìn)入固件升級模式。其中,配件可以通過特定的方式,比如瞬間短路、按下預(yù)定的某幾個組合按鍵等方式進(jìn)入固件升級模式。
[0080]在使配件進(jìn)行固件升級模式后,移動終端與配件建立連接,并且移動終端接收到用戶輸入的給配件升級固件的指令后,即可通過下述的步驟完成配件的升級,具體步驟如圖4所示,包括:
[0081]步驟1、移動終端發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù)。
[0082]具體的,移動終端發(fā)送ERASE命令至配件,通知配件擦除ROM空間的數(shù)據(jù)。配件接收到ERASE命令后,將其ROM空間的數(shù)據(jù)全部擦除。
[0083]步驟2、移動終端發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址。
[0084]具體的,移動終端發(fā)送WRITE_CMD命令至配件,通知配件等待接收寫入地址。配件接收到WRITE_CMD命令,等待寫入地址的到來。
[0085]步驟3、移動終端發(fā)送寫入地址至配件,通知配件等待接收固件。
[0086]具體的,移動終端發(fā)送WRITE_ADDR至配件,通知配件等待接收移動終端發(fā)送的固件。配件接收到WRITE_ADDR后,等待固件中的數(shù)據(jù)的到來。
[0087]步驟4、移動終端按照i2C/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中。
[0088]具體的,移動終端按照i2c/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,配件將這N個字節(jié)的數(shù)據(jù)存入ROM空間,具體存入的地址為ROM空間的(WRITE_ADDR?WRITE_ADDR+N-1)。
[0089]步驟5、返回步驟3,直至固件中的數(shù)據(jù)全部發(fā)送完畢。
[0090]具體的,移動終端每次發(fā)送的寫入地址是上一次的寫入地址+N。比如,第一次發(fā)送的寫入地址為WRITE_ADDR,第二次發(fā)送的寫入地址為WRITE_ADDR+N。其中,N為16或8,這與i2c/uart協(xié)議有關(guān),是現(xiàn)有技術(shù),在此不再贅述。
[0091]本實(shí)施例,提前將配件的固件存儲在移動終端中,在需要對配件進(jìn)行升級時,通過USB線或者OTG接頭和USB線將移動終端和配件連接起來,同時使與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接后,移動終端即可按照i2c/uart協(xié)議通過移動終端和配件之間的連線,發(fā)送固件中的數(shù)據(jù)至配件,完成配件的固件升級。配件出廠后,若遇上嚴(yán)重bug或者后續(xù)需要添加新功能時,可以通過移動終端升級固件,不需要將配件返回廠家,用戶在當(dāng)?shù)丶茨懿僮?,而且簡單便攜。
[0092]本領(lǐng)域普通技術(shù)人員可以理解實(shí)現(xiàn)上述各實(shí)施例方法中的全部或部分步驟是可以通過程序來指令相關(guān)的硬件來完成,相應(yīng)的程序可以存儲于一計(jì)算機(jī)可讀取存儲介質(zhì)中,所述的存儲介質(zhì),如R0M/RAM、磁盤或光盤等。
[0093]實(shí)施例二
[0094]圖5示出了本發(fā)明實(shí)施例二提供的配件的升級方法的實(shí)現(xiàn)流程,詳述如下:
[0095]本實(shí)施例二是在實(shí)施例一的基礎(chǔ)上進(jìn)行的,為了保證實(shí)施例一中移動終端發(fā)送的固件準(zhǔn)確無誤地?zé)涍M(jìn)了配件,需要對升級后的配件中的固件進(jìn)行校驗(yàn),若通過校驗(yàn),則不再進(jìn)行升級操作,如果沒有通過,則需要調(diào)用實(shí)施例一中的步驟S103,重新對配件進(jìn)行升級操作。具體的,校驗(yàn)的過程包括以下步驟:
[0096]在步驟S501中,移動終端發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址。
[0097]具體的,移動終端發(fā)送讀地址READ_CMD命令至配件,配件接收到READ_CMD命令后,等待接收移動終端發(fā)送的讀地址。
[0098]在步驟S502中,移動終端發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù)。
[0099]具體的,移動終端發(fā)送讀地址READ_ADDR至配件,配件接收到READ_ADDR后,讀取(READ_ADDR?READ_ADDR+N_1)地址上存儲的數(shù)據(jù),并返回讀取到的數(shù)據(jù)至移動終端。
[0100]在步驟S503中,移動終端接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù)。
[0101]具體的,配件按照i2c/uart協(xié)議,每次發(fā)送讀取到的N個字節(jié)的數(shù)據(jù)至移動終端。
[0102]在步驟S504中,移動終端將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對比,如果相同,則返回步驟S502,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則返回執(zhí)行實(shí)施例一中的步驟S103,按照i2c/uart協(xié)議發(fā)送固件至配件。
[0103]具體的,移動終端接收到配件發(fā)送的N個字節(jié)的數(shù)據(jù)后,將這N個字節(jié)的數(shù)據(jù)與本地存儲的固件中對應(yīng)的N個數(shù)據(jù)進(jìn)行對比,如果兩者內(nèi)容相同,則表示發(fā)送給配件的這N個數(shù)據(jù)正確,返回步驟S502,繼續(xù)對下一個N個數(shù)據(jù)進(jìn)行對比,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果中間發(fā)現(xiàn)有不相同的數(shù)據(jù),則表示配件升級失敗,則再次對配件進(jìn)行升級。
[0104]另外,優(yōu)選地,在配件升級正確無誤后,移動終端發(fā)送退出升級指令至配件,配件退出固件升級模式。具體的,移動終端發(fā)送JUMP_T0_APP指令給配件,配件接收到JUMP_T0_APP指令后,退出固件升級模式。
[0105]本實(shí)施例,通過移動終端完成對配件的升級后,對配件中的數(shù)據(jù)進(jìn)行校驗(yàn),如果校驗(yàn)失敗,則再次對配件進(jìn)行升級,保證了移動終端中的固件準(zhǔn)確無誤地?zé)涍M(jìn)配件中。
[0106]實(shí)施例三
[0107]圖6示出了本發(fā)明實(shí)施例三提供的移動終端的具體結(jié)構(gòu)框圖,為了便于說明,僅示出了與本發(fā)明實(shí)施例相關(guān)的部分。該移動終端6插上OTG接口后,通過USB線與配件連接,或者該移動終端6通過USB線與配件連接組成一個通過移動終端升級配件的系統(tǒng),移動終端發(fā)送存儲于本地的配件的固件至配件中,完成配件的升級,該移動終端6包括:CPU61、還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān)62,通過所述轉(zhuǎn)換開關(guān)62,與移動終端6連接的OTG轉(zhuǎn)接頭或者與移動終端6連接的USB線的D+/D-與所述CPU61的i2c/uart連接。
[0108]所述移動終端6還包括:
[0109]固件存儲單元63,用于存儲配件的固件至所述移動終端中;
[0110]所述CPU61包括:
[0111]連接建立單元611,用于與配件建立連接;
[0112]固件發(fā)送單元612,用于通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者,通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。
[0113]進(jìn)一步地,所述CPU61還包括:
[0114]升級指令接收單元,用于接收輸入的升級配件指令;
[0115]連接控制單元,用于根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接。
[0116]具體的,所述固件發(fā)送單元612包括:
[0117]擦除指令發(fā)送模塊,用于發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù);
[0118]寫入請求發(fā)送模塊,用于發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址;
[0119]寫入地址發(fā)送模塊,用于發(fā)送寫入地址至配件,通知配件等待接收固件;
[0120]固件發(fā)送模塊,用于按照i2c/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中,重復(fù)調(diào)用寫入地址發(fā)送模塊,直至固件中的數(shù)據(jù)全部發(fā)送完畢。
[0121]優(yōu)選地,為了保證移動終端發(fā)送的固件準(zhǔn)確無誤地?zé)涍M(jìn)了配件,該移動終端6的CPU61還包括讀取請求發(fā)送單元711、讀地址發(fā)送單元712、數(shù)據(jù)接收單元713和數(shù)據(jù)對比單元714,如圖7所示。
[0122]其中,讀取請求發(fā)送單元711,用于發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址;
[0123]讀地址發(fā)送單元712,用于發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù);
[0124]數(shù)據(jù)接收單元713,用于接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù);
[0125]數(shù)據(jù)對比單元714,用于將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對比,如果相同,則調(diào)用讀地址發(fā)送單元712,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則調(diào)用固件發(fā)送單元612,按照i2c/uart協(xié)議發(fā)送固件至配件。
[0126]本發(fā)明實(shí)施例提供的移動終端可以應(yīng)用在前述對應(yīng)的方法實(shí)施例一和實(shí)施例二中,詳情參見上述實(shí)施例一和實(shí)施例二的描述,在此不再贅述。
[0127]值得注意的是,上述移動終端實(shí)施例中,所包括的各個單元只是按照功能邏輯進(jìn)行劃分的,但并不局限于上述的劃分,只要能夠?qū)崿F(xiàn)相應(yīng)的功能即可;另外,各功能單元的具體名稱也只是為了便于相互區(qū)分,并不用于限制本發(fā)明的保護(hù)范圍。
[0128]以上所述僅為本發(fā)明的較佳實(shí)施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
【權(quán)利要求】
1.一種通過移動終端升級配件的方法,所述移動終端包括CPU,其特征在于,所述移動終端還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接,所述方法包括: 存儲配件的固件至移動終端中; 移動終端與配件建立連接; 移動終端通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者 移動終端通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。
2.如權(quán)利要求1所述的方法,其特征在于,在移動終端按照i2c/uart協(xié)議發(fā)送固件至配件之前,還包括: 移動終端接收輸入的升級配件指令; 移動終端根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接。
3.如權(quán)利要求1所述的方法,其特征在于,移動終端按照i2c/uart協(xié)議發(fā)送固件至配件包括: 步驟A、移動終端發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù); 步驟B、移動終端發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址; 步驟C、移動終端發(fā)送寫入地址至配件,通知配件等待接收固件; 步驟D、移動終端按照i2C/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中,N為16或8 ; 步驟E、返回步驟C,直至固件中的數(shù)據(jù)全部發(fā)送完畢。
4.如權(quán)利要求1、2或3所述的方法,其特征在于,在移動終端按照i2c/uart協(xié)議發(fā)送固件至配件之后,還包括: 步驟A、移動終端發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址; 步驟B、移動終端發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù); 步驟C、移動終端接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù); 步驟D、移動終端將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對比,如果相同,則返回步驟B,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則執(zhí)行步驟E ; 步驟E、移動終端按照i2c/uart協(xié)議發(fā)送固件至配件。
5.一種移動終端,其特征在于,所述移動終端包括CPU,其特征在于,所述移動終端還包括一個與所述CPU連接的轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU的i2c/uart連接; 所述移動終端還包括: 固件存儲單元,用于存儲配件的固件至所述移動終端中; 所述CPU包括: 連接建立單元,用于與配件建立連接; 固件發(fā)送單元,用于通過OTG轉(zhuǎn)接頭以及與所述OTG轉(zhuǎn)接頭連接的USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件;或者 通過USB線的D+/D-按照i2c/uart協(xié)議發(fā)送固件至配件。
6.如權(quán)利要求5所述的移動終端,其特征在于,所述CPU還包括: 升級指令接收單元,用于接收輸入的升級配件指令; 連接控制單元,用于根據(jù)所述升級配件指令控制所述轉(zhuǎn)換開關(guān),通過所述轉(zhuǎn)換開關(guān),控制與所述移動終端連接的OTG轉(zhuǎn)接頭或者與所述移動終端連接的USB線的D+/D-與所述CPU 的 i2c/uart 連接。
7.如權(quán)利要求5所述的移動終端,其特征在于,所述固件發(fā)送單元包括: 擦除指令發(fā)送模塊,用于發(fā)送擦除命令至配件,通知配件擦除ROM空間的數(shù)據(jù); 寫入請求發(fā)送模塊,用于發(fā)送固件寫入請求命令至配件,通知配件等待接收寫入地址; 寫入地址發(fā)送模塊,用于發(fā)送寫入地址至配件,通知配件等待接收固件; 固件發(fā)送模塊,用于按照i2C/uart協(xié)議發(fā)送固件中的N個字節(jié)的數(shù)據(jù)至配件,以由配件將所述N個字節(jié)的數(shù)據(jù)存入ROM空間的相應(yīng)地址中,重復(fù)調(diào)用寫入地址發(fā)送模塊,直至固件中的數(shù)據(jù)全部發(fā)送完畢,N為16或8。
8.如權(quán)利要求5、6或7所述的移動終端,其特征在于,所述CPU還包括: 讀取請求發(fā)送單元,用于發(fā)送固件讀取請求命令至配件,通知配件等待接收讀地址;讀地址發(fā)送單元,用于發(fā)送讀地址至配件,通知配件從所述讀地址開始讀取N個字節(jié)的數(shù)據(jù); 數(shù)據(jù)接收單元,用于接收配件按照i2c/uart協(xié)議發(fā)送的所述N個字節(jié)的數(shù)據(jù); 數(shù)據(jù)對比單元,用于將所述N個字節(jié)的數(shù)據(jù)與固件中對應(yīng)的N個字節(jié)的數(shù)據(jù)進(jìn)行對比,如果相同,則調(diào)用讀地址發(fā)送單元,直至固件中的所有數(shù)據(jù)校驗(yàn)完畢,如果不相同,則調(diào)用固件發(fā)送單元,按照i2c/uart協(xié)議發(fā)送固件至配件。
9.一種通過移動終端升級配件的系統(tǒng),包括配件,其特征在于,所述系統(tǒng)還包括如權(quán)利要求5至8任一項(xiàng)所述的移動終端,所述移動終端插上OTG接口后,通過USB線與所述配件連接;或者 所述移動終端通過USB線與所述配件連接。
【文檔編號】G06F9/445GK104239097SQ201410445897
【公開日】2014年12月24日 申請日期:2014年9月3日 優(yōu)先權(quán)日:2014年9月3日
【發(fā)明者】廖福椿 申請人:廣東歐珀移動通信有限公司