修改FLASH
数据通常需要很长时间,不像
RAM
那样可以实时操作。而且擦除、编程或读取
FLASH数据需要遵循相当复杂的时序步骤。
MS51
提供方便
FLASH
编程方式,可以帮助用户通过
IAP方式,重新编 程
FLASH
内容。
IAP
就是通过软件实现在线电擦除和编程的方法。
通过设置
IAPEN
(
CHPCON.0
受
TA
保护)使能
IAP
,并且设置
IAPUEN寄存器的相应位,使能需要升级 的
FLASH
区域(
CONFIG
、
LDROM
、
APROM
),用户将
16
位操作地址写入
IAPAH
和
IAPAL,数据写 入
IAPFD
,命令写入
IAPCN
。然后通过设置触发位
IAPGO(IAPTRG.0)
,去执行
IAP
。注意:
IAPTRG也 受
TA
保护。此时,
CPU
保持程序计数器,内嵌
IAP自动控制内部充电泵提高电压和信号时序。擦除和编 程时间是内部控制的,与工作电压和频率无关。通常页擦除时间是
5ms
,字节编程时间是
23.5μs
。IAP 动作完成后,程序计数器继续运行之后的指令,
IAPGO
位将自动清零。
IAPFF (CHPCON.6)
是
IAP错误 标志,可以用来检查之前
IAP
操作成功与否。通过这些纯软件的设置,用户可以很方便对
FLASH存储器 进行擦除、编程和校验。