6浏览
查看: 6|回复: 0

[ESP8266/ESP32] FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境

[复制链接]
本帖最后由 御坂10032号 于 2025-10-11 01:17 编辑

简介

本文的主要内容是如何安装和配置FireBeetle 2 ESP32-C5 ECO1版本的IDF开发环境。局限于以下原因。

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图1


实际上两个版本对开发板的基础功能影响并不是很大。具体请参考下述文档。

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图2

所以根据ESP-IDF的文档中的基于ESP32-C5芯片中的ESP32-C5-DevKitC-1中得知。 其在主线分支上已经停止了对上述ECO1版本的支持,所以如果想要使用IDF进行开发的话需要将当前的版本回退到 commit d930a38

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图3

详情参考


ESP-IDF安装

接下来将安装ESP-IDF, 由于我个人是习惯了使用VScode的插件,所以这里的安装方式采用的是ESP-IDF插件的方式进行安装。 步骤如下

1- 点击ESP-IDF 插件
2- 选择Advanced
3- 选择配置ESP-IDF拓展
4- 选择Advanced模式
5- 根据地区选择对应的源(因为我这里在国外因此选用的Github,国内选择China即可)

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图4


6- 等待安装成功. (过程需要点时间)
FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图5


7- 安装成功后进入到IDF的安装目录,然后打开Git bash

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图6

8- 然后把分支check out回去

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图7

9 - 基于当前分支再创建一个新的分支,用于当前的ECO1

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图8

此时环境的安装和配置已经完成。


项目创建、烧录、blink LED 测试


1- 创建基于C5的项目,然后选择Blink


FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图9

2- 设置串口,并且编译项目,并且烧录  (烧录失败)


FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图10

3- 之后查阅官方文档说是ESPTool4.8之后就支持了。
FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图11

没有好的解决办法,后来在论坛中查看是否有其他的坛友使用了ESP-IDF,便找到了乔帮主的帖子。文中标明需要对ESP-TOOl进行降级。

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图12

进入到ESP-IDF的虚拟环境中,然后对ESP-TOOL进行降级。

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图13


4- 重新进行烧录


FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图14

搞定,烧录成功。 这里需要注意的一点是,由于我们是直接在虚拟环境中对ESP Tool进行降级的,其原本的依赖文件仅仅是指向了ESP tool并没有指定规定的版本,因此仅仅进行降级即可。不需要进行设置。

5 - 修改程序代码,使其Toggle LED灯

  1. /* Blink Example
  2.    This example code is in the Public Domain (or CC0 licensed, at your option.)
  3.    Unless required by applicable law or agreed to in writing, this
  4.    software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
  5.    CONDITIONS OF ANY KIND, either express or implied.
  6. */
  7. #include <stdio.h>
  8. #include "freertos/FreeRTOS.h"
  9. #include "freertos/task.h"
  10. #include "driver/gpio.h"
  11. #include "esp_log.h"
  12. #include "sdkconfig.h"
  13. static const char *TAG = "example";
  14. /* GPIO pin for LED */
  15. #define BLINK_GPIO GPIO_NUM_15
  16. static uint8_t s_led_state = 0;
  17. static void blink_led(void)
  18. {
  19.     /* Toggle the GPIO level */
  20.     s_led_state = !s_led_state;
  21.     gpio_set_level(BLINK_GPIO, s_led_state);
  22. }
  23. static void configure_led(void)
  24. {
  25.     ESP_LOGI(TAG, "Configuring GPIO15 as output with pull-up!");
  26.     /* Reset the GPIO pin */
  27.     gpio_reset_pin(BLINK_GPIO);
  28.     /* Configure GPIO as output with pull-up */
  29.     gpio_config_t io_conf = {
  30.         .intr_type = GPIO_INTR_DISABLE,
  31.         .mode = GPIO_MODE_OUTPUT,
  32.         .pin_bit_mask = (1ULL << BLINK_GPIO),
  33.         .pull_down_en = GPIO_PULLDOWN_DISABLE,
  34.         .pull_up_en = GPIO_PULLUP_ENABLE,
  35.     };
  36.     gpio_config(&io_conf);
  37.     /* Set initial state to LOW */
  38.     gpio_set_level(BLINK_GPIO, 0);
  39. }
  40. void app_main(void)
  41. {
  42.     /* Configure the LED GPIO */
  43.     configure_led();
  44.     while (1)
  45.     {
  46.         ESP_LOGI(TAG, "Turning the LED %s!", s_led_state ? "ON" : "OFF");
  47.         blink_led();
  48.         vTaskDelay(1000 / portTICK_PERIOD_MS); // 1 second delay
  49.     }
  50. }
复制代码


6- 重新烧录

FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图15


实验现象

LED熄灭
FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图16

Led点亮
FireBeetle 2 ESP32-C5 快速搭建 ESP-IDF开发环境图17


总结

折腾了一圈总算把 FireBeetle 2 ESP32-C5 ECO1 跑起来了。因为主线的 IDF 已经不再支持 ECO1,所以只能手动把版本回退到指定的 commit(d930a38),再自己建个分支。最开始烧录一直报 “No serial data received”,后来发现是新版 esptool 不兼容,降级到 4.9 就一切正常了。重新编译、烧录之后,LED 终于能规律闪烁,看着那盏小灯亮起来的瞬间,所有的调试都值了。最后再说一句:建议使用Arduino, 太折腾了.

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
[[wsData.name]]

硬件清单

  • [[d.name]]
btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4 备案 沪公网安备31011502402448

© 2013-2025 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail