搭建ESP32,基于Linux环境下ESP32开发环境搭建

weixin_41683042

于 2021-10-10 10:18:19 发布

阅读量1.7k
 收藏 15

点赞数 2
文章标签: linux ubuntu git
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41683042/article/details/120683037
收起
初学者,只是记录自己的学习记录,有错误的地方还望见谅,请指正

首先安装Linux虚拟机,PC电脑的Windows系统可以先安装VMware再创建Ubuntu系统,这方面教程网上有很多,大家可以自行探索。

参考乐鑫官方文档

快速入门 - ESP32 - — ESP-IDF 编程指南 latest 文档

在编译部分那里报错Invalid certificate折腾了一天多才搞定,最后建议遇到问题多参考官方github的提问区,很快就能找到答案,有些问题某度不一定能解决。

Issues · espressif/esp-idf · GitHub

一、安装软件包
1、编译ESP-IDF需要先安装对应的软件包,确保Ubuntu联网,执行以下命令。(这里可能需要耐心等待几分钟)

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
1、在用户文件夹下/home/<user>/创建esp目录,接下来的开发都在此目录。执行以下命令。

mkdir esp
 
cd esp/
2、获取ESP-IDF(这里需要等待较长时间,取决于你的网速)

git clone -b v4.3.1 --recursive https://github.com/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-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

四、设置环境变量
. $HOME/esp/esp-idf/export.sh
注意,命令开始的 “.” 与路径之间应有一个空格!

看到如下信息则设置成功

Done! You can now compile ESP-IDF projects.

Go to the project directory and run:

  idf.py build

五、开始创建工程
将示例工程拷贝一份

cd ~/esp
 
cp -r $IDF_PATH/examples/get-started/hello_world .
六、连接设备
将ESP32连接至虚拟机

七、配置
cd ~/esp/hello_world
 
idf.py set-target esp32
注意这条命令idf.py set-target esp32

其中

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_env
    Python interpreter used: /home/book/.espressif/python_env/idf4.3_py3.6_env/bin/python

ESP-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

九、烧录到设备
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 /dev/ttyUSB0 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.
 

到此 环境搭建成功 !!!

文章知识点与官方知识档案匹配,可进一步学习相关知识
Git技能树首页概览6333 人正在系统学习中
————————————————
版权声明:本文为CSDN博主「weixin_41683042」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_41683042/article/details/120683037

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值