flash

STM32硬件基础--QaudSPI总线读写片外FLASH(二) - 简书 (jianshu.com)

目录

基础信号线

配置4字节地址模式

  1.  使能 4字节模式

2. 更改 读、写(program)、擦除的命令字

3. 修改查询状态


基础信号线

    写状态寄存器对FLASH编程(写)、擦除时需要使能写。发出使能写指令后,需要查询该指令是否顺利完成了。

     N25Q有2个配置寄存器:Nonvolatile Configuration Register 和 Volatile Configuration Register,前者是非易失的,后者是易失的,这里派上了用场,我们的方式是修改易失的 Volatile Configuration Register(代码中,MCU每次上电都要做这个操作):先读出  Volatile Configuration Register 的值,设置 Dummy cycles,之后再写回 Volatile Configuration Register。

     目前的单板读写flash都不行了,初步判断通过 修改 Nonvolatile Configuration Register,将命令工作模式修改为 4字节地址生效了,导致原先的命令都不能使用了。或者说将命令改为4字节的后,flash还没有配置成4字节模式,导致所有的读写接口都不能正确响应。

  

 以上是flash侧的信号线。

对于片选S# ,控制器侧的控制描述:

也就是每次操作前,设置控制器的从选寄存器就可以使得 S#为低。

配置4字节地址模式

  以 MT25QU01GBBB  为例,说明配置 4字节地址模式时主要修改的几个接口。

  1.  使能 4字节模式

  有两个命令使能4字节的模式,一个是非易失的,一个为配置后重启丢失的。

  在实战过程中,由于boot中的相关驱动代码还是采用3字节地址的形式,因而如果仅仅在版本中通过nonvolatile 配置成4字节的,则会导致重启后boot不能正常访问。

2. 更改 读、写(program)、擦除的命令字

更改封装这些命令的函数,将其命令字修改为4字节模式的。同时,在发送命令时,携带的地址也由3字节修改为4字节。

3. 修改查询状态

      在写(program)后,通常需要查询flag status 寄存器的bit 7位,当位1即ready时,则开始进行下一组数据的写入。而这种检查,如果比较整个寄存器,由于此时已经位4 字节地址模式,因而最低一位bit 0位1,就导致校验不过。故而需要进行修改。 

VBS基础篇 vbscript Sendkeys模拟键盘操作_vbs_脚本之家 (jb51.net)

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

proware

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值