單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置制造方法
【專利摘要】本發(fā)明涉及一種單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置。在線升級(jí)方法包括:步驟一:在單片機(jī)的RAM存儲(chǔ)器中寫入升級(jí)程序;步驟二:運(yùn)行升級(jí)程序,得到升級(jí)后的用戶程序;步驟三:將升級(jí)后的用戶程序?qū)懙絾纹瑱C(jī)的flash存儲(chǔ)器中。采用本發(fā)明的單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置,可充分利用單片機(jī)內(nèi)的flash存儲(chǔ)器,避免存儲(chǔ)空間的浪費(fèi)。
【專利說明】單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及一種單片機(jī)在線升級(jí)技術(shù),特別是一種單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置。
【背景技術(shù)】
[0002]單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器(CPU)、隨機(jī)存儲(chǔ)器(RAM)、只讀存儲(chǔ)器(ROM)、多種I/O 口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能(可能還包括顯示驅(qū)動(dòng)電路、脈寬調(diào)制電路、模擬多路轉(zhuǎn)換器、A/D轉(zhuǎn)換器等電路)集成到一塊硅片上構(gòu)成的一個(gè)小而完善的微型計(jì)算機(jī)系統(tǒng),在工業(yè)控制領(lǐng)域的廣泛應(yīng)用。
[0003]單片機(jī)程序一般在出廠前進(jìn)行程序燒寫,程序到了用戶手中不能再次更改。為了解決該問題,中國專利申請03154290.5提出了一種單片機(jī)在線升級(jí)方法和裝置,其把單片機(jī)flash程序分成兩部分A程序和B程序,然后用A程序來升級(jí)B部分程序。其中A為升級(jí)程序,固化在flash中,不變。B為用戶程序,由A來升級(jí)及寫入,可變。然而,該技術(shù)方案的缺點(diǎn)是:
[0004]第一,A部分是固定不變的,如果A有問題,不能進(jìn)行A程序的升級(jí);
[0005]第二,A部分占用了單片機(jī)的固定一部分空間,對于單片機(jī)這種資源比較有限的MCU來說是一種極大的浪費(fèi)。
【發(fā)明內(nèi)容】
[0006]在下文中給出關(guān)于本發(fā)明的簡要概述,以便提供關(guān)于本發(fā)明的某些方面的基本理解。應(yīng)當(dāng)理解,這個(gè)概述并不是關(guān)于本發(fā)明的窮舉性概述。它并不是意圖確定本發(fā)明的關(guān)鍵或重要部分,也不是意圖限定本發(fā)明的范圍。其目的僅僅是以簡化的形式給出某些概念,以此作為稍后論述的更詳細(xì)描述的前序。
[0007]本發(fā)明的一個(gè)主要目的在于提供一種單片機(jī)及其在線升級(jí)方法在線升級(jí)裝置,其可充分利用單片機(jī)內(nèi)的flash存儲(chǔ)器,避免存儲(chǔ)空間的浪費(fèi)。
[0008]根據(jù)本發(fā)明的一方面,一種單片機(jī)的在線升級(jí)方法,包括:
[0009]步驟一:在單片機(jī)的RAM存儲(chǔ)器中寫入升級(jí)程序;
[0010]步驟二:運(yùn)行所述升級(jí)程序,得到升級(jí)后的用戶程序;
[0011]步驟三:將所述升級(jí)后的用戶程序?qū)懙剿鰡纹瑱C(jī)的flash存儲(chǔ)器中。
[0012]根據(jù)本發(fā)明的另一方面,一種單片機(jī)在線升級(jí)裝置,包括RAM存儲(chǔ)器和flash存儲(chǔ)器,還包括:
[0013]升級(jí)程序部,用于在單片機(jī)的所述RAM存儲(chǔ)器中寫入升級(jí)程序;
[0014]用戶程序部,用于運(yùn)行所述升級(jí)程序,得到升級(jí)后的用戶程序;
[0015]用戶程序存儲(chǔ)部,用于將所述升級(jí)后的用戶程序存儲(chǔ)到單片機(jī)的所述flash存儲(chǔ)器中。[0016]根據(jù)本發(fā)明的第三方面,一種單片機(jī),包括單片機(jī)在線升級(jí)裝置。
[0017]采用本發(fā)明的單片機(jī)及其在線升級(jí)方法和在線升級(jí)裝置,可充分利用單片機(jī)內(nèi)的flash存儲(chǔ)器,避免存儲(chǔ)空間的浪費(fèi)。
【專利附圖】
【附圖說明】
[0018]參照下面結(jié)合附圖對本發(fā)明實(shí)施例的說明,會(huì)更加容易地理解本發(fā)明的以上和其它目的、特點(diǎn)和優(yōu)點(diǎn)。附圖中的部件只是為了示出本發(fā)明的原理。在附圖中,相同的或類似的技術(shù)特征或部件將采用相同或類似的附圖標(biāo)記來表示。
[0019]圖1為本發(fā)明的單片機(jī)的在線升級(jí)方法的一種實(shí)施方式的流程圖;
[0020]圖2為本發(fā)明的單片機(jī)的在線升級(jí)裝置的一種實(shí)施方式的結(jié)構(gòu)圖;
[0021]圖3為本發(fā)明的單片機(jī)的一種實(shí)施方式的結(jié)構(gòu)圖。
【具體實(shí)施方式】
[0022]下面參照附圖來說明本發(fā)明的實(shí)施例。在本發(fā)明的一個(gè)附圖或一種實(shí)施方式中描述的元素和特征可以與一個(gè)或更多個(gè)其它附圖或?qū)嵤┓绞街惺境龅脑睾吞卣飨嘟Y(jié)合。應(yīng)當(dāng)注意,為了清楚的目的,附圖和說明中省略了與本發(fā)明無關(guān)的、本領(lǐng)域普通技術(shù)人員已知的部件和處理的表示和描述。
[0023]參見圖1所示,為本發(fā)明的單片機(jī)的在先升級(jí)方法的一種實(shí)施方式的流程圖。
[0024]在該實(shí)施方式中,單片機(jī)的在線升級(jí)方法,包括:
[0025]SlO:在單片機(jī)的RAM存儲(chǔ)器中寫入升級(jí)程序;
[0026]S20:運(yùn)行升級(jí)程序,得到升級(jí)后的用戶程序;
[0027]S30:將升級(jí)后的用戶程序?qū)懙絾纹瑱C(jī)的flash存儲(chǔ)器中。
[0028]例如,升級(jí)程序可以存儲(chǔ)在升級(jí)主機(jī)中,升級(jí)主機(jī)可以通過串行總線,如uart,i2c等連接至單片機(jī),使得單片機(jī)能夠獲取升級(jí)主機(jī)中存儲(chǔ)的升級(jí)程序。
[0029]通過將升級(jí)程序?qū)懭雴纹瑱C(jī)的RAM存儲(chǔ)器而不寫入單片機(jī)的flash存儲(chǔ)器中,可以將整個(gè)flash存儲(chǔ)器用于存儲(chǔ)用戶程序,從而可以更充分的利用單片機(jī)的flash存儲(chǔ)器。
[0030]作為一種優(yōu)選方案,步驟S30還可以包括:
[0031]在將升級(jí)后的用戶程序?qū)懙絾纹瑱C(jī)的flash存儲(chǔ)器中之前,擦除存儲(chǔ)在單片機(jī)的flash存儲(chǔ)器中的升級(jí)前的用戶程序。
[0032]作為一種優(yōu)選方案,在步驟一之前,可由存儲(chǔ)在單片機(jī)的flash存儲(chǔ)器中的升級(jí)前的用戶程序驗(yàn)證升級(jí)程序的合法性。
[0033]例如,用戶程序可以包括升級(jí)部分(即用于獲取升級(jí)程序的部分)和非升級(jí)部分(即用戶正常使用時(shí)的使用部分)。升級(jí)前的用戶程序中的升級(jí)部分可以包含驗(yàn)證碼,如果存儲(chǔ)有升級(jí)程序的升級(jí)主機(jī)的驗(yàn)證碼與升級(jí)前的用戶程序的升級(jí)部分中的驗(yàn)證碼相匹配,則證明該升級(jí)主機(jī)是合法的,進(jìn)而可證明該升級(jí)程序是合法的、可執(zhí)行的。參見圖2所示,為本發(fā)明的單片機(jī)在線升級(jí)裝置的一種實(shí)施方式的結(jié)構(gòu)圖。
[0034]本實(shí)施方式的一種單片機(jī)在線升級(jí)裝置10,包括RAM存儲(chǔ)器11和flash存儲(chǔ)器12,還包括升級(jí)程序部13,用于在單片機(jī)的所述RAM存儲(chǔ)器中寫入升級(jí)程序。用戶程序部14,用于運(yùn)行升級(jí)程序,得到升級(jí)后的用戶程序。用戶程序存儲(chǔ)部15,用于將升級(jí)后的用戶程序存儲(chǔ)到單片機(jī)的flash存儲(chǔ)器12中。
[0035]作為一種優(yōu)選方案,用戶程序存儲(chǔ)部15還可用于在將升級(jí)后的用戶程序?qū)懙絾纹瑱C(jī)的flash存儲(chǔ)器12中之前,擦除存儲(chǔ)在單片機(jī)的flash存儲(chǔ)器12中的升級(jí)前的用戶程序。
[0036]作為一種優(yōu)選方案,單片機(jī)在線升級(jí)裝置10還可以包括升級(jí)程序驗(yàn)證部(圖中未示出),用于在升級(jí)程序部13在單片機(jī)的RAM存儲(chǔ)器11中寫入升級(jí)程序之前,根據(jù)存儲(chǔ)在flash存儲(chǔ)器12中的升級(jí)前的用戶程序驗(yàn)證升級(jí)程序的合法性。
[0037]例如,用戶程序可以包括升級(jí)部分(即用于獲取升級(jí)程序的部分)和非升級(jí)部分(即用戶正常使用時(shí)的使用部分)。升級(jí)前的用戶程序中的升級(jí)部分可以包含驗(yàn)證碼,如果存儲(chǔ)有升級(jí)程序的升級(jí)主機(jī)的驗(yàn)證碼與升級(jí)前的用戶程序的升級(jí)部分中的驗(yàn)證碼相匹配,則證明該升級(jí)主機(jī)是合法的,進(jìn)而可證明該升級(jí)程序是合法的、可執(zhí)行的。
[0038]如圖3所示,為本發(fā)明的單片機(jī)I的一種實(shí)施方式的結(jié)構(gòu)圖。本實(shí)施方式的單片機(jī)包括了單片機(jī)在線升級(jí)裝置10。
[0039]采用本發(fā)明的單片機(jī)及其的在線升級(jí)方法和在線升級(jí)裝置,可充分利用單片機(jī)內(nèi)的flash存儲(chǔ)器,避免存儲(chǔ)空間的浪費(fèi)。
[0040]上面對本發(fā)明的一些實(shí)施方式進(jìn)行了詳細(xì)的描述。如本領(lǐng)域的普通技術(shù)人員所能理解的,本發(fā)明的方法和裝置的全部或者任何步驟或者部件,可以在任何計(jì)算設(shè)備(包括處理器、存儲(chǔ)介質(zhì)等)或者計(jì)算設(shè)備的網(wǎng)絡(luò)中,以硬件、固件、軟件或者它們的組合加以實(shí)現(xiàn),這是本領(lǐng)域普通技術(shù)人員在了解本發(fā)明的內(nèi)容的情況下運(yùn)用他們的基本編程技能就能實(shí)現(xiàn)的,因此不需在此具體說明。
[0041]此外,顯而易見的是,在上面的說明中涉及到可能的外部操作的時(shí)候,無疑要使用與任何計(jì)算設(shè)備相連的任何顯示設(shè)備和任何輸入設(shè)備、相應(yīng)的接口和控制程序??偠灾?,計(jì)算機(jī)、計(jì)算機(jī)系統(tǒng)或者計(jì)算機(jī)網(wǎng)絡(luò)中的相關(guān)硬件、軟件和實(shí)現(xiàn)本發(fā)明的前述方法中的各種操作的硬件、固件、軟件或者它們的組合,即構(gòu)成本發(fā)明的設(shè)備及其各組成部件。
[0042]因此,基于上述理解,本發(fā)明的目的還可以通過在任何信息處理設(shè)備上運(yùn)行一個(gè)程序或者一組程序來實(shí)現(xiàn)。所述信息處理設(shè)備可以是公知的通用設(shè)備。因此,本發(fā)明的目的也可以僅僅通過提供包含實(shí)現(xiàn)所述方法或者設(shè)備的程序代碼的程序產(chǎn)品來實(shí)現(xiàn)。也就是說,這樣的程序產(chǎn)品也構(gòu)成本發(fā)明,并且存儲(chǔ)或者傳輸這樣的程序產(chǎn)品的介質(zhì)也構(gòu)成本發(fā)明。顯然,所述存儲(chǔ)或者傳輸介質(zhì)可以是本領(lǐng)域技術(shù)人員已知的,或者將來所開發(fā)出來的任何類型的存儲(chǔ)或者傳輸介質(zhì),因此也沒有必要在此對各種存儲(chǔ)或者傳輸介質(zhì)一一列舉。
[0043]在本發(fā)明的設(shè)備和方法中,顯然,各部件或各步驟是可以分解、組合和/或分解后重新組合的。這些分解和/或重新組合應(yīng)視為本發(fā)明的等效方案。還需要指出的是,執(zhí)行上述系列處理的步驟可以自然地按照說明的順序按時(shí)間順序執(zhí)行,但是并不需要一定按照時(shí)間順序執(zhí)行。某些步驟可以并行或彼此獨(dú)立地執(zhí)行。同時(shí),在上面對本發(fā)明具體實(shí)施例的描述中,針對一種實(shí)施方式描述和/或示出的特征可以以相同或類似的方式在一個(gè)或更多個(gè)其它實(shí)施方式中使用,與其它實(shí)施方式中的特征相組合,或替代其它實(shí)施方式中的特征。
[0044]應(yīng)該強(qiáng)調(diào),術(shù)語“包括/包含”在本文使用時(shí)指特征、要素、步驟或組件的存在,但并不排除一個(gè)或更多個(gè)其它特征、要素、步驟或組件的存在或附加。
[0045]雖然已經(jīng)詳細(xì)說明了本發(fā)明及其優(yōu)點(diǎn),但是應(yīng)當(dāng)理解在不超出由所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下可以進(jìn)行各種改變、替代和變換。而且,本申請的范圍不僅限于說明書所描述的過程、設(shè)備、手段、方法和步驟的具體實(shí)施例。本領(lǐng)域內(nèi)的普通技術(shù)人員從本發(fā)明的公開內(nèi)容將容易理解,根據(jù)本發(fā)明可以使用執(zhí)行與在此所述的相應(yīng)實(shí)施例基本相同的功能或者獲得與其基本相同的結(jié)果的、現(xiàn)有和將來要被開發(fā)的過程、設(shè)備、手段、方法或者步驟。因此,所附的權(quán)利要求旨在在它們的范圍內(nèi)包括這樣的過程、設(shè)備、手段、方法或者步驟。
【權(quán)利要求】
1.一種單片機(jī)的在線升級(jí)方法,其特征在于,包括: 步驟一:在單片機(jī)的RAM存儲(chǔ)器中寫入升級(jí)程序; 步驟二:運(yùn)行所述升級(jí)程序,得到升級(jí)后的用戶程序; 步驟三:將所述升級(jí)后的用戶程序?qū)懙剿鰡纹瑱C(jī)的flash存儲(chǔ)器中。
2.根據(jù)權(quán)利要求1所述的單片機(jī)在線升級(jí)方法,其特征在于,所述步驟三還包括: 在將所述升級(jí)后的用戶程序?qū)懙剿鰡纹瑱C(jī)的flash存儲(chǔ)器中之前,擦除存儲(chǔ)在所述單片機(jī)的flash存儲(chǔ)器中的升級(jí)前的用戶程序。
3.根據(jù)權(quán)利要求2所述的單片機(jī)在線升級(jí)方法,其特征在于,還包括: 在步驟一之前,由存儲(chǔ)在所述單片機(jī)的flash存儲(chǔ)器中的所述升級(jí)前的用戶程序驗(yàn)證所述升級(jí)程序的合法性。
4.一種單片機(jī)在線升級(jí)裝置,包括RAM存儲(chǔ)器和flash存儲(chǔ)器,其特征在于,還包括: 升級(jí)程序部,用于在單片機(jī)的所述RAM存儲(chǔ)器中寫入升級(jí)程序; 用戶程序部,用于運(yùn)行所述升級(jí)程序,得到升級(jí)后的用戶程序; 用戶程序存儲(chǔ)部,用于將所述升級(jí)后的用戶程序存儲(chǔ)到單片機(jī)的所述flash存儲(chǔ)器中。
5.根據(jù)權(quán)利要求4所述的單片機(jī)在線升級(jí)裝置,其特征在于: 所述用戶程序存儲(chǔ)部還用于在將所述升級(jí)后的用戶程序?qū)懙絾纹瑱C(jī)的所述flash存儲(chǔ)器中之前,擦除存儲(chǔ)在單片機(jī)的所述flash存儲(chǔ)器中的升級(jí)前的用戶程序。
6.根據(jù)權(quán)利要求5所述的單片機(jī)在線升級(jí)裝置,其特征在于,還包括升級(jí)程序驗(yàn)證部; 所述升級(jí)程序驗(yàn)證部用于在所述升級(jí)程序部在單片機(jī)的所述RAM存儲(chǔ)器中寫入升級(jí)程序之前,根據(jù)存儲(chǔ)在所述flash存儲(chǔ)器中的所述升級(jí)前的用戶程序驗(yàn)證所述升級(jí)程序的合法性。
7.一種單片機(jī),其特征在于,包括如權(quán)利要求4-6任意一項(xiàng)所述的單片機(jī)在線升級(jí)裝置。
【文檔編號(hào)】G06F9/445GK103809995SQ201210461903
【公開日】2014年5月21日 申請日期:2012年11月15日 優(yōu)先權(quán)日:2012年11月15日
【發(fā)明者】徐志方 申請人:海爾集團(tuán)公司, 青島海爾智能家電科技有限公司