Installazione toolchain per l'ESP8266 Fedora 26

Risorse:

 Link per il download, sono i due link a Github.

Questa guida e basata su una Fedora 26, se hai Ubuntu, vai alla apposita guida LINK.

Installazione dei pacchetti di sistema

Cominciamo installando i pacchetti necessari. Ho costruito questa lista di pachetti ricavandola dalla versione di quelli compatibili con Ubuntu.

dnf install make autoconf automake libtool gcc gperf flex bison texinfo gawk python sed git unzip bash help2man wget bzip2 gcc-c++ ncurses-devel expat-devel python-devel pyserial
dnf install unar

Installazione ESP-open-SDK

Note: E' importante eseguire make come utente, e non come root altrimenti lo script da errore. Se lo hai eseguito come root, dai `make clean`, e poi, `chmod -R user:user /opt/esp-open-sdk/` cosi i permessi sono ripristinati correttamente.

cd /tmp

sudo git clone --recursive https://github.com/pfalcon/esp-open-sdk.git /opt/esp-open-sdk/

sudo chown -R user:user /opt/esp-open-sdk/
cd /opt/esp-open-sdk/

make toolchain esptool libhal STANDALONE=n

# quindi ancora make
make

# cerchiamo questa linea nel output di make e incolliamo nel nostro .bashrc.

"export PATH=/opt/esp-open-sdk/xtensa-lx106-elf/bin:$PATH"

# Inizio OUTPUT DI ESEMPIO
user@fedora:$ >make
Makefile:180: warning: overriding recipe for target 'ESP8266_NONOS_SDK_V1.5.4_16_05_20/.dir'
Makefile:169: warning: ignoring old recipe for target 'ESP8266_NONOS_SDK_V1.5.4_16_05_20/.dir'
cp esptool/esptool.py /opt/esp-open-sdk/xtensa-lx106-elf/bin/
ln -snf ESP8266_NONOS_SDK_V1.5.4_16_05_20 sdk
Installing vendor SDK headers into toolchain sysroot
Installing vendor SDK libs into toolchain sysroot
Installing vendor SDK linker scripts into toolchain sysroot
make -C esp-open-lwip -f Makefile.open install \
    CC=/opt/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-gcc \
    AR=/opt/esp-open-sdk/xtensa-lx106-elf/bin/xtensa-lx106-elf-ar \
    PREFIX=/opt/esp-open-sdk/xtensa-lx106-elf
make[1]: Entering directory '/opt/esp-open-sdk/esp-open-lwip'
cp liblwip_open.a /opt/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/lib/
make[1]: Leaving directory '/opt/esp-open-sdk/esp-open-lwip'
cp -a esp-open-lwip/include/arch esp-open-lwip/include/lwip esp-open-lwip/include/netif \
    esp-open-lwip/include/lwipopts.h \
    /opt/esp-open-sdk/xtensa-lx106-elf/xtensa-lx106-elf/sysroot/usr/include/

Xtensa toolchain is built, to use it:

|export PATH=/opt/esp-open-sdk/xtensa-lx106-elf/bin:$PATH| QUESTA LINEA
^________________________________________________________^
Espressif ESP8266 SDK is installed, its libraries and headers are merged with the toolchain
# FINE

cd $HOME
vim .bashrc

# .bashrc
[.....]
export PATH=/opt/esp-open-sdk/xtensa-lx106-elf/bin:$PATH
source .bashrc

Note: L'installazione e la compila dei sorgenti potrebbero impiegare più di 20 minuti, dipende dalla vostra connessione e dalla potenza di calcolo della machhina.

Installazione di esptool

cd /tmp
wget https://github.com/themadinventor/esptool
# Spostiamo quindi, l'eseguibile in /usr/local/bin
sudo mv -v esptool /usr/local/bin/

Installazione di FreeRTOS per ESP8266

cd /tmp
git clone --recursive https://github.com/Superhouse/esp-open-rtos.git
sudo mv /tmp/esp-open-rtos/ /opt/
sudo chown -Rv user:user /opt/esp-open-rtos/
cd /opt/esp-open-rtos/
nano include/ssid_config.h

# include/ssid_config.h

#Commentiamo con //#error
# Aggiungiamo SSID e Password del Wifi che vogliamo utilizzare.

//#error "You need to enter your wifi credentials in this file and follow the instructions here to keep the password safe from Github commits."

#ifndef __SSID_CONFIG_H__
#define __SSID_CONFIG_H__

#define WIFI_SSID "IlTuoSID"
#define WIFI_PASS "password"

Test

Possiamo testare la nostra installazione utilizzando uno degli esempi contenuti nel repository

#aggiungiamo il nostro utente al gruppo dialout
sudo usermod -a -G dialout $USER
#Facciamo logout da tutte le sessioni, oppure riavviamo la macchina
sudo systemctl reboot



cd /opt/esp-open-rtos/examples/http_get
make
# Se compila corretamente fino infondo allora l'installazione e corretta

# Per compilare e flashare l'ESP8266
make flash
# Per compilare flashare e avviare la console di debug
make test

Per flashare il chip `make flash`, per flashare e avviare la console seriale:`make test`