1. 树莓派系统的安装
之前尝试liteOS版本无法正常安装ESP-IDF,至于什么原因不知道,后重新安装Legacy 桌面系统可以正常安装。
系统的安装,请前往树莓派官网,根据指定操作步骤进行即可。
2.因为是新装的系统,用不着Python2.7的版本,可以在终端使用命令卸载。我是把系统自带的Python2.7和Python3.7都卸载干净:
终端输入:sudo apt-get remove --auto-remove python
终端输入:sudo apt-get remove --auto-remove python3
3.安装python3以及相应依赖
终端输入:sudo apt-get install git wget libncurses-dev flex bison gperf python3 python3-click python3-pip python3-setuptools python3-serial python3-cryptography python3-future python3-pyparsing python3-pyelftools cmake ninja-build ccache libffi-dev libssl-dev
为python3创建软连接
ln -s /etc/bin/python3 /etc/bin/python
4.获取esp-idf
cd ~/esp
sudo git clone -b v4.0 --recursive https://github.com/espressif/esp-idf.git
没有翻墙情况下,很难能够成功克隆下来,试了多个晚上熬夜,都无法成功
建议使用码云上的项目克隆下来
https://gitee.com/EspressifSystems/esp-gitee-tools/blob/master/docs/README-submodule-update.md
安装此处的指引,非常快的可以把整个项目完整的克隆下来
cd ~/esp
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
git clone -b v4.0 https://gitee.com/EspressifSystems/esp-idf.git
进入esp-gitee-tools文件夹
cd esp-gitee-tools
./submodule-update.sh ../esp-idf
执行该脚本,会将esp-idf项目的所有子模块一并克隆下来,等待完成
5.下载交叉编译工具链
cd ~/esp
下载xtensa交叉编译工具链(一定要2019r2-linux-armel才能与esp-idf v4.0 匹配使用)
sudo wget https://github.com/espressif/crosstool-NG/releases/download/esp-2019r2/xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-armel.tar.gz
解压
sudo tar -xzf xtensa-esp32-elf-gcc8_2_0-esp-2019r2-linux-armel.tar.gz
6.设置环境变量
sudo vim ~/.bashrc
在文件末添加以下内容:
export IDF_PATH=~/esp/esp-idf
export PATH="$HOME/esp/xtensa-esp32-elf/bin:$IDF_PATH/tools:$PATH"
source ~/.bashrc
7.安装 Python 环境编译需要的软件包
cd ~/esp/esp-idf
python -m pip install --user -r ./requirements.txt
8.连接开发板
终端运行 `lsusb`,检查开发板是否连接成功,
终端运行 `dmesg`, 获取端口号: cp210x converter now attached to ttyUSB0 (/dev/ttyUSB0)
8.编译例程
cd ~/esp
拷贝hello_world至esp目录下
sudo cp esp-idf/examples/get-started/hello_world/ . -rf
为hello_world添加读写权限
sudo chmod 777 -R hello_world/
cd hello_world
配置
idf.py menuconfig
进入menuconfig后,在Serial flasher config菜单设置串口端口 Flash size设置为4M
执行以下命令编译
idf.py build
9.烧录固件
执行以下命令编译
idf.py -p /dev/ttyUSB0 flash
# /dev/ttyUSB0根据自己的情况填写
10.监视器
执行以下命令打开监视器
idf.py -p /dev/ttyUSB0 monitor
------------------------------------------------
参考文章
1.https://www.bilibili.com/read/cv5394053/
2.https://gitee.com/EspressifSystems/esp-idf