我遇到了同样的问题,搜索把我带到了这里
下面这个链接确认了问题,v4.4已经修订了 components/esp_phy里的Kconfig文件
但子模块 components/esp_phy/lib/esp32s3里的两个文件忘记了更新commit号,因此,v4.4发布时,这个子模块的两个.a文件是旧的
https://github.com/espressif/esp-idf/issues/7998
在新版本发布之前,暂时可以手动更新一下子模块
Code: Select all
cd %IDF_PATH%/components/esp_phy/lib
git checkout master
然后,需要通过menuconfig开启下面这2个设置,就会修复这个问题
1. Component config -> ESP System Settings -> Channel for console output
选择 USB Serial/JTAG Controller
2. Component config -> PHY -> Enable USB when phy init
选中该项。
之所以需要这样开启2个选项,是因为v4.4的Kconfig文件有个小问题,参见这个https://github.com/espressif/esp-idf/issues/8241
关键性的ESP_PHY_ENABLE_USB在Kconfig里依赖 USB_OTG_SUPPORTED 或 ESP_CONSOLE_USB_SERIAL_JTAG;但USB_OTG_SUPPORTED是一个v5.0才会实现的功能,v4.4里并不存在。所以,开启ESP_CONSOLE_USB_SERIAL_JTAG是最简单的办法;另一个办法issue-8241里提到的,修订components/esp_phy/Kconfig文件,把依赖项改成 depends on IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32S3 || ESP_CONSOLE_USB_SERIAL_JTAG
然后重新编译 即可