Ubuntu版本
Ubuntu 22.04.1 LTS # wsl
前期准备
本文中所有命令均使用完整路径,环境安装完成后,目录结构如下
/home/zhao/esp
├── esp-gitee-tools
├── esp32-sdk
│ └── esp-idf
└── esp8266-sdk
└── ESP8266_RTOS_SDK
下载 esp32-gitee-tools[1]
cd ~/esp
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git # 必选,加速安装过程的神器
检查python环境是否满足要求
python -m virtualenv --version # 确保模块存在
否则运行
sudo apt install python-is-python3 python3-pip
python -m pip install virtualenv
可能需要手动安装的包
#sudo apt-get update # 如果报错,需要先执行这一步
sudo apt install ncurses-dev # menuconfig 所需的软件包
sudo apt install flex bison gperf # 可能需要的软件包,缺失会导致`make`时报错
下载并配置环境
这一步ESP32
/ESP8266
操作各不相同,但核心步骤就是两步
- 下载sdk
- 执行安装脚本
install.sh
,自动配置编译器和python虚拟环境 - 执行
export.sh
,导出环境变量如
ESP32
下载 ESP32-IDF[2]
cd ~/esp/esp32-sdk # 空文件夹用来存放idf框架
git clone https://gitee.com/EspressifSystems/esp-idf
安装
# ~/esp/esp32-sdk/esp-idf/install.sh # 从github下载,会很慢
~/esp/esp-gitee-tools/install.sh ~/esp/esp32-sdk/esp-idf/ # 让esp-gitee-tools 帮助esp-idf执行安装
执行完成后,会看到如下提示
All done! You can now run:
. /home/zhao/esp/esp32-sdk/esp-idf/export.sh
启动IDF环境
. ~/esp/esp32-sdk/esp-idf/export.sh
ESP8266
下载 ESP8266_ROTS_SDK[3]
cd ~/esp/esp8266-sdk # 新建空文件夹用来存放idf框架
git clone https://gitee.com/EspressifSystems/ESP8266_RTOS_SDK.git
安装
过程中会为idf框架创建python虚拟环境,下载编译器xtensa-lx106-elf
放在~/.espressif
目录
~/esp/esp8266-sdk/ESP8266_RTOS_SDK/install.sh # 在此之前确保python环境满足要求
执行完成后,会看到如下提示
# 此处省略安装过程
All done! You can now run:
. /home/zhao/esp/esp8266-sdk/ESP8266_RTOS_SDK/export.sh
启动IDF环境
执行命令即可导出相关的环境变量
. ~/esp/esp8266-sdk/ESP8266_RTOS_SDK/export.sh
开始使用吧
执行export.sh
脚本后,环境变量IDF_PATH
会指向对应的sdk
无论是ESP32 还是 ESP8266,到这一步都是通用的,
每次开发时要做的第一步就是执行对应的export.sh脚本
Hello IDF
cd ${IDF_PATH}/examples/get-started/hello_world/
idf.py build
更新子模块
需要更新git子模块的时候, 不使用git命令,改用esp-gitee-tools
方法一:sumodule-update.sh
~/esp/esp-gitee-tools/submodule-update.sh ${IDF_PATH}
方法二:jihu-mirror.sh
~/esp/esp-gitee-tools/jihu-mirror.sh set # 使用jihu镜像
~/esp/esp-gitee-tools/jihu-mirror.sh unset # 不使用jihu镜像,从原url拉取