开始前适用开发板:ESP32-P4 + ESP32-C5 · 开发框架:ESP-IDF
硬件介绍:ESP32P4-C5开发板介绍
组件注册库:components.espressif.com · 命名空间kevincoooool
本开发板核心驱动已发布到乐鑫 ESP 组件注册库,无需下载完整百度网盘例程包也可在空白工程中引用 BSP(完整 108 例程仍须淘宝客服发放)。
一、已发布在线组件
| 组件名 | 功能 |
|---|---|
kevincoooool/ksdiy_p4c5_bsp | 核心 BSP:LVGL 9 + ST7102 MIPI + ST7123 触摸 + AXP2101 |
kevincoooool/esp_lcd_st7102 | ST7102 面板底层驱动 |
kevincoooool/pmic_axp2101 | AXP2101 电源管理 |
kevincoooool/ksdiy_p4c5_audio | ES7210 + ES8311 + I2S TDM |
kevincoooool/ksdiy_csi_camera | MIPI CSI(SC2336) |
kevincoooool/ksdiy_esp_camera_uvc | USB UVC 兼容 esp_camera API |
kevincoooool/ksdiy_usb_uvc_qr | USB UVC + 二维码 |
kevincoooool/ksdiy_cellular_modem | 4G Cat.1 PPP 拨号 |
kevincoooool/ksdiy_usb_demo_ui | USB 演示触摸 UI |
kevincoooool/ksdiy_skainet_board | SkaiNet 语音板级适配 |
kevincoooool/ksdiy_skainet_ui | SkaiNet 测试 UI |
kevincoooool/ksdiy_espdl_input | ESP-DL 推理输入层 |
kevincoooool/ksdiy_brand | 品牌共享宏 |
二、依赖架构
你的 ESP-IDF 工程
main/idf_component.yml → 自动下载 managed_components/
↓
ksdiy_p4c5_bsp(核心入口:屏幕+触摸+电源)
├── esp_lcd_st7102
└── pmic_axp2101
可选并行依赖:
ksdiy_p4c5_audio / ksdiy_csi_camera / ksdiy_esp_camera_uvc …
大多数例程只需依赖 ksdiy_p4c5_bsp 即可获得完整 LVGL 显示能力。
三、最小显示工程
1. 创建工程
idf.py create-project my_p4_app
cd my_p4_app
idf.py set-target esp32p4
2. 声明依赖
编辑 main/idf_component.yml:
dependencies:
idf: ">=5.5"
kevincoooool/ksdiy_p4c5_bsp: "^1.0.5"
3. 应用代码示例
#include "nvs_flash.h"
#include "ksdiy_lvgl_port.h"
#include "lvgl.h"
void app_main(void)
{
nvs_flash_init();
ksdiy_lvgl_port_init();
if (ksdiy_lvgl_lock(100)) {
lv_obj_t *label = lv_label_create(lv_scr_act());
lv_label_set_text(label, "Hello from online BSP!");
lv_obj_center(label);
ksdiy_lvgl_unlock();
}
}
4. 编译烧录
idf.py build flash monitor
首次 build 需联网,组件下载到 managed_components/。
四、添加音频能力
在 idf_component.yml 中追加:
kevincoooool/ksdiy_p4c5_audio: "^1.0.0"
初始化(需 I2C 总线句柄,通常由 BSP 提供):
Codec_I2S_init(touch_i2c_bus_, I2C_NUM_0);
完整用法参考例程 02.beginner.i2s_codec。
五、离线开发
若无法联网,可在工程 CMakeLists.txt 中设置:
set(EXTRA_COMPONENT_DIRS
"path/to/P4_C5_4.3_Firmware/components"
"path/to/P4_C5_4.3_Firmware/components_audio"
)
指向本地解压后的例程包内 components/ 目录(例程包由淘宝客服 百度网盘 发放)。
六、版本与 IDF 要求
| 项目 | 要求 |
|---|---|
| ESP-IDF | >= 5.5(推荐 5.5.3) |
| 目标芯片 | esp32p4 |
| 网络 | 首次 build 需访问 Component Registry |
组件版本号以 注册库页面 为准,^1.0.5 表示兼容 1.0.x 最新版。
酷世DIY · Kevincoooool