preloader

Auf AEQ-WEB suchen:

AEQ-WEB | Blog

ESP Program Export HEX/BIN & Flash Tool Upload

Kompiliertes Programm exportieren (ESP)

Wird auf einen Mikrocontroller ein Programm vom Arduino IDE aus hochgeladen, so muss das Programm zuerst kompiliert werden. Der Compiler konvertiert das in C oder C++ geschriebene Programm in eine Maschinensprache. Daraus entsteht dann je nach Hardware entweder ein Hex-File (.hex Datei) oder ein Bin-File (.bin Datei), was anschließend auf den Controller hochgeladen wird. In diesem Artikel geht es um das Exportieren von Codes in eine HEX- oder BIN-Datei aus dem Arduino IDE.

Wann ist ein Export sinnvoll?

Das Hex- und Bin-File beinhaltet das fertige Programm inklusive aller eingebundenen Bibliotheken. Ein Export dieser Datei ist daher sinnvoll, wenn:

  • Ein Programm archiviert werden soll (Backup)
  • Der Programmcode nicht veränderbar sein sollte
  • Der Programmcode nicht einsehbar sein sollte

  • Es passiert immer wieder, dass Bibliotheken von den Entwicklern nicht mehr aktualisiert werden. Die Arduino IDE und der Compiler werden im Gegensatz dazu gelegentlich aktualisiert. Die Folge ist, dass es zu Kompilierproblemen kommen kann. Es kann auch vorkommen, dass der Kompiliervorgang erfolgreich war und dennoch funktioniert das Programm oder eine Hardware aufgrund einer alten Bibliothek nicht mehr. Mit einem Programm-Export kann dies verhindert werden, da das kompilierte exportierte Programm unabhängig von der Arduino IDE Version oder den Bibliotheken ist.

    Änderungen am Code können nach dem Kompiliervorgang nicht mehr durchgeführt werden. Außerdem ist der Quellcode nach dem kompilieren grundsätzlich nicht mehr einsehbar.

    Achtung: Es gibt Tools, die es ermöglichen, eine bereits kompilierte Datei wieder zu dekompilieren. In der Praxis funktioniert dies jedoch nur bedingt. Vereinfacht ausgedrückt bedeutet dies, dass man sich grob einen Überblick über ein kompiliertes Programm verschaffen kann, aber ein direktes dekompilieren, ändern und erneutes kompilieren nicht möglich ist.

    Exportieren aus dem Arduino IDE

    Mittlerweile ist der Programm-Export mit der Arduino IDE sehr einfach. Unter [Sketch] -> [Export compiled Binary] wird das Programm kompiliert und anschließend eine Datei erstellt. Für ESP Projekte wird eine .BIN-Datei erstellt, AVR Projekte werden als .HEX-Datei gespeichert. Die Datei wird direkt in den Projekt-Ordner parallel zur .ino-Datei gespeichert. Der folgende Screenshot zeigt die Export-Funktion im Arduino IDE:

    Arduino IDE export compiled HEX BIN File

    Upload ohne Arduino IDE

    Für den ESP32 gibt es ein eigenes Flash-Tool, was die zuvor exportierte BIN-Datei hochladen kann. Dies ist vor allem vorteilhaft, wenn das Programm an andere Personen weitergeben wird und dort kein Arduino IDE installiert werden muss. Das Programm und die Anleitung befinden sich in diesem Artikel: ESP32 Flash Download Tool - Tutorial


    Share:
    thumbnail
    08.06.2018
    ESP32 WiFi Webserver

    In diesem Artikel zeigen wir, wie mit dem ESP32 ein Webserver im lokalen Netzwerk erstellt wird und wie weitere WLAN-Netzwerke gescannt werden

    Alex @ AEQ-WEB

    thumbnail
    25.03.2019
    NodeMCU & ESP HTTPS Request

    In diesem Artikel zeigen wir, wie ein einfacher HTTPS Post/GET Request über eine SSL-Verbindung mit einem NodeMCU Board oder einem ESP8266 gemacht wird.

    Alex @ AEQ-WEB