我的问题与STM32F7上的QSPI接口有关。
关于如何在STM32板上编程地通过QSPI与不同的NOR闪存进行交互的示例可以在这里找到:https://github.com/STMicroelectronics/stm32-external-loader/tree/contrib/QSPI_Drivers
所以我的问题是,如何配置虚拟周期?我有点困惑,因为在DummyCycles接口中有一个名为“QSPI_CommandTypeDef”的成员:
通常情况下,通过QSPI在STM32上的交互看起来是: QSPI_CommandTypeDef sCommand;
if (QSPI_WriteEnable() != HAL_OK)
{
return HAL_ERROR;
}
/* Some command --------------------------------- */
sCommand.Instruction = 0x9E; //READ_ID
...
sCommand.DummyCycles = 0; // dummy cycles defined via the STM32 interface
if (HAL_QSPI_Command(&hqspi, &sCommand, HAL_QPSI_TIMEOUT_DEFAULT_VALUE) != HAL_OK)
{
return HAL_ERROR;
}这些是通过STM32接口定义的虚拟周期。另一方面,在每一个或闪存数据表中,如:https://www.gigadevice.com/flash-memory/gd25b512me-2/
虚拟循环通过以下方式定义:


如何设置像gd25b512me这样的NOR闪存的虚拟周期?还是仅仅这样做就足够了(对于命令0x9E)
sCommand.DummyCycles = 8;发布于 2022-03-06 17:01:39
在gd25b512me的情况下,这就足够了
sCommand.DummyCycles = 6;因为gd25b512me的默认虚拟周期数是6。
STM32接口必须与已使用的NOR闪存配置同步。
https://stackoverflow.com/questions/71335022
复制相似问题