Running H/F 2
512 字节的flash 存储区域中,所以块保护这块区域也就保护了后门密钥。块保护不能通过用户的应用程序改
变,因此,如果向量空间是块保护空间,这个后门安全密钥机制永远不能改变块保护、安全设置和后门密钥。
安全模式可以通过背景调试接口按照下面的步骤来消除:
• 通过写FPROT 来使块保护失效,FPROT 只能通过背景调试命令来写,而不是通过应用软件。
• 如果需要可以整体擦除flash 存储器。
•
flash 的空白检测,如果flash 被完全擦除,安全模式被禁止直到下一次复位。
为了避免下一次复位时返回安全模式,置NVFOPT 的SEC01:SEC00=1:0。
4.6
Flash 寄存器和控制位
Flash 模块有9 个8 位的寄存器位于高地址页寄存器空间,3 个位于flash 存储器的非易失性寄存器空间,
当复位时,内容被复制到3 个相应的高页区域的控制寄存器。同样也有一个8 字节的密钥在flash 存储器中。
表 4-3 和表 4-4 列出了所有flash 寄存器的绝对地址。这里通过这些寄存器和控制位的名称来引用它们。通
常,Freescale 提供一个头文件把它们的名称翻译为绝对地址。
4.6.1
Flash 时钟分频寄存器(FCDIV)
该寄存器的第7 位是一个只读状态标志位。第0 位到第6 位在任何时候都可以被读,但只能写一次。在
进行任何擦除或写入操作之前,向该寄存器写入内容用以设置有效范围内非易失性存储系统时钟的频率。
7
6
5
4
3
2
1
0
读
写
DIVLD
PRDIV8
DIV5
DIV4
DIV3
DIV2
DIV1
DIV0
复位
0
0
0
0
0
0
0
0
= 未使用或者保留
图 4-5. flash 时钟分频寄存器(FCDIV)
表4-6. FCDIV 寄存器域描述
描述
域
时钟分频加载位——这个只读标志位被置位时,表示FCDIV 寄存器在复位后已经被写过了。复位清零该位且第
一次向该寄存器写入导致该位置位不管数据是否写入。
7
DIVLD
0 复位后,FCDIV 没有被写过,不可以对flash 进行擦除和写入操作。
1 复位后,FCDIV 已经被写过,可以对flash 进行擦除和写入操作。
Flash 预分频设置位
1 flash 分频器的时钟输入是总线时钟频率的八分之一。
0 flash 分频器的时钟输入是总线时钟频率。
6
PRDIV8
时钟分频位——flash 时钟分频器通过DIV5:DIV0 这六位加上1 的值来对总线时钟频率( 或者当PRDIV8=1 时是
总线时钟频率的八分之一) 进行分频。在对flash 进行操作时,内部时钟必须降到150KHz~200KHz。擦除/ 写
入操作的时序脉冲是内部flash 工作时钟的一个时钟周期,所以擦/ 写的时间相应的在6.7 μs~5 μs。自动的写入
逻辑使用这个时钟周期的整数倍时间完成擦除或写入操作。参考等式 4-1,等式 4-2 和表 4-7。
5:0
DIV[5:0]
如果PRDIV8=0,则fFCLK=fBus ÷([DIV5:DIV0]+1)
公式 4-1
公式 4-2
如果PRDIV8=1,则fFCLK=fBus ÷(8 ×([DIV5:DIV0]+1))
MC9S08AC16 系列微控制器数据手册, 第6 版
飞思卡尔半导体公司
#