Linux下搭建 ESP-IDF 开发环境,适合ESP32/ESP32S2/ESP32C3/ESP32S3系列模组二次开发

一、Ubuntu安装

在Linux下编译速度比windows快很多,一般推荐优先使用linux开发。Ubuntu是非常常见Linux操作系统。网上已经有非常多的ubuntu安装教程,这里推荐一篇,亲测有效无坑:https://blog.csdn.net/qq_44824296/article/details/112647379

二、 安装 ESP-IDF 环境;

2.1 安装常见的软件

     我们需要安装几个常用的软件 :

sudo apt-get install vim
sudo apt install git

如果你安装了其他版本的ubuntu,先查看一下你的python版本

python -V

如果不是python3,请先安装python3

sudo apt-get update
sudo apt-get install python3.6
sudo apt-get install python3-pip 

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

//可用以下命令切换python版本
sudo update-alternatives --config python

如果安装的是ubuntu18以上版本,默认已经是python3,运行以下指令

sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 150

2.2 开始一堆依赖安装:

sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0
  • 乐鑫IDF框架是什么?这里我就不多说了! 用git命令来拉取下来,这就可以可以同步最新的框架版本!不能直接一个downLoad 下载,发现会有错误,切记!
2.2.1 获取源码

1.下载重定向脚本 esp-gitee-tools,运行以下指令:

git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git

2.下载SDK:

git clone https://gitee.com/EspressifSystems/esp-idf.git -b release/v4.4

3.使用 esp-gitee-tools 拉取子模块

cd esp-gitee-tools
export EGT_PATH=$(pwd)
cd ..
cd esp-idf
$EGT_PATH/submodule-update.sh
  1. 安装编译工具链
$EGT_PATH/install.sh

     出现这个 , 表示 安装成功!
在这里插入图片描述

扫描二维码关注公众号,回复: 13397522 查看本文章

2.3 设置 IDF_PATH 路径

     这里就简单很多,就设置变量即可!先拿到上述的SDK路径即为IDF路径!
     以我的环境为例:

export IDF_PATH=/home/xuhongv/ESPRESSIF/ESP32/esp-idf
  1. 之后按下 i 表示嵌入代码: vim ~/.bashrc
  2. 任意一处添加 表示嵌入上面代码!
  3. 按下esc 再 :wq 表示写入保存: source ~/.bashrc
  4. IDF_PATH 路径测试是否设置成功: echo $IDF_PATH
    在这里插入图片描述

2.4 设置编译环境的变量

     此时,您刚刚安装的工具尚未添加至 PATH 环境变量,无法通过“命令窗口”使用这些工具。因此,必须设置一些环境变量,这可以通过 ESP-IDF 提供的另一个脚本完成。

     注意下面命令2个小数点中间有一个空格!

. ./export.sh

     成功后,便这样提示:
在这里插入图片描述

2.5 开始编译工程。

     打开 IDF/esp-idf/examples/get-started下面的hello_world工程;

  • 配置编译芯片:
    esp32系列模组: idf.py set-target esp32
    esp32s2系列模组:idf.py set-target esp32s2
    esp32c3系列模组:idf.py set-target esp32c3
    esp32s3系列模组:idf.py set-target esp32s3
  • idf.py menuconfig : 配置面板
  • idf.py build : 编译代码;
  • idf.py flash : 烧录程序进去设备里面;
    注意
    使用某些 Linux 版本烧写固件时,可能会出现 Failed to open port /dev/ttyUSB0 错误消息。此时,可以将当前用户增加至 :ref:Linux Dialout 组 。因为默认情况下,只有root用户和属于dialout组的用户会有读写权限,因此直接把自己的用户加入到dialout组就可以了。操作完命令后要重启一下,就永久生效了。
 sudo usermod -a -G dialout $USER   //$USER为您的用户名
  • idf.py erase_flash : 擦除设备里面的程序;

在这里插入图片描述

三、开发资料

到这里我们已经搭建好开发环境了,拿到开发资料就可以进行开发了,祝您开发愉快!
安信可模组资料:https://docs.ai-thinker.com/wifi
安信可官方csdn: https://aithinker.blog.csdn.net
乐鑫技术文档:https://www.espressif.com/zh-hans/support/download/documents/chips
ESP-IDF编程指南:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32

猜你喜欢

转载自blog.csdn.net/Boantong_/article/details/121565113