合集 – ESP 乐鑫相关(16)
1.【esp32 项目】一文教你分清ESP32,ESP8266,ESP01,ESP01S(如何选型ESP系列芯片和模组)06-06
2.【ESP32 项目】使用 gitee 镜像在 unbuntu 搭建esp-idf 环境2023-12-263.【esp32 项目】使用VSCode+PlatformIO搭建的 esp32 开发环境06-094.【esp项目】 ESP8266 的模块的引脚资源06-075.【ESP32 项目】焊接USB接口短路,说说怎么解决的2023-12-166.【ESP32 项目】使用Arduino库的GPIO框架点亮ESP32的灯01-127.【esp32 项目】中断读取按键06-108.【esp32 项目】入门使用adc06-109.【esp32 项目】学习使用esp32的王牌功能——WiFi06-1010.【esp32 项目】使用I2C——第一篇:I2C的科普06-1011.【esp32 项目】使用I2C——第二篇:编程实战实现网络时钟06-1112.【esp32 学习笔记】NVS分区永久保存数据06-1113.【esp32 学习笔记】让SD卡发光发热~06-1114.【esp32 学习笔记】入门 Arduino框架 u8g2库(以OLED驱动芯片SSD1306为例)06-1315.【esp32 学习笔记】esp-idf学会调用组件管理——以 button 组件为例07-0216.【esp32 学习笔记】ESP32各型号模组进入下载模式的引脚配置及其自动下载电路07-24
收起
推荐先看文章:
《ESP32,使用gitee搭建 ESP-IDF 开发框架》 原文博主:工程师进阶笔记
乐鑫官方提供的文档,以及网上大部分ESP32环境搭建的文章,在搭建开发环境获取源码的时候,由于使用了国外知名的程序员交友平台github,往往会导致源码获取中断或失败,github访问失败是一些特别的原因导致的。
正因为这样,很多开发者在搭建开发环境上浪费了很多时间,甚至还没开始就想放弃。为了解决国内开发者从github上获取ESP相关仓库缓慢的问题,乐鑫提供了在gitee上获取ESP-IDF源码的方法。
在windows上搭建ESP-IDF开发环境的时候,可以使用乐鑫提供的ESP-IDF工具安装器,指定优先选择Espressif的下载服务器,上面提供的博客文章,已经有提及,本文主要是使用Linux命令行的方式搭建开发环境。
为什么使用Linux命令行搭建开发环境,主要是因为自由度高,虽然操作略复杂,但乐鑫官方很多资料和文档,都是基于Linux或windows命令行的方式开发的,因此,建议开发者学习一下如何使用命令行搭建ESP32的开发环境。
阅读本文需要有一定的Linux或windows命令行操作基础,需要掌握一定的git命令使用,以及具备一些脚本使用的基础知识。ESP32的开发环境搭建,均使用了git命令,Linux命令行,以及可执行脚本。
建议先阅读 ESP-IDF 编程指南快速入门 的相关章节,对开发环境搭建有一个基本的了解,并且已经完成第一步的安装准备工作,再执行本文的相关操作。
本文使用的操作系统是ubuntu18.04,操作目录是/opt/esp32,使用root用户进行操作,如果没有特别说明,操作路径均是相对路径,在执行命令的时候,重点注意命令的执行路径是相对路径还是绝对路径。
具体安装过程
第0步. 准备工作:
在任意目录下(本文在/opt目录)创建esp32文件夹:mkdir esp32
第一步:下载 esp-idf 源码和子模块下载工具
进入esp32目录,执行git clone
命令,获取ESP-IDF在gitee上托管的源码和工具,注意,这次的git clone
仅仅是获取ESP-IDF的源码,还没有包含ESP-IDF的子模块,ESP-IDF的源码需要结合子模块才能使用,子模块在后面的步骤进行获取。
cd esp32/
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
git clone https://gitee.com/EspressifSystems/esp-idf.git
第二步:用esp-gitee-tools下载子模块
在esp-gitee-tools工具包里面,提供了一个submodule-update.sh脚本,用来更新ESP-IDF框架的子模块,这个脚本主要是使用了gitee作为镜像源,更新ESP-IDF框架必要的子模块,避免了在github下载缓慢或出错的情况。
cd esp-gitee-tools/
export EGT_PATH=$(pwd)
cd ../esp-idf/
$EGT_PATH/submodule-update.sh
第三步:安装编译调试工具链
还需要下载和设置ESP相关的工具,比如编译器,调试器,Python包,等等。由于github下载缓慢,可以优先选用乐鑫的下载服务器进行github资源下载。
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh
编译器、调试器和Python包这些工具,默认下载在/root/.espressif目录下,也可以通过修改环境变量来改变这个下载目录。
第四步:设置环境变量
需要设置环境变量,让操作终端知道当前的工具包位置,根据下载完成的提示,需要在esp-idf目录下,执行export.sh脚本,来完成环境变量的配置,如下图所示。
. ./export.sh
(注意,命令开始的“.”与export.sh脚本之间,有一个空格)
为了方便在任何终端使用配置好的环境变量,不用每次重新打开终端窗口都敲一堆指令去,可以为该脚本创建一个别名,在/root/.bashrc
或者~/.bashrc
添加以下指令,重启终端后,就可以用get_idf
指令来刷新环境变量了。
alias get_idf='. /opt/esp32/esp-idf/export.sh'
2. 扩展:编译、下载esp工程的一般步骤
第一步: 设置 menuconfig
cd /opt/esp32/hello_world #具体的工程文件夹
idf.py set-target esp32
idf.py menuconfig
第二步:编译工程
执行idf.py build
构建和编译工程,这个命令可以编译helloworld应用程序和ESP-IDF所有组件,并且会生成bootloader、分区表和应用程序的二进制文件。
idf.py build
第三步:下载烧录
编译完成后,可以使用以下命令,将刚刚生成的二进制文件,烧录到开发板上,/dev/ttyUSB0是开发板在ubuntu18.04的串口端口号,需要根据实际情况进行设置。
idf.py -p /dev/ttyUSB0 flash monitor