STMCU小助手
发布时间:2022-5-4 23:00
|
一、Flash基本知识 1. Flash容量 Flash根据容量大小可以分为以下三种: 1、小容量产品:Flash大小为1-32KB(STM32F10X_LD) 2、中容量产品:Flash大小为64-128KB(STM32F10X_MD) 3、大容量产品:Flash大小为256KB以上(STM32F10X_HD) 2. ST库函数 ST库中对Flash操作主要提供了以下几类操作API函数: 2.1 Flash解锁、锁定函数
2.2 Flash写操作函数
注:这里需要说明,32 位字节写入实际上是写入的两次 16 位数据,写完第一次后地址+2,这与我们前面讲解的 STM32 闪存的编程每次必须写入 16 位并不矛盾。写入 8位实际也是占用的两个地址了,跟写入 16 位基本上没啥区别。 2.3 Flash擦除函数
2.4 获取Flash状态
获取Flash状态函数,主要是为了获取Flash的状态,以便于根据状态对Flash进行操作。该函数返回值是通过枚举类型定义的,在代码中可以看到FLASH_Status类型定义如下(具体含义看注释即可):
2.5 等待操作完成函数
注:在执行闪存写操作时,任何对闪存的读操作都会锁住总线,在写操作完成后读操作才能正确地进行;既在进行写或擦除操作时,不能进行代码或数据的读取操作。所以在每次操作之前,我们都要等待上一次操作完成这次操作才能开始。 二、Flash的写入和读取 此次操作Flash使用的MCU是STM32F103C8T6,在数据手册中,可以看到STM32F103C8T6的flash起始地址是0x0800 0000,而STM32F103C8T6的Flash大小为64K,可以计算出STM32F103C8T6的Flash地址范围是:0x0800 0000——0x0800 FFFF。这里选取0x0800 F000作为读写操作的起始地址,对于C8T6这款MCU,操作这个起始地址应该算是很安全的范围了。 1.Flash的写入 根据ST库提供的上述函数,我们可以自己编写Flash的写入操作代码如下:
2.Flash的读取 根据ST库提供的上述函数,我们可以自己编写Flash的读取操作代码如下:
|
TFT LCD 与 FSMC 的硬件连接大容量 STM32F10xxx FSMC 接口
单片机:初学者该了解的STM32F103基础知识
OpenBLT移植到STM32F103战舰开发板上适用于所有STM32F103系列的Bootloader
2025软件工具兔哥知道
STM32之继电器模块
STM32固件库分享,超全系列整理
【MCU实战经验】基于STM32F103的二轮平衡车(6轴上位机 源代...
10张图带你完全掌握STM32 GPIO,从入门到精通,收藏就够了!
如果你解决了这些问题,就可以直接学STM32
STM32的分类和选型
微信公众号
手机版