Flash 的意外操作。此寄存器的解锁顺序如下:
1.在 Flash 密钥寄存器 (FLASH_KEYR) 中写入 KEY1 = 0x45670123
2. 在 Flash 密钥寄存器 (FLASH_KEYR) 中写入 KEY2 = 0xCDEF89AB
如果顺序出现错误,将返回总线错误并锁定 FLASH_CR 寄存器,直到下一次复位。
也可通过软件将 FLASH_CR 寄存器中的 LOCK 位置为 1 来锁定 FLASH_CR 寄存器。
擦除
Flash 擦除操作只能针对扇区或整个 Flash(批量擦除)执行。擦除时间取决于 PSIZE 编程
值。
通过 FLASH_CR 寄存器中的 PSIZE 字段配置并行位数。并行位数表示每次对 Flash 进行写 操
作时将编程的字节数。PSIZE 受限于电源电压以及是否使用外部 VPP 电源。
编程
不允许针对 Flash 执行跨越 128 位行界限的数据编程操作。
写访问宽度(字节、半字、字或双字)必须与所选并行位数类型(x8、x16、x32 或 x64)
相 符。
选项字节
OTP
OTP 区域划分为 16 个 32 字节的 OTP 数据块和 1 个 16 字节的 OTP 锁定块。OTP 数据块 和
锁定块均无法擦除。锁定块中包含 16 字节的 LOCKBi (0 i 15),用于锁定相应的 OTP 数据
块(块 0 到 15)。每个 OTP 数据块均可编程,除非相应的 OTP 锁定字节编程为 0x00。锁
定字节的值只能是 0x00 和 0xFF,否则这些 OTP 字节无法正确使用。
4 CRC 计算单元
CRC 主要特性
● 使用 CRC-32 (以太网)多项式:0x4C11DB7
— X32 + X26 + X23 + X22 + X16 + X12 + X11 + X10 +X8 + X7 + X5 + X4 + X2+ X +1
● 单输入/输出 32 位数据寄存器
● CRC 计算在 4 个 AHB 时钟周期 (HCLK) 内完成
● 8 位通用寄存器 (可用于临时存储)
评论0