本节我们来学习stm32内部flash的读写。在某些应用中,我们需要保存少量掉电仍然不丢失的数据,而在电路板上额外增加一块eeprom或者flash又太浪费硬件资源,这时我们就可以把这些数据保存在stm32内部的flash里。
1)stm32内部flash简介
我们先来了解一下stm32内部的存储结构,如下图所示:
stm32的复位地址是从0x0000 0000开始。
flash地址起始于0x0800 0000,结束地址是0x0800 0000加上芯片实际的flash大小,不同的芯片flash大小不同;程序存储在这个区域,stm32芯片会自动将0x0800 0000与0x0000 0000映射,所以,软件编译生成的目标文件烧写到这个区域,复位之后就可以执行。
RAM起始地址是0x2000 0000,结束地址是0x20