56F8013程序Flash的在線(xiàn)可編程特性及應用
也可以通過(guò)設定一定的觸發(fā)條件從用戶(hù)程序直接跳轉至Bootloader程序。
本文引用地址:http://dyxdggzs.com/article/134970.htm在Bootloader命令狀態(tài)下,可以接收上位計算機發(fā)送一組處理命令,如下表所示:
表格 1 Bootloader命令
上位機程序通過(guò)上述三個(gè)基本命令便可以完成對56F8013內部Flash的編程。
開(kāi)發(fā)Bootloader程序可以在CodeWarrior提供創(chuàng )建新工程文件serial_bootloader模板基礎上進(jìn)行改寫(xiě)完成。下圖所示:

模板serial_bootloader提供了Bootloader程序所必需的串口通訊、Flash讀寫(xiě)子程序[3]。特別是Flash訪(fǎng)問(wèn)程序比起PE生成的子程序更加簡(jiǎn)捷。
雖然在serial_bootloader模板中已經(jīng)可以直接接收通過(guò)超級終端發(fā)送的S-記錄格式的單片機程序完成程序的下載功能,但效率低,而且用戶(hù)程序開(kāi)發(fā)不方便。通過(guò)重新改寫(xiě)之后,可以直接下載程序的二進(jìn)制代碼,可以提高下載速度,方便用戶(hù)程序開(kāi)發(fā)。
3. 計算機下載程序功能描述和開(kāi)發(fā):
計算機下載程序的功能主要包括有:
(1)讀取單片機的執行文件。單片機執行文件大多以Intel HEX文件格式,或者M(jìn)otorola的S-Record的格式存儲。安裝這些文件格式標準,下載程序將單片機程序轉化成可以對Flash進(jìn)行編程的二進(jìn)制數據。
(2)對于單片機二進(jìn)制格式的程序前面兩個(gè)跳轉指令數據修改成兩條JMP 0x1B00指令數據,并保存原有程序的起始地址;
(3)通過(guò)串口完成對單片機的復位,同時(shí)發(fā)送0x55和0xaa數據,引導單片機進(jìn)入Bootloader命令狀態(tài)。
(4)通過(guò)Bootloader的擦除和編程命令完成對單片機Flash的程序下載,并將單片機程序的首地址編程在0x1AFF位置。
(5)通過(guò)執行用戶(hù)程序命令或者重新復位單片機執行新的用戶(hù)下載的程序。
c語(yǔ)言相關(guān)文章:c語(yǔ)言教程
單片機相關(guān)文章:單片機教程
單片機相關(guān)文章:單片機視頻教程
單片機相關(guān)文章:單片機工作原理
評論