概述
文章目录
- 前言
- 一、克隆代码
- 1.克隆esp-gitee-tools
- 2.克隆esp-idf
- 3.安装子模块
- 二、安装编译环境
- 1.更改编译器下载路径
- 2.更改python软件源
- 3.使用脚本安装环境
- 4.安装cmake
- 三、尝试编译
- 1.导出环境变量
- 2.编译例程
- 总结
前言
最近,随着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工具一样。
总结
乐鑫提供了很多脚本,在不同平台上搭建编译环境还是比较方便的。上述的指令内容前包含了Linux下的路径,搭建过程中要注意下。Linux下的开发一般使用命令行,还需要各自掌握基础的操作命令。当然Linux上用vscode开发也是可以的。
最后
以上就是称心果汁为你收集整理的ESP32-C3 入门篇(三)Linux下开发环境搭建前言一、克隆代码二、安装编译环境三、尝试编译总结的全部内容,希望文章能够帮你解决ESP32-C3 入门篇(三)Linux下开发环境搭建前言一、克隆代码二、安装编译环境三、尝试编译总结所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复