ESP32-P4
ESP32-P4 芯片启动条件
ESP32-P4 芯片的工作电压范围为
3.0 V ~ 3.6 V;使用单电源供电时,建议供给 ESP32-P4 系列芯片的电源电压为3.3 V,供给 ESP32-P4 芯片的基本供电电流至少为 380 mA(含 Flash 和 PSRAM)。更多电源设计说明参见: ESP32-P4 电源设计要点ESP32-P4 的 CHIP_PU(EN) 管脚为芯片启动管脚。当 CHIP_PU(EN) 为高电平时,芯片使能;为低电平时,芯片关闭。注意:不能让 CHIP_PU 管脚浮空。当 ESP32-P4 使用 3.3V 系统电源供电时,CHIP_PU(EN) 管脚必须为高电平。
硬件接线
使用 ESP32-P4 芯片进行固件下载,用户需要设计自己的 PCB 板并预留固件下载的测试点,然后按照芯片进入下载模式的要求进行接线。
ESP32-P4 支持 UART0 和 USB 下载方案。芯片进入 Joint Download 模式时的 Strapping 管脚要求如下:
当基于 ESP32-P4 的
UART0下载固件时,用户需要准备:3.3V 供电电源
串口调试工具
杜邦线
使用
UART0管脚下载固件时,需要满足以下接线条件,以满足芯片供电、上电启动,进入下载模式的硬件要求。ESP32-P4
3.3V 外部电源
串口调试工具
3V3
VDD
GND
GND
GND
EN
VDD
GPIO35(拉低,默认是 弱上拉)
GND
GPIO36(拉高,默认是 浮空)
VDD
TXD0(GPIO37)
RXD
RXD0(GPIO38)
TXD
当基于 ESP32-P4 的
USB下载固件时,用户需要准备:3.3V 供电电源
USB 线
杜邦线
ESP32-P4 有 3 个 USB 控制器、共 6 个 USB 信号脚。默认情况下 USB 管脚对照如下:
控制器
默认 D-
默认 D+
速率
典型用途
USB 串口/JTAG
GPIO24
GPIO25
FS 12 Mbps
烧录、CDC 串口、JTAG
USB 2.0 全速 OTG
GPIO26
GPIO27
FS 12 Mbps
USB 设备/主机应用(不支持固件下载)
USB 2.0 高速 OTG
USB_DM
USB_DP
HS 480 Mbps
高速 Device/Host: 下载时仅以全速烧录
备注
芯片内部有两个全速 PHY ,默认情况下:
GPIO24 & GPIO25 对应为 FS_PHY1 接 USB 串口/JTAG , 支持固件下载;
GPIO26 & GPIO27 对应为 FS_PHY2 接 USB 2.0 全速 OTG , 不支持固件下载。
若必须用 GPIO26 & GPIO27 这组管脚做固件下载,需将芯片 eFuse bit EFUSE_USB_PHY_SEL 写为 1 , 对调两个全速 PHY,即将 GPIO26 & GPIO27 作为 USB 串口/JTAG 管脚进行固件下载。
espefuse.py -p COM* burn_efuse USB_PHY_SEL 1将 EFUSE_USB_PHY_SEL 写为 1 后,即:
GPIO26 & GPIO27 对应为 FS_PHY1 接 USB 串口/JTAG , 支持固件下载;
GPIO24 & GPIO25 对应为 FS_PHY2 接 USB 2.0 全速 OTG, 不支持固件下载。
同时使用 USB 串口/JTAG 和 USB 2.0 全速 OTG 时,两组 GPIO 必须分开占用。
使用 USB 串口/JTAG 下载固件时,默认接
GPIO24与GPIO25。需要满足以下接线条件,以满足芯片供电、上电启动,进入下载模式的硬件要求。
ESP32-P4
3.3V 外部电源
USB 线
3V3
VDD
GND
GND
GND
EN
VDD
GPIO35(拉低,默认是 弱上拉)
GND
GPIO36(拉高,默认是 浮空)
VDD
GPIO24(可选 GPIO26)
USB_D-(白色)
GPIO25(可选 GPIO27)
USB_D+(绿色)
若必须用 GPIO26 与 GPIO27 这组管脚下载固件,可通过将芯片 eFuse bit EFUSE_USB_PHY_SEL 写为 1 , 对调两个全速 PHY,即将 GPIO26 & GPIO27 作为 USB 串口/JTAG 管脚进行固件下载。
espefuse.py -p COM* burn_efuse USB_PHY_SEL 1将 EFUSE_USB_PHY_SEL 写为 1 后,即:
GPIO26 & GPIO27 对应为 FS_PHY1 接 USB 串口/JTAG , 支持固件下载;
GPIO24 & GPIO25 对应为 FS_PHY2 接 USB 2.0 全速 OTG, 不支持固件下载。
芯片 USB efuse bit 说明:
![]()
DIS_USB_JTAG : 为 1 时,禁用 USB 串口/JTAG 控制器。即 USB 串口/JTAG 调试功能不可用。
USB_PHY_SEL : 为 1 时,对调两个全速 PHY,即将 GPIO26 & GPIO27 对应为 FS_PHY1 接 USB 串口/JTAG ;将 GPIO24 & GPIO25 对应为 FS_PHY2 接 USB 2.0 全速 OTG 。
DIS_USB_OTG_DOWNLOAD_MODE : 为 1 时,禁用 USB 2.0 高速 OTG 管脚(
USB_DM/USB_DP)用于固件下载。DIS_USB_SERIAL_JTAG_ROM_PRINT : 为 1 时,禁用 USB 串口/JTAG 控制器用于 ROM Code 日志打印。
DIS_USB_SERIAL_JTAG_DOWNLOAD_MODE : 为 1 时,禁用 USB 串口/JTAG 控制器用于固件下载。
USB_DEVICE_EXCHG_PINS : 为 1 时,对调 USB 串口/JTAG 控制器的 D+ 和 D- 管脚。
USB_OTG11_EXCHG_PINS : 为 1 时,对调 USB 2.0 全速 OTG 控制器的 D+ 和 D- 管脚。
使用
USB 2.0 高速 OTG下载固件时,必须接专用USB_DM/USB_DP管脚。需要满足以下接线条件,以满足芯片供电、上电启动,进入下载模式的硬件要求。
ESP32-P4
3.3V 外部电源
USB 线
3V3
VDD
GND
GND
GND
EN
VDD
GPIO35(拉低,默认是 弱上拉)
GND
GPIO36(拉高,默认是 浮空)
VDD
USB_DM
USB_D-(白色)
USB_DP
USB_D+(绿色)
备注
USB_DM/USB_DP是由VDD_USBPHY供电的专用 USB 脚,不能改接到 GPIO24~27。可用 ESP-IDF 的
idf.py dfu/idf.py dfu-flash做 DFU 烧录;每次 DFU 必须手动进下载模式。使能安全启动或 Flash 加密后,ROM 中的 USB-OTG 协议栈会被关闭,该口无法再通过模拟串口或 DFU 更新。
当使用 ESP32-P4X-Function-EV-Board 进行测试时,可以直接使用 USB Type-C 线,连接开发板上的 USB-UART 接口直接下载固件。若首次使用 USB 接口下载固件时,需手动拉低 GPIO35 管脚,即按住 Boot 按键再进行上电,以手动进入下载模式。
芯片上电启动日志
ESP32-P4 芯片上电后,可通过 PC 端串口调试软件(例如 XCOM )查看芯片上电时的 UART0 串口输出,确认芯片是否进入 下载模式 。若芯片上电进入下载模式, UART0 将打印如下日志:
ESP-ROM:esp32p4-eco1-20240205 Build:Feb 5 2024 rst:0x1 (POWERON),boot:0x107 (DOWNLOAD(USB/UART0/SPI)) waiting for download![]()
备注
ESP32-P4 芯片上电后,若没看到日志打印,可拉低再拉高 CHIP_PU(EN) 管脚进行硬件复位重启来触发日志打印。
另外,也可以通过查看芯片上电启动日志来判断 Strapping 管脚在上电时的电平状态,详细说明参见: ESP32-P4 Boot Log 说明。
软件上,乐鑫提供了 PC 上位机 Flash 下载工具,可直接下载固件(.bin)到 Flash 中。使用说明参见 Flash 下载工具用户指南。
固件下载完成后,如果要运行烧录的固件,可以在上述硬件接线基础上拉高 GPIO35 (默认为 高电平) ,然后拉低再拉高 CHIP_PU(EN) 管脚进行硬件复位重启,使芯片重新进入 Flash 启动模式。最后,使用串口调试软件查看 UART0 日志打印,可检查固件运行状态。