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 開發板上跑起來啦。


公眾號【一起學嵌入式】,獲取更多精彩內容


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM