乐鑫技术交流
直播中

发生的方式

8年用户 1235经验值
擅长:处理器/DSP
私信 关注
[问答]

求助,关于ESP32-S3-WROOM-1模组外挂64Mflash驱动配置问题求解

ESP32-S3-WROOM-1模组
需要外挂64M的quad spi flash,硬件spi总线选择跟参考设计一致,选择如下一组gpio  spi0/1
SPIHD 30 I/O/T VDD_SPI SPIHD, GPIO27
SPIWP 31 I/O/T VDD_SPI SPIWP, GPIO28
SPICS0 32 I/O/T VDD_SPI SPICS0, GPIO29
SPICLK 33 I/O/T VDD_SPI SPICLK, GPIO30
SPIQ 34 I/O/T VDD_SPI SPIQ, GPIO31
SPID 35 I/O/T VDD_SPI SPID, GPIO32
根据芯片手册了解到,该组gpio跟内部ram共用的spi0/1总线,
软件应该怎么配置:
1跟普通配置spi2/3一样的配置spi总线初始化?
2spi总线号为spi1?
3menuconfig需要打开什么配置吗?
                                 

回帖(1)

贾大林

2024-6-14 16:18:36
ESP32-S3-WROOM-1模组要外挂64M的quad SPI flash,你需要按照以下步骤进行配置:

1. 首先,确保你的硬件连接正确。根据你提供的GPIO配置,你的硬件连接应该是这样的:

   - SPIHD (30)
   - SPIWP (31)
   - SPICS0 (32)
   - SPICLK (33)
   - SPIQ (34)
   - SPID (35)

2. 在软件配置方面,你需要进行以下操作:

   a. 配置SPI总线初始化:你可以选择与普通SPI2/3配置相同的方式进行SPI总线初始化。例如,使用`spi_bus_initialize`函数初始化SPI总线。

   b. 设置SPI总线号:由于你使用的是SPI0/1总线,所以你需要将SPI总线号设置为`HSPI_HOST`(即SPI1)。在ESP-IDF中,可以使用`spi_bus_add_device`函数将SPI设备添加到总线上,并设置总线号为`HSPI_HOST`。

   c. 配置GPIO:使用`gpio_config`函数配置GPIO引脚,将它们设置为SPI功能。例如:

     ```c
     gpio_config_t io_conf;
     io_conf.intr_type = GPIO_PIN_INTR_DISABLE;
     io_conf.mode = GPIO_MODE_OUTPUT;
     io_conf.pin_bit_mask = (1ULL<<30) | (1ULL<<31) | (1ULL<<32) | (1ULL<<33) | (1ULL<<34) | (1ULL<<35);
     io_conf.pull_down_en = 0;
     io_conf.pull_up_en = 0;
     gpio_config(&io_conf);
     ```

3. 在menuconfig中,你需要打开以下配置:

   a. 打开SPI支持:`Component config` > `SPI` > `Enable SPI driver`

   b. 打开SPI1支持:`Component config` > `SPI` > `Enable SPI1`

   c. 打开SPI flash支持:`Component config` > `SPI` > `Enable SPI flash`

4. 在你的应用程序中,使用SPI接口与flash进行通信。例如,使用`spi_device_transmit`函数进行数据传输。

通过以上步骤,你应该可以成功地配置ESP32-S3-WROOM-1模组外挂64M的quad SPI flash。
举报

更多回帖

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