本發(fā)明涉及軟件技術(shù)領(lǐng)域,尤其涉及一種程序燒錄方法及裝置。
背景技術(shù):
在電視,手機(jī)等智能電子設(shè)備批量生產(chǎn)過程中,通常會(huì)對(duì)SOC(芯片)與MCU(微型處理器)進(jìn)行空片升級(jí),所述空片升級(jí)即是將預(yù)設(shè)程序燒錄至未保存有程序的SOC或者M(jìn)CU中,由于存在多個(gè)MCU,而SOC與MCU或者不同MCU進(jìn)行程序燒錄時(shí)對(duì)燒錄器要求可不同,因而現(xiàn)有程序燒錄過程中,需使用不同燒錄器對(duì)所述SOC、MCU分別進(jìn)行燒錄程序,造成程序燒錄過程與流程復(fù)雜,燒錄過程費(fèi)時(shí)費(fèi)力,生產(chǎn)效率低。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明的主要目的在于提供一種程序燒錄方法及裝置,旨在解決現(xiàn)有技術(shù)中需使用不同燒錄器對(duì)所述SOC、MCU分別進(jìn)行燒錄程序,造成程序燒錄過程與流程復(fù)雜,燒錄過程費(fèi)時(shí)費(fèi)力,生產(chǎn)效率低的技術(shù)問題。
為實(shí)現(xiàn)上述目的,本發(fā)明提供一種程序燒錄方法,所述程序燒錄方法應(yīng)用于終端主板,所述終端主板包括芯片,芯片中設(shè)置多個(gè)微型處理器,所述程序燒錄方法包括以下步驟:
當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)該程序數(shù)據(jù)編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);
將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;
當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。
優(yōu)選地,所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),其特征在于,所述將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中步驟包括:
對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);
將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。
優(yōu)選地,所述運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器驟包括:
運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);
在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;
在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
優(yōu)選地,所述運(yùn)行所述存儲(chǔ)器中所述編譯處理后的程序,以將所述程序?qū)?yīng)的各程序數(shù)據(jù)分別燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器步驟之后包括:
監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
優(yōu)選地,所述監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)步驟之后包括:
若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
此外,為實(shí)現(xiàn)上述目的,本發(fā)明還提供一種程序燒錄裝置,所述程序燒錄方法應(yīng)用于終端主板,所述終端主板包括芯片,芯片中設(shè)置多個(gè)微型處理器,所述程序燒錄裝置包括:
第一獲取模塊,用于當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)該程序數(shù)據(jù)編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);
抄寫模塊,用于將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;
運(yùn)行模塊,用于當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。
優(yōu)選地,所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),所述抄寫模塊包括:
分析單元,用于對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);
抄寫單元,用于將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。
優(yōu)選地,所述運(yùn)行模塊包括:
運(yùn)行單元,用于運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);
第一發(fā)送單元,用于在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;
第二發(fā)送單元,用于在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
優(yōu)選地,所述程序燒錄裝置還包括:
初始化模塊,用于監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
優(yōu)選地,所述程序燒錄裝置還包括:
更新模塊,用于若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
本發(fā)明通過當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。本發(fā)明由于將各MCU程序數(shù)據(jù)預(yù)先抄錄至SOC中,運(yùn)行后將SOC中存儲(chǔ)的程序數(shù)據(jù)通過串口對(duì)應(yīng)發(fā)送至相應(yīng)微型處理器(MCU)中,即是實(shí)現(xiàn)通過SOC升級(jí)MCU程序,如此只需一次燒錄即可對(duì)SOC與不同MCU進(jìn)行空片升級(jí),簡(jiǎn)化了燒錄程序流程、節(jié)省了燒錄時(shí)間,降低了成本,相應(yīng)提高了生產(chǎn)效率。
附圖說明
圖1為本發(fā)明程序燒錄方法第一實(shí)施例的流程示意圖;
圖2為本發(fā)明程序燒錄方法第二實(shí)施例中將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中步驟的細(xì)化流程示意圖;
圖3為本發(fā)明程序燒錄裝置第一實(shí)施例的功能模塊示意圖;
圖4為本發(fā)明程序燒錄裝置第二實(shí)施例中抄寫模塊的細(xì)化模塊示意圖;
圖5為本發(fā)明程序燒錄過程流程示意圖。
本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做持續(xù)說明。
具體實(shí)施方式
應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明提供一種程序燒錄方法,所述程序燒錄方法應(yīng)用于終端主板,所述終端主板包括芯片,芯片中設(shè)置多個(gè)微型處理器,在本發(fā)明程序燒錄方法的第一實(shí)施例中,參照?qǐng)D1,該程序燒錄方法包括:
步驟S10,當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);
本發(fā)明所述程序燒錄方法適應(yīng)于智能電視,手機(jī)等各種智能電子產(chǎn)品程序燒錄過程,述程序燒錄方法應(yīng)用于終端主板,所述終端主板包括芯片,芯片中設(shè)置多個(gè)微型處理器,在檢測(cè)到程序燒錄指令前,相應(yīng)芯片以及微型處理器可未存任意程序數(shù)據(jù),即是可對(duì)相應(yīng)芯片以及微型處理器進(jìn)行空片升級(jí),當(dāng)需要空片升級(jí)時(shí),用戶通過計(jì)算機(jī)或者應(yīng)用運(yùn)行燒錄器軟件,所述燒錄器軟件可從燒錄器中讀取相應(yīng)預(yù)存于燒錄器中的程序數(shù)據(jù)并燒錄至芯片中,當(dāng)存在多個(gè)芯片時(shí),在燒錄器軟件中也可人為或者自動(dòng)選取待燒錄芯片,當(dāng)檢測(cè)到程序燒錄指令時(shí),所述程序燒錄指令可是人為觸發(fā),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù),所述預(yù)存于燒錄器中的微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件數(shù)據(jù)與用戶數(shù)據(jù),所述系統(tǒng)軟件數(shù)據(jù)如安卓系統(tǒng),IOS系統(tǒng)等系統(tǒng)數(shù)據(jù),所述系統(tǒng)軟件數(shù)據(jù)一般不可變化,而用戶數(shù)據(jù)一般變化的,對(duì)程序數(shù)據(jù)進(jìn)行編譯處理即是將程序數(shù)據(jù)編譯成計(jì)算機(jī)能識(shí)別的計(jì)算機(jī)語(yǔ)言,如二進(jìn)制代碼等。
步驟S20,將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;
將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中,由于程序數(shù)據(jù)包括不同微型處理器對(duì)應(yīng)數(shù)據(jù),且包括同一微型處理器中的系統(tǒng)軟件數(shù)據(jù)與用戶數(shù)據(jù),在抄寫時(shí),各數(shù)據(jù)合并形成至一個(gè)數(shù)據(jù)包中,將該數(shù)據(jù)包中數(shù)據(jù)分別抄寫至芯片不同存儲(chǔ)區(qū)中,或者是芯片外掛外存儲(chǔ)器不同存儲(chǔ)區(qū)中,所述芯片外掛外存儲(chǔ)器可是eMMC或者FLASH中,特別地,智能電視主板的程序存儲(chǔ)器eMMC內(nèi)存通常在8GB及以上,該存儲(chǔ)器eMMC分為主引導(dǎo)記錄區(qū)(boot區(qū))和數(shù)據(jù)(user data)區(qū),boot區(qū)用來存放系統(tǒng)軟件數(shù)據(jù),user data區(qū)存放用戶數(shù)據(jù),特別地具體分區(qū)可設(shè)定。
步驟S30,當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。
當(dāng)檢測(cè)到終端主板上電時(shí),所述終端包括電視機(jī)主板等,觸發(fā)芯片中運(yùn)行程序數(shù)據(jù)的運(yùn)行并通過所述運(yùn)行程序數(shù)據(jù)的運(yùn)行觸發(fā)相應(yīng)微型處理器程序數(shù)據(jù)的提取與發(fā)送指令,其中可通過預(yù)置在所述各程序數(shù)據(jù)中與各程序數(shù)據(jù)匹配的地址信息獲取該各程序數(shù)據(jù)所需發(fā)送的相應(yīng)微型處理器,通過所述發(fā)送指令將所提取的相應(yīng)微型處理器程序數(shù)據(jù)通過預(yù)設(shè)串口或者兩線式串行總線(I2C)發(fā)送至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器,所述各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器包括所述微型處理器外掛的閃存存儲(chǔ)器(SPI FLASH),程序燒錄過程流程示意圖如圖5所示。
在本實(shí)施例中,通過當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。本發(fā)明由于將各MCU程序數(shù)據(jù)預(yù)先抄錄至SOC中,運(yùn)行后將SOC中存儲(chǔ)的程序數(shù)據(jù)通過串口對(duì)應(yīng)發(fā)送至相應(yīng)微型處理器(MCU)中,即是實(shí)現(xiàn)通過SOC升級(jí)MCU程序,如此只需一次燒錄即可對(duì)SOC與不同MCU進(jìn)行空片升級(jí),簡(jiǎn)化了燒錄程序流程、節(jié)省了燒錄時(shí)間,降低了成本,相應(yīng)提高了生產(chǎn)效率。
進(jìn)一步地,在本發(fā)明程序燒錄方法的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄方法第二實(shí)施例,在第二實(shí)施例中,所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),參照?qǐng)D2,步驟S20還包括:
步驟S21,對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);
所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,區(qū)分出芯片程序數(shù)據(jù)與微型處理器程序數(shù)據(jù),再?gòu)奈⑿吞幚砥鞒绦驍?shù)據(jù)中分別提取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)。
步驟S22,將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。
所述芯片對(duì)應(yīng)存儲(chǔ)器包括芯片本身存儲(chǔ)器與芯片外掛存儲(chǔ)器,所述芯片對(duì)應(yīng)存儲(chǔ)器分為各個(gè)數(shù)據(jù)存放區(qū),如芯片程序數(shù)據(jù)存放區(qū)與微型處理器程序數(shù)據(jù)存放區(qū),其中微型處理器程序數(shù)據(jù)存放區(qū)存放微型處理器程序數(shù)據(jù),微型處理器程序數(shù)據(jù)由細(xì)分為系統(tǒng)軟件程序數(shù)據(jù)與用戶數(shù)據(jù),并將系統(tǒng)軟件程序數(shù)據(jù)與用戶數(shù)據(jù)分別存放至系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū),其次,還對(duì)系統(tǒng)軟件存放區(qū)的系統(tǒng)軟件程序數(shù)據(jù)進(jìn)行分類,以進(jìn)一步在不同系統(tǒng)軟件存放區(qū)有序存儲(chǔ)該系統(tǒng)軟件程序數(shù)據(jù)。
在本實(shí)施例中,通過對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。由于將所述編譯處理后的各類程序數(shù)據(jù)燒錄至芯片不同數(shù)據(jù)存放區(qū),因而有利于有效將所述程序數(shù)據(jù)分配至不同MCU,提高燒錄效率。
進(jìn)一步地,在本發(fā)明程序燒錄方法的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄方法第三實(shí)施例,在第三實(shí)施例中,所述步驟S30包括:
運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);
在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;
在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
由于終端主板上電后,即可運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),當(dāng)運(yùn)行至將芯片對(duì)應(yīng)存儲(chǔ)器中系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)存放的相應(yīng)程序數(shù)據(jù)提取并發(fā)送的程序時(shí),對(duì)應(yīng)生成發(fā)送指令,并對(duì)應(yīng)將系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器,將用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
在本實(shí)施例中,通過運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。由于將系統(tǒng)軟件程序數(shù)據(jù),用戶數(shù)據(jù)分別發(fā)送至對(duì)應(yīng)的MCU,MCU外掛閃存存儲(chǔ)器,因而可實(shí)現(xiàn)準(zhǔn)確燒錄,有效防止錯(cuò)誤燒錄的現(xiàn)象。
進(jìn)一步地,在本發(fā)明程序燒錄方法的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄方法第四實(shí)施例,在第四實(shí)施例中,所述運(yùn)行所述存儲(chǔ)器中所述編譯處理后的程序,以將所述程序?qū)?yīng)的各程序數(shù)據(jù)分別燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器步驟之后包括:
監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),所述各燒錄進(jìn)程完成包括各個(gè)MCU燒錄完成,復(fù)位初始化終端主板對(duì)應(yīng)的各個(gè)系統(tǒng),以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
在本實(shí)施例中,通過監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。由于燒錄完成后,及時(shí)運(yùn)行各程序數(shù)據(jù),因而能及時(shí)觀看各程序數(shù)據(jù)運(yùn)行效果。
進(jìn)一步地,在本發(fā)明程序燒錄方法的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄方法第五實(shí)施例,在第五實(shí)施例中,所述監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)步驟之后包括:
若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
由于當(dāng)不是空片升級(jí)時(shí),MCU中的用戶數(shù)據(jù)可相應(yīng)更改,因而若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),或者燒錄閃存存儲(chǔ)器數(shù)據(jù)時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
在本實(shí)施例中,通過若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。由于空片升級(jí)成功后還可滿足用戶分別對(duì)閃存存儲(chǔ)器中的數(shù)據(jù)進(jìn)行更新的需求,進(jìn)而提升了用戶體驗(yàn)。
本發(fā)明提供一種程序燒錄裝置,在本發(fā)明一種程序燒錄裝置的第一實(shí)施例中,參照?qǐng)D3,該程序燒錄裝置包括:
第一獲取模塊10,用于當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);
本發(fā)明所述程序燒錄裝置適應(yīng)于智能電視,手機(jī)等各種智能電子產(chǎn)品程序燒錄過程,述程序燒錄裝置應(yīng)用于終端主板,所述終端主板包括芯片,芯片中設(shè)置多個(gè)微型處理器,在檢測(cè)到程序燒錄指令前,相應(yīng)芯片以及微型處理器可未存任意程序數(shù)據(jù),即是可對(duì)相應(yīng)芯片以及微型處理器進(jìn)行空片升級(jí),當(dāng)需要空片升級(jí)時(shí),用戶通過計(jì)算機(jī)或者應(yīng)用運(yùn)行燒錄器軟件,所述燒錄器軟件可從燒錄器中讀取相應(yīng)預(yù)存于燒錄器中的程序數(shù)據(jù)并燒錄至芯片中,當(dāng)存在多個(gè)芯片時(shí),在燒錄器軟件中也可人為或者自動(dòng)選取待燒錄芯片,當(dāng)檢測(cè)到程序燒錄指令時(shí),所述程序燒錄指令可是人為觸發(fā),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù),所述預(yù)存于燒錄器中的微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件數(shù)據(jù)與用戶數(shù)據(jù),所述系統(tǒng)軟件數(shù)據(jù)如安卓系統(tǒng),IOS系統(tǒng)等系統(tǒng)數(shù)據(jù),所述系統(tǒng)軟件數(shù)據(jù)一般不可變化,而用戶數(shù)據(jù)一般變化的,對(duì)程序數(shù)據(jù)進(jìn)行編譯處理即是將程序數(shù)據(jù)編譯成計(jì)算機(jī)能識(shí)別的計(jì)算機(jī)語(yǔ)言,如二進(jìn)制代碼等。
抄寫模塊20,用于將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;
將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中,由于程序數(shù)據(jù)包括不同微型處理器對(duì)應(yīng)數(shù)據(jù),且包括同一微型處理器中的系統(tǒng)軟件數(shù)據(jù)與用戶數(shù)據(jù),在抄寫時(shí),各數(shù)據(jù)合并形成至一個(gè)數(shù)據(jù)包中,將該數(shù)據(jù)包中數(shù)據(jù)分別抄寫至芯片不同存儲(chǔ)區(qū)中,或者是芯片外掛外存儲(chǔ)器不同存儲(chǔ)區(qū)中,所述芯片外掛外存儲(chǔ)器可是eMMC或者FLASH中,特別地,智能電視主板的程序存儲(chǔ)器eMMC內(nèi)存通常在8GB及以上,該存儲(chǔ)器eMMC分為主引導(dǎo)記錄區(qū)(boot區(qū))和數(shù)據(jù)(user data)區(qū),boot區(qū)用來存放系統(tǒng)軟件數(shù)據(jù),user data區(qū)存放用戶數(shù)據(jù),特別地具體分區(qū)可設(shè)定。
運(yùn)行模塊30,用于當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。
當(dāng)檢測(cè)到終端主板上電時(shí),所述終端包括電視機(jī)主板等,觸發(fā)芯片中運(yùn)行程序數(shù)據(jù)的運(yùn)行并通過所述運(yùn)行程序數(shù)據(jù)的運(yùn)行觸發(fā)相應(yīng)微型處理器程序數(shù)據(jù)的提取與發(fā)送指令,其中可通過預(yù)置在所述各程序數(shù)據(jù)中與各程序數(shù)據(jù)匹配的地址信息獲取該各程序數(shù)據(jù)所需發(fā)送的相應(yīng)微型處理器,通過所述發(fā)送指令將所提取的相應(yīng)微型處理器程序數(shù)據(jù)通過預(yù)設(shè)串口或者兩線式串行總線(I2C)發(fā)送至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器,所述各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器包括所述微型處理器外掛的閃存存儲(chǔ)器(SPI FLASH),程序燒錄過程流程示意圖如圖5所示。
在本實(shí)施例中,通過第一獲取模塊10,用于當(dāng)檢測(cè)到程序燒錄指令時(shí),獲取預(yù)存于燒錄器中的程序數(shù)據(jù)并對(duì)其編譯處理,所述預(yù)存于燒錄器中的程序數(shù)據(jù)包括芯片運(yùn)行程序數(shù)據(jù)以及與各個(gè)微型處理器對(duì)應(yīng)的微型處理器程序數(shù)據(jù);抄寫模塊20,用于將所述編譯處理后的程序數(shù)據(jù)抄寫至芯片對(duì)應(yīng)存儲(chǔ)器中;運(yùn)行模塊30,用于當(dāng)檢測(cè)到終端主板上電時(shí),運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),并將所述微型處理器程序數(shù)據(jù)分別對(duì)應(yīng)燒錄至各個(gè)微型處理器和/或各個(gè)微型處理器對(duì)應(yīng)的閃存存儲(chǔ)器。本發(fā)明由于將各MCU程序數(shù)據(jù)預(yù)先抄錄至SOC中,運(yùn)行后將SOC中存儲(chǔ)的程序數(shù)據(jù)通過串口對(duì)應(yīng)發(fā)送至相應(yīng)微型處理器(MCU)中,即是實(shí)現(xiàn)通過SOC升級(jí)MCU程序,如此只需一次燒錄即可對(duì)SOC與不同MCU進(jìn)行空片升級(jí),簡(jiǎn)化了燒錄程序流程、節(jié)省了燒錄時(shí)間,降低了成本,相應(yīng)提高了生產(chǎn)效率。
進(jìn)一步地,在本發(fā)明程序燒錄裝置的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄裝置第二實(shí)施例,在第二實(shí)施例中,所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),參照?qǐng)D4,所述抄寫模塊20包括:
分析單元21,用于對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);
所述微型處理器程序數(shù)據(jù)包括系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù),對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,區(qū)分出芯片程序數(shù)據(jù)與微型處理器程序數(shù)據(jù),再?gòu)奈⑿吞幚砥鞒绦驍?shù)據(jù)中分別提取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)。
抄寫單元22,用于將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。
所述芯片對(duì)應(yīng)存儲(chǔ)器包括芯片本身存儲(chǔ)器與芯片外掛存儲(chǔ)器,所述芯片對(duì)應(yīng)存儲(chǔ)器分為各個(gè)數(shù)據(jù)存放區(qū),如芯片程序數(shù)據(jù)存放區(qū)與微型處理器程序數(shù)據(jù)存放區(qū),其中微型處理器程序數(shù)據(jù)存放區(qū)存放微型處理器程序數(shù)據(jù),微型處理器程序數(shù)據(jù)由細(xì)分為系統(tǒng)軟件程序數(shù)據(jù)與用戶數(shù)據(jù),并將系統(tǒng)軟件程序數(shù)據(jù)與用戶數(shù)據(jù)分別存放至系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū),其次,還對(duì)系統(tǒng)軟件存放區(qū)的系統(tǒng)軟件程序數(shù)據(jù)進(jìn)行分類,以進(jìn)一步在不同系統(tǒng)軟件存放區(qū)有序存儲(chǔ)該系統(tǒng)軟件程序數(shù)據(jù)。
在本實(shí)施例中,通過分析單元21,用于對(duì)所述編譯處理后的程序數(shù)據(jù)進(jìn)行分析,以區(qū)分所述相應(yīng)系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù);抄寫單元22,用于將所述系統(tǒng)軟件程序數(shù)據(jù)和用戶數(shù)據(jù)抄寫至所述芯片對(duì)應(yīng)存儲(chǔ)器對(duì)應(yīng)類型的數(shù)據(jù)存放區(qū),所述對(duì)應(yīng)類型的數(shù)據(jù)區(qū)包括系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)。由于將所述編譯處理后的各類程序數(shù)據(jù)燒錄至芯片不同數(shù)據(jù)存放區(qū),因而有利于有效將所述程序數(shù)據(jù)分配至不同MCU,提高燒錄效率。
進(jìn)一步地,在本發(fā)明程序燒錄裝置的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄裝置第三實(shí)施例,在第三實(shí)施例中,所述運(yùn)行模塊包括:
運(yùn)行單元,用于運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);
第一發(fā)送單元,用于在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;
第二發(fā)送單元,用于在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
由于終端主板上電后,即可運(yùn)行所述芯片運(yùn)行程序數(shù)據(jù),當(dāng)運(yùn)行至將芯片對(duì)應(yīng)存儲(chǔ)器中系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū)存放的相應(yīng)程序數(shù)據(jù)提取并發(fā)送的程序時(shí),對(duì)應(yīng)生成發(fā)送指令,并對(duì)應(yīng)將系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器,將用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。
在本實(shí)施例中,通過運(yùn)行單元,用于運(yùn)行所述芯片的運(yùn)行程序數(shù)據(jù),以查詢芯片對(duì)應(yīng)存儲(chǔ)器中的系統(tǒng)軟件存放區(qū),用戶數(shù)據(jù)存放區(qū);第一發(fā)送單元,用于在所述系統(tǒng)軟件存放區(qū)獲取相應(yīng)系統(tǒng)軟件程序數(shù)據(jù),并對(duì)應(yīng)生成第一發(fā)送指令以將該系統(tǒng)軟件程序數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器;第二發(fā)送單元,用于在所述用戶數(shù)據(jù)存放區(qū)獲取相應(yīng)用戶數(shù)據(jù),并對(duì)應(yīng)生成第二發(fā)送指令以將該用戶數(shù)據(jù)發(fā)送至對(duì)應(yīng)微型處理器相應(yīng)閃存存儲(chǔ)器。由于將系統(tǒng)軟件程序數(shù)據(jù),用戶數(shù)據(jù)分別發(fā)送至對(duì)應(yīng)的MCU,MCU外掛閃存存儲(chǔ)器,因而可實(shí)現(xiàn)準(zhǔn)確燒錄,有效防止錯(cuò)誤燒錄的現(xiàn)象。
進(jìn)一步地,在本發(fā)明程序燒錄裝置的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄裝置第四實(shí)施例,在第四實(shí)施例中,所述程序燒錄裝置還包括:
初始化模塊,用于監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),所述各燒錄進(jìn)程完成包括各個(gè)MCU燒錄完成,復(fù)位初始化終端主板對(duì)應(yīng)的各個(gè)系統(tǒng),以供運(yùn)行已燒錄的各程序數(shù)據(jù)。
在本實(shí)施例中,通過初始化模塊,用于監(jiān)測(cè)各燒錄進(jìn)程,當(dāng)各燒錄進(jìn)程完成時(shí),對(duì)終端主板對(duì)應(yīng)的各個(gè)系統(tǒng)進(jìn)行復(fù)位初始化,以供運(yùn)行已燒錄的各程序數(shù)據(jù)。由于燒錄完成后,及時(shí)運(yùn)行各程序數(shù)據(jù),因而能及時(shí)觀看各程序數(shù)據(jù)運(yùn)行效果。
進(jìn)一步地,在本發(fā)明程序燒錄裝置的第一實(shí)施例的基礎(chǔ)上,提供程序燒錄裝置第五實(shí)施例,在第五實(shí)施例中,所述程序燒錄裝置還包括:
更新模塊,用于若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
由于當(dāng)不是空片升級(jí)時(shí),MCU中的用戶數(shù)據(jù)可相應(yīng)更改,因而若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),或者燒錄閃存存儲(chǔ)器數(shù)據(jù)時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。
在本實(shí)施例中,通過更新模塊,用于若檢測(cè)到更新所述用戶數(shù)據(jù)指令時(shí),相應(yīng)更新對(duì)應(yīng)閃存存儲(chǔ)器中的用戶數(shù)據(jù)。由于空片升級(jí)成功后還可滿足用戶分別對(duì)閃存存儲(chǔ)器中的數(shù)據(jù)進(jìn)行更新的需求,進(jìn)而提升了用戶體驗(yàn)。
以上僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。