Zynq-PS QSPI驱动程序从线性模式切换到I / O模式问题

描述

编程以并行模式连接的一对QSPI闪存ROM时,可能会出现以下问题。


当使用函数XQspiPs_SetOptions()(在文件xqspips_options.c中)在线性模式和I / O模式之间切换时,XQSPIPS_LQSPI_MODE_OPTION会覆盖先前由XQspiPs_LinearInit()选择的模式设置(“堆叠”或“并行”)。

使用XQSPIPS_CR_RST_STATE简单地初始化寄存器XQSPIPS_LQSPI_CR。

使用SetOptions切换到线性模式时,写入的复位值具有有效的线性模式设置。

一旦I / O发生线性切换,您需要选择总线配置,读取类型等。

切换到线性模式后,也可以使用set_lqspiconfig API来选择这些设置。


LinearInit是最近添加的低级API(它不使用实例指针,而是直接使用基址)

此API根据CONNECTION_MODE(即硬件连接)进行堆叠/并行选择。

这是为了使事情变得更容易。


理想情况下,您应该提供有关要使用的闪存配置的信息,并且驱动程序应该设置它。

SetOptions和SetLqspiConfig的目标是通用的。


注意:如果需要,还有其他方法可以保留现有的LQSPI设置( 例如, 通过对复位值进行 OR运算)。

编辑 重设标签(回车键确认) 标为违禁 关闭 合并 删除

提问于 2018-07-30 22:07:35 +0800

这个帖子被标记为一个社区wiki

这个帖子是一个wiki(维基). 任何一个积分 >500的人都可以完善它