UPD78F9211/9212/9210 自寫(xiě)方式編程
UPD78F9211/9212/9210 通過(guò)自寫(xiě)方式對FLASH 進(jìn)行編程
780K0S/KY1+ 支持自編程功能,可以通過(guò)用戶(hù)程序來(lái)寫(xiě)入FLASH 存儲器,因此780K0S/KY1+ 具有在線(xiàn)升級程序的功能。
注意事項 在執行自寫(xiě)入以前,自寫(xiě)入處理程序必須先被包含在用戶(hù)程序中。
備注1. 對于自編程的使用,請參看16.8.4 前面的例子。
2. 若想用78K0S/KY1+ 的內部FLASH當作外部EEPROM來(lái)存儲數據時(shí),請參考《78K0S/Kx1+ EEPROMEmulation Application Note》(U17379E)。
1.1 自編程概述
如要執行自編程, 需要將工作模式由用戶(hù)程序模式(普通模式)切換到自編程模式。在自編程模式下,先設置特定寄存器,通過(guò)執行HALT 指令執行擦寫(xiě)處理程序。當程序結束時(shí),將自動(dòng)退出HALT 狀態(tài)。
關(guān)于通過(guò)對特定寄存器的操作使模式切換到自編程模式的詳情請參考16.8.4 普通模式與自編程模式切換示例。
備注 自編程序寫(xiě)入數據可參照MOV 指令。
圖16-10 是自編程框圖,圖16-11 是自編程狀態(tài)轉換圖,表16-11 列舉了自編程控制命令。
1
備注 命令內部驗證1 可以通過(guò)指定相同block 內的任意一個(gè)地址來(lái)執行,但是如果要向同一個(gè)block 內的多個(gè)地址寫(xiě)入數據,則推薦使用命令— 內部驗證2。
1.2 自編程注意事項
當自編程命令執行時(shí),其它命令都不能執行。因此,要先清除和重啟看門(mén)狗時(shí)鐘計數器,以便在自編程時(shí)計數器不會(huì )溢出。關(guān)于執行自編程需要的時(shí)間請參考表16-11 。
在自編程期間發(fā)生的中斷,在自編程模式結束后才能被響應。為了避免這種情況,應在從普通模式切換到自編程模式之前以一定順序終止中斷服務(wù)(將MK0 設定為FFH,并執行DI 指令)。
當執行自編程命令時(shí),不須使用RAM。
當FLASH 存儲器正在數據寫(xiě)入/擦除過(guò)程中,如果電源電壓下降或有復位信號輸入,則此次寫(xiě)入/擦除操作不一定成功。
在block 擦除中空白數據的值設為FFH。
預先設置CPU 時(shí)鐘,使在自編程中使CPU 時(shí)鐘大于等于1 MHz。
執行指定序列的命令設定自編程模式后,立即執行NOP 和HALT 指令,以執行自編程。10 s(最大值)+ 2 CPU時(shí)鐘(fCPU)后HALT 指令被自動(dòng)釋放。
評論