一. STM32系列单片机扇区划分
STM32内部FLASH大小不一,不同大小划分是不一样的。
比如:
Flash大小为 64KB, 地址范围:0x08000000-0x08010000-1,单个扇区大小:1KB=0x400,最后一个扇区地址:0x0800FC00
Flash大小为 128KB,地址范围:0x08000000-0x08020000-1,单个扇区大小:1KB=0x400,最后一个扇区地址:0x0801FC00
Flash大小为 256KB,地址范围:0x08000000-0x08040000-1,单个扇区大小:2KB=0x800,最后一个扇区地址:0x0803F800
Flash大小为 512KB,地址范围:0x08000000-0x08080000-1,单个扇区大小:2KB=0x800,最后一个扇区地址:0x0807F800
二. STM32内部FLASH的作用?
STM32的内部Flash主要用于存储程序代码(固件)和只读数据等。
1. 程序代码(固件):内部Flash是存储微控制器的程序代码的主要地方。它包含了应用程序的指令集,包括启动代码、中断处理程序、函数和其他执行代码。这些代码定义了系统的功能和行为。通常是编译生成的HEX文件或者BIN文件。
2. 只读数据:内部Flash还可以用于存储只读数据,如常量、配置信息和校准数据等。这些数据在程序执行期间是只读的,不会被修改。
3. 存储配置信息:除了程序代码外,一些必要的配置信息和数据也会存储在FLASH中,如设备启动时的初始化参数等。
4. Bootloader:一些STM32芯片内置了Bootloader,它是一个特殊的程序,用于在启动时加载和更新应用程序的固件。Bootloader通常存储在内部Flash的特定区域,并负责固件的升级和管理。
三. 读写内部FLASH的一般步骤
1.启用Flash访问
2.解锁Flash
3.检查Flash状态
4.执行Flash编程
5.等待Flash操作完成
6.锁定Flash