Running H/F 2
在突发模式下,写入序列的第一个字节和在标准模式下写入一个字节花费相同的时间。如果满足上述条
件,剩下的字节也会在突发模式下写入。如果在下一个序列的地址指向新的行,那个字节的写入时间是标准时
间而不是突发模式时间。这是因为阵列的高电压必须先失效然后再使能。如果在当前的命令完成前,没有一个
突发模式命令在等待,那么电荷泵将会失效,阵列上的高电压被移除。
4.4.5
访问错误
只要违反命令执行协议,错误就会产生。
下面的任何一个操作都会置位FSTAT 中的访问错误标志(FACCERR)。一旦发生了访问错误,在执行新
的命令之前必须向FSTAT 中的FACCERR 写1 来清FACCERR 标志。
• 在写一个flash 地址之前,内部flash 时钟频率没有通过FCDIV 寄存器设置。
• 当FCBEF 没有置位时,写flash 地址( 在命令缓冲区为空之前不可以开始一个新的命令)。
• 在启动命令之前,再一次写入flash 地址( 每一个命令只写一次flash)。
• 在启动命令之前,再一次写FCMD( 对每一个命令只写一次FCMD)。
• 写入flash 地址后,设置除FCMD 外的任意其他控制寄存器。
• 向FCMD 写除了五个正确的命令(0x05、0x20、0x25、0x40, 或0x41) 之外的任何命令代码。
• 向FCMD 中写入命令字之后,设置除FSTAT( 清FCBEF 和启动命令) 之外的任意flash 控制寄存器。
• 当执行写入或者擦除命令时,MCU 进入停止模式( 这个命令是被中止的) 。
• 当MCU 处于安全状态时,用背景调试命令写字节写入、突发模式写入和页擦除这些命令( 当MCU 处
于安全状态时,背景调试控制器只能进行空白检测和整体擦除命令)。
• 向FCBEF 位写0 取消一个未完成的命令。
4.4.6
Flash 块保护
块保护防止对被保护范围的flash 存储空间进行写入或擦除操作。块保护通过块保护寄存器控制
(FPORT)控制。当使能时,块保护可以开始于任意512 字节的边界,这个边界低于flash 最后的地址
(0xFFFF)(参考 4.6.4 节 Flash 保护寄存器(FPROT 和NVPROT))。
复位后,FPROT 装入NVPROT 地址的内容。NVPROT 在flash 存储器中的非易失性寄存器块中。
FPROT 不能直接通过应用软件改变,所以一个跑飞的程序不能改变块保护设置。因为NVPROT 在flash 的最
后512 字节,只要有flash 被保护,NVPROT 本身就会被保护而不能被应用软件改变(有意或无意)。通过
背景调试命令可以写FPROT,这是擦除和重新写入一个被保护的flash 存储器的方法。
图 4-4 描述了块保护机制。FPS 定义了未被保护的最后一个地址的高字节。就像图中表示的,地址由
FPS7:FPS1 连接上逻辑1 组成。例如,保护1536 个字节(从0xFA00 到0xFFFF),FPS 位设置为
1111100,也就是未被保护的最后一个地址0xF9FF 的值。除了将FPS 写为适当的值,FPDIS (NVPROT 的
0 位)必须置0 以允许块保护。因此0xF8 必须写到NVPROT 中保护从0xFA00 到0xFFFF 的地址。
FPS7 FPS6 FPS5 FPS4 FPS3 FPS2 FPS1
1
1
1
1
1
1
1
1
1
A15 A14
A13
A12
A11
A10
A9
A8 A7 A6 A5 A4 A3 A2 A1 A0
图 4-4. 块保护机制
MC9S08AC16 系列微控制器数据手册, 第6 版
飞思卡尔半导体公司
#