我的个人博客更多问题: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开发环境搭建安装问题总结相关推荐

  1. Linux下Java开发环境搭建

    最近刚开始玩Linux,搞开发搭建环境是第一步,于是总结了这篇Linux下Java开发环境搭建的博客,记录一下我爬过的坑. 一.JDK的下载 jdk8官方下载地址:http://www.oracle. ...

  2. linux终端怎样ise,Linux下ISE开发环境的安装zz

    Linux下ISE开发环境的安装zz (2011-03-17 18:55:33) 标签: 杂谈 转自:http://hi.baidu.com/remygo/blog/item/6823f78b83ce ...

  3. Linux下golang开发环境搭建

    对于golang开发来说,Windows下可以用vscode或者liteide都不错,但是Linux下的开发也就只有vim了,所以怎么搞笑的利用vim进行golang开发呢? 参考官方推荐的一个插件: ...

  4. linux下python开发环境搭建_linux下python开发环境之二——安装Eclipse+PyDev

    Eclipse是由java开发的,所以要想让Eclipse跑起来就得安装jdk,在命令行里输入javac就能查看本机是否已经安装好了jdk了. 1.安装jdk 先从oracle官网上下载jdk,放到/ ...

  5. Linux 下 STM32 开发环境搭建

    安装编译器 如果还没安装编译器的,先安装: sudo apt install gcc-arm-none-eabi sudo apt install gdb-arm-none-eabi sudo apt ...

  6. gnu java_GNU/Linux下Java开发环境的安装和配置

    首先下载JDK,在这里下载最新版本的JDK,选择平台为linux,就会得到一个二进制文件,我得到的是jdk-6u23-linux-i586.bin,复制到需要安装的地方运行就会自动解压缩并安装. 比如 ...

  7. java gnu_GNU/Linux下Java开发环境的安装和配置 | 学步园

    首先下载JDK,在http://www.oracle.com/technetwork/java/javase/downloads/index.html下载最新版本的JDK,选择平台为linux,就会得 ...

  8. Linux下ARM开发环境搭建

    本人的系统环境:Linux ubuntu 3.8.0-35-generic #50-Ubuntu SMP Tue Dec 3 01:25:33 UTC 2013 i686 i686 i686 GNU/ ...

  9. linux下lua开发环境安装

    我前面我们介绍了nginx+lua环境的搭建,在此我们再来了解下lua开发环境的安装. 目前lua版本已经更新到lua5.3,但是我们在此安装lua5.1,因为5.1运行了好多年,有好多模块都是基于此 ...

最新文章

  1. 【c语言】数组逆序排列
  2. 汇编语言--段寄存器
  3. spring boot一:入门
  4. 条件概率 and 条件概率的链式法则 and 期望、方差和协方差
  5. 搭建卷积神经网络怎么确定参数_AI入门:卷积神经网络
  6. (转)交换机攻击方法描述
  7. linux-查找某目录下包含关键字内容的文件
  8. 数据恢复工程师视角看腾讯云静默损坏事件
  9. 也谈政府机关服务器资源的有效利用
  10. solidworks导出xml文件 (matlab打开)
  11. 修改Eclipse字体以及背景颜色
  12. Jensen 不等式
  13. Ubuntu18.04安装TPlink WDN5200 usb无线网卡驱动
  14. sou.php,phpsou RiSearchPHP是一个高效 联合开发网 - pudn.com
  15. python 读写西门子PLC例子
  16. 从“洗脸巾”到“湿厕纸”,生活用纸的品类扩张之路
  17. h5 富文本输入框_富文本输入框
  18. 项目 电话号码和E-mail地址提取程序 地实现
  19. STM32仿真器下载配置
  20. 百度地图LV1.5实践项目开发工具类bmap.util.jsV1.3

热门文章

  1. logback之三:输出日志到文件(滚动)
  2. 线上推广渠道有哪些?如何进行管理?
  3. python已知两条直角边求斜边_Python实现已知三角形两直角边,求斜边--思路,伪代码,优化...
  4. 从入门到放弃表情包 python_Python从入门到放弃(1)
  5. 【Android实现返回主页,禁止返回上一层等功能】
  6. 选中exchange缓存模式后 GAL不会更新
  7. Performance overview: Unixbench results on Container and VM, and seccomp
  8. SANGFOR SCSA——协议基础
  9. excel数据透视表_Excel数据透视表可轻松实现总计
  10. 贝壳找房:如何基于 Apache APISIX 搭建网关