STM32-FLASH 11

FLASH简介

FLASH前置

  • 常见16进制对应大小 0x400 1kb

FLASH定义: FLASH包括程序存储器,系统存储器,选项字节,通过闪存存储器接口(外设)可对程序存储器和选项字节进行擦除和编程

FLASH:

  • FLASH组成 0x0800 0000 程序存储器flash 用于存储c语言代码 解锁后可读可写 0x1FFF F000 系统存储器 用于存储BootLoader 、芯片电子签名,用于串口下载 只读 0x1FFF F800 选项字节

  • 读写FLASH的用途 利用程序存储器的剩余空间保存需要掉电不丢失的用户参数 通过在程序中编程(IAP),实现自我更新

  • 程序存储器flash 最小单元:页,stm32f103c8t6为中容量产品,总共64页,每页大小1k,总量64k

程序复位后,默认处于写保护状态

写入之前需解除写保护,写入结束后需重新上锁 写入前必须先擦除 写入以半字形式写入

擦除必须以最小单位进行 擦除后数据位全变为1 数据只能1变0,不能0变1

擦除与写入之后都得等待忙

FLASH函数

程序存储器flash解锁函数:

  • 函数使用 函数:FLASH_Unlock 无参无返回值

  • 函数调用示例

复制代码
FLASH_Unlock();

程序存储器flash全擦除函数:

  • 函数使用 函数:FLASH_EraseAllPages 入参:无 返回值:擦除情况

  • 函数调用示例

复制代码
FLASH_EraseAllPages();

程序存储器flash页擦除函数:

  • 函数使用 函数:FLASH_ErasePage 入参:页起始地址 返回值:擦除情况

  • 函数调用示例

复制代码
FLASH_ErasePage(0x08000400);

程序存储器半字写入函数:

  • 函数使用 函数:FLASH_ProgramHalfWord 入参:写入页地址 半字数据 返回值:写入除情况

  • 函数调用示例

复制代码
FLASH_ProgramHalfWord(0x08000400, 0x1234);

程序存储器字写入函数:

  • 函数使用 函数:FLASH_ProgramWord 入参:写入页地址 字数据 返回值:写入除情况

  • 函数调用示例

复制代码
FLASH_ProgramWord(0x08000400, 0x12345678);

程序存储器flash上锁函数:

  • 函数使用 函数:FLASH_Lock 无参无返回值
  • 函数调用示例
复制代码
FLASH_Lock();                   

程序存储器flash标志位:

FLASH模块函数

相关推荐
路上有只喵6 分钟前
认识元器件 · 单片机(MCU/MPU/SOC) · 实战篇1
单片机·嵌入式硬件
芯岭技术郦16 分钟前
XL4460 FSK 无线透传模组
stm32·单片机·嵌入式硬件
天空'之城1 小时前
单片机基础核心知识点汇总(五十)
单片机·嵌入式硬件
硅基造物主1 小时前
STM32 从 0 到 1 做智能家居(十):串口与 printf 重定向
stm32·单片机·智能家居·usart·中断
新晨单片机设计4 小时前
S033A-基于STM32单片机拼图游戏机【Proteus仿真+Keil程序+原理图】
stm32·单片机·嵌入式硬件·拼图游戏机
2501_922639584 小时前
率能半导体 SS6811H双通道H桥驱动芯片:38V/1.6A,覆盖舞台灯光、安防相机、办公自动化、游戏机、机器人五大应用场景
单片机·嵌入式硬件·硬件工程
comyccccc7 小时前
STM32F407VET6核心板的部分电路绘制学习笔记
笔记·stm32·学习
OIDCAT7 小时前
CH9433技术解析:一颗芯片搞定CAN总线和9线串口
单片机·嵌入式硬件·工控·调试工具·国产芯片
简单电磁炮7 小时前
关于can的调试
c语言·stm32·单片机
2501_922639587 小时前
率能半导体 SS6812T双通道H桥驱动芯片:32V/1.0A,覆盖POS打印机、安防相机、办公自动化、游戏机、机器人五大应用场景
单片机·嵌入式硬件·硬件工程