56F8013程序Flash的在線可編程特性及應(yīng)用
計算機下載程序功能描述和開發(fā)
本文引用地址:http://m.butianyuan.cn/article/135966.htm(1)讀取單片機的執(zhí)行文件。單片機執(zhí)行文件大多以Intel HEX文件格式,或者Motorola的S-Record的格式存儲。安裝這些文件格式標(biāo)準(zhǔn),下載程序?qū)纹瑱C程序轉(zhuǎn)化成可以對Flash進行編程的二進制數(shù)據(jù)。
(2)對于單片機二進制格式的程序前面兩個跳轉(zhuǎn)指令數(shù)據(jù)修改成兩條JMP 0x1B00指令數(shù)據(jù),并保存原有程序的起始地址;
(3)通過串口完成對單片機的復(fù)位,同時發(fā)送0x55和0xaa數(shù)據(jù),引導(dǎo)單片機進入Bootloader命令狀態(tài)。
(4)通過Bootloader的擦除和編程命令完成對單片機Flash的程序下載,并將單片機程序的首地址編程在0x1AFF位置。
(5)通過執(zhí)行用戶程序命令或者重新復(fù)位單片機執(zhí)行新的用戶下載的程序。
下載程序除了完成上述功能之外,還可以根據(jù)用戶程序功能需要,通過串口實現(xiàn)用戶程序狀態(tài)的監(jiān)控。比如下圖顯示的是使用C++Builder開發(fā)的直立車??刂频某绦蛳螺d和監(jiān)控軟件。該軟件在下載單片機程序的功能基礎(chǔ)之上,增加了車模采集和控制數(shù)據(jù)的顯示功能和參數(shù)設(shè)置功能?! ?/p>
下位機的數(shù)據(jù)可以通過有線連接或者無限數(shù)據(jù)傳輸模塊發(fā)送到上位機程序,實時顯示成曲線,方便對車??刂茊纹瑱C狀態(tài)的監(jiān)控和故障的診斷。同時也可以將控制程序的參數(shù)發(fā)送到單片機,存儲在單片機Flash的參數(shù)區(qū)域,減少了單片機程序修改和下載次數(shù),大大提高了程序開發(fā)的效率。
下載Bootloader程序
往56F8013第一次下載Bootloader程序有以下三種方法:
● 使用JTAG/OnCE接口;
● 使用專用編程器;
● 使用DSC內(nèi)部Flash中預(yù)置的串口Bootloader。
上述三種方法中,最為方便的是第三種方法。使用新的56F8013單片機內(nèi)部Flash預(yù)置的Bootloader程序,只需要借助于單片機的串口便可以完成第一次程序的下載。微機通過串口轉(zhuǎn)換器與單片機的串口相連。新的單片機上電后便處于S-Recorder文件接收狀態(tài)。通過Windows的超級終端軟件的文件發(fā)送模式,將單片機Bootloader執(zhí)行程序S-Record格式的文件通過計算機串口發(fā)送給單片機便可完成程序的下載。計算機串口配置為:波特率為115200bps,流控制是Xon/Xoff,字節(jié)格式為八個數(shù)據(jù)位,無奇偶校驗位,一個停止位。詳細參加參考文獻[4]。預(yù)置的Bootloader只能使用一次,它將被下載的用戶程序覆蓋。在完成56F8013的Bootloader下載之后,便可以基于該Bootloader完成用戶程序的開發(fā)和下載調(diào)試了。
參考文獻:
[1]全國大學(xué)生智能汽車競賽秘書處.電磁組直立車參考設(shè)計方案[R].2012
[2]56F8000 16-bit Digital Signal Controllers MC56F8013 Rev. 12 05/2008[D]
[3]William Jiang.Static Serial Bootloader for MC56F800x/801x/802x/803x[R].Freescale Semiconductor Application Note.
[4]Lenonard N. Elevich Production Flash Programming for the 56F8000 Family[R].Freescale Semiconductor Application Note AN3118 Rev. 0, 8/2005
(本文為全文節(jié)選,瀏覽全文請參見鏈接http://m.butianyuan.cn/article/.htm)
評論