写在前面

本人是在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 创建一个别名,具体步骤如下:

  1. 复制并粘贴以下命令到 shell 配置文件中(.profile.bashrc.zshrc.zprofile 等)

    alias get_idf='. $HOME/esp/esp-idf/export.sh'

  2. 通过重启终端窗口或运行 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 语言编译环境安装和配置相关推荐

  1. 高通9xxx系列4G模块modem linux编译环境安装及配置详细说明

    1.安装包: Perl, DS500-PA-00003-r5p0-05rel0(RVDS),Hexagon,Python,Llvm, Zlib 2,1:以上安装包除Zlib需默认安装外,其余可以指定安 ...

  2. vs安装 c语言编译环境,Visual Studio Code安装与C/C++开发调试环境搭建

    目录 简介 VSCode安装 VSCode语言设置 安装开发套件 构建C/C++编译环境 安装Clang 安装MinGW VSCode工程配置 launch.json tasks.json 测试 简介 ...

  3. linux go语言运行环境,安装Go语言运行环境

    安装Go运行环境,如果从旧版本的Go进行升级,必须先删除现有版本. 1. 二进制包安装 下载包 cd /usr/local/src wget https://storage.googleapis.co ...

  4. C语言编译php环境,vscode中C语言编译环境的配置方法(分享)

    本篇文章给大家介绍一下vscode配置C语言编译环境的方法.有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. vscode c语言的环境配置 完整教程请查看该教程:https://bl ...

  5. VScode配置C语言编译环境

    VScode配置C语言编译环境 前言 最近学校开了c语言课,使用vc6.0来编写c语言,但vc6.0太旧,没有代码补全和代码检查功能,所以我花了很长时间配置vscode的c开发环境,由于第一次配置,花 ...

  6. MStar平台编译环境安装

    MStar平台编译环境安装,傻瓜式安装方法,包含NONOS,AN4.4,AN6.0,AN8.0等等,如下图: Linux选用Ubuntu 16.04. /etc/profile增加: /toolcha ...

  7. java实验环境,实验一(Java开发环境安装与配置

    <实验一(Java开发环境安装与配置>由会员分享,可在线阅读,更多相关<实验一(Java开发环境安装与配置(6页珍藏版)>请在人人文库网上搜索. 1.实验报告实验报告序号:实验 ...

  8. Java开发环境安装与配置(快速配置)

    知识的广度来自知识的深度,学习如果不成体系那是多可怕的一件事儿,希望我们在未来的学习道路上坚守初心,不要给自己留下遗憾,以自己喜欢的方式生活,做自己喜欢做的事,宠爱自己,做一个独一无二的自己! 对于文 ...

  9. python qt designer 重定向_Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置

    Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+QtDesigner+PyUic+PyRcc环境安装与配置 Python+PyQt5+Q ...

最新文章

  1. Python ATM
  2. redhat7操作系统安装
  3. c#url拼接方法名_c# 获取url参数的五种方法
  4. 乐刻运动 app android,乐刻运动
  5. 德国THI大学,招聘移动视觉和深度学习研究助理和研究员
  6. void readstring( char s[] ); 怎样_char *s和char s[]
  7. 采用批处理命令对文件进行解压及采用SQLCMD进行数据库挂载
  8. Android OpenGL ES 应用(二) 纹理
  9. vscode设置python多进程调试_python之vscode配置开发调试环境
  10. Clion添加Posix消息队列的-lrt连接
  11. Oracle控制文件操作
  12. 【SQL】实验六 自习室管理数据库系统的设计
  13. HttpStatusCode 枚举
  14. 日常搜集的勒索病毒解密工具的汇总
  15. 与朋友分享的生活日记
  16. 乐观数据:企业抖音蓝V账号获取流量运营的四个技巧
  17. unicode转中文 中文转unicode的简单方式
  18. JDBC与ORM发展与联系 JDBC简介(九)
  19. FFmpeg源码分析:sws_scale图像缩放与图像转换
  20. jquery uploadify 用法详解

热门文章

  1. matlab gui打开fig文件,使用Matlab創建GUI時重新定位「.fig」文件GUIDE
  2. 图记 2016.1.4
  3. [原创] 海外地图服务Here Map在Android 端的使用介绍
  4. 口语语汇单词篇(4)
  5. Human-level concept learning through probabilistic program induction学习与验证
  6. python爬虫壁纸网站(有源码)
  7. 织梦自动插入自动替换图片插件(支持采集)
  8. 如何修改开机自动启动程序的设置!
  9. WINDOWS自带的扫雷游戏作弊方法
  10. 运行虚拟机提示“你的设备遇到问题,需要重启”的解决方法