陈拓 2021/01/27-2021/12/30

1. 概述

在《用乐鑫国内镜像构建ESP8266_RTOS_SDK开发环境》

https://zhuanlan.zhihu.com/p/347711847

一文中我们用乐鑫在国内的Gitee镜像搭建了ESP8266开发环境,下面我们在此基础上搭建ESP32的开发环境。

2. 安装准备

见《Win10-Ubuntu子系统构建ESP8266_RTOS_SDK开发环境》

https://zhuanlan.zhihu.com/p/346072018

一文。

3. 获取 ESP-IDF

3.1 esp-idf的下载网址

乐鑫已经在gitee上有了国内镜像,网址是:

https://gitee.com/EspressifSystems

esp32c3 ble 开发 esp32开发资料_Gitee

3.2 安装方法

注意:Gitee 中ESP-IDF仓库的使用,请先参看https://gitee.com/EspressifSystems/esp-gitee-tools中的说明文档。

esp32c3 ble 开发 esp32开发资料_ESP32_02

3.3 克隆 esp-idf

cd ~/esp

git clone https://gitee.com/EspressifSystems/esp-idf.git

esp32c3 ble 开发 esp32开发资料_Gitee_03

ESP-IDF 将下载至 ~/esp/esp-idf。

注意:仅克隆 esp-idf,不包含子模块。即git 命令不带 --recursive 参数。

3.4 安装扩展工具esp-gitee-tools

在《阿里云ECS搭建ESP8266_RTOS_SDK开发环境》

https://zhuanlan.zhihu.com/p/346975777

一文中我们已经安装了扩展工具esp-gitee-tools

esp32c3 ble 开发 esp32开发资料_Gitee_04

我们下面用esp-gitee-tools来安装esp-idf开发工具和子模块。

https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-install.md

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_05

3.5 将pip源换到国内

esp32c3 ble 开发 esp32开发资料_ESP32_06

查看我的pip版本:

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_07

用别名将pip3设置为默认的pip:

echo alias pip=pip3 >> ~/.bashrc

source ~/.bashrc

esp32c3 ble 开发 esp32开发资料_SDK_08

esp32c3 ble 开发 esp32开发资料_ESP32_09

pip 20.0.2 > 10.0.0,满足条件。

pip config set global.index-url http://mirrors.aliyun.com/pypi/simple

esp32c3 ble 开发 esp32开发资料_Gitee_10

pip config set global.trusted-host mirrors.aliyun.com

esp32c3 ble 开发 esp32开发资料_SDK_11

3.6 安装工具子模块

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

注意:不要使用ESP-IDF自带的install.sh,使用esp-gitee-tools内的 install.sh。

进入 esp-gitee-tools 目录,export install.sh 所在路径,方便后期使用:

cd ~/esp/esp-gitee-tools

export EGT_PATH=$(pwd)

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_12

测试环境变量:echo $EGT_PATH

esp32c3 ble 开发 esp32开发资料_ESP32_13

进入 esp-idf 目录:

cd ~/esp/esp-idf

$EGT_PATH/install.sh  

esp32c3 ble 开发 esp32开发资料_SDK_14

esp32c3 ble 开发 esp32开发资料_ESP32_15

很快就安装安装完了。

提示pip可以升级:

/home/ccdc/.espressif/python_env/idf4.3_py3.8_env/bin/python -m pip install --upgrade pip

esp32c3 ble 开发 esp32开发资料_ESP32_16

3.7 安装更新子模块 submodules

$EGT_PATH/submodule-update.sh

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_17

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_18

安装顺利。

3.8 设置环境变量

编辑文件.bashrc

nano ~/.bashrc

esp32c3 ble 开发 esp32开发资料_SDK_19

  • 将alias get_idf='. $HOME/esp/esp-idf/export.sh'添加到最后一行。

注意,命令开始的 “.” 与路径之间应有一个空格!

注意:要将我们之前安装ESP8266开发环境时设置的环境变量:

export IDF_PATH=~/esp/ESP8266_RTOS_SDK

前面加#号注释掉。

  • 将ESP-IDF 中的tools/目录加入PATH环境变量中

export PATH=/home/ccdc/esp/esp-idf/tools:$PATH

esp32c3 ble 开发 esp32开发资料_Gitee_20

保存,退出。重启终端窗口。

  • 查看别名alias

esp32c3 ble 开发 esp32开发资料_ESP32_21

  • 查看环境变量echo $PATH

esp32c3 ble 开发 esp32开发资料_Gitee_22

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_23

3.9 刷新esp-idf环境

get_idf

esp32c3 ble 开发 esp32开发资料_SDK_24

为Python设置一个别名:

echo alias Python=python >> ~/.bashrc

source ~/.bashrc

测试:

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_25

再刷新esp-idf环境:

get_idf

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_26

4. 开始创建项目工程

https://docs.espressif.com/projects/esp-idf/zh_CN/stable/esp32/get-started/

esp32c3 ble 开发 esp32开发资料_Gitee_27

cd ~/esp

cp -r esp-idf/examples/get-started/hello_world/ .

或者cp -r $IDF_PATH/examples/get-started/hello_world .

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_28

5. 连接设备

我用的是网上买的下面这种开发板,加上ESP32模块。

esp32c3 ble 开发 esp32开发资料_SDK_29

esp32c3 ble 开发 esp32开发资料_SDK_30

插上USB线后我PC识别了CP2102:

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_31

惊叹号表示驱动未安装。

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_32

安装CP2102驱动:

上SILICON LABS官网下载驱动。

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_33

https://www.silabs.com/developers/usb-to-uart-bridge-vcp-drivers

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_34

CP210x_Universal_Windows_Driver.zip

解压缩,安装。

运行 

esp32c3 ble 开发 esp32开发资料_Gitee_35

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_36

完成。

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_37

我PC将USB-SERIAL识别为COM5。

6. 配置项目

快速入门 - ESP32 - — ESP-IDF 编程指南 v4.3.2 文档

cd ~/esp/hello_world

idf.py menuconfig

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_38

进入配置工具界面:

esp32c3 ble 开发 esp32开发资料_Gitee_39

保持默认,退出。

  • 编译项目

https://gitee.com/EspressifSystems/esp-idf

编译应用程序,引导程序,并根据配置生成分区表。

idf.py build

esp32c3 ble 开发 esp32开发资料_SDK_40

  • 烧写项目

esp32c3 ble 开发 esp32开发资料_SDK_41

连接设备时我PC将USB-SERIAL识别为COM5。

idf.py -p /dev/ttyS5 -b 115200 flash

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_42

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_43

esp32c3 ble 开发 esp32开发资料_esp32c3 ble 开发_44

9. 擦除Falsh

正常情况下跳过这一步。

如果烧写出现错误,可以先擦除Flash试试。

idf.py -p /dev/ttyS5 -b 115200 erase_flash

esp32c3 ble 开发 esp32开发资料_ESP32开发环境_45

10. 用串口调试助手查看程序运行结果

串口调试助手的使用请看《Win10使用CH340 USB-SERIAL串口》

https://zhuanlan.zhihu.com/p/343013801

esp32c3 ble 开发 esp32开发资料_ESP32_46