本發(fā)明涉及嵌入式設(shè)備技術(shù)領(lǐng)域,具體地說是涉及一種微控制器嵌入式系統(tǒng)的程序燒寫系統(tǒng)及方法。
背景技術(shù):
嵌入式系統(tǒng)是將先進(jìn)的計算機技術(shù)、半導(dǎo)體技術(shù)和電子技術(shù)和各個行業(yè)的具體應(yīng)用相結(jié)合后的產(chǎn)物,芯片技術(shù)的發(fā)展,使得單個芯片具有更強的處理能力,而且使集成多種接口已經(jīng)成為可能,此外,應(yīng)用的需要以及對產(chǎn)品可靠性、成本、更新?lián)Q代要求的提高,使得嵌入式系統(tǒng)成為近年來令人關(guān)注的焦點。嵌入式系統(tǒng)廣泛應(yīng)用于電子設(shè)備中,如手機、掌上電腦、機電設(shè)備等,在使用前,需將嵌入式系統(tǒng)的程序燒錄到目標(biāo)芯片中,但是現(xiàn)有嵌入式程序的燒錄系統(tǒng)和方法存在可靠性差,燒錄速度慢的問題。
技術(shù)實現(xiàn)要素:
本發(fā)明的目的之一就是提供一種微控制器嵌入式系統(tǒng)的程序燒寫系統(tǒng),以解決現(xiàn)有燒寫系統(tǒng)可靠性差,燒錄速度慢的問題。
本發(fā)明的目的之二就是提供一種微控制器嵌入式系統(tǒng)的程序燒寫方法。
本發(fā)明的目的之一是通過以下方案實現(xiàn)的:一種微控制器嵌入式系統(tǒng)的程序燒寫系統(tǒng),包括上位機和下位機,所述上位機包括用戶交互界面、文件讀取及解析模塊和上位機通信模塊,所述下位機包括BootLoader模塊,所述BootLoader模塊位于微控制器Flash的固定區(qū)域,由下位機通信模塊、數(shù)據(jù)解析模塊和程序燒寫模塊組成;
所述用戶交互界面分別與文件讀取及解析模塊和上位機通信模塊通訊連接,用戶交互界面用于供用戶進(jìn)行選擇操作并提示下載過程信息;
所述文件讀取及解析模塊與上位機通信模塊通訊連接,文件讀取及解析模塊用于對選定的待燒寫文件進(jìn)行讀取、分類和解析;
所述上位機通信模塊與下位機通信模塊互相通訊連接,上位機通信模塊用于將解析出的數(shù)據(jù)進(jìn)行和校驗并將校驗信息和數(shù)據(jù)發(fā)送給下位機;
所述下位機通信模塊與數(shù)據(jù)解析模塊互相通訊連接,下位機通信模塊用于接收和傳送上位機的數(shù)據(jù)并將數(shù)據(jù)解析模塊的反饋信息傳送給上位機;
所述數(shù)據(jù)解析模塊與程序燒寫模塊通訊連接,數(shù)據(jù)解析模塊用于對接收的數(shù)據(jù)進(jìn)行解析、和校驗計算以及下載密碼核對;
所述程序燒寫模塊接收數(shù)據(jù)解析模塊傳送的經(jīng)校驗的數(shù)據(jù)并燒寫到微控制器的Flash的固定區(qū)域。
所述BootLoader模塊在微控制器中設(shè)置為不可擦除。
本發(fā)明的目的之二是通過以下方案實現(xiàn)的:一種微控制器嵌入式系統(tǒng)的程序燒寫方法,包括以下步驟:
a、上位機啟動,由用戶交互界面選擇微控制器類型,設(shè)置通訊參數(shù);
b、下位機通訊連接啟動并與上位機握手;
c、由用戶交互界面選擇要下載的可執(zhí)行文件,輸入下載密碼并點擊下載功能;
d、上位機通信模塊和下位機通信模塊接收和傳送密碼信息并由數(shù)據(jù)解析模塊核對下載密碼;
e、允許下載后,上位機的文件讀取及解析模塊對可執(zhí)行文件進(jìn)行讀取、分類和解析,并由上位機通信模塊進(jìn)行數(shù)據(jù)的傳送及和校驗;
f、下位機通信模塊接收數(shù)據(jù)并傳送給數(shù)據(jù)解析模塊進(jìn)行解析及和校驗,數(shù)據(jù)解析模塊將解析出的數(shù)據(jù)傳送給程序燒寫模塊并將和校驗的結(jié)果反饋給上位機,上位機根據(jù)反饋結(jié)果繼續(xù)發(fā)送數(shù)據(jù)或提示下載錯誤。
g、程序燒寫模塊將接收的數(shù)據(jù)燒寫到微控制器的Flash的固定區(qū)域。
在程序燒寫過程中,用戶交互界面顯示下載過程信息。
上位機根據(jù)可執(zhí)行文件的格式進(jìn)行分組的解析、和校驗、發(fā)送。
本發(fā)明上位機各模塊的設(shè)置實現(xiàn)了在對數(shù)據(jù)進(jìn)行解析時,依據(jù)加載程序文件的格式,進(jìn)行分組的解析、和校驗和發(fā)送,能夠降低上位機軟件解析難度和工作量,在保證校驗成功率的同時,獲得較快的下載速度。通過密碼核對及下位機各模塊的配合,實現(xiàn)了邊校驗邊燒錄,在保證燒錄過程可靠性的同時,提高了燒錄速度。
附圖說明
圖1是本發(fā)明的結(jié)構(gòu)示意圖。
圖2是本發(fā)明的燒錄流程圖。
具體實施方式
如圖1所示,本發(fā)明的燒寫系統(tǒng)包括上位機1和下位機2,上位機1包括用戶交互界面3、文件讀取及解析模塊4和上位機通信模塊5,上位機1可以為PC端,下位機2包括BootLoader模塊,BootLoader模塊位于微控制器Flash的固定區(qū)域,由下位機通信模塊6、數(shù)據(jù)解析模塊7和程序燒寫模塊8組成,BootLoader模塊提前下載于微控制器上并設(shè)置為不可擦除,只需對BootLoader模塊進(jìn)行一次下載即可,上位機1和下位機2之間通過USBCAN通訊卡連接。
用戶交互界面3分別與文件讀取及解析模塊4和上位機通信模塊5通訊連接,用戶通過用戶交互界面3,進(jìn)行下載目標(biāo)選擇、通訊方式選擇、通訊參數(shù)設(shè)置、下載密碼輸入、可執(zhí)行文件數(shù)據(jù)選擇并發(fā)送、選擇下載功能等基本參數(shù)設(shè)定,設(shè)置通訊參數(shù)包括選擇通訊設(shè)備類型和通訊速率,用戶交互界面3還可以在程序燒錄過程中提示下載文件格式正確與否、寫入數(shù)據(jù)的地址、寫入數(shù)據(jù)的速度等信息。在上位機還可選擇程序燒寫的實際功能,如僅燒寫、僅擦除、擦除并燒寫等。
文件讀取及解析模塊4與上位機通信模塊5通訊連接,用于對選定的待燒寫文件進(jìn)行讀取、分類和解析,以便進(jìn)行分組的解析及和校驗,降低解析難度和工作量,解析出的數(shù)據(jù)主要包含程序的地址信息及代碼信息。
上位機通信模塊5與下位機通信模塊6互相通訊連接,上位機通信模塊5將解析出的代碼數(shù)據(jù)發(fā)送給下位機2,發(fā)送時會對發(fā)送出去的每24個字節(jié)數(shù)據(jù)進(jìn)行和校驗計算,并將計算結(jié)果發(fā)送給下位機2,然后等待下位機2返回的校驗信息,如果校驗通過,則繼續(xù)發(fā)送24個字節(jié)數(shù)據(jù),如果未校驗通過,則通過用戶交互界面3顯示下載失敗信息。
下位機2接收上位機1發(fā)送的指令和數(shù)據(jù),其中,下位機通信模塊6與數(shù)據(jù)解析模塊7互相通訊連接,下位機通信模塊6接收和傳送上位機1的命令和數(shù)據(jù),接收到的所有數(shù)據(jù)由數(shù)據(jù)解析模塊7進(jìn)行解析、和校驗計算以及下載密碼核對。如當(dāng)解析出下載密碼時,數(shù)據(jù)解析模塊7對密碼進(jìn)行核對,核對通過則允許下載,下位機2將繼續(xù)接收來自上位機1的數(shù)據(jù)并進(jìn)行解析,同時由程序燒寫模塊8依據(jù)解析出的地址信息和程序信息,將程序燒寫到微控制器的Flash的固定區(qū)域,若核對不通過則將密碼錯誤的信息反饋給上位機1。在接收上位機數(shù)據(jù)過程中,數(shù)據(jù)解析模塊7同時進(jìn)行和校驗計算,每接收24個字節(jié),則將和校驗計算結(jié)果與上位機1發(fā)送來的和校驗計算結(jié)果進(jìn)行比較,比較完全相同,則說明發(fā)送無誤,然后返回給上位機1校驗通過的信息,上位機1根據(jù)該信息繼續(xù)發(fā)送數(shù)據(jù)。
本燒錄系統(tǒng)應(yīng)用時的具體燒錄方法如圖2所示,主要包括以下步驟:
a、上位機1啟動,由用戶交互界面3選擇微控制器類型,設(shè)置通訊參數(shù);
b、下位機2通訊連接啟動并與上位機1握手,若連接失敗則由用戶交互界面3顯示提示信息;
c、由用戶交互界面3選擇要下載的可執(zhí)行文件,輸入下載密碼并點擊下載功能;
d、上位機通信模塊5和下位機通信模塊6接收和傳送密碼信息并由數(shù)據(jù)解析模塊7核對下載密碼;
e、密碼核對通過則允許下載,上位機的文件讀取及解析模塊4對可執(zhí)行文件進(jìn)行讀取、分類和解析,并由上位機通信模塊5進(jìn)行數(shù)據(jù)的傳送及和校驗,密碼核對不通過則由用戶交互界面3顯示提示信息;
f、下位機通信模塊6接收數(shù)據(jù)并傳送給數(shù)據(jù)解析模塊7進(jìn)行解析及和校驗,數(shù)據(jù)解析模塊7將解析出的數(shù)據(jù)傳送給程序燒寫模塊8并將和校驗的結(jié)果反饋給上位機1,上位機1根據(jù)反饋結(jié)果繼續(xù)發(fā)送數(shù)據(jù)或提示下載錯誤。
g、程序燒寫模塊8將接收的數(shù)據(jù)燒寫到微控制器的Flash的固定區(qū)域。