从零开始设置 Linux 环境下的工具链(传统 GNU Make)¶
注解
ESP-IDF V4.0 及之后版本的默认构建系统为 CMake。本文档主要针对之前基于 GNU Make 的传统构建系统。请注意,未来,我们可能不会继续支持基于 GNU Make 的构建系统。
安装准备¶
编译 ESP-IDF 需要以下软件包:
Ubuntu and Debian:
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-pip python-setuptools python-serial python-cryptography python-future python-pyparsing python-pyelftools libffi-dev libssl-dev
Arch:
sudo pacman -S --needed gcc git make ncurses flex bison gperf python-pyserial python-cryptography python-future python-pyparsing python-pyelftools
注解
一些旧的(2014年之前)Linux 发行版中使用的 pyserial
版本可能是 2.x ,ESP-IDF 并不支持。这种情况下,请按照 第四步:安装 Python 软件包 章节的介绍,使用 pip
安装软件包。
从源代码编译工具链¶
安装依赖项:
CentOS 7:
sudo yum install gawk gperf grep gettext ncurses-devel python python-devel automake bison flex texinfo help2man libtool
Ubuntu pre-16.04:
sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool
Ubuntu 16.04 或以上
sudo apt-get install gawk gperf grep gettext python python-dev automake bison flex texinfo help2man libtool libtool-bin
Debian 9:
sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool libtool-bin
Arch:
TODO
创建工作目录,并进入该目录:
mkdir -p ~/esp cd ~/esp
下载并编译
crosstool-NG
:git clone https://github.com/espressif/crosstool-NG.git cd crosstool-NG git checkout esp-2020r2 git submodule update --init ./bootstrap && ./configure --enable-local && make
编译工具链:
./ct-ng xtensa-esp32-elf ./ct-ng build chmod -R u+w builds/xtensa-esp32-elf
编译得到的工具链会被保存到
~/esp/crosstool-NG/builds/xtensa-esp32-elf
。请按照 标准设置指南 的介绍,将工具链添加到PATH
。
后续步骤¶
继续设置开发环境,请前往 第二步:获取 ESP-IDF 章节。