OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 103|回复: 2

[XILINX] 领航者ZYNQ的vitis程序12_qspi_rw_test程序问题

[复制链接]

7

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
77
金钱
77
注册时间
2020-7-29
在线时间
11 小时
发表于 2025-11-14 22:32:21 | 显示全部楼层 |阅读模式
2金钱
程序中的函数FlashQuadEnable()函数,读了状态,把bit6写为1,如下
void FlashQuadEnable(XQspiPs *QspiPtr)
{
        u8 WriteEnableCmd = {WRITE_ENABLE_CMD};
        u8 ReadStatusCmd[] = {READ_STATUS_CMD, 0};
        u8 QuadEnableCmd[] = {WRITE_STATUS_CMD, 0};
        u8 FlashStatus[2];


        if (ReadBuffer[1] == 0x9D) {

                XQspiPs_PolledTransfer(QspiPtr, ReadStatusCmd,
                                        FlashStatus,
                                        sizeof(ReadStatusCmd));

                QuadEnableCmd[1] = FlashStatus[1] | 1 << 6;

                XQspiPs_PolledTransfer(QspiPtr, &WriteEnableCmd, NULL,
                                  sizeof(WriteEnableCmd));

                XQspiPs_PolledTransfer(QspiPtr, QuadEnableCmd, NULL,
                                        sizeof(QuadEnableCmd));
        }
}

阅读Q25Q256手册,看到status2的bit1是QE(quad enable),如下

所以源码是不是有问题?

回复

使用道具 举报

4

主题

2147

帖子

0

精华

资深版主

Rank: 8Rank: 8

积分
6042
金钱
6042
注册时间
2018-10-21
在线时间
1775 小时
发表于 4 天前 | 显示全部楼层
这个我倒没注意,不过xilinx官方代码也是这样写的
回复

使用道具 举报

1

主题

71

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1284
金钱
1284
注册时间
2021-3-25
在线时间
201 小时
发表于 4 天前 | 显示全部楼层
试了下1左移1位后再与FlashStatus[1]相或最终也是可以正常读写的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


关闭

原子哥极力推荐上一条 /1 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-11-22 11:12

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表