STM32-FLASH 11
FLASH简介FLASH前置常见16进制对应大小 0x400 1kbFLASH定义FLASH包括程序存储器系统存储器选项字节通过闪存存储器接口(外设)可对程序存储器和选项字节进行擦除和编程FLASHFLASH组成 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模块函数