STM32——FLASH(1)简单介绍、分类、读写流程及注意事项

文章目录

    • FLASH的特点
    • Nor flash和nand flash
    • flash的读写
      • flash 的存储单位
    • flash的读写过程

FLASH的特点

  1. 可擦写
  2. 数据可修改
  3. 可重写
  4. 访问速度

Nor flash和nand flash

Nor flash
1、与SDRAM相似,用户可以直接运行装载到NORFLASH里面的代码,减少SRAM的容量
2、其存储并联,可实现一次性直接寻址
3、带SRAM接口,有地址引脚
4、可进行10万次擦写
5、清除数据写1

nand flash

1、大容量,改写速度快
2、产品方向:相机、MP3、记忆卡、U盘
3、存储单元:分为块、页、byte、与硬盘的扇区相同
4、引脚用的IO口,8个引脚根据厂商不同定义而不同
5、清除数据写1
6、可进行100万次擦写

flash的读写

flash 的存储单位

flash 的存储单位是–区–块–扇–页–
F1的flash最小存储单位是页
F4的flash最小存储单位是扇
对于flash的数据,都支持1、2、4字节的写入

flash的读写过程

对于读取
用指针向对应的空间地址就可以直接取数据

data *(vu*)addr;

对于写入
过程:
1、禁止中断
2、flash解锁,禁止数据缓存
3、扇区擦除并检验
4、写入数据
5、开启数据缓存
6、打开中断

flash的读写具体过程网上很多,推荐一篇文章,比较详细:https://blog.csdn.net/qq_34430371/article/details/107093288,代码可以直接用
还有一篇介绍比较详细https://blog.csdn.net/qq_36075612/article/details/124087574?ops_request_misc=&request_id=&biz_id=102&utm_term=stm32flash%E8%AF%BB%E5%86%99%E7%A8%8B%E5%BA%8F&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduweb~default-1-124087574.142v99pc_search_result_base1&spm=1018.2226.3001.4187
这两篇都是非常好的文章值得大家学习。

注意事项
1、在擦写的过程中可以不用关闭中断,现在的单片机中有stall行为,可以看一下手册或者搜索,在擦除的过程中,是不会进行读取FLASH 操作的,简单来说擦写是互斥的。
2、当单片机中有2个以上的FLASH bank ,中断向量表在一个bank中,擦写其他bank的时候,中断响应是不受影响的。
3、flash写入的时候的限制条件:写入时的起始地址必须是4的倍数,必须在合法的写入地址内。
4、其他注意事项在下一篇:flash(2)中提及,可以看下篇文章。

你可能感兴趣的:(STM32单片机的开发,stm32,嵌入式硬件,单片机,学习,笔记,经验分享)