532791928@qq 发表于 2018-6-15 13:58:50

RT1052驱动镁光QSPI Flash的疑问

各位大神:
   各位大神,有使用过镁光的QSPI Flash的么?我使用的型号为MT25QU256ABA8ESF,驱动过程中发现配置Quad Mode一直不成功!
   此芯片有两种方式配置进入Quad mode,一种是写non-volatile register,另一种是写enhance volatile register。
   我使用第一种写non-volatile register后,发现所有对flash的操作都无法正确了,即使读取flash ID也不成功,然后non-volatile register是掉电不丢失的,写了3块板子情况都是这样,没写寄存器前,读取flash ID什么的都是正常的(单线方式),写完之后发现,不管使用单线,2线,4线模式,都无法正常了,写个寄存器能写废掉flash芯片?不至于吧。
      接下来不敢写non-volatile register了,使用第二种方式,写enhance volatile register,这个是掉电就丢失的,不用担心写错,但是写的过程中发现写完后读取发现值没变,且状态寄存器中所有位都为1了(正确的话应该为0),写寄存器的操作都是:使能写操作 -- 写寄存器 --判定是否busy位自动清除。测试程序使用的就是RT1050官方提供的nor flash例程,只是按照flash手册修改了LUT表而已。
       跪求大神解释!

      另一个问题就是突然想到的关于使用nxp发布的关于使用flashloader工具配置寄存器的,官方提供了
       program_flexspinor_image_qspinor_status_reg1_bit6.bd
       program_flexspinor_image_qspinor_status_reg2_bit1.bd
       program_flexspinor_image_qspinor_status_reg2_bit7.bd
      。。。等等配置flash的,在配置进入quad mode中也就如下这些
    # bit Quad Mode Entry Setting
    #             0 - Not Configured, apply to devices:
    #               - With Quad Mode enabled by default or
    #               - Compliant with JESD216A/B or later revision
    #             1 - Set bit 6 in Status Register 1
    #             2 - Set bit 1 in Status Register 2
    #             3 - Set bit 7 in Status Register 2
    #             4 - Set bit 1 in Status Register 2 by 0x31 command


    这些真能覆盖所有型号flash么?之前调试过ISSI的flash,进入quad mode是写状态寄存器,写值0x40 (reg1_bit6),默认为值0,
现在我使用镁光这个flash芯片,是在enhance volatile register,第7bit ,写值为0x7f(默认bit位值为1),是否说配置的时候使用program_flexspinor_image_qspinor_status_reg2_bit7.bd就好?确定不会将其他位写0了?求大神指点,谢谢!

eric2013 发表于 2018-6-16 01:13:28

帮顶下

Henjay724 发表于 2018-12-1 09:15:36

可以试试这个:https://github.com/JayHeng/nxp-sec-boot-ui,希望你们喜欢

luckycrystal 发表于 2021-11-30 07:48:47

请问您之后是怎么解决的?我也遇到这个问题了

luckycrystal 发表于 2021-11-30 08:16:21

请问您之后解决了吗?怎么解决的?我也遇到同样的问题
页: [1]
查看完整版本: RT1052驱动镁光QSPI Flash的疑问