ESP32开发首先要搭建一套可以编译的环境。
我们跟随乐鑫文档的步伐来到
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 安装
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
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
5. sudo cp /usr/lib/python3/dist-packages/lsb_release.py /usr/local/python3.8.3/lib/python3.8/
这个主要是编译过程中可能找不到这个lsb模块,需要这里提前拷贝到安装目录中
- 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
5. esp-who
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