1

Ubuntu安装

在Linux下编译速度比Windows快很多,一般推荐优先使用Linux开发。Ubuntu是非常常见的Linux操作系统。

网上已经有非常多的Ubuntu安装教程,这里推荐一篇,亲测有效:

https://blog.csdn.net/qq_44824296/article/details/112647379

2

安装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

(向左滑动查看全部内容)

ESP 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

4.安装编译工具链

$EGT_PATH/install.sh

出现这个 , 表示 安装成功!

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、SDK目录结构简介

esp-idf里面有很多例程,所有例程放在example文件夹里面

每个例程都有一个README文件,README里面有对该例程的功能和使用方法的详细介绍,上手必看!

2.6 开始编译工程。

这里以编译examples/get-started下面的hello_world例程为例;

  • 配置编译芯片:

ESP32系列模组:idf.py set-target esp32

ESP32-S2系列模组:idf.py set-target esp32s2

ESP32-C3系列模组:idf.py set-target esp32c3

ESP32-S3系列模组: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 : 擦除设备里面的程序;

idf.py monitor: 打开串口监控

来源:安信可科技

老宇哥带你玩转 ESP32:05 ADC用起来这也太简单了吧

老宇哥带你玩转 ESP32:04 串口玩起来是真方便

老宇哥带你玩转ESP32:02使用VSCode+PlatformIO搭建开发环境

欢迎点分享、收藏、点赞、在看。

Linux下搭建ESP-IDF 开发环境教程,适合ESP32/S2/C3/S3系列模组二次开发相关推荐

  1. Windows下搭建ESP-IDF开发环境,适合ESP32/S2/C3/S3系列模组二次开发

    前言 本教程适用于以下两种用户: ①无Linux环境搭建经验或搭建Linux开发环境不成功: ②使用安信可windows一体化环境IDE V1.5开发环境搭建不成功: 本教程提供了windows下搭建 ...

  2. SOPHGO SM5智算模组二次开发散热设计参考

    SM5模组二次开发,需要设计完整的散热方案,包含散热器和风扇.单纯依靠模块自身时其不能正常工作,具体参考设计方案请参考如下说明. SM5MW(SM5)散热设计说明 SM5W(SM5)散热设计说明 SM ...

  3. 涂鸦模组二次开发Zigbee 模组烧录

    芯片平台EFR32MG21A020F768IM32-B 芯片平台EFR32MG13P732F512GM48 简介 ​ 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根 ...

  4. 涂鸦模组二次开发RTL8720CF

    芯片平台RTL8720CF 简介 ​ 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根据不同场景的需求,涂鸦提供了多种烧录授权的方式.本文从以下两点为您介绍. 云模组 ...

  5. 涂鸦模组二次开发RTL8710BNRTL8720DN

    芯片平台RTL8710BN&&RTL8720DN 简介 ​ 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根据不同场景的需求,涂鸦提供了多种烧录授权的 ...

  6. linux下搭建游戏服务器运行环境

    最近一直只在搭建公司游戏服务器的运行环境. ps背景:  使用java开发,之前一直都是在window环境下开发的,现在要将项目部署到linux环境下 ,所以历程缓慢啊... 说说过程中都遇到啥吧! ...

  7. 在Linux下搭建嵌入式Qt交叉编译环境[转载]

    Qt是嵌入式平台常用的GUI库,具有丰富的控件与开发资料.本文介绍如何在x86计算机上搭建ARM开发环境,并交叉编译ARM平台上运行的Demo. 准备 下载交叉编译器 下载Linaro公司推出的的ar ...

  8. 写一个Linux下搭建Discuz论坛的全过程教程。

    本例使用的Linux系统为:RHEL5.3. 1.[root@linux ~]# mkdir /mnt/cdrom 2.[root@linux ~]# mount /dev/cdrom /mnt/cd ...

  9. 基于涂鸦模组二次开发wifi篇——WB3模组

    选择涂鸦标准SDK开发 下载SDK (1.0.7版本) WR3型号 开发环境 VMware + Ubuntu 16.04 解压压缩包:tar -vxf ty_iot_wf_rtos_sdk-DevOS ...

最新文章

  1. 创建c语言编译错误,创建C语言项目时,无法编译成*.exe文件,提示系统找不到指定的文件...
  2. linux 下oracle 的kernel.shmmax,Linux 下kernel.shmmax 的设置问题
  3. IOS8 PUSH解决方法
  4. STM32F4 HAL库开发 -- STM32CubeMX
  5. reactjs组件实例的三大属性之state属性使用示例
  6. k8s中流量分离以及资源隔离实战
  7. C语言 | 函数执行成功时,return 1 还是return 0?
  8. aspnet_regsql
  9. java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
  10. 什么是PostgreSQL?跟MySQL、Oracle比强在哪?
  11. Android开发笔记(九十九)圆形转盘
  12. C# 委托和事件高级进阶
  13. 为Macbook添加自己喜欢的英汉辞典
  14. 天涯明月刀服务器维护事假,《天涯明月刀ol》12月16日服务器维护公告
  15. pidgin qq_Pidgin入门:Skype的开源替代品
  16. 基于Python制作的一个打砖块小游戏
  17. B站李永乐讲解傅里叶变换--笔记
  18. HTML+CSS+JS做一个好看的个人网页—web网页设计作业
  19. 抖音主页如何添加官网链接
  20. Android 62 自制域名解析 服务 花生壳太贵

热门文章

  1. cass怎么添加指北针图例_答疑|CASS怎么添加图例?
  2. PON、EPON、GPON的区别
  3. AI带你省钱旅游!精准预测民宿房源价格! ⛵
  4. PTA 4 回溯法解整数拆分
  5. AD学习笔记(一)基础认识
  6. PLD PLA PAL GAL
  7. 海尔微型计算机硬盘如何拆卸,海尔xqb507288拆解图
  8. Java开发工程师的一点职业发展规划
  9. JSP和Servlet是什么关系,JSP工作原理?
  10. 高中数学必修五:数列压轴小题秒杀技巧