本应用笔记用于介绍在APM32F4xx系列上实现应用内部的Flash模拟EEPROM的功能,包括硬件设计和软件设计方法。关于芯片和寄存器等信息请参考官方网站的用户手册和数据手册。本应用笔记以APM32F4xx系列中的APM32F407ZE型号进行举例说明。
APM32F4XX FLASH存储器简介
FLASH存储器又称为闪存,通常用于存储程序代码、数据等信息。在APM32F4xx系列中,可以通过配置BOOT0接GND引脚时,让系统从Flash存储器中启动。当主闪存存储器被映射到启动空间时,其仍然能够在它原有的地址访问,即闪存存储器的内容可以在两个地址区域访问。
1 FLASH存储器结构框图
APM32F4xx的Flash存储器结构主要由主存储块和信息块等组成。在信息块中,又有系统存储块、OTP区域和选项字节等组成,具体情况如下图:
2 FLASH存储器结构框图介绍简述
- 主存储块:这个部分主要是用于存储应用程序代码,引导程序代码和数据常数等。其中,它主要分为12个扇区,前4个扇区是16k,扇区4是64k,扇区5-11是128k。主存储块的起始地址为0x08000000,即代码开始运行的地方。
- 系统存储块:这个部分主要用于存放BootLoader代码,它用于给系统引导初始化阶段,在载入操作系统前进行硬件初始化,载入操作系统。
- OTP区域:一次性可编程(存储区),即数据一旦被写入,便无法修改。这个区域共有528字节,且被分为2个区域,一个被分为512字节,可以用来存储用户数据,一个被分为16字节,可以用来锁定对应块。
- 选项字节:用于配置FLASH的读写保护、电源管理中的BOR级别、软件/硬件看门狗等功能。
253
