ESP-IDF 烧录过程记录

ESP-IDF 烧录全程记录

环境:Ubuntu16.04虚拟机

准备操作:
以esp-idf-v4.2.1为例
输入命令行:sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util

1.参考教程安装python3.7.0:https://blog.csdn.net/weixin_43790276/article/details/89439555安装python3.7.0并且创建Python3.7.0的软链接到/usr/bin/中的python上。
完成后,输入命令行:python --version
检查默认python版本是否为Python3.7.0。
【注意!!!】安装时记得看缺少的库,然后执行如下命令安装完毕后,再重新make看看是否缺少库。可以使用命令安装齐全:apt-get install libbz2-dev libncurses5-dev libgdbm-dev liblzma-dev sqlite3 libsqlite3-dev openssl libssl-dev tcl8.6-dev tk8.6-dev libreadline-dev zlib1g-dev

P.S.尤其_curse库的缺失会给idf.py menuconfig带来问题。见博客:https://blog.csdn.net/qq_44890345/article/details/121102586`

2.检查Cmake版本
ubuntu16.04系统下cmake版本为cmake3.5,满足要求,如下命令查看cmake版本:

cmake --version

3.下载esp-idf
esp-idf版本推荐使用v4.2.1版本;
使用命令行直接下载代码,可能因为官网服务器不稳定,安装包下载不完全会导致后续各种报错。**【官方文档提示】不要下载由github自动生成的“源代码”的zip文件,它们不适用于ESP-IDF。
**1.可以用git来代替命令中的github下载。
2.可以选择了从Releases Page下载代码压缩包(本次采用了这个方法)。网址为https://github.com/espressif/esp-idf/releases
step1:进入网页后,在Tag处选择所需版本,如下图:
在这里插入图片描述
事特批:选择需要版本,点击后进入其对应release页面,页面末尾处下载,如下图:
在这里插入图片描述
step3:在home目录下新建文件夹esp,然后将解压后的文件复制到里面去,再重命名为esp-idf即可。
P.S.建议此步结束后查看/esp/esp-idf/目录下是否有install.sh等文件。确保没出错。
4.部署.espressif
step1:在桌面mkdir .espressif/ 【注】:.****为隐藏文件,因此在文件管理中,使用Ctrl +H才能显示。
step2:然后用命令解压,命令为:

sudo tar -zxvf espressif.tar.gz -C .espressif

//再将文件夹.espressif/复制到/home/自己的用户名/路径下:

sudo cp -r .espressif/ /home/自己的用户名

//同样建议操作完在对应目录查看是否有文件
5.设置工具

cd ~/esp/esp-idf
./install.sh

下载成功后/home/用户名/.espressif/tools途径存在以下五个文件夹:xtensa-esp32-elf、xtensa-esp32s2-elf、esp32ulp-elf、esp32s2ulp-elf、openocd-esp32。//此步没有错误,排除
6.设置环境变量

. $HOME/esp/esp-idf/export.sh

7.创建工程

cd ~/esp
cp -r $IDF_PATH/examples/get-started/hello_world .

//点千万不能漏掉!!!!
8.连接设备
摸索过程实录:将数据线与电脑相连,可以先在win10系统的设备管理器看它是否能有端口号。由于本人的电脑缺少相应的驱动,因此被识别为一个未知设备。解决办法:参考ESP-IDF官方文档:https://docs.espressif.com/projects/esp-idf/zh_CN/latest/esp32/get-started/establish-serial-connection.html 然后在开发板USB口处附近的小正方形区域能查看开发板具体使用的 USB 转串口芯片型号为:CP2102.下载安装对应驱动程序即可。

将数据线连接到电脑,选择将设备连接到虚拟机。查看设备端口:

ls /dev/tty*` 

,查询到端口号为/dev/ttyUSB0。务必记住,之后要用。
9.配置
进入 开始创建工程 中提到的 hello_world 目录,并运行工程配置工具 menuconfig。

cd ~/esp/hello_world
idf.py set-target esp32
idf.py menuconfig

**【报错ModuleNotFoundError: No module named ‘_curses’】**参考本人另一篇博客解决:
解决后,成功结果如下图:
在这里插入图片描述

10…编译工程
首先:cd ~/esp/hello_world
然后配置环境变量:

. $HOME/esp/esp-idf/export.sh

然后编译工程:

idf.py build

成功的话会生成一个.bin文件
【注】此步遇到过错误,
FAILED: esp-idf/mbedtls/x509_crt_bundle 。参考了github上的回答,没有解决。直接重装了虚拟机,从头再来,它就好了!!!

10.烧录到设备
请使用以下命令,将刚刚生成的二进制文件烧录至ESP32 开发板:
idf.py -p PORT [-b BAUD] flash
其中PORT为设备端口好, BAUD为我们希望的烧录波特率。默认波特率为 460800。
【注】:此步遇到过错误:提示/dev/ttyUSB0读写无权限。解决方案:输入:chmod +777 /dev/ttyUSB0

11.监视器
使用 idf.py -p PORT monitor 命令,监视 “hello_world” 工程的运行情况。注意,不要忘记将 PORT 替换为使用的串口名称。
输入:

idf.py -p /dev/ttyUSB0 monitor

结果如下图则成功,它会一直循环输出这些内容,使用快捷键 Ctrl+],就可以退出 IDF 监视器。:

...
Hello world!
Restarting in 10 seconds...
This is esp32 chip with 2 CPU core(s), WiFi/BT/BLE, silicon revision 1, 2MB external flash
Minimum free heap size: 298968 bytes
Restarting in 9 seconds...
Restarting in 8 seconds...
Restarting in 7 seconds...
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值