东伟 發表於 2025-11-8 21:03:00

ESP-IDF开发环境搭建(Fedora)

<p>如果想在Fedora里进行SSH外部连接,需要修改一些地方:</p>
<ul>
<li><code>sudo vi /etc/ssh/ssh_config</code>,在里面将被注释的<code>Port 22</code>打开;</li>
<li>回到终端执行<code>systemctl enable sshd.service</code></li>
<li>终端执行<code>systemctl start sshd.service</code></li>
</ul>
<h2 id="esp-idf本地开发环境搭建">ESP-IDF本地开发环境搭建</h2>
<p>参考:Linux 和 macOS 平台工具链的标准设置 - ESP32 - — ESP-IDF 编程指南 v5.5.1 文档</p>
<p>官方文档给出了Linux环境下的ESP-IDF安装内容,但是其中不包含Fedora,不过也只是一些小细节不同(即便如此还是花了不少时间……)</p>
<p>首先需要通过命令安装基本的工具,其中有几个软件包名字在Fedora这边匹配不上,需要修改过来:</p>
<pre><code class="language-bash">sudo apt-get python3-venv libffi-dev libssl-dev libusb-1.0-0        # ubuntu
sudo dnf python3-virtualenv libffi-devel openssl-devel libusb        # fedora
</code></pre>
<p>接着是获取esp-idf的源码并安装,注意需要创建一个esp的文件夹:</p>
<pre><code class="language-bash">mkdir -p ./esp                # 假设在当前目录下创建esp文件夹
cd ./esp
git clone -b v5.5.1 --recursive https://github.com/espressif/esp-idf.git
# 等待拉取结束后
cd ./esp/esp-idf        # 进入esp-idf目录
./install.sh esp32,esp32s2        # 安装,后面接的是所安装的目标芯片
</code></pre>
<p>但是,我直接这样子安装是不行,报错内容大概是&lt;urlopen error certificate verify failed: unable to get local issuer certificate,大概是python3打开不了链接。折腾一番,结果解决办法就在文档中靠后几行……(<code>export IDF_GITHUB_ASSETS="dl.espressif.cn/github_assets"</code>)</p>
<p><img src="https://img2024.cnblogs.com/blog/3512630/202511/3512630-20251108210318832-1357920490.png"></p>
<p>该安装方式默认将内容安装在<code>$HOME/.espressif</code>目录下,就不改了……</p>
<p>执行install.sh成功后基本就算安装完成了,但是每次打开终端,终端是不会识别idf相关命令的。因此每次打开终端后都需要以下命令调用脚本文件来设置环境变量:</p>
<pre><code class="language-bash"># 干脆到esp所在的目录吧
. ./esp/esp-idf/export.sh
# 下面的source和上面的.是等价的
source ./esp/esp-idf/export.sh       
</code></pre>
<p>(这里,要看清楚官方文档的命令中的路径是否和你的一样,我自己就esp的路径是自定义的,但是却直接拷贝文档的命令来用,半天没见效果还以为哪里有问题……)</p>
<p>更好的办法是到<code>~/.bashrc</code>中添加如下代码:<strong>(千万注意要和你自己的路径相匹配)</strong></p>
<pre><code class="language-bash">alias get_idf='. $HOME/esp/esp-idf/export.sh'
</code></pre>
<p>这下每次打开终端,调用<code>idf_get</code>即可配置IDF开发的命令环境了。</p>
<h2 id="第一次烧录程序">第一次烧录程序</h2>
<p>这个官方文档也有,就不大篇幅照搬了,大体的烧录流程:</p>
<ol>
<li><code>idf.py fullclean</code>:清除之前的配置</li>
<li><code>idf.py set-target esp32s3</code>:设置目标芯片</li>
<li><code>idf.py build</code>:编译</li>
<li><code>idf.py -p /dev/ttyACM0 -b 115200 flash</code>:烧录,指定对应串口及波特率</li>
<li><code>idf.py -p /dev/ttyACM0 monitor</code>:查看输出</li>
</ol>
<p>如何查看对应端口号?使用命令<code>ls /dev/tty*</code>可列出所有端口,检查连接前后新增的端口即可。</p>
<p>按流程下来后烧录,会提示当前权限不够,应当执行以下命令,将用户添加到dialout组里。</p>
<pre><code class="language-bash">sudo usermod -aG dialout user        # 此处user替换为自己的用户名
sudo reboot                                                        # 重启操作系统才会生效
</code></pre>
<h2 id="vscode-安装-esp-idf">VSCode 安装 ESP-IDF</h2>
<ol>
<li>vscode中安装esp-idf插件</li>
<li><code>CTRL+SHIFT+P</code>搜索:ESP-IDF:Configure ESP-IDF Extension,进入安装界面安装(安装时间可能较长)</li>
<li>可从库安装路径下的<code>\esp-idf\examples\get-started</code>找到模板工程文件夹和测试文件夹</li>
<li>遇到头文件INCLUDE下划红线问题,在安装了“Espressif IDF”插件的前提下,<code>Shift+Ctrl+P-&gt; ESP-DF:Add vscode configuration folder</code></li>
</ol><br><br>
来源:https://www.cnblogs.com/zero-000/p/19203053
頁: [1]
查看完整版本: ESP-IDF开发环境搭建(Fedora)