{{tag>dev riot riot-os toolchain esp32 iot}} ====== RIOT-OS: Installation de la toolchain pour ESP-WROOM-32 ====== Une image docker proposée par défaut intègre un ensemble de toolchains vers diverses cibles. Les notes proposée ci-dessous permettent de recréer une image docker de taille réduite (passant de 8 Go à 2 Go) intégrant les chaines de compilation vers les cibles ESP8266 et ESP32. Clonage du dépot Git stockant le Dockerfile de l'environnement de build RIOT: git clone git clone https://github.com/RIOT-OS/riotdocker.git Créer une branche locale et modifier le fichier ./riotbuild/Dockerfile cd riotdocker git checkout -n esp32_only cd riotbuild/ Créer l'image Docker à partir du Dockerfile docker image build -t riot/riotbuild:esp_only . Vérifier la présence de l'image: $ docker image list REPOSITORY TAG IMAGE ID CREATED SIZE riot/riotbuild esp_only cb2069c5045e 4 days ago 2.49GB Les sources de RIOT git clone https://github.com/RIOT-OS/RIOT.git Créer répertoire pour le projet Pour lancer la compilation dans un environnement éphémère: docker run --rm -i -t -u $UID -v $(pwd):/data/riotbuild riot/riotbuild ./dist/tools/compile_test/compile_test.py Pour lancer la compilation dans un environnement interactif: docker container run --name riotbuildenv --interactive --tty --privileged -v /dev:/dev -v $(pwd)/RIOT:/data/riotbuild riot/riotbuild:esp_only /bin/bash Depuis l'environnement de build (le container docker en cours d'execution), on peut lancer la compilation du programme de test # Plateforme native (compile un binaire exécutable directement dans l'environnement de buid) make BOARD=native -C hello # Cible ESP32 make BOARD=esp32-wroom-32 -C hello Flasher le firmware précédemment compilé $ journalctl -k --since "2 minutes ago" -- Logs begin at Mon 2020-12-21 16:32:03 CET, end at Sat 2021-04-03 20:13:50 CEST. -- avril 03 20:12:37 node-7c87 kernel: usb 1-1: new full-speed USB device number 9 using xhci_hcd ... avril 03 20:12:38 node-7c87 kernel: usb 1-1: cp210x converter now attached to ttyUSB0 Ici le port à utiliser est identifié: **ttyUSB0** make BOARD=esp32-wroom-32 PORT=/dev/ttyUSB0 flash-only -C hello ===== Références ===== * https://doc.riot-os.org/group__cpu__esp32.html