STM32F103ZE 内部flash 读写

首先要了解自己的开发板内部flash容量以及地址

这里103ZE系列的内部flash是512K 属于大容量内存产品

这里贴一张内存对应地址映射的图

 可以看到这里有几个比较重要的寄存器,我们稍后会讲到

这里先提供一个简单的流程图 方便大家理解

 首先我们要做的便是解锁,我们从闪存编程参考手册中可以得到键值 也就是第一步所说要写入的特定的序列

解锁

实际上st提供底层驱动 也帮我们封装好了

这里直接使用库函数进行解锁

数据擦除

 解锁之后,就是删除所在page的内容 我们也可以直接调用封装好的库函数

 这里需要注意一点,因为我们每次都是半字写入 也就是以两个字节为单位,所以我们的Page_Address 需要是2的倍数 否则可能会出现未知的错误

数据写入

 然后照着这个思路我们就开始往flash当中写入数据了

这里我使用的是正点原子提供的函数

 原理也非常简单 可以实现多字节写入

上锁

上锁也非常简单,直接调用官方提供的函数进行操作即可

 以上就是写操作的全部内容了,原理很简单

然后就是flash的读操作了

读操作

读操作想较于写操作更加的简单,只要直接读取相应的地址进行取值即可 如下是官方的提示

 这里通用的 和写操作一样 我们使用一个函数进行多字节的读取

 

小结

OK 以上就是全部内容,上面只是很简单的一部分操作,可以完成最基本的读写,在了解原理以后可以 自己动手实现 翻页读写处理,写保护和读保护

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值