×
嵌入式开发 > 详情

UPD78F9211/9212/9210 自写方式编程

发布时间:2020-07-09 发布时间:
|

UPD78F9211/9212/9210 通过自写方式对FLASH 进行编程
780K0S/KY1+ 支持自编程功能,可以通过用户程序来写入FLASH 存储器,因此780K0S/KY1+ 具有在线升级程序的功能。
注意事项 在执行自写入以前,自写入处理程序必须先被包含在用户程序中。
备注1. 对于自编程的使用,请参看16.8.4 前面的例子。
2. 若想用78K0S/KY1+ 的内部FLASH当作外部EEPROM来存储数据时,请参考《78K0S/Kx1+ EEPROMEmulation Application Note》(U17379E)。

1.1 自编程概述
如要执行自编程, 需要将工作模式由用户程序模式(普通模式)切换到自编程模式。在自编程模式下,先设置特定寄存器,通过执行HALT 指令执行擦写处理程序。当程序结束时,将自动退出HALT 状态。
关于通过对特定寄存器的操作使模式切换到自编程模式的详情请参考16.8.4 普通模式与自编程模式切换示例。
备注 自编程序写入数据可参照MOV 指令。

图16-10 是自编程框图,图16-11 是自编程状态转换图,表16-11 列举了自编程控制命令。

1

备注 命令内部验证1 可以通过指定相同block 内的任意一个地址来执行,但是如果要向同一个block 内的多个地址写入数据,则推荐使用命令— 内部验证2。

1.2 自编程注意事项
当自编程命令执行时,其它命令都不能执行。因此,要先清除和重启看门狗时钟计数器,以便在自编程时计数器不会溢出。关于执行自编程需要的时间请参考表16-11 。
在自编程期间发生的中断,在自编程模式结束后才能被响应。为了避免这种情况,应在从普通模式切换到自编程模式之前以一定顺序终止中断服务(将MK0 设定为FFH,并执行DI 指令)。
当执行自编程命令时,不须使用RAM。
当FLASH 存储器正在数据写入/擦除过程中,如果电源电压下降或有复位信号输入,则此次写入/擦除操作不一定成功。
在block 擦除中空白数据的值设为FFH。
预先设置CPU 时钟,使在自编程中使CPU 时钟大于等于1 MHz。
执行指定序列的命令设定自编程模式后,立即执行NOP 和HALT 指令,以执行自编程。10 s(最大值)+ 2 CPU时钟(fCPU)后HALT 指令被自动释放。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
单片机汇编语言 如何实现点亮熄灭二极管