本次所使用的开发板是FireBeetle 2 ESP32 P4,是一款基于ESP32-P4R32芯片设计的高性能微控制器(MCU)开发板,支持单精度FPU和 AI指令扩展,具有强大的AI处理能力。同时,开发板也拥有强大的图像处理能力,最高支持1080p@30fps图像采集和显示。开发板集成了ESP32-C6模组,扩展了WiFi和蓝牙功能。
开发板具有以下特性:
双核RISC-V 360MHz + 单核RISC-V 40MHz处理器,提供强劲的计算能力
支持单精度 FPU 和 AI 扩展,具有强大的边缘AI能力
768KB L2MEM + 32MB PSRAM + 16MB FLASH,为数据、指令、代码提供高性能、大容量的存储
板载MIPI-DSI接口,最高支持720p@88fps 或 1080p@30fps图像显示
板载MIPI-CSI接口,最高支持720p@88fps 或 1080p@30fps图像采集
集成ESP32-C6模组,支持WiFi6、Bluetooth 5通讯
集成丰富易用的扩展接口:USB OTG 2.0高速、MIC、TF卡槽
整体参数是非常强大的,芯片具有360MHZ的主频,32MB的PSRAM等等,但是没有蓝牙、WIFI,需要外挂一个ESP32-C6。


开发环境
开发环境是在win系统上面,VS Code + ESP-IDF插件完成的。

在VS Code中集成了编译、烧录、打印等等功能,使用还是非常方便的,就是清除后全量编译速度有点慢,不知道是不是我电脑性能不太行。
在验证开发环境的时候踩了一个坑。提示如下信息:
A fatal error occurred: 'bootloader/bootloader.bin' requires chip revision in range [v3.1 - v3.99] (this chip is revision v1.3). Use the force argument to flash anyway.
信息还是很直观的,编译生成的 bootloader.bin 是为 ESP32-P4 v3.1 及以上版本 准备的,而手中的 FireBeetle 2 上的芯片是 ESP32-P4 v1.3,版本不匹配。
为什么还会出现硬件版本不匹配的情况?
于是查阅了ESP32-P4的时间节点:
时间节点关键进展
| 2023年9月 | 官方首次公布 ESP32-P4 (RISC-V架构) |
| 2023年12月 | 芯片完成流片,开启客户登记 |
| 2025年中旬 | 第三方核心板与开发板陆续上市 |
| 2026年上半年 | 官方正式发布性能更强的 v3.x 版本 |
v3版本的硬件是今年上半年推出的,看内容还是更新了很多内容,具体的差异见:
那应该修改下配置文件就行了,需要注意的时候CPU主频也得修改,硬件v3版本的是支持400MHz的,而手上的当前芯片版本为“revision v1.0”,主频配置为360MHz。




点灯测试
创建一个空的ESP32-P4的项目工程文件夹
开发板上使用的是GPIO3作为一颗用户的LED,刚好用来测试环境和开发板搭建的有无问题


初始化LED,然后就在while(1)中不断的翻转闪烁了
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
void LED_Init(void)
{
gpio_config_t gpio_conf = {0};
gpio_conf.pin_bit_mask = 1ull << GPIO_NUM_3;
gpio_conf.mode = GPIO_MODE_OUTPUT;
gpio_conf.pull_down_en = GPIO_PULLDOWN_DISABLE;
gpio_conf.pull_up_en = GPIO_PULLUP_DISABLE;
gpio_conf.intr_type = GPIO_INTR_DISABLE;
gpio_config(&gpio_conf);
}
void app_main(void)
{
LED_Init();
while(1)
{
gpio_set_level(GPIO_NUM_3, 1);
vTaskDelay(500);
gpio_set_level(GPIO_NUM_3, 0);
vTaskDelay(500);
}
}
我要赚赏金
