你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
深谷幽泉 发表于 2017-6-4 19:56 / |0 M7 d- n: r8 T1 _我比较感兴趣的是FLASH不擦除直接写一个字节进去是怎么实现的
adlu 发表于 2017-6-5 09:01 / ~. ~, j- D* K* N( F; |4 S2 gFLASH的操作特性是先擦除后写入。6 M' l3 E2 r6 F, t6 M0 J 写操作可以将1bit改写成0bit,要将0bit改写成1bit只能用擦除操作。
意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。关注该话题即可发布文章!
FLASH的操作特性是先擦除后写入。* [' X P1 M% J0 \! l. K, I* V- h
写操作可以将1bit改写成0bit,要将0bit改写成1bit只能用擦除操作。
如果想要实现按字节写FLASH,需要4个步骤:读->改->擦->写。
先读取整个扇区到缓存,4 ~ P [( n* k4 u% ?
修改缓存对应的位置数据,
然后擦除整个扇区,1 B8 K; m' ?& P% Y v. y
最后在把缓存数据写入扇区。
可以参考正点原子教程中关于FLASH读写的相关章节。
哈哈,居然是你回复我,刚才突然发现;
其实我不是问FLASH操作流程,我是看到你提到可以解锁FLASH,然后写一个字节到FLASH,中间没有擦除过程,觉得这个可以简化FLASH操作流程,并且节约了擦FLASH耗费的时间,所以想了解下是怎么实现的,以前还真没这么干过。1 D8 k+ R! w; `8 \9 Y1 J4 g& y
后来去百度了下,已经知道是怎么回事了,这样处理在某些场合可以用。