14 Flash内存控制器(FMC)
14.1 概述
NuMicro M051系列具有64K/32K/16K/8K字节的片上FLASH EEPROM,用于存储应用程序(APROM),用户可以通过ISP/IAP更新FLASH中的程序。在系统编程 (ISP) 允许用户更新焊接在PCB板上的芯片中的程序。上电后,通过设置Config0的启动选择(CBS)确定Cortex-M0 CPU从APROM或LDROM读取代码。此外,NuMicro M051系列为用户提供额外的4K字节的数据FLASH,以供用户在芯片于64/32/16/8K字节APROM模式下系统掉电之前存储一些基于应用的数据。
14.2 特性
l 高达50MHz的零等待连续地址访问
l 64/32/16/8KB 应用程序存储器(APROM)
l 4kB 在系统编程 (ISP) 加载程序存储器(LDROM)
l 固定的4kB数据FLASH,带有512字节页擦除单元
l 在系统编程(ISP)/在应用编程(IAP)更新片上Flash EPROM
l 在电路编程(ICP)采用串行调试接口(SWD)
14.3 FMC组织结构
NuMicro M051 的flash存储器由程序存储器(64/32/16/8KB),数据FLASH,ISP加载程序存储器,用户配置块组成。用户配置块提供几个字节来控制系统逻辑,如flash安全加密,启动选择,欠压电平等。用户配置块的作用类似上电时的保险丝。在上电期间,从FLASH存储器被加载到相应的控制寄存器中,用户可根据应用要求在芯片贴到PCB板上之前通过烧写器设置这些位,数据FLASH的开始地址和大小可由用户根据应用配置,但是对于64/32/16/8KB的FLASH存储器设备,其大小为4KB,开始地址为0x0001_F000。
表14.3-1 Flash存储器地址映射
区块名称 |
大小 |
开始地址 |
结束地址 |
AP-ROM |
8/16/32/64KB |
0x0000_0000 |
0x0000_1FFF (8KB) 0x0000_3FFF (16KB) 0x0000_7FFF (32KB) 0x0000_FFFF (64KB) |
Data Flash |
4KB |
0x0001_F000 |
0x0001_FFFF |
LD-ROM |
4KB |
0x0010_0000 |
0x0010_0FFF |
User Configuration |
1 Words |
0x0030_0000 |
0x0030_0000 |
图14.3-1 Flash存储器组织结构
l 启动选择
NuMicro M051提供在系统编程 (ISP) 特征,允许用户直接更新PCB板上芯片中的程序。提供4kB程序存储器专门用于存储ISP固件。用户设置Config0的(CBS)以选择从APROM或LDROM启动。
图 14.3-2 上电时启动选择(BS)
l Data Flash
NuMicro M051为用户提供数据FLASH。通过ISP程序读/写。擦除单位为512字节。若要改变一个字,需要先把所有128字拷贝到另外页或SRAM中。对于8/16/32/64KB的flash设备,数据FLASH的大小为4KB,开始地址固定在0x0001_F000。
图 14.3-3 Flash存储器结构
书籍下载地址(复制到下载工具进行下载):
https://files.cnblogs.com/wenziqi/ARMCortex-M0原理与应用实践.part1.rar
https://files.cnblogs.com/wenziqi/ARMCortex-M0原理与应用实践.part2.rar
注:书籍内容会不定期进行更新!