STM32F103的Flash类型是NOR Flash
烧录过程:调试器→STM32的SRAM→运行→Flash
内部Flash比外部Flash更高效,原因是使用了内部总线,且工作频率是72MHz
256页(页0~页255)*2KB = 512KB
读:一个字节一个字节读取
写:按页(扇区擦除),再写(分页的意义)
对内部Flash写入
1.解锁
往Flash_KEYR写入KEY1 = 0x45670123
往Flash_KEYR写入KEY1 = 0xCDEF89AB
2.擦除扇区
1.检查Flah_SR→BSY是否忙碌
2.Flash_CR→PER置1,准备擦除页
3.Flash_AR写入指定要擦除的页
4.Flash_CR→STRT = 1,开始擦除
5.BSY = 0,擦除完成
AR寄存器,存一个地址(32位)
STM32的地址是32位的
uint16_t *p = 0x800 0000;
*p = 80;
3.写入数据
1.检查BSY是否为0
2.CR→PG = 1(编程寄存器)
3.写入操作(16位)
4.判断如果BSY = 0,写入完成