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