Linux下搭建ESP-IDF 开发环境教程,适合ESP32/S2/C3/S3系列模组二次开发
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系列模组二次开发相关推荐
- Windows下搭建ESP-IDF开发环境,适合ESP32/S2/C3/S3系列模组二次开发
前言 本教程适用于以下两种用户: ①无Linux环境搭建经验或搭建Linux开发环境不成功: ②使用安信可windows一体化环境IDE V1.5开发环境搭建不成功: 本教程提供了windows下搭建 ...
- SOPHGO SM5智算模组二次开发散热设计参考
SM5模组二次开发,需要设计完整的散热方案,包含散热器和风扇.单纯依靠模块自身时其不能正常工作,具体参考设计方案请参考如下说明. SM5MW(SM5)散热设计说明 SM5W(SM5)散热设计说明 SM ...
- 涂鸦模组二次开发Zigbee 模组烧录
芯片平台EFR32MG21A020F768IM32-B 芯片平台EFR32MG13P732F512GM48 简介 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根 ...
- 涂鸦模组二次开发RTL8720CF
芯片平台RTL8720CF 简介 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根据不同场景的需求,涂鸦提供了多种烧录授权的方式.本文从以下两点为您介绍. 云模组 ...
- 涂鸦模组二次开发RTL8710BNRTL8720DN
芯片平台RTL8710BN&&RTL8720DN 简介 完成模组 SDK 固件开发后,您需要对模组进行烧录授权以实现连接涂鸦云端的能力.根据不同场景的需求,涂鸦提供了多种烧录授权的 ...
- linux下搭建游戏服务器运行环境
最近一直只在搭建公司游戏服务器的运行环境. ps背景: 使用java开发,之前一直都是在window环境下开发的,现在要将项目部署到linux环境下 ,所以历程缓慢啊... 说说过程中都遇到啥吧! ...
- 在Linux下搭建嵌入式Qt交叉编译环境[转载]
Qt是嵌入式平台常用的GUI库,具有丰富的控件与开发资料.本文介绍如何在x86计算机上搭建ARM开发环境,并交叉编译ARM平台上运行的Demo. 准备 下载交叉编译器 下载Linaro公司推出的的ar ...
- 写一个Linux下搭建Discuz论坛的全过程教程。
本例使用的Linux系统为:RHEL5.3. 1.[root@linux ~]# mkdir /mnt/cdrom 2.[root@linux ~]# mount /dev/cdrom /mnt/cd ...
- 基于涂鸦模组二次开发wifi篇——WB3模组
选择涂鸦标准SDK开发 下载SDK (1.0.7版本) WR3型号 开发环境 VMware + Ubuntu 16.04 解压压缩包:tar -vxf ty_iot_wf_rtos_sdk-DevOS ...
最新文章
- 创建c语言编译错误,创建C语言项目时,无法编译成*.exe文件,提示系统找不到指定的文件...
- linux 下oracle 的kernel.shmmax,Linux 下kernel.shmmax 的设置问题
- IOS8 PUSH解决方法
- STM32F4 HAL库开发 -- STM32CubeMX
- reactjs组件实例的三大属性之state属性使用示例
- k8s中流量分离以及资源隔离实战
- C语言 | 函数执行成功时,return 1 还是return 0?
- aspnet_regsql
- java自定义变量解析,Thymeleaf内置对象、定义变量、URL参数及标签自定义属性
- 什么是PostgreSQL?跟MySQL、Oracle比强在哪?
- Android开发笔记(九十九)圆形转盘
- C# 委托和事件高级进阶
- 为Macbook添加自己喜欢的英汉辞典
- 天涯明月刀服务器维护事假,《天涯明月刀ol》12月16日服务器维护公告
- pidgin qq_Pidgin入门:Skype的开源替代品
- 基于Python制作的一个打砖块小游戏
- B站李永乐讲解傅里叶变换--笔记
- HTML+CSS+JS做一个好看的个人网页—web网页设计作业
- 抖音主页如何添加官网链接
- Android 62 自制域名解析 服务 花生壳太贵