Chapter 1. Get Started
(continued from previous page)
git submodule update --init
./bootstrap && ./configure --enable-local && make
Note: To create a toolchain with support for 64-bit time_t, you need to remove the --enable-newlib-long-
time_t option from the crosstool-NG/samples/xtensa-esp32-elf/crosstool.config file in
33 and 43 lines.
Build the toolchain:
./ct-ng xtensa-esp32s2-elf
./ct-ng build
chmod -R u+w builds/xtensa-esp32s2-elf
Toolchain will be built in ~/esp/crosstool-NG/builds/xtensa-esp32s2-elf.
Add Toolchain to PATH The custom toolchain needs to be copied to a binary directory and added to the PATH.
Choose a directory, for example ~/esp/xtensa-esp32s2-elf/, and copy the build output to this directory.
To use it, you will need to update your PATH environment variable in ~/.profile file. To make xtensa-
esp32s2-elf available for all terminal sessions, add the following line to your ~/.profile file:
export PATH="$HOME/esp/xtensa-esp32s2-elf/bin:$PATH"
Note: If you have /bin/bash set as login shell, and both .bash_profile and .profile exist, then update
.bash_profile instead. In CentOS, alias should set in .bashrc.
Log off and log in back to make the .profile changes effective. Run the following command to verify if PATH
is correctly set:
printenv PATH
You are looking for similar result containing toolchain’s path at the beginning of displayed string:
$ printenv PATH
/home/user-name/esp/xtensa-esp32s2-elf/bin:/home/user-name/bin:/home/user-name/.
,→local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/
,→games:/usr/local/games:/snap/bin
Instead of /home/user-name there should be a home path specific to your installation.
Next Steps To carry on with development environment setup, proceed to Step 2. Get ESP-IDF.
Setup Toolchain for Mac OS from Scratch
Package Manager To set up the toolchain from scratch, rather than downloading a pre-compiled toolchain, you
will need to install either the MacPorts or Homebrew package manager.
MacPorts needs a full XCode installation, while Homebrew only needs XCode command line tools.
See Customized Setup of Toolchain section for some of the reasons why installing the toolchain from scratch may be
necessary.
Espressif Systems 84
Submit Document Feedback
Release v4.4