Running H/F 2
注意
完成一次写入操作后,flash 内的每个字节只能被写入一次。如果一个位已经被写
入,再次向这个字节写入一些位需要先擦除这个字节或整体擦除flash。未经擦除
而直接写入会影响存储在flash 内的数据。
• 向FCMD 写入已经设计好的命令。五个已经设计好的命令是:空白检查命令($05),写入一个字节命
令($20),突发模式写入命令($25),页擦除命令($40),整体擦除命令($41)。这些命令锁存到命令缓
冲区。
• 向FSTAT 寄存器的FCBEF 位写1,可以清FCBEF 位和启动命令( 包括它的地址和数据信息)。
在写存储器之后,写1 清零FCBEF 和命令完成之前的任何时候可以向FCBEF 手动写0,取消部分命令
序列。用这种方式取消命令可使FACCERR 存取错误标志位置位,该标志位在开始执行新命令之前必须被清
零。
必须遵守严格的监控程序,否则命令不会被接受。这降低了意外改变flash 内容的可能性。命令完成标志
(FCCF)标志完成一个命令。命令队列必须通过清零FCBEF 来开始执行命令。图 4-2 是除了突发模式写入
以外,所有命令执行的流程图。在使用任何flash 命令前,FCDIV 寄存器必须被初始化(复位后,只能执行
一次操作)。
注1:复位后,只能执行一次操作
写FCDIV(注1)
flash 写入和
擦除流程
开始
0
FACCERR ?
1
清除错误
向flash 写入来
缓存地址和数据
向FCMD 写入命令
注2:在检测FCBEF 或者FCCF
之前应至少等待4 个总线周期
向FCBEF 写入1 启动命
令和清FCBEF(注意2)
是
FPVIOL 或
FACCERR ?
错误退出
否
0
FCCF ?
1
结束
图 4-2. Flash 命令流程图
MC9S08AC16 系列微控制器数据手册, 第6 版
飞思卡尔半导体公司
#