PHP Dashboard für HmIP Smartmeter
09.10.2024
Elektronik | Funk | Software
Der Technik-Blog
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.
Das Hex- und Bin-File beinhaltet das fertige Programm inklusive aller eingebundenen Bibliotheken. Ein Export dieser Datei ist daher sinnvoll, wenn:
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.
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:
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
Mit dem Flash Download Tool können fertig exportierte Programme (.BIN Datei) auf den ESP32/ESP8266 ohne Arduino IDE geladen werden
WeiterlesenIn diesem Artikel bauen wir eine autarke LoRa Wetterstation, die Temperatur, Luftdruck, Feuchtigkeit, Sonnenintensität und Windgeschwindigkeit messen kann
WeiterlesenAEQ-WEB © 2015-2024 All Right Reserved