ESP32 的 C 语言编译环境安装和配置
写在前面
本人是在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:
使用 HomeBrew 进行安装的方法如下:
brew install python3
使用 MacPorts 进行安装的方法如下:
sudo port install python38
第二步:获取 ESP-IDF
Github上的仓库拉取太慢,好在乐鑫现在已经提供了Gitee仓库:
乐鑫开源/esp-idf
执行以下指令获取 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 开发板:
# -p 指定串口
# -b 指定波特率
idf.py -p /dev/tty.usbserial-0001 -b 115200 flash
你会看到类似如下的输出日志:
查看输出
picocom -b 115200 /dev/tty.usbserial-0001
参考文章
Linux 和 macOS 平台工具链的标准设置 - ESP32 - - ESP-IDF 编程指南 latest 文档
用乐鑫国内Gitee镜像搭建ESP32开发环境
ESP32 的 C 语言编译环境安装和配置相关推荐
- 高通9xxx系列4G模块modem linux编译环境安装及配置详细说明
1.安装包: Perl, DS500-PA-00003-r5p0-05rel0(RVDS),Hexagon,Python,Llvm, Zlib 2,1:以上安装包除Zlib需默认安装外,其余可以指定安 ...
- vs安装 c语言编译环境,Visual Studio Code安装与C/C++开发调试环境搭建
目录 简介 VSCode安装 VSCode语言设置 安装开发套件 构建C/C++编译环境 安装Clang 安装MinGW VSCode工程配置 launch.json tasks.json 测试 简介 ...
- linux go语言运行环境,安装Go语言运行环境
安装Go运行环境,如果从旧版本的Go进行升级,必须先删除现有版本. 1. 二进制包安装 下载包 cd /usr/local/src wget https://storage.googleapis.co ...
- C语言编译php环境,vscode中C语言编译环境的配置方法(分享)
本篇文章给大家介绍一下vscode配置C语言编译环境的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. vscode c语言的环境配置 完整教程请查看该教程:https://bl ...
- VScode配置C语言编译环境
VScode配置C语言编译环境 前言 最近学校开了c语言课,使用vc6.0来编写c语言,但vc6.0太旧,没有代码补全和代码检查功能,所以我花了很长时间配置vscode的c开发环境,由于第一次配置,花 ...
- MStar平台编译环境安装
MStar平台编译环境安装,傻瓜式安装方法,包含NONOS,AN4.4,AN6.0,AN8.0等等,如下图: Linux选用Ubuntu 16.04. /etc/profile增加: /toolcha ...
- java实验环境,实验一(Java开发环境安装与配置
<实验一(Java开发环境安装与配置>由会员分享,可在线阅读,更多相关<实验一(Java开发环境安装与配置(6页珍藏版)>请在人人文库网上搜索. 1.实验报告实验报告序号:实验 ...
- Java开发环境安装与配置(快速配置)
知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...
- python qt designer 重定向_Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置
Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+Q ...
最新文章
- Python ATM
- redhat7操作系统安装
- c#url拼接方法名_c# 获取url参数的五种方法
- 乐刻运动 app android,乐刻运动
- 德国THI大学,招聘移动视觉和深度学习研究助理和研究员
- void readstring( char s[] ); 怎样_char *s和char s[]
- 采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
- Android OpenGL ES 应用(二) 纹理
- vscode设置python多进程调试_python之vscode配置开发调试环境
- Clion添加Posix消息队列的-lrt连接
- Oracle控制文件操作
- 【SQL】实验六 自习室管理数据库系统的设计
- HttpStatusCode 枚举
- 日常搜集的勒索病毒解密工具的汇总
- 与朋友分享的生活日记
- 乐观数据:企业抖音蓝V账号获取流量运营的四个技巧
- unicode转中文 中文转unicode的简单方式
- JDBC与ORM发展与联系 JDBC简介(九)
- FFmpeg源码分析:sws_scale图像缩放与图像转换
- jquery uploadify 用法详解
热门文章
- matlab gui打开fig文件,使用Matlab創建GUI時重新定位「.fig」文件GUIDE
- 图记 2016.1.4
- [原创] 海外地图服务Here Map在Android 端的使用介绍
- 口语语汇单词篇(4)
- Human-level concept learning through probabilistic program induction学习与验证
- python爬虫壁纸网站(有源码)
- 织梦自动插入自动替换图片插件(支持采集)
- 如何修改开机自动启动程序的设置!
- WINDOWS自带的扫雷游戏作弊方法
- 运行虚拟机提示“你的设备遇到问题,需要重启”的解决方法