写在前面
本人是在MacOS下进行安装和配置的,如果你是Linux系统,可以看末尾的参考文章,Windows那就不知道了。
第一步:安装准备
使用homebrew安装所有需要的软件包:
brew install cmake ninja dfu-util
安装 Python 3
Catalina 10.15 发布说明中表示不推荐使用 Python 2.7 版本,在未来的 macOS 版本中也不会默认包含 Python 2.7。执行以下命令来检查您当前使用的 Python 版本:
python --version
如果输出结果是 Python 2.7.17
,则代表您的默认解析器是 Python 2.7。这时需要您运行以下命令检查电脑上是否已经安装过 Python 3:
python3 --version
如果运行上述命令出现错误,则代表电脑上没有安装 Python 3。
请根据以下步骤安装 Python 3:
第二步:获取 ESP-IDF
Github上的仓库拉取太慢,好在乐鑫现在已经提供了Gitee仓库:
执行以下指令获取 ESP-IDF:
mkdir -p ~/esp
cd ~/esp
git clone https://gitee.com/EspressifSystems/esp-idf.git
第三步:设置工具
这里我们使用 ESP-IDF 提供的扩展工具esp-gitee-tools进行设置。安装看这里。
安装完毕以后,我们再更新一下子模块,输入:
$EGT_PATH/submodule-update.sh
耐心等待运行完毕即可。
第四步:设置环境变量
此时,我们安装的工具尚未添加至 PATH 环境变量,无法通过命令行使用。因此,必须设置一些环境变量。这可以通过 ESP-IDF 提供的另一个脚本进行设置。
在需要运行 ESP-IDF 的终端窗口运行以下命令:
. $HOME/esp/esp-idf/export.sh
注意,命令开始的 “.” 与路径之间应有一个空格!
如果需要经常运行 ESP-IDF,那么我们可以为执行 export.sh
创建一个别名,具体步骤如下:
- 复制并粘贴以下命令到 shell 配置文件中(
.profile
、.bashrc
、.zshrc
、.zprofile
等)alias get_idf='. $HOME/esp/esp-idf/export.sh'
- 通过重启终端窗口或运行
source [path to profile]
,如source ~/.zshrc
来刷新配置文件。
现在可以在任何终端窗口中运行 get_idf
来设置或刷新 ESP-IDF 环境。
不建议直接将 export.sh
添加到 shell 的配置文件。这样做会导致在每个终端会话中都激活 IDF 虚拟环境(包括无需使用 IDF 的会话)。这违背了使用虚拟环境的目的,还可能影响其他软件的使用。
刷新 ESP-IDF 环境
每次打开一个新的命令行窗口进行 ESP-IDF 开发之前,先运行 get_idf
来设置或刷新 ESP-IDF 环境。
我们可以注意到,刷新以后当前环境的python版本就变成了python3了。
; 第五步:开始使用 ESP-IDF 吧
开始创建工程
让我们使用最简单的hello_world进行学习。
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
连接设备
输入 ls /dev/tty*
查看串口名称,我的是 /dev/tty.usbserial-0001
,复制下来,后面会用到。
配置工程
进入 hello_world
目录,设置 ESP32 为目标芯片,然后运行工程配置工具 menuconfig
。
cd ~/esp/hello_world
idf.py set-target esp32
idf.py menuconfig
应当出现如下界面(mac下的这个配色真的是亮瞎眼):
这里我们什么都不用改,用默认配置即可。按Esc键退出。
编译工程
运行 idf.py build
命令可以编译应用程序和所有 ESP-IDF 组件,接着生成引导加载程序、分区表和应用程序二进制文件。如果一切正常,编译完成后将生成 .bin 文件。
烧录到设备
运行以下命令,将刚刚生成的二进制文件烧录至 ESP32 开发板:
idf.py -p /dev/tty.usbserial-0001 -b 115200 flash
你会看到类似如下的输出日志:
查看输出
picocom -b 115200 /dev/tty.usbserial-0001
参考文章
Linux 和 macOS 平台工具链的标准设置 – ESP32 – – ESP-IDF 编程指南 latest 文档
Original: https://blog.csdn.net/imba_wolf/article/details/126290252
Author: imba_wolf
Title: ESP32 的 C 语言编译环境安装和配置
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/813910/
转载文章受原作者版权保护。转载请注明原作者出处!