基于LINUX下ESP_IDF开发环境搭建安装问题总结
我的个人博客更多问题:https://blog.hinuohui.com/
我也是第一次使用LINUX在LINUX下使用交叉编译,也遇到了很多的疑难杂症,我通通总结到本文
ESP_IDF官方参考文档: ESP_IDF快速上手手册
ESP_IDF_Gitehub仓库:ESP_IDF_Github仓库
遇到问题我们可以去Github提问: ESP_IDF_Github问答
或者ESP_IDF的论坛:ESP_IDF论坛
官方的链接教程很细心,但是还是对与小白白不是太友好,毕竟我们是小白白。遇到问题多参考官方github的提问区,很快就能找到答案,有些问题某度不一定能解决。
VM虚拟机部分
我这里使用的 Ubuntu 操作系统
1.不要选择中文(进入系统后选择)可能会导致画面显示不全
2.为图形或无线硬件,及其媒体...勾选✔
3.用户名尽量是英文(其实也无所谓)
1.VM不可拖拽文件
安装Open-vm-tools替代VMware tools能够完美实现自动适应客户机的分辨率,随意改变窗和与宿主机之间文件的复制粘贴功能。
apt-get install open-vm-tools-desktop fuse //重启
2.系统配置
(1)安装Open-vm-tools替代VMware tools能够完美实现自动适应客户机的分辨率,随意改变窗和与宿主机之间文件的复制粘贴功能。
##以下命令要手敲哦 sudo su ##提高权限 apt-get install open-vm-tools-desktop fuse ##安装软件reboot ##重启
(2)安装Dev-sidecar加速对Github的访问速度(镜像好像让我触发机制了)
https://gitee.com/docmirror/dev-sidecar/attach_files/842603/download/DevSidecar-1.6.2.deb ##放在浏览器中打开 ok打开目录 进入终端(右键选择)
删除文件夹
//先cd到
sudo chmod 777 +文件夹名字例:sudo chmod 777 admin
sudo apt-get install net-tools //安装网络IP查看工具ifconfig
SHH安装
sudo apt-get install ssh//SSH安装
虚拟机搭建->SSH安装->
sudo chmod 777 /dev/ttyUSB0idf.py flash monitor
ESP_IDF安装部分
一·Linux 平台工具链安装
一句话完成 ,这句话是控制执行权限的
sudo su
记得输入虚拟机的管理密码
我们将要安装工具链,这一步是全自动的。以下是一个语句
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
我们进入终端,我建议你是和我输入一样的代码,否则会出现一堆疑难杂症
(这里需要等待较长时间,取决于你的网速),你可以使用镜像网站,这样可以减少很多时间
镜像网站:我叫镜像网站
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com/espressif/esp-idf.git
使用GIthub的镜像网络代码,网速慢的可以使用这个
mkdir -p ~/esp
cd ~/esp
git clone --recursive https://github.com.cnpmjs.org/espressif/esp-idf.git
若是克隆失败,可能是因为国内限制访问github的问题,可参考以下文档
docs/README-submodule-update.md · 乐鑫开源/esp-gitee-tools - Gitee.com
参考上述文档后执行以下命令
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
git clone https://gitee.com/EspressifSystems/esp-idf.git
三·工具安装
ESP_IDF所有必需工具,我们需要安装一下,代码和官方不同,为了优化下载速度,并且按照ESP支持的全部产品
除了 ESP-IDF 本身,您还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。
cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh
看到如下信息则设置成功
All done! You can now run:
. ./export.sh
四 ·环境变量配置
配置环境变量,目的是为了让编译器,知道这里有ESP_IDF的文件
. $HOME/esp/esp-idf/export.sh
注意,命令开始的 “.” 与路径之间应有一个空格!
看到如下信息则设置成功
Done! You can now compile ESP-IDF projects.
Go to the project directory and run:
idf.py build
你要是经常用可以建立一个SH命令,就不用一直复制配置环境里,直接get_idf搞定
alias get_idf='. $HOME/esp/esp-idf/export.sh'
get_idf
五·创建工程
我和历程一样一起用Hello_world ,直接乾坤大挪移,新建,并复制到这里
cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .
六·创建工程
- Windows 操作系统:
COM1
等 - Linux 操作系统: 以
/dev/tty
开始 - macOS 操作系统: 以
/dev/cu.
开始
Linux是以问价挂载的
七·配置
在切换,或者配置基础的芯片环境,需要更改,这里。以后你就知道干啥的,如果是历程你就不要动了。
cd ~/esp/hello_world
idf.py set-target esp32
idf.py menuconfig
- esp32 — 适用于 ESP32-D0WD、ESP32-D2WD、ESP32-S0WD (ESP-SOLO)、ESP32-U4WDH、ESP32-PICO-D4
- esp32s2— 适用于 ESP32-S2
- esp32c3— 适用于 ESP32-C3
根据自己所使用的板子去选择芯片
执行出错
The following Python requirements are not satisfied:
idf-component-manager>=0.2.99-beta
To install the missing packages, please run "/home/book/esp/esp-idf/install.sh"
Diagnostic information:IDF_PYTHON_ENV_PATH: /home/book/.espressif/python_env/idf4.3_py3.6_envPython interpreter used: /home/book/.espressif/python_env/idf4.3_py3.6_env/bin/pythonESP-IDF v4.4-dev-3235-g3e370c4296-dirty
解决办法,重启虚拟机回到第四步,重新走一遍。
idf.py menuconfig
之前步骤都没问题则会显示下面菜单。
八·配置
编译烧录工程
idf.py build
报错1:
build Invalid certificate
解决办法:
关闭终端重启
报错2:
idf.py: command not found
解决办法:
重新执行一次. $HOME/esp/esp-idf/export.sh
报错3:
Invalid certificate
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
解決办法:
执行idf.py menuconfig
在配置菜单中禁用此项
(Top) > Component config > mbedTLS > Certificate Bundle->Enable trusted root certificate bundle
参考:https://github.com/espressif/esp-idf/issues/7660
查看ESP模组是否挂载
ls /dev/ttyUSB0 //查看是否挂载
九· 烧录到设备
直接烧录到历程
idf.py -p /dev/ttyUSB0 -b 460800 flash
/dev/ttyUSB0代表硬件连接的串口号
460800 代表下载时的波特率
报错:
Permission denied: '/dev/ttyUSB0'
CMake Error at run_serial_tool.cmake:56 (message):
/home/book/.espressif/python_env/idf4.4_py3.6_env/bin/python
/home/book/esp/esp-idf/components/esptool_py/esptool/esptool.py --chip
esp32 failed
…
ninja: build stopped: subcommand failed.
ninja failed with exit code 1
解决办法:
访问串口 /dev/ttyUSB0权限不够
修改权限执行以下命令
sudo chmod 777 /dev/ttyUSB0
再次烧录成功
十· 监视器
idf.py -p PORT monitor
可看到打印调试信息
Ctrl + ] 退出监控
若是打印乱码,可能是因为晶振设置错误。
解決办法:
执行idf.py menuconfig
在配置菜单中修改成对应正确的晶振
(Top)->Component config –> ESP32-specific –> Main XTAL frequency
重新编译后再烧录程序
您也可以运行以下命令,一次性执行构建、烧录和监视过程
idf.py -p /dev/ttyUSB0 flash monitor
可看到打印调试信息hello world
Hello world!
This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB external flash
Minimum free heap size: 294496 bytes
Restarting in 10 seconds…
Restarting in 9 seconds…
Restarting in 8 seconds…
Restarting in 7 seconds…
Restarting in 6 seconds…
Restarting in 5 seconds…
Restarting in 4 seconds…
Restarting in 3 seconds…
Restarting in 2 seconds…
Restarting in 1 seconds…
Restarting in 0 seconds…
Restarting now.
到此 环境搭建成功 !!!
基于LINUX下ESP_IDF开发环境搭建安装问题总结相关推荐
- Linux下Java开发环境搭建
最近刚开始玩Linux,搞开发搭建环境是第一步,于是总结了这篇Linux下Java开发环境搭建的博客,记录一下我爬过的坑. 一.JDK的下载 jdk8官方下载地址:http://www.oracle. ...
- linux终端怎样ise,Linux下ISE开发环境的安装zz
Linux下ISE开发环境的安装zz (2011-03-17 18:55:33) 标签: 杂谈 转自:http://hi.baidu.com/remygo/blog/item/6823f78b83ce ...
- Linux下golang开发环境搭建
对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...
- linux下python开发环境搭建_linux下python开发环境之二——安装Eclipse+PyDev
Eclipse是由java开发的,所以要想让Eclipse跑起来就得安装jdk,在命令行里输入javac就能查看本机是否已经安装好了jdk了. 1.安装jdk 先从oracle官网上下载jdk,放到/ ...
- Linux 下 STM32 开发环境搭建
安装编译器 如果还没安装编译器的,先安装: sudo apt install gcc-arm-none-eabi sudo apt install gdb-arm-none-eabi sudo apt ...
- gnu java_GNU/Linux下Java开发环境的安装和配置
首先下载JDK,在这里下载最新版本的JDK,选择平台为linux,就会得到一个二进制文件,我得到的是jdk-6u23-linux-i586.bin,复制到需要安装的地方运行就会自动解压缩并安装. 比如 ...
- java gnu_GNU/Linux下Java开发环境的安装和配置 | 学步园
首先下载JDK,在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本的JDK,选择平台为linux,就会得 ...
- Linux下ARM开发环境搭建
本人的系统环境:Linux ubuntu 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/ ...
- linux下lua开发环境安装
我前面我们介绍了nginx+lua环境的搭建,在此我们再来了解下lua开发环境的安装. 目前lua版本已经更新到lua5.3,但是我们在此安装lua5.1,因为5.1运行了好多年,有好多模块都是基于此 ...
最新文章
- 【c语言】数组逆序排列
- 汇编语言--段寄存器
- spring boot一:入门
- 条件概率 and 条件概率的链式法则 and 期望、方差和协方差
- 搭建卷积神经网络怎么确定参数_AI入门:卷积神经网络
- (转)交换机攻击方法描述
- linux-查找某目录下包含关键字内容的文件
- 数据恢复工程师视角看腾讯云静默损坏事件
- 也谈政府机关服务器资源的有效利用
- solidworks导出xml文件 (matlab打开)
- 修改Eclipse字体以及背景颜色
- Jensen 不等式
- Ubuntu18.04安装TPlink WDN5200 usb无线网卡驱动
- sou.php,phpsou RiSearchPHP是一个高效 联合开发网 - pudn.com
- python 读写西门子PLC例子
- 从“洗脸巾”到“湿厕纸”,生活用纸的品类扩张之路
- h5 富文本输入框_富文本输入框
- 项目 电话号码和E-mail地址提取程序 地实现
- STM32仿真器下载配置
- 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.3
热门文章
- logback之三:输出日志到文件(滚动)
- 线上推广渠道有哪些?如何进行管理?
- python已知两条直角边求斜边_Python实现已知三角形两直角边,求斜边--思路,伪代码,优化...
- 从入门到放弃表情包 python_Python从入门到放弃(1)
- 【Android实现返回主页,禁止返回上一层等功能】
- 选中exchange缓存模式后 GAL不会更新
- Performance overview: Unixbench results on Container and VM, and seccomp
- SANGFOR SCSA——协议基础
- excel数据透视表_Excel数据透视表可轻松实现总计
- 贝壳找房:如何基于 Apache APISIX 搭建网关