记录1:ESP32-C3的环境搭建以及官方例子测试

ESP32-C3的环境搭建以及官方例子测试

环境 系统: Ubuntu 16.04 硬件平台: 安信可开发板(使用自制开发板或者其他开发板子都可以)

ESP-IDF的环境搭建

#更新软件列表
sudo apt-get update
#安装python3
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
#设置pip源
pip3 config set global.index-url https://pypi.python.org/simple/

下载ESP-IDF

(注:由于ESP-C3只在v4.3之后的版本才支持,,然后在网页中点击Tag按钮即可查看)

mkdir esp
cd esp
#这里笔者选择从Espressif的下载服务器下载,但是使用git命令下载(很难下载成功)命令如下:
#方式1
wget https://dl.espressif.com/dl/esp-idf/releases/esp-idf-v4.3-beta3.zip
#方式2
git clone -b v4.3-beta3 --recursive https://github.com/espressif/esp-idf.git esp-idf-v4.3-beta3

因为我这里选择了方式1下载,因此需要进行解压,如果使用方式2下载则直接cd esp-idf-v4.3-beta3

unzip esp-idf-v4.3-beta3.zip
cd esp-idf-v4.3-beta3

下载工具

cd esp-idf-v4.3-beta3
#设置下载工具的环境变量,设置优先从Espressif的服务器进行下载
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh

设置环境变量

对于Bash Shell 命令窗口(一般的Linux都是Bash Shell):

cd esp-idf-v4.3-beta3
. ./export.sh

对于Fish Shell 命令窗口 :

cd esp-idf-v4.3-beta3
. ./export.fish

注意:假如运行 ESP-IDF则需要进行以下设置(笔者推荐进行该设置)

  1. 复制并粘贴以下命令到 shell 配置文件中( Linux常用的配置文件有.profile, .bashrc, .zprofile 等),这里笔者选择设置.bashrc文件
alias get_idf=. $HOME/esp/esp-idf-v4.3-beta3/export.sh
  1. 通过重启终端窗口或运行 source (以上设置文件路径/以上设置的文件名字),如 source ~/.bashrc 来刷新配置文件。

进行功能测试

功能测试:笔者选择了ESP-IDF自带的hello world 工程进行测试 操作流程:

cd esp-idf-v4.3-beta3
#拷贝hello 
cp -r examples/get-started/hello_world ..
#进入工程目录
cd ../hello_world
#设置或刷新 esp-idf 环境
get_idf
#配置芯片为ESP-C3
idf.py set-target esp32c3
#进入配置界面,配置相关信息,配置完成后保存,退出
#配置详情如下:
#Component config → 
#	ESP32C3-Specific → 
#		Minimum Supported ESP32-C3 Revision
#选择REV2
idf.py menuconfig
#进行工程编译
idf.py build
#接入设备,使用命令查看当前串口名
#(注意:根据串口的芯片信息来选择相对应的设备
#譬如:笔者使用的是ch341芯片,则使用下面命令时就会出现这样的一句话
#[ 6969.968535] usb 3-1: ch341-uart converter now attached to ttyUSB0
#这表明笔者板子的串口设备名为/dev/ttyUSB0,但记住如果有两个一样的ch341芯片的串口
#接入这需要注意区分了,区分方式:可以通过插拔的方式观察/dev目录下有那个设备插入时出现,
#拔掉时消失,该设备就是串口设备,插拔时可以使用 ls /dev/tty*该命令进行查看)
dmesg | grep ttyS*
#设置串口设备权限
#(注:该方式在终端关闭后权限失效)
#若要永久修改可以参考以下方式进行设置
#新建文件
#sudo vim /etc/udev/rules.d/70-ttyusb.rules
#输入以下内容然后保存
#KERNEL=="ttyS[0-9]*", MODE="0666"
#KERNEL=="ttyUSB[0-9]*", MODE="0666"
#修改70-ttyusb.rules的权限
#sudo chmod-R 777 70-ttyusb.rules
sudo chmod 777 /dev/ttyUSB0
#进行烧录,并且启动IDF监视器,(注意:Ctrl+]:退出监视器)
idf.py -p /dev/ttyUSB0 flash monitor

结果

...
Hello world!
Restarting in 10 seconds...
This is esp32c3 chip with 1 CPU core(s), WiFi/BLE, silicon revision 0, 2MB external flash
Minimum free heap size: 337332 bytes
Restarting in 9 seconds...
Restarting in 8 seconds...
Restarting in 7 seconds...
#出现以上结果表示成功

参考文档,文章:

经验分享 程序员 微信小程序 职场和发展