ESP8266 RTOS SDK

Last Updated on 11 September 2021 by Suffocation

Das RTOS SDK is die Espressif eigenen Programmierumgebung für den ESP8266.

Facts

Auch das Arduino SDK kapselt die Funktionalitäten dieses SDKs. Jetzt könnte man sich fragen warum für ESP8266 spezialisierten Code schreiben indem man direkt das SDK verwendet. Die Anwort ist nicht ganz einfach aber hier ein paar Argumente:

  • Das Framework bietet erweiterte Funktionalitäten die in der Arduino IDE nicht gekapselt sind
  • Es gibt bestehende Programme für IOT die auf dem Framework basieren
  • It was always more up-to-date than the Arduino IDE in the past (it's no longer being developed).
  • Errors will be eliminated here first.
  • The Espressif AT Framework is based on it

Requirements

  • Genügend Speicher auf der Festplatte > 2GB
  • Working Python environment
  • Wissen über die Windows Console (CMD)

Areas of application

  • AT-Firmware
  • Embedded programming
  • Usage of the RTOS's own OS functions

Installation

Windows

The current version is not working properly for me!!!

Install toolchain

WICHTIG Verwendet keine Pfade mit Leerzeichen, das führt nur zu Problemen.

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/v3.4/get-started/windows-setup.html

To install the utilities (toolchain), download the complete package at:

https://dl.espressif.com/dl/esp32_win32_msys2_environment_and_toolchain-20181001.zip

I am unzipping the package to C:/Devel

Install RTOS Framework

Nun wird noch das Programmierframework benötigt, dieses gibt über git:

git clone -b v3.4 --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

IDF pfad setzen. Ich mache das manuell weil ich auch noch die IDF für den ESP32 installiert haben.

set IDF_PATH=C:\Devel\ESP8266_RTOS_SDK

Install Python packages

pip install --user -r $IDF_PATH/requirements.txt

Das sollte es erstmal gewesen sein und wenn später bei der Programmierung keine Fehler auftreten hat es auch vollständig funktioniert ;). Bei mir bemängelt er aktuell noch ein paar Sourcen die ich nicht auflösen kann. Es gibt auch noch die Möglichkeit die Installation in der MINGW Umgebung vorzunehmen, was mir wegen der begrenzten Console aber auf die Nerven ging. Deshalb habe ich mich entschieden das Framework auf einem Raspberry Pi zu installieren habe. Dies ging ohne grössere Komplikationen von sich, siehe das folgede Kapitel.

Linux (on PI)

Create directory esp under user PI:

cd ~/
mkdir ./esp
cd esp

This directory is where everything happens.

Benötigten Pakete installieren

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install gcc git wget make libncurses-dev flex bison gperf python python-serial
Für 64-bit Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz
Für 32-bit Linux:
https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz
Für den PI
https://https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz

Install toolchain

Download the toolchain using:

wget https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz

Unpacking toolchain:

tar -xzf ./xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz  

Set path im Editor deiner Wahl die Datei ~/.profile öffnen und die folgende Zeile ans Ende eintragen. (Nur wenns auch nach dem Neustart der Console wieder Vorhanden sein soll)

export PATH="$PATH:$HOME/esp/xtensa-lx106-elf/bin"" 

Entweder aus- und wieder einloggen oder die Zeile einfach nochmal auf der Console ausführen.

RTOS Framework

Dieses kann mit git geholt werden, die Release v2.2.0.0 ist die letzte die den ESP8266 unterstützt

git clone --recursive https://github.com/espressif/ESP8266_RTOS_SDK.git

add the path to the ~/.profile file as well (only if it should also be available again after restarting the console)

Set IDF_PATH export IDF_PATH="$HOME/esp/ESP8266_RTOS_SDK""

Install Python module

python -m pip install --user -r $IDF_PATH/requirements.txt

If pip is missing

sudo apt-get install python-pip

Phyton Programmverzeichnis noch dem Pfad hinzufügen:

export PATH="$PATH:/home/pi/.local/bin""

Programming

Copy and compile the example program:

cp -r $IDF_PATH/examples/get-started/hello_world 
cd hello_world
make menuconfig
make  
make flash

Mit menuconfig alle Einstellungen vornehmen hier waren es bei mir genau 0. Mit make die Binärdatei erstellen und mit flash die Datei auf den ESP schreiben. Mit dem verwendeten ESP8266 Modul hat da flashen, was unter Windows ohne Probleme möglich ist, leider nicht funktioniert :(.

Problems

The information on the Espressif site is incorrect

Die Angaben auf der Espressif Seite sind mit Vorsicht zu verwenden. Manche Angaben stimmen nicht mehr andere sind für einer Windows Umgebung nicht geeignet. Auch sind die Angaben nicht sehr Versionsstabil also immer auf die Version achten.

Miscellaneous

No.

Conclusion

Windows scheint eher nicht unterstützt zu werden zumindest ist es der Horror die Umgebung hier zum Laufen zu bringen. Unter Linux klappt es schnell und einfach, auch passt die Doku besser.

Verwandte Beiträge

Sources

https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-amd64.tar.gz

https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-i686.tar.gz

https://https://dl.espressif.com/dl/xtensa-lx106-elf-gcc8_4_0-esp-2020r3-linux-armel.tar.gz

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/latest/get-started/get-started-devkitc.html

https://git-scm.com/downloads

https://docs.espressif.com/projects/esp8266-rtos-sdk/en/v3.4/get-started/windows-setup.html

DateChangeAuthor
04.09.2021Post createdSuffocation

Leave a Reply

Your email address will not be published. Required fields are marked *