为了解决国内开发者从 github 克隆 esp 相关仓库慢的问题,已将 esp-idf 和部分重要仓库及其关联的子模块镜像到了 jihu,这些仓库将自动从原始仓库进行同步。此篇博客用来阐述 Ubuntu18.04 上通过 jihu 镜像完成 ESP-IDF 编译环境搭建流程。
注:乐鑫对应的 jihu 镜像仓库为 esp-mirror espressif 仓库
sudo apt-get install git wget flex bison gperf python3 python3-pip python3-setuptools cmake ninja-build ccache libffi-dev libssl-dev dfu-util
sudo apt-get install python3.8-venv python3.8-dev
sudo update-alternatives --config python
使用 pip 安装以下 python 软件包
python -m pip install pyyaml xlrd
python -m pip --version
sudo apt-get install libncurses5-dev
cd esp
mkdir jihu
cd jihu
git clone https://gitee.com/EspressifSystems/esp-gitee-tools.git
./jihu-mirror.sh set
运行此指令后,以后克隆任意 Github espressif 或 esp-mirror espressif 下的仓库和组件都会自动镜像 URL 链接到 jihu 链接上。例如:
当我们使用命令 git clone https://github.com/espressif/esp-idf
时,默认的 URL https://github.com/espressif/esp-idf
将被自动替换成 https://jihulab.com/esp-mirror/espressif/esp-idf
。
当然,也可以使用如下恢复命令,取消已经设置的 jihu 镜像环境,从而不使用镜像的 URL。
./jihu-mirror.sh unset
cd ..
cd jihu
git clone -b v5.1.1 https://jihulab.com/esp-mirror/espressif/esp-idf.git
可以直接在esp-mirror espressif 下获取仓库链接,也可以直接使用 Github espressif 下的仓库链接。
cd esp-idf
git submodule update --init --recursive
export IDF_PATH=$(pwd)
./install.sh
. ./export.sh
cd examples/get-started/hello_world
idf.py set-target esp32s3 //选择 esp32s3 的芯片环境
idf.py menuconfig
idf.py build
idf.py flash monitor