曾有你 發表於 2023-12-26 23:26:00

【ESP32 项目】使用 gitee 镜像在 unbuntu 搭建esp-idf 环境

<p>推荐先看文章:</p>
<p id="articleContentId" class="title-article"><strong>《ESP32,使用gitee搭建 ESP-IDF 开发框架》</strong> 原文博主:工程师进阶笔记</p>
<p class="title-article">&nbsp;</p>
<p>乐鑫官方提供的文档,以及网上大部分ESP32环境搭建的文章,在搭建开发环境获取源码的时候,由于使用了国外知名的程序员交友平台github,往往会导致源码获取中断或失败,github访问失败是一些特别的原因导致的。</p>
<p>正因为这样,很多开发者在搭建开发环境上浪费了很多时间,甚至还没开始就想放弃。<span style="background-color: rgba(191, 237, 210, 1)"><strong>为了解决国内开发者从github上获取ESP相关仓库缓慢的问题,乐鑫提供了在gitee上(git clone https://gitee.com/EspressifSystems/esp-idf.git)获取ESP-IDF源码的方法。</strong></span></p>
<p>在windows上搭建ESP-IDF开发环境的时候,可以使用乐鑫提供的ESP-IDF工具安装器,指定优先选择Espressif的下载服务器,上面提供的博客文章,已经有提及,本文主要是使用Linux命令行的方式搭建开发环境。</p>
<p>为什么使用Linux命令行搭建开发环境,主要是因为自由度高,虽然操作略复杂,但乐鑫官方很多资料和文档,都是基于Linux或windows命令行的方式开发的,因此,建议开发者学习一下如何使用命令行搭建ESP32的开发环境。</p>
<p>阅读本文需要有一定的Linux或windows命令行操作基础,需要掌握一定的git命令使用,以及具备一些脚本使用的基础知识。ESP32的开发环境搭建,均使用了git命令,Linux命令行,以及可执行脚本。</p>
<p><strong>建议先阅读 ESP-IDF 编程指南快速入门&nbsp;的相关章节,对开发环境搭建有一个基本的了解,并且已经完成第一步的安装准备工作,再执行本文的相关操作。</strong></p>
<p>本文使用的操作系统是ubuntu18.04,操作目录是/opt/esp32,使用root用户进行操作,如果没有特别说明,操作路径均是相对路径,在执行命令的时候,重点注意命令的执行路径是相对路径还是绝对路径。</p>
<h3>&nbsp;</h3>
<h2>具体安装过程</h2>
<h3><strong>第0步. 准备工作</strong>:</h3>
<p>在任意目录下(本文在/opt目录)创建esp32文件夹:<code>mkdir esp32</code></p>
<h3>第一步:下载 esp-idf 源码和子模块下载工具</h3>
<p>进入esp32目录,执行<code>git clone </code>命令,获取ESP-IDF在gitee上托管的源码和工具,注意,这次的<code>git clone</code>仅仅是获取ESP-IDF的源码,还没有包含ESP-IDF的子模块,ESP-IDF的源码需要结合<strong>子模块</strong>才能使用,子模块在后面的步骤进行获取。</p>
<blockquote>
<p>什么是子模块?请参考文章:<span role="heading" aria-level="2">【git 学习】-b v5.4.1 --recursive是什么意思</span></p>
</blockquote>
<pre class="language-bash highlighter-hljs"><code>cd esp32/

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git         
git clone https://gitee.com/EspressifSystems/esp-idf.git</code></pre>
<h3>第二步:用esp-gitee-tools下载子模块</h3>
<p>在esp-gitee-tools工具包里面,提供了一个submodule-update.sh脚本,用来更新ESP-IDF框架的子模块,这个脚本主要是使用了gitee作为镜像源,更新ESP-IDF框架必要的子模块,避免了在github下载缓慢或出错的情况。</p>
<pre class="language-bash highlighter-hljs"><code>cd esp-gitee-tools/
export EGT_PATH=$(pwd)

cd ../esp-idf/
$EGT_PATH/submodule-update.sh</code></pre>
<blockquote>
<p>上面两步骤(安装源码+子模块),也可以在 git 指定 --recursive 参数实现</p>
<pre class="language-bash highlighter-hljs"><code>git clone -b v5.4.1 --recursive https://github.com/espressif/esp-idf.git</code></pre>
</blockquote>
<h3>第三步:安装编译调试工具链</h3>
<p>还需要下载和设置ESP相关的工具,比如编译器,调试器,Python包,等等。由于github下载缓慢,可以优先选用乐鑫的下载服务器进行github资源下载。</p>
<pre class="language-bash highlighter-hljs"><code>export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"

./install.sh</code></pre>
<p>编译器、调试器和Python包这些工具,默认下载在/root/.espressif目录下,也可以通过修改环境变量来改变这个下载目录。</p>
<h3>第四步:设置环境变量</h3>
<p>需要设置环境变量,让操作终端知道当前的工具包位置,根据下载完成的提示,需要在esp-idf目录下,执行export.sh脚本,来完成环境变量的配置,如下图所示。</p>
<pre class="language-bash highlighter-hljs"><code>. ./export.sh

(注意,命令开始的“.”与export.sh脚本之间,有一个空格)</code></pre>
<p>为了方便在任何终端使用配置好的环境变量,不用每次重新打开终端窗口都敲一堆指令去,可以为该脚本创建一个别名,在<code>/root/.bashrc</code>或者<code>~/.bashrc</code> 添加以下指令,重启终端后,就可以用<code>get_idf</code>指令来刷新环境变量了。</p>
<p><code>alias get_idf='. /opt/esp32/esp-idf/export.sh'</code></p>
<p>&nbsp;</p>
<h2>2. 扩展:编译、下载esp工程的一般步骤</h2>
<h3>第一步: 设置 menuconfig</h3>
<pre class="language-bash highlighter-hljs"><code>cd /opt/esp32/hello_world       #具体的工程文件夹

idf.py set-target esp32
idf.py menuconfig</code></pre>
<h3>第二步:编译工程</h3>
<p>执行<code>idf.py build</code>构建和编译工程,这个命令可以编译helloworld应用程序和ESP-IDF所有组件,并且会生成bootloader、分区表和应用程序的二进制文件。</p>
<pre class="language-bash highlighter-hljs"><code>idf.py build</code></pre>
<h3>第三步:下载烧录</h3>
<p>编译完成后,可以使用以下命令,将刚刚生成的二进制文件,烧录到开发板上,/dev/ttyUSB0是开发板在ubuntu18.04的串口端口号,需要根据实际情况进行设置。</p>
<p><code>idf.py -p /dev/ttyUSB0&nbsp;flash&nbsp;monitor</code></p><br><br>
来源:https://www.cnblogs.com/FBsharl/p/17929605.html
頁: [1]
查看完整版本: 【ESP32 项目】使用 gitee 镜像在 unbuntu 搭建esp-idf 环境