Flash存储器是一种高密度、真正不易丢失的高性能读/写存储器,功耗低,可靠性高。
只是在PC领域,它还不能取代机械硬盘。在平时生活中可得知它的写速度一般在4MByte/s,而读速度在10-20Mbyte/s。比起机械硬盘那是慢多了。在日常生活中用到的U盘里,一般都在几G到几十G,价格相对于机械硬盘来说也没有太大优势。
KL25芯片128KBFlash,提供在线编程寄存器:一个状态寄存器、一个配置寄存器、一个安全寄存器、一个选项寄存器、十二个通用命令寄存器、四个保护寄存器。(真多)
对Flash存储器的擦除操作可以整体擦除,也可以从某一地址开始的一个扇区(1KB),不支持小于1KB的擦除。
FTFA命令操作过程:开始--读FSTAT寄存器--判断CCIF=1--判断ACCERR=1?FPVIOL=1?--将命令及其参数写入FCCOB寄存器组--清CCIF标志位,启动命令写0x80到FSTAT寄存器。详细步骤如书本235页所示。
Flash驱动构件封装:封装成三个功能函数,初始化函数,擦除函数,写入函数。
Flash模块的佑护与加密。可以配置程序保护寄存器FPROT、加密寄存器FSEC、选项寄存器FOPT。加密仅对外部访问而言,如JTAG、SWD、USBDM等,被加密后,编程接口只允许擦除操作,不能读存储器中的内容。后门访问密钥为8字节,一次失败,在芯片复位之前不允许使用验证。我想这样的设计,只要试密钥264次就可以得到密钥。是不是问题有点大呢?? |