FreeRTOS sur ESP8266

Petit pense bête pour compiler un programme avec le SDK RTOS de Espressif

Installation

esp-open-sdk

Installation du SDK avec le compilateur xtensa selon https://github.com/pfalcon/esp-open-sdk
Lors du make, une des étapes est assez longue : le chargement de tarballs visiblement sur ftp.gnu.org. Environ 15mn de chargement à l’installation sur un premier ordi. Sur un deuxième, j’ai abandonné après 1h : le lendemain, j’en ai eu pour 10mn… Donc, ne pas hésiter à retenter à un autre moment…

J’ai eu une erreur lors du make

qui a été corrigée par

Ajouter le path du compilateur dans ~/.bashrc

ESP8266_RTOS_SDK

Puis installation du ESP8266_RTOS_SDK https://github.com/espressif/ESP8266_RTOS_SDK par simple clonage du dépôt :

Compilation d’un exemple

Du dossier d’installation du ESP8266_RTOS_SDK, copier le dossier examples/project_template dans un dossier de travail

Changer les PATH dans le fichier gen_misc.sh

Tester la compilation (en laissant par défaut les paramètres proposés)

Et enfin tester le chargement sur la carte. J’utilise une Wemos D1 mini avec 4Mo de mémoire. Si on se réfère à la documentation d’Espressif, il faut d’abord charger les fichiers d’initialisation aux adresses mentionnées  sur leur site, puis les fichiers issus de la compilation

Blink

Test avec le programme « blink » récupéré sur le net.

Copie du template :

Fichier user/user_main.c

Là, j’ai eu toutes les peines du monde à compiler ! J’avais toujours une erreur undefined reference to `gpio_output_conf'  qui en fait est due à ce que la librairie gérant les « drivers » (dont gpio) n’est pas liée dans le Makefile d’origine. Il faut dont le modifier comme suit :

Puis compilation et chargement

Pense bête : monitoring de l’UART USB

Et sortie de l’écoute par ^a k y

Addentum esp-open-rtos

La version alternative, esp-open-rtos, a l’air tout aussi intéressante et peut-être plus simple.

Nous avons déjà installé esp-open-sdk à la première étape, il n’y a qu’à cloner le dépôt esp-open-rtos :

Testons un exemple

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

This site uses Akismet to reduce spam. Learn how your comment data is processed.