esp32学习-手把手搭建idf开发环境

首发,公众号【一起学嵌入式】

前言

偶然看到了吃灰多年的 esp32 开发板。先把板子上的灰吹吹,然后找了一根 USB 线,接上电脑。灯亮了,嗯,还能用。

这块板子是 2018 年买的,三年多没玩这块板子了,乐鑫官网的开发软件包不知道更新多少个版本了。

上官网查资料,尝试在 Windows 下搭建最新的 ESP-IDF 开发环境,准备玩玩这款高性能的开发板。

当然,第一个测试程序,怎么能少得了 Hello world。

OK,开始吧。

环境搭建准备

1. 安装必备的工具

首先,需要在 PC 上安装 pthon,python 版本一定是 3.0 以上,否则会出错。如果已经安装过 python 则跳过这一步。

在 python 官网上,即可下载 python 安装包,网址如下(复制到浏览器打开):

https://www.python.org/downloads/windows/

我的电脑是 64 位 Windows10,因此下载 64 位版本的 python 安装包。

其次,安装 git。下载 git 安装包,下载网址如下(复制到浏览器打开):

https://git-scm.com/download/win

根据 Windows 版本,选择下载对应的安装包。

2. 下载 idf 开发软件包

打开官方网站,找到 ESP-IDF 开发包下载位置,点击下载

下载完成后,解压,将其放在没有空格的路径下。

配置开发环境

除了 ESP-IDF 本身,还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。

可以通过命令脚本,手动安装这些工具。

打开 cmd 命令终端,进入到 idf 目录下,然后执行如下指令,开始自动安装软件包需要的工具:

install.bat

开始自动下载并安装工具:

此过程比较耗时,耐心等待。

安装完成之后,提示如下

接着,按照提示,运行如下脚本。设置环境变量。

exoprt.bat

注意,每次打开命令终端,都需要运行一下这个脚本文件,使得 IDF 的工具添加到 PATH 环境变量中。

这样,才可以在当前的命令终端窗口中,使用 IDF 提供的脚本工具。

测试 IDF 环境

idf 开发包中的示例代码 <esp-idf-v4.3.1\examples\get-started\hello_world>,复制 hello_world 目录到 esp-idf-v4.3.1目录所在的文件夹下:

示例程序代码如下:

#include <stdio.h>
#include "sdkconfig.h"
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "esp_system.h"
#include "esp_spi_flash.h"
void app_main(void)
{
/* 打印 Hello world */
printf("Hello world!\n");
/* 打印芯片信息 */
esp_chip_info_t chip_info;
esp_chip_info(&chip_info);
printf("This is %s chip with %d CPU core(s), WiFi%s%s, ",
CONFIG_IDF_TARGET, chip_info.cores,
(chip_info.features & CHIP_FEATURE_BT) ? "/BT" : "",
(chip_info.features & CHIP_FEATURE_BLE) ? "/BLE" : "");
/* 打印芯片版本 */
printf("silicon revision %d, ", chip_info.revision);
printf("%dMB %s flash\n", spi_flash_get_chip_size() / (1024 * 1024),
(chip_info.features & CHIP_FEATURE_EMB_FLASH) ? "embedded" : "external");
printf("Minimum free heap size: %d bytes\n", esp_get_minimum_free_heap_size());
/* 倒计时 10 秒后,重启 */
for (int i = 10; i >= 0; i--)
{
printf("Restarting in %d seconds...\n", i);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
printf("Restarting now.\n");
fflush(stdout);
esp_restart();
}

该示例代码的功能为:

  • 首先打印 Hello world!
  • 然后打印芯片信息
  • 接着,倒计时 10 秒钟后,重启

命令终端进入 hello world 目录下。

首先配置目标芯片(本文用到的开发板为 esp32):

idf.py set-target esp32

接着运行如下命令,编译工程:

idf.py build

开始编译工程代码

编译完成如下所示:

下载程序的时候,将 GPIO0 引脚拉低,按下复位按键,使模块进入串口 boot 状态,等待上位机连接,下载程序。

然后输入如下命令 开始下载程序,其中 PORT 为 PC 端串口号(例如,COM2):

idf.py -p PORT flash

下载成功后,提示信息如下图:

程序下载成功后,GPIO0 拉高(或者断开接地连接),复位开发板,查看运行情况。

1. IDF 监视器查看运行信息

在命令终端输入下面的命令,其中 PORT 为 PC 端的串口号

idf.py -p PORT monitor

监视 “hello_world” 工程的运行情况

2. 串口助手查看运行信息

打开 PC 端串口调试助手,按下复位按键。

OK,程序下载成功,在 ESP32 开发板上跑起来啦。


公众号【一起学嵌入式】,获取更多精彩内容

posted @   一起学嵌入式  阅读(2788)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek “源神”启动!「GitHub 热点速览」
· 我与微信审核的“相爱相杀”看个人小程序副业
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 如何使用 Uni-app 实现视频聊天(源码,支持安卓、iOS)
· C# 集成 DeepSeek 模型实现 AI 私有化(本地部署与 API 调用教程)
点击右上角即可分享
微信分享提示