esp-who/esp-idf 在虚拟机ubuntu18.04中搭建 - esp32-s3-eye

ESP32开发首先要搭建一套可以编译的环境。

1. 基本环境

  1. 首先安装虚拟机和ubuntu18.04环境。
  2. 由于ubuntu的Python3已经比较低了,这个时候需要安装高版本的Python3然后按照快速入门教程中给定的

2. Linux基本环境准备

我们跟随乐鑫文档的步伐来到 

2.1 现有包安装

第一步:安装准备 ,我们使用的是linux系统,点击linux之后开始我们的配置过程进行安装包的安装

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

2.2 Python3.8安装

1 官方网站下载指定的版本的tgz

wget https://www.python.org/ftp/python/3.8.3/Python-3.8.3.tgz

2 安装几个依赖

sudo apt-get install openssl-devel
sudo apt-get install bzip2-devel 
sudo apt-get install expat-devel
sudo apt-get install gdbm-devel
sudo apt-get install readline-devel
sudo apt-get install sqlite-devel
sudo apt-get install zlib-devel
sudo apt-get install libffi-devel -y
sudo apt-get install -y gcc
sudo apt-get -y install zlib*

3 安装Python3.8.3

  • 3.1 解压Python3.8.3.tgz并进入
tar -xvf Python-3.8.3.tgz
cd Python-3.8.3
  • 3.2 创建安装的文件夹
mkdir /usr/local/python3.8.3
  • 3.3 配置安装目录
./configure --prefix=/usr/local/python3.8.3
  • 3.4 编译和安装
make && make install

  • 3.4 删除原来的软连接并配置新软连接
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3

ln -s /usr/local/python3.8.3/bin/python3 /usr/bin/python3
ln -s /usr/local/python3.8.3/bin/pip3 /usr/bin/pip3
  • 3.5. 这个主要是编译过程中可能找不到这个lsb模块,需要这里提前拷贝到安装目录中
sudo cp  /usr/lib/python3/dist-packages/lsb_release.py /usr/local/python3.8.3/lib/python3.8/

3 下载esp-idf并配置编译环境

mkdir -p ~/esp
cd ~/esp
git clone -b v4.4.1 --recursive https://github.com/espressif/esp-idf.git

下载过程中由于GitHub的的原因所以下载过程中子模块可能下载失败,这个时候反复执行下面语句知道所有的子模块全部下载正确

git submodule update --init --recursive

下载完成以后下载xtensa的工具链,下载过程中如果出现失败,从新调用最后一句install.sh

cd ~/esp/esp-idf
export IDF_GITHUB_ASSETS="dl.espressif.com/github_assets"
./install.sh

下载完成以后导出整个工具链和工程编译的环境变量

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

直接通过内部现有的实例进行编译环境正确性验证

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

进入到工程中进行编译,其中idf.py menuconfig具体怎么配置需要根据模块需要完成。这里测试环境不需要进行menuconfig配置

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

4 esp-who AI框架编译

esp-who是AI框架,内部提供了很多基本的实例

git clone --recursive https://github.com/espressif/esp-who.git
cd esp-who/
git submodule update --recursive --init
cd examples/human_face_detection/lcd/
idf.py set-target esp32s3
idf.py build

编译完成以后通过如下命令下载到开发板

idf.py -p PORT [-b BAUD] flash
中间的参数为波特率,默认 460800

下载过程中设涉及问题

USB接入以后连接到入虚拟机中的Linux系统,查看新增的tty*设备确定当前被系统识别以后得控制端口是什么,常见端口如下两种,直接通过如下两种命令进行bin文件下载:

idf.py -p /dev/ttyACM0 flash
idf.py -p /dev/ttyUSB0 flash

如果在写入的过程中发现权限不够,这个时候就需要修改权限。通过命令 ls -lh /dev/ttyUSB0 查看下载命令的权限,然后通过如下的命令进行权限修改

​sudo chmod 777 /dev/ttyUSB0

5.1 ESP32-S3 通过USB下载和调试

前 ESP32-S3 进行下载和调试有两种方式,一种是通过串口(UART),另一种是通过USB。如果使用串口的话,还需要一个额外的串口芯片-CP2102。使用USB就可以直接连接、下载。

  • 硬件设计

BOOT 键(GPIO0)是必须要有的,进入下载模式的时候需要用到。

复位键可以不用,直接使用上电复位配合上 BOOT 键也能进入下载模式。

GPIO19 和 GPIO20 是需要连接的USB引脚。

  • 进入下载模式

在通电的情况下,按住 BOOT 键不松开,然后在按一下复位键,然后再松开 BOOT 就能进入下载模式了。

在按住 BOOT 键不松的情况下上电。

  • 项目配置与下载

1.进入项目文件夹,执行以下指令

idf.py set-target esp32-s3  //配置芯片型号 idf.py menuconfig  // 进入配置界面 勾选 ESP_CONSOLE_USB_SERIAL_JTAG idf.py dfu             //编译成USB烧写的固件,注意这里和串口烧写的编译指令不同

2.进入下载模式之后,ubantu会识别出 USB JTAG/serial debug unit ,使用一下命令进行下载

idf.py -p /dev/ttyACM0 flash //具体设备号据实际情况而定

3.下载完成之后,重启退出下载模式。此时 ubantu 仍然会识别出 USB JTAG/serial debug unit 。

idf.py monitor -p /dev/ttyACM0 //打开USB调试打印

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值