keil环境下stm32下载和擦除程序对Flash的影响

时间:2024-02-17 16:43:15

一、烧录两个程序,读取FLASH(实测结果:两个区域都有程序,跟烧录的顺序没有关系)

1、首先 烧录0x08004000开始的程序

 

读取FLASH:只有0x08004000处有数据

 

 2、烧写0x08000 0000程序

 

 读取FLASH:0x08000000和 0x08004000处都有数据

 

 二、擦除Flash(实测结论:擦除一个,即擦除所有的芯片,跟顺序无关。不更改keil的配置)

 

 

 

 

 三、把STM32内部FLASH的一部分当作存储数据(比如一些定值,掉点也保存,下载程序也不会刷掉)时,那么下载程序时要设置“Erase Sectors”

  举例:STM32103RCT6->FLASH是256K->Flash起始地址是0X8000000,内存大小->0X40000。我们可以把0X8030000到0X803FFFF之后作为数据定值存储区,则“-Download Function”选择“ Erase Sectors”,Start: 0x08000000Size: 0x0030000

 

 

 

 本文借鉴于https://blog.csdn.net/qinrenzhi/article/details/85096901