你的位置:首页 > 软件开发 > ASP.net > STM32_Flash做为存储器储存数据(基本概念)

STM32_Flash做为存储器储存数据(基本概念)

发布时间:2015-11-17 01:00:05
摘自:http://bbs.elecfans.com/jishu_388272_1_1.html 说到STM32的FLSAH,我们的第一反应是用来装程序的,实际上,STM32的片内FLASH不仅用来装程序,还用来装芯片配置、芯片ID、自举程序等等。当然, FLASH ...
摘自:http://bbs.elecfans.com/jishu_388272_1_1.html   键值  
1.检查FLASH_SR寄存器的BSY位。以确认没有其他正在进行的闪存操作。必须等待BSY位为0,才能继续操作。 1. 为什么每次都要检查BSY位是否为0? RDP       字节0。读保护字节,存储对主存储块的读保护设置。  
1.检查FLASH_SR寄存器的BSY位,以确认没有其他正在进行的闪存操作。  
1.检查FLASH_SR寄存器的BSY位,以确认没有其他正在进行的编程操作。  

    1.从主存储块启动的程序,可以对整个主存储块执行读操作,不允许对主存储块的前4KB进行擦除编程操作,可以对4KB之后的区域进行擦除编程操作。 

     我们知道,FPEC有两个寄存器存储了选项字节的映象。那么,选项字节本体(在FLASH中)与映象(在寄存器中)究竟有什么区别呢?  1.选项字节编程一节中: 从上面可以看出基本顺序是:解锁->清除标志位(可以不要)->擦除->写半字->清楚标志位(也可以不要)->上锁。其中FLASH_START_ADDR是宏定义的0x8000000+2048*255,0x8000000是Flash的起始地址,2048是因为我用的是大容量芯片,根据上一笔记Flash地址可以看出芯片每页容量2K,即2048字节,255表示芯片的最后一页,这个根据不同芯片而定。之所以从后面页写起可以防止储存数据破坏用户程序。addr*2是因为每个数据占用2字节(半字),虽然写入的是1字节数据,但是编程是2字节为单位,也就是说一个字节的数据也会占用两个字节地址。

原标题:STM32_Flash做为存储器储存数据(基本概念)

关键词:

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。

可能感兴趣文章

我的浏览记录