]> granicus.if.org Git - esp-idf/commitdiff
docs: update toolchain version
authorIvan Grokhotkov <ivan@espressif.com>
Sun, 4 Dec 2016 07:02:02 +0000 (23:02 -0800)
committerIvan Grokhotkov <igrokhotkov@gmail.com>
Wed, 11 Jan 2017 07:03:14 +0000 (15:03 +0800)
docs/linux-setup.rst
docs/macos-setup.rst
docs/windows-setup.rst
make/project.mk

index 20f460aa62df328b3d1e0acc3f67e37a4c7b2f84..94d77f3605e6b82219a01b4630d68731caaa725b 100644 (file)
@@ -10,11 +10,11 @@ Install some packages
 To compile with ESP-IDF you need to get the following packages:
 
 - Ubuntu and Debian::
-    
-    sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial 
+
+    sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial
 
 - Arch::
-    
+
     sudo pacman -S --needed gcc git make ncurses flex bison gperf python2-pyserial
 
 Step 1: Download binary toolchain for the ESP32
@@ -24,17 +24,17 @@ ESP32 toolchain for Linux is available for download from Espressif website:
 
 - for 64-bit Linux::
 
-    https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-59.tar.gz
+    https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
 
 - for 32-bit Linux::
 
-    https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-59.tar.gz
+    https://dl.espressif.com/dl/xtensa-esp32-elf-linux32-1.22.0-61-gab8375a-5.2.0.tar.gz
 
 Download this file, then extract it to the location you prefer, for example::
 
     mkdir -p ~/esp
     cd ~/esp
-    tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-59.tar.gz
+    tar -xzf ~/Downloads/xtensa-esp32-elf-linux64-1.22.0-61-gab8375a-5.2.0.tar.gz
 
 The toolchain will be extracted into ``~/esp/xtensa-esp32-elf/`` directory.
 
@@ -61,12 +61,14 @@ To run the precompiled gdb (xtensa-esp32-elf-gdb) in Arch Linux requires ncurses
 Alternative Step 1: Compile the toolchain from source using crosstool-NG
 ========================================================================
 
-Instead of downloading binary toolchain from Espressif website (Step 1 above) you may build the toolchain yourself. 
+Instead of downloading binary toolchain from Espressif website (Step 1 above) you may build the toolchain yourself.
 
 If you can't think of a reason why you need to build it yourself, then probably it's better to stick with the binary version. However, here are some of the reasons why you might want to compile it from source:
 
 - if you want to customize toolchain build configuration
 
+- if you want to use a different GCC version (such as 4.8.5)
+
 - if you want to hack gcc or newlib or libstdc++
 
 - if you are curious and/or have time to spare
@@ -79,7 +81,7 @@ In any case, here are the steps to compile the toolchain yourself.
 
   - Ubuntu::
 
-        sudo apt-get install gawk gperf grep gettext ncurses python python-dev automake bison flex texinfo help2man libtool
+        sudo apt-get install gawk gperf grep gettext libncurses-dev python python-dev automake bison flex texinfo help2man libtool
 
   - Debian::
 
@@ -113,7 +115,7 @@ Open terminal, navigate to the directory you want to clone ESP-IDF and clone it
     git clone --recursive https://github.com/espressif/esp-idf.git
 
 
-ESP-IDF will be downloaded into ``~/esp/esp-idf``. 
+ESP-IDF will be downloaded into ``~/esp/esp-idf``.
 
 Note the ``--recursive`` option! If you have already cloned ESP-IDF without this option, run another command to get all the submodules::
 
@@ -142,7 +144,7 @@ In terminal, go to the application directory which was obtained on the previous
 
     cd ~/esp/myapp
 
-Type a command like this to set the path to ESP-IDF directory:: 
+Type a command like this to set the path to ESP-IDF directory::
 
     export IDF_PATH=~/esp/esp-idf
 
index 67a1fa9906d5a7500fe7a4026f1e35029a9d0e82..ac772c5298443515d27e3da3d5990a5c19a47f9c 100644 (file)
@@ -23,13 +23,13 @@ Step 1: Download binary toolchain for the ESP32
 
 ESP32 toolchain for macOS is available for download from Espressif website:
 
-https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-59.tar.gz
+https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-61-gab8375a-5.2.0.tar.gz
 
 Download this file, then extract it to the location you prefer, for example::
 
     mkdir -p ~/esp
     cd ~/esp
-    tar -xzf ~/Downloads/xtensa-esp32-elf-osx-1.22.0-59.tar.gz
+    tar -xzf ~/Downloads/xtensa-esp32-elf-osx-1.22.0-61-gab8375a-5.2.0.tar.gz
 
 The toolchain will be extracted into ``~/esp/xtensa-esp32-elf/`` directory.
 
@@ -46,12 +46,14 @@ Then when you need the toolchain you can type ``get_esp32`` on the command line
 Alternative Step 1: Compile the toolchain from source using crosstool-NG
 ========================================================================
 
-Instead of downloading binary toolchain from Espressif website (Step 1 above) you may build the toolchain yourself. 
+Instead of downloading binary toolchain from Espressif website (Step 1 above) you may build the toolchain yourself.
 
 If you can't think of a reason why you need to build it yourself, then probably it's better to stick with the binary version. However, here are some of the reasons why you might want to compile it from source:
 
 - if you want to customize toolchain build configuration
 
+- if you want to use a different GCC version (such as 4.8.5)
+
 - if you want to hack gcc or newlib or libstdc++
 
 - if you are curious and/or have time to spare
@@ -107,7 +109,7 @@ Open Terminal.app, navigate to the directory you want to clone ESP-IDF and clone
     git clone --recursive https://github.com/espressif/esp-idf.git
 
 
-ESP-IDF will be downloaded into ``~/esp/esp-idf``. 
+ESP-IDF will be downloaded into ``~/esp/esp-idf``.
 
 Note the ``--recursive`` option! If you have already cloned ESP-IDF without this option, run another command to get all the submodules::
 
@@ -136,7 +138,7 @@ In Terminal.app, go to the application directory which was obtained on the previ
 
     cd ~/esp/myapp
 
-Type a command like this to set the path to ESP-IDF directory:: 
+Type a command like this to set the path to ESP-IDF directory::
 
     export IDF_PATH=~/esp/esp-idf
 
@@ -160,4 +162,3 @@ Further reading
 ===============
 
 If you'd like to use the Eclipse IDE instead of running ``make``, check out the Eclipse setup guide in this directory.
-
index a425f5b3a05a4b2045b14d4d05a10573c9133806..00205fb78bb24739b69581f9cd4cdebff96a6713 100644 (file)
@@ -9,7 +9,7 @@ Windows doesn't have a built-in "make" environment, so as well as installing the
 
 The quick setup is to download the Windows all-in-one toolchain & MSYS zip file from dl.espressif.com:
 
-https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20160816.zip
+https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20170111.zip
 
 Unzip the zip file to C:\ and it will create an "msys32" directory with a pre-prepared environment.
 
@@ -38,7 +38,7 @@ Another Alternative Step 1: Just download a toolchain
 
 If you already have an MSYS2 install or want to do things differently, you can download just the toolchain here:
 
-https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-59.zip
+https://dl.espressif.com/dl/xtensa-esp32-elf-win32-1.22.0-61-gab8375a-5.2.0.zip
 
 If you followed one of the above options for Step 1, you won't need this download.
 
index ee8c0779438152b33dbbca09d671c0a0059f9e29..f41e434393aecbf6956d2f300f12c12dc067efc7 100644 (file)
@@ -421,3 +421,30 @@ endef
 # filter/subst in expression ensures all submodule paths begin with $(IDF_PATH), and then strips that prefix
 # so the argument is suitable for use with 'git submodule' commands
 $(foreach submodule,$(subst $(IDF_PATH)/,,$(filter $(IDF_PATH)/%,$(COMPONENT_SUBMODULES))),$(eval $(call GenerateSubmoduleCheckTarget,$(submodule))))
+
+
+# Check toolchain version using the output of xtensa-esp32-elf-gcc --version command.
+# The output normally looks as follows
+#     xtensa-esp32-elf-gcc (crosstool-NG crosstool-ng-1.22.0-59-ga194053) 4.8.5
+# The part in brackets is extracted into TOOLCHAIN_COMMIT_DESC variable,
+# the part after the brackets is extracted into TOOLCHAIN_GCC_VER.
+ifndef MAKE_RESTARTS
+TOOLCHAIN_COMMIT_DESC := $(shell $(CC) --version | sed -E -n 's|xtensa-esp32-elf-gcc\ \(([^)]*).*|\1|gp')
+TOOLCHAIN_GCC_VER := $(shell $(CC) --version | sed -E -n 's|xtensa-esp32-elf-gcc\ \(.*\)\ (.*)|\1|gp')
+
+# Officially supported version(s)
+SUPPORTED_TOOLCHAIN_COMMIT_DESC := crosstool-NG crosstool-ng-1.22.0-61-gab8375a
+SUPPORTED_TOOLCHAIN_GCC_VERSIONS := 5.2.0
+
+ifneq ($(TOOLCHAIN_COMMIT_DESC), $(SUPPORTED_TOOLCHAIN_COMMIT_DESC))
+$(info WARNING: Toolchain version is not supported: $(TOOLCHAIN_COMMIT_DESC))
+$(info Expected to see version: $(SUPPORTED_TOOLCHAIN_COMMIT_DESC))
+$(info Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.)
+endif
+ifeq (,$(findstring $(TOOLCHAIN_GCC_VER), $(SUPPORTED_TOOLCHAIN_GCC_VERSIONS)))
+$(warning WARNING: Compiler version is not supported: $(TOOLCHAIN_GCC_VER))
+$(info Expected to see version(s): $(SUPPORTED_TOOLCHAIN_GCC_VERSIONS))
+$(info Please check ESP-IDF setup instructions and update the toolchain, or proceed at your own risk.)
+endif
+endif #MAKE_RESTARTS 
+