56F8013程序Flash的在線可編程特性及應用
計算機下載程序功能描述和開發
本文引用地址:http://cqxgywz.com/article/135966.htm(1)讀取單片機的執行文件。單片機執行文件大多以Intel HEX文件格式,或者Motorola的S-Record的格式存儲。安裝這些文件格式標準,下載程序將單片機程序轉化成可以對Flash進行編程的二進制數據。
(2)對于單片機二進制格式的程序前面兩個跳轉指令數據修改成兩條JMP 0x1B00指令數據,并保存原有程序的起始地址;
(3)通過串口完成對單片機的復位,同時發送0x55和0xaa數據,引導單片機進入Bootloader命令狀態。
(4)通過Bootloader的擦除和編程命令完成對單片機Flash的程序下載,并將單片機程序的首地址編程在0x1AFF位置。
(5)通過執行用戶程序命令或者重新復位單片機執行新的用戶下載的程序。
下載程序除了完成上述功能之外,還可以根據用戶程序功能需要,通過串口實現用戶程序狀態的監控。比如下圖顯示的是使用C++Builder開發的直立車模控制的程序下載和監控軟件。該軟件在下載單片機程序的功能基礎之上,增加了車模采集和控制數據的顯示功能和參數設置功能。
下位機的數據可以通過有線連接或者無限數據傳輸模塊發送到上位機程序,實時顯示成曲線,方便對車模控制單片機狀態的監控和故障的診斷。同時也可以將控制程序的參數發送到單片機,存儲在單片機Flash的參數區域,減少了單片機程序修改和下載次數,大大提高了程序開發的效率。
下載Bootloader程序
往56F8013第一次下載Bootloader程序有以下三種方法:
● 使用JTAG/OnCE接口;
● 使用專用編程器;
● 使用DSC內部Flash中預置的串口Bootloader。
上述三種方法中,最為方便的是第三種方法。使用新的56F8013單片機內部Flash預置的Bootloader程序,只需要借助于單片機的串口便可以完成第一次程序的下載。微機通過串口轉換器與單片機的串口相連。新的單片機上電后便處于S-Recorder文件接收狀態。通過Windows的超級終端軟件的文件發送模式,將單片機Bootloader執行程序S-Record格式的文件通過計算機串口發送給單片機便可完成程序的下載。計算機串口配置為:波特率為115200bps,流控制是Xon/Xoff,字節格式為八個數據位,無奇偶校驗位,一個停止位。詳細參加參考文獻[4]。預置的Bootloader只能使用一次,它將被下載的用戶程序覆蓋。在完成56F8013的Bootloader下載之后,便可以基于該Bootloader完成用戶程序的開發和下載調試了。
參考文獻:
[1]全國大學生智能汽車競賽秘書處.電磁組直立車參考設計方案[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
(本文為全文節選,瀏覽全文請參見鏈接http://cqxgywz.com/article/.htm)











評論