Kinetis中的Flash模块

Kinetis MCU中Flash一般是用来保存中断向量表、用户程序,数据等内容,有的MCU Flash还支持FlexNVM和FlaxRAM。

Flash的一个基本特性就是只能写0,不能写1,所以每次对flash进行写操作的时候都需要先进行擦除操作。所以对Flash的连续编程(中间不擦除)的操作是不支持的。

  1. Flash的基本特性

    • 扇区大小为2K
    • 支持写保护
    • 支持访问保护
    • 支持校验算法
    • 支持写时访问
  2. FlexRAM基本特性

    • FlexRAM可以用作普通的RAM或者高可用的EEPROM
    • 如果用作EEPROM

      • 支持写保护
      • 自动模拟成EERPOM
      • EEPROM大小可调整
      • 支持1, 2,4字节访问

基本名词

Command write sequence: FLash操作的命令序列;
Data flash memory: 从FlexNVM块分区而来,一般存储用户数据,启动代码或者额外代码。
Data flash secotr: Data Flash擦除的最小单位
EEPROM: Flash 模拟的可以按字节读写的NVM
EEPROM backup data header: EEPROM中一个长度时64bit的数据头,主要保存EEPROM flash sector的状态信息
EEPROM backup data record: 包含7bit 状态信息,13bit地址信息,32bit数据信息,如果上面的头信息有效,那么相应地址的数据会映射到FlexRAM.
EEPROM backup data memory: FlexNVM分区而来,用于保存上述数据
EEPROM backup data sector: 每个sector包含一个头信息和255个数据记录。
Endurance可擦除编程的次数
FlexNVM Block, FlexNVM可以配置成data flash, EEPROM 或者二者同时存在。
FlexRAM: 类似于一个RAM,可以配置为EEROM的数据RAM或者传统RAM,如果配置为EEPROM,那么王FlexRAM中写数据会在EEPROM中生成相应的数据。

发表新评论