单片机/MCU论坛
直播中

最强海贼王

9年用户 1456经验值
擅长:MEMS/传感技术
私信 关注

如何在PSOC 6中初始化QSPI?

我正在使用 QSPI 进行外部闪存读/写。 我打电话
结果 = cy_serial_flash_qspi_init ( sfdp_slaveslot_1_config、CYBSP_QSPI_D0、CYBSP_QSPI_D2、CYBSP_QSPI_D3、NC、NC、CYBSP_QSPI_SCK、CYBSP_QSPI_SCK、CYBSP_QSPI_SS、QSPI_SS、NC、CYBSP_QSPI_SCK、QSPI_SS、QSPI_SS、SPI_BUS_FREQUENCY_HZ);


要初始化 QSPI,看起来它调用了巨大的代码进行初始化,但失败了:
const cyhal_resource_pin_mapping_t *sclk_map = _CYHAL_UtiLS_GET_RESOURCE (cfg-gpios.sclk,> cyhal_pin_map_smif_smif_spi_clk);
/* 没有 sclk 引脚就无法工作 */ if (NULL == sclk_map) if ((CY_RSLT_SUCCESS == 结果) (false == obj-dc_configured) #endif i
f (CY_RSLT_SUCCESS == 结果)
{
result = CYHAL_QSPI_RSLT_ERR_PIN;
}
     >
{
result = _cyhal_qspi_check_pin_and_reserve(sclk_map, CYHAL_PIN_MAP_DRIVE_MODE_SMIF_SPI_CLK);
}


在函数中
static cy_rslt_t _cyhal_qspi_init_common(cyhal_qspi_t *obj,const cyhal_qspi_cfigurator_t *cfg,uint32_t hz)
我查看了 " MTB CAT1 外围设备驱动程序库中的文档。"初始化不会那么复杂,对吧?
我的配置有什么问题? 在此先感谢。

回帖(1)

张超

2024-1-26 17:06:23
法初始化 QSPI,可能是由于以下原因之一:

1. QSPI 引脚映射错误:确保将正确的引脚映射到 QSPI 初始化函数中。根据您的代码片段,检查 `CYBSP_QSPI_D0`、`CYBSP_QSPI_D2`、`CYBSP_QSPI_D3`、`NC`、`CYBSP_QSPI_SCK`、`CYBSP_QSPI_SS` 是否与正确的引脚映射。

2. QSPI 配置错误:确保使用了正确的配置参数。根据您的代码片段,检查 `sfdp_slaveslot_1_config` 和 `SPI_BUS_FREQUENCY_HZ` 是否正确。

3. QSPI 必需的资源不可用:检查您的设备上是否有足够的资源来初始化 QSPI。如果没有足够的资源,初始化过程将失败。

4. QSPI 外部闪存配置错误:确保您的外部闪存与 QSPI 初始化函数配置相匹配。请参考外部闪存的数据手册和数据表,确保所有参数正确设置。


举报

更多回帖

发帖
×
20
完善资料,
赚取积分