ESP32-C3上手笔记 | 01 - ESP32 C3开发环境搭建(ESP-IDF)
原文:https://blog.51cto.com/u_13640625/4905431
一、ESP32-C3模组
本想仗剑天涯走四方,奈何没有抢到票,五一假期只能宅咯,it is a sad story~
刚从安信可官方抢到手一块ESP32-C3F模组开发板,甚是便宜,上手体验一把!
ESP32-C3系列WIFI模组是一款高集成度的低功耗 2.4G Wi-Fi和蓝牙系统级芯片(SoC),搭载 RISC-V 32 位单核处理器,工作频率高达160 MHz,内置安全硬件,支持二次开发。
二、ESP32 C3硬件开发环境准备
搭建过程官方参考文档: 快速入门 ESP32-C3
使用Micro USB线连接ESP32 C3F开发板到电脑即可,如图:
三、ESP32 C3软件开发环境搭建(Windows)
搭建过程官方参考文档: 快速入门 ESP32-C3
软件开发的搭建有三种选择:
手动安装工具链
使用Eclipse插件
使用VScode插件
这里为了更清楚的上手ESP32 C3开发环境,手动在Windows上安装工具链。
1. 下载安装器
ESP-IDF 需要安装一些必备工具,才能围绕 ESP32-C3 构建固件,包括 Python、Git、交叉编译器、CMake 和 Ninja 编译工具等。
安装 ESP-IDF 必备工具最简易的方式是从 https://dl.espressif.com/dl/esp-idf/?idf=4.4 中下载 ESP-IDF 工具安装器。
安装程序会安装以下组件:
内置的 Python
交叉编译器
OpenOCD
CMake 和 Ninja 编译工具
ESP-IDF
因为网络原因,安装过程中使用github下载会出问题,这里我选择ESP-IDF离线安装工具:
2. 使用安装器进行安装所需环境
下载完成之后双击开始安装。
同意协议:
等待安装前环境检查完成:
电脑中目前没有ESP-IDF,选择下载:
选择下载的ESP-IDF版本和安装位置:
选择ESP-IDF工具安装路径:
选择要安装的组件,全选:
确认要安装的信息。接下来,等待下载安装完成:
安装完成之后如图:
安装完成之后,安装工具会在桌面创建下面三个快捷方式:
在ESP32-IDF工具安装目录可以看到所需工具链:
在ESP-IDF安装目录可以看到ESP-IDF环境:
3. 升级ESP-IDF环境
离线安装工具安装的ESP-IDF版本为v4.2,但本文中所使用的模组ESP32-C3在v4.3版本中支持,从乐鑫服务器下载v4.3发布版本:
https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v4.3-beta3.zip
下载之后解压,替换原来的所有内容:
3.1. 配置cmd环境
替换完成之后,运行 install.bat 进行安装,安装完成,再次打开IDF命令行工具:
可以正常使用。
3.2. 配置powershell
进入ESP-IDF安装路径,打开powershell:
运行安装脚本:
运行ESP-IDF powershell命令行,正常使用:
3.3. 在当前命令行使用
若要在当前命令行使用,执行ESP-IDF提供的环境变量设置脚本即可,在本文的安装情况下,powershell执行:
G:\develop_tools\ESP32-IDF\export.ps1
1.
4. helloworld工程示例
4.1. 创建工程
从ESP-IDF安装目录中拷贝helloworld示例工程过来:
打开命令行,运行设置环境变量的脚本,设置好环境:
4.2. 配置工程
配置目标芯片:
idf.py set-target esp32c3
1.
打开menuconfig配置界面:
idf.py menuconfig
1.
特别注意!!!此处配置需要修改为Rev2!否则程序运行出错!
4.3. 编译工程
运行命令可以编译应用程序和所有 ESP-IDF 组件,接着生成 bootloader、分区表和应用程序二进制文件:
idf.py build
1.
4.4. 烧录固件
使用命令,将刚刚生成的二进制文件 (bootloader.bin, partition-table.bin 和 hello-world.bin) 烧录到 ESP32-C3 开发板:
idf.py -p PORT [-b BAUD]
1.
port是端口号,可以在【设备管理器】中看到,这里是COM9;
BAUD是波特率,默认波特率为 460800;
烧录命令为:
idf.py -p COM9 flash
1.
4.5. 查看串口信息
idf.py -p PORT monitor
1.
同样,port是端口号,可以在【设备管理器】中看到。
这里是COM9,命令为:
idf.py -p COM9 monitor
1.
四、ESP32 C3软件开发环境搭建(Linux)
搭建过程官方参考文档: 快速入门 ESP32-C3
这里我使用的系统为Ubuntu 20.04。
1. 安装前的准备
sudo apt-get update
sudo apt-get install git wget
1.
2.
3.
2. 获取 ESP-IDF
因为ESP-C3在v4.3中才支持,这里选择release/v4.3发布包下载。
mkdir -p ~/esp
cd ~/esp
wget
1.
2.
3.
下载到文件后解压:
upzip esp-idf-v4.3-beta3.zip
1.
将解压出的文件夹重命名为esp-idf:
mv
1.
3. 安装额外的工具
除了 ESP-IDF 本身,还需要安装 ESP-IDF 使用的各种工具,比如编译器、调试器、Python 包等。
很多工具在国内pip源没有,所以提前换为官方源:
pip3 config set
1.
下面的命令将 ESP-IDF 所需的编译工具默认安装在用户的根目录中,即 Linux 中的$HOME/.espressif。
其中第二行命令设置在安装工具时优先选择 Espressif 下载服务器。
cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
1.
2.
安装成功之后:
4. 设置环境变量
编辑shell用户配置文件:
vim ~/.bashrc
1.
复制并粘贴以下命令到 shell 配置文件中:
alias get_idf='. $HOME/esp/esp-idf/export.sh'
1.
刷新配置文件:
source
1.
现在可以在需要的时候,在任何终端窗口中运行 get_idf 来设置或刷新 esp-idf 环境:
get_idf
1.
5. 新建工程
在目录esp下新建project目录:
cd ~/esp
mkdir
1.
2.
将esp-idf下的helloworld示例工程复制过来:
cp -r ../esp-idf/examples/get-started/hello_world ./
1.
示例工程新建完成。
进入示例工程:
cd
1.
在当前终端设置idf环境:
get_idf
1.
6. 配置工程
配置目标芯片为ESP-C3:
idf.py set-target esp32c3
1.
默认配置存在bug,进入menuconfig配置界面:
idf.py menuconfig
1.
按s保存后,按esc退出。
7. 编译工程
idf.py build
1.
8. 在 Linux 中添加用户到 dialout
当前登录用户应当可以通过 USB 对串口进行读写操作。在多数 Linux 版本中,您都可以通过以下命令,将用户添加到 dialout 组,从而获许读写权限:
sudo usermod -a -G dialout $USER
1.
请重新登录,确保串口读写权限生效。
9. 烧录固件
开发板使用串口连接到Linux主机,在linux下串口设备号以 /dev/tty 开始,通过插拔前后的不同找出设备号:
找出设备号后,使用下面的命令烧录:
idf.py -p /dev/ttyUSB0 flash
1.
烧写成功。
-----------------------------------
©著作权归作者所有:来自51CTO博客作者MCUlover666的原创作品,请联系作者获取转载授权,否则将追究法律责任
ESP32-C3上手笔记 | 01 - ESP32 C3开发环境搭建(ESP-IDF)
https://blog.51cto.com/u_13640625/4905431
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10亿数据,如何做迁移?
· 推荐几款开源且免费的 .NET MAUI 组件库
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· c# 半导体/led行业 晶圆片WaferMap实现 map图实现入门篇
· 易语言 —— 开山篇
2022-11-07 C# 中使用 Redis 简单存储
2022-11-07 C# MemoryCache学习笔记
2021-11-07 net core WebAPI 初探及连接MySQL
2021-11-07 ASP.NET Core使用EF Core操作MySql数据库
2021-11-07 谈谈分布式事务之一:SOA需要怎样的事务控制方式
2021-11-07 ASP.NET Core中的依赖注入(2):依赖注入(DI)
2020-11-07 spring cloud 项目