ESP32-C3 入门篇(三)Linux下开发环境搭建


前言

最近,随着Matter的发布时间越来越近,围绕着Matter的讨论也非常多。乐鑫也早早的支持了Matter,ESP32-C3就是其中一款。从目前Matter官方给出的文档,Matter的开发环境只支持Linux和macOS,推荐的主机版本如下:

  • Ubuntu 20.04 LTS
  • macOS 10.15 或更高版本

ESP-IDF最早的开发环境就是在Linux上,可以说是原生支持。今天我们使用Ubuntu 20.04 LTS的虚拟机作为开发主机,安装ESP-IDF开发环境。
PS:Windows下的WSL2可能也可以开发,后续有空再验证。个人比较不喜欢虚拟机,占用的资源比较大,团队开发建议安装一台专用的Ubuntu主机。


一、克隆代码

esp-idf的仓库托管在GitHub,因为一些众所周知的原因,使用Git克隆时经常会失败。为了解决国内开发者从GitHub克隆esp相关仓库慢的问题,乐鑫已将 esp-idf 和部分重要仓库及其关联的子模块镜像到了 gitee。

1.克隆esp-gitee-tools

使用git克隆esp-gitee-tools

jack@ubuntu:~/Work/matter$ git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

2.克隆esp-idf

使用git克隆esp-idf。这里不要用–recursive参数。

jack@ubuntu:~/Work/matter$ git clone https://gitee.com/EspressifSystems/esp-idf.git

3.安装子模块

esp-idf仓库引用了很多子模块。在安装子模块前,大家先确认esp-gitee-tools和esp-idf是否在同级目录下。

jack@ubuntu:~/Work/matter$ tree -L 1
.
├── esp-gitee-tools
└── esp-idf

如果有需要指定esp-idf的版本,进入到esp-idf切换分支。这里以当前乐鑫matter的文档为例:

jack@ubuntu:~/Work/matter/esp-idf$ git checkout v4.4.1
jack@ubuntu:~/Work/matter/esp-idf$ git checkout -b v4.4.1

进入到esp-gitee-tools使用submodule-update.sh脚本更新子模块:

jack@ubuntu:~/Work/matter/esp-gitee-tools$ ./submodule-update.sh ../esp-idf

二、安装编译环境

1.更改编译器下载路径

在安装编译环境时,会从GitHub下载安装编译器。设置下面的环境变量,会切换到乐鑫官方下载,相对快非常多。

jack@ubuntu:~/Work/matter/esp-idf$ export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"

2.更改python软件源

Pip的配置文件为用户根目录下的:~/.pip/pip.conf,配置如下内容:

[global] 
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn  # trusted-host 此参数是为了避免麻烦,否则使用的时候可能会提示不受信任

如果没有该文件,先创建目录,图形化界面下可以用gedit编辑,粘贴上述配置内容

jack@ubuntu:~$ mkdir ~/.pip
jack@ubuntu:~$ gedit ~/.pip/pip.conf

当前Ubuntu 20.04自带的python3版本是3.8,需要安装venv

jack@ubuntu:~/Work/matter/esp-idf$ sudo apt-get install python3.8-venv

3.使用脚本安装环境

调用esp-idf自带的install.sh脚本自动安装编译环境

jack@ubuntu:~/Work/matter/esp-idf$ ./install.sh

配置完成后如下图
在这里插入图片描述
至此,编译器和编译环境已经安装完成。

4.安装cmake

编译系统依赖cmake

jack@ubuntu:~/Work/matter/esp-idf$ sudo apt-get install cmake

三、尝试编译

上面搭建好了环境,后续只要进行下列步骤。

1.导出环境变量

根据上述安装后的提示,运行

jack@ubuntu:~/Work/matter/esp-idf$ . export.sh

或者

jack@ubuntu:~/Work/matter/esp-idf$ source export.sh

脚本运行如下:
在这里插入图片描述
每次重新打开终端都需要运行一次上述脚本。

2.编译例程

同样以编译helloworld为例,先拷贝例程到esp-idf同级目录下。导出环境后,esp的工程在哪个路径下都可以编译,建议不要直接在esp-idf里面进行。

jack@ubuntu:~/Work/matter/esp-idf$ cd ..
jack@ubuntu:~/Work/matter$ cp -rf esp-idf/examples/get-started/hello_world/ ./
jack@ubuntu:~/Work/matter$ cd hello_world/

选择芯片

jack@ubuntu:~/Work/matter/hello_world$ idf.py set-target esp32c3

编译

jack@ubuntu:~/Work/matter/hello_world$ idf.py build

Linux下的idf.py用法与ESP-IDF tools工具一样。

四、遇到的问题

1.ERROR: This script was called from a virtual environment, can not create a virtual environment again.

在docker上安装esp-idf遇到这个问题,实际上查看在~/.espressif并没有python_env目录。找到tools/idf_tools.py中报错的位置。

is_virtualenv = hasattr(sys, 'real_prefix') or (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix)

改为

is_virtualenv = hasattr(sys, 'real_prefix') and (hasattr(sys, 'base_prefix') and sys.base_prefix != sys.prefix)

总结

乐鑫提供了很多脚本,在不同平台上搭建编译环境还是比较方便的。上述的指令内容前包含了Linux下的路径,搭建过程中要注意下。Linux下的开发一般使用命令行,还需要各自掌握基础的操作命令。当然Linux上用vscode开发也是可以的。

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
esp32-c3入门教程 环境篇③——vs code ide快速入门是关于如何使用VS Code IDE进行ESP32-C3开发的教程。VS Code是一种功能强大且流行的集成开发环境,它提供了许多便捷工具和插件来简化代码编写和调试的过程。 首先,我们需要在电脑上安装VS Code。你可以从官方网站上下载并安装VS Code。 安装完成后,打开VS Code并点击"Extensions"图标,搜索并安装ESP-IDF插件。这个插件是为了和ESP32-C3开发框架进行集成而开发的。 接下来,我们需要配置ESP-IDF插件。首先,点击左侧的扩展图标,找到ESP-IDF插件并点击设置图标。然后,找到"espidf.espIdfPath"选项,将其设置为你的ESP-IDF框架的路径。 现在,我们可以开始创建一个新的ESP32-C3项目。点击"File"菜单,选择"New File",然后输入项目的名称。然后,点击"File"菜单中的"Save"来保存项目文件。 接下来,打开终窗口,点击"Terminal"菜单,选择"New Terminal"。在终中,输入以下命令来初始化ESP-IDF环境: idf.py set-target esp32c3 idf.py menuconfig 这将打开ESP-IDF的配置菜单,在这里你可以配置各种参数和选项。 配置完成后,我们可以开始编写和调试代码了。在VS Code中,点击左侧的扩展图标,找到ESP-IDF插件并点击设置图标。然后,点击"Build"按钮来构建项目。 构建完成后,我们可以使用VS Code的调试功能来调试代码。点击左侧的调试图标,然后点击"Add Configuration"按钮来添加一个调试配置。然后,点击"Debug"按钮来启动调试模式。 总之,使用VS Code IDE进行ESP32-C3开发是非常方便和高效的。它提供了许多工具和插件来简化开发流程,并提供了强大的调试功能来帮助我们调试代码。希望这个快速入门教程对你有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值