STM32内部闪存FLASH(内部ROM)、IAP

1 FLASH简介

1 利用程序存储器的剩余空间来保存掉电不丢失的用户数据

2 通过在程序中编程(IAP)实现程序的自我更新 (OTA)

3在线编程(ICP把整个程序都更新掉)

1 系统的Bootloader写死了,只能用串口下载到指定的位置,启动方式也不方便需要配置BOOT引脚触发启动

4 IAP(自己写的Bootloader,实现程序升级)

1 比如蓝牙转串口,WIFI转串口,USB,然后控制FLASH读写,把收到的程序写在前面,程序正常运行的地方。写完之后在控制程序跳回程序正常运转的地方。
2 更进一步就是远程升级程序了

2 闪存模块组织

3 FLASH基本结构

4 FLASH解锁

5 使用指针访问存储器

1 读闪存的读写不需要解锁的,读取只看看存储器,不对存储器进行修改,不需要解锁(0x0800 0000是闪存(ROM))
2 指定地址下写入数据到存储器,需要解锁,RAM的不需要解锁

5 程序存储器全擦除

6 程序存储器页编程

7 程序存储器的写入(写入要擦除的, 跟W26Q64一样,0能变成1,1不能变成9)

8 选项字节

1 选项字节编程

9 器件电子签名

相关推荐
Crazyong1 小时前
FreeRTOS-CPU使用率统计
单片机·嵌入式硬件
_Ningye8 小时前
STM32 — 6.1 TIM定时中断
stm32·单片机·嵌入式硬件
小白学电子_8 小时前
proteus仿真51单片机通过矩阵按键和数码管制作简单计算器
嵌入式硬件·51单片机·proteus
非鱼䲆鱻䲜10 小时前
vscode开发stm32添加新的头文件路径和包含源文件
ide·vscode·stm32·cmake·包含头文件·包含源文件
FreakStudio10 小时前
把 Flask 搬进 ESP32,高中生自研嵌入式 Web 框架 MicroFlask !
python·单片机·嵌入式·cortex-m3·异步编程·电子diy
AnalogElectronic10 小时前
RP2040 pico 实验6,光敏电阻传感器模块(LM393 比较器版)
单片机
17(无规则自律)10 小时前
【Linux驱动实战】:字符设备之ioctl与mutex全解析
linux·c语言·驱动开发·嵌入式硬件
电子工程师成长日记-C5110 小时前
51单片机4乘4计算器
单片机·嵌入式硬件·51单片机
梅尔文.古10 小时前
ADCU-Ethernet-以太网在AUTOSAR与Linux架构下对比
arm开发·单片机·汽车
没有医保李先生11 小时前
esp32和stm32的工程宏定义
stm32·单片机·嵌入式硬件