描述
编程以并行模式连接的一对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运算)。
没有回复内容