In questo articolo si descrive come impostare l’ambiente di sviluppo per ESP32 della Espressif.
Dal link alle risorse per il soc
https://www.espressif.com/en/products/hardware/esp32/resources
si accede alla guida per la compilazione del firmware sulle piattaforme Windows, OSX e Linux
http://esp-idf.readthedocs.io/en/latest/get-started/index.html
Le operazioni elencate di seguito sono eseguite sempre su Linux Debian 9, configurato come già descritto in precedenza
MicroPython – Python su dispositivi embedded
Si utilizza l’IDF del github. Su Debian 9 con l’utenza utilizzata per collegarsi sul sistema si crea sotto la Home dell’utente la cartella Esp32 ed all’interno la cartella espressif
1 2 3 4 5 |
cd mkdir Esp32 cd Esp32 mdkir espressif cd espressif |
Installare i prerequisiti
1 |
sudo apt-get install git wget make libncurses-dev flex bison gperf python python-serial |
Scaricare il cross compilatore
1 |
wget https://dl.espressif.com/dl/xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz |
Creare la cartella esp e dall’interno scompattare il toolchain
1 2 3 |
mkdir esp cd esp tar -zxvf ../xtensa-esp32-elf-linux64-1.22.0-80-g6c4433a-5.2.0.tar.gz |
Aggiungere al PATH la cartella bin del cross compilatore
1 |
export PATH=$PATH:$HOME/Esp32/espressif/esp/xtensa-esp32-elf/bin |
Aggiungere al gruppo dialout, l’utenza utilizzata per le operazioni
1 |
sudo usermod -a -G dialout USER |
Clonare il repository IDF dal $HOME/Esp32/espressif
1 2 |
cd $HOME/Esp32/espressif git clone --recursive https://github.com/espressif/esp-idf.git |
Aggiungere la variabile di ambiente IDF_PATH
1 |
export IDF_PATH=~/Esp32/espressif/esp-idf |
Creare la cartella dei progetti sotto $HOME/Esp32/espressif e copiare un esempio dalla cartella dell’IDF
1 2 3 4 5 |
cd $HOME/Esp32/espressif mkdir projects cd projects cp -r $IDF_PATH/examples/get-started/hello_world . cd hello_world |
Eseguire la configurazione
1 |
make menuconfig |
Accedere a Serial flasher config–> ed impostare i parametri della connessione; nel nostro caso lasciamo il default
Salvare la configurazione e compilare il firmware
1 |
make |
Per caricare il firmware sulla scheda eseguire
1 |
make flash |
Per caricare solo la applicazione eseguire
1 |
make app-flash |
mentre per compilare solo la applicazione eseguire
1 |
make app |
Per eseguire il monitor del programma eseguire
1 |
make monitor |
Gli altri esempi disponibili con sdk
https://github.com/espressif/esp-idf/tree/f586f5e/examples
Al seguente link invece sono presenti i riferimenti delle API dell’IDF
http://esp-idf.readthedocs.io/en/latest/api-reference/index.html
Si può anche generare la documentazione dai sorgenti del github. Posizionarsi in ~/Esp32/espressif/esp-idf/docs/en
1 |
cd ~/Esp32/espressif/esp-idf/docs/en |
Installare i prerequisiti
1 |
sudo apt-get install python-pip python-sphinx doxygen |
1 |
sudo pip install sphinx_rtd_theme breathe sphinxcontrib.blockdiag sphinxcontrib.seqdiag sphinxcontrib.actdiag sphinxcontrib.nwdiag recommonmark |
Generare i documenti in formato html
1 |
make html |
La documentazione è generata in _build/html.
Nel prossimo articolo imposteremo come IDE per la compilazione dei programmi Eclipe