- LiTime Speicher und Akkus         
Ergebnis 1 bis 8 von 8

Thema: Firmware für AVRs und ESPs zur Verfügung stellen

  1. #1
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643

    Frage Firmware für AVRs und ESPs zur Verfügung stellen

    Anzeige

    LiFePo4 Akku selber bauen - Video
    Hallo,

    ich mache mir gerade etwas Gedanken, was die beste Lösung ist, eine Firmware für einen AVR oder ESP zur Verfügung zu stellen.

    Prinzipiell würde ich zwei Wege sehen:

    1. Quelltextdateien für Arduino-IDE (IDE aufrufen, Quelltext laden, kompilieren und auf den AVR oder einen ESP hochladen)
    2. Binärdateien, die man mit bestimmten Tools auf den AVR oder den ESP lädt

    Punkt 1 wäre wohl die einfachste Variante, vielleicht auch die bevorzugte?

    Punkt 2 tue ich mich gerade etwas schwerer, weil ich - nach dem Kompilieren - keine Binärdateien im Verzeichnis finde.
    Dies hat womöglich damit zu tun, dass ich zurzeit hier nur Arduini-IDE-Dateien (*.ino) verwende und die Binär-Files dann irgendwo temporär gespeichert werden.

    Zu Punkt 1 wäre auch interessant, ob es eine Art "Standard" gibt, wie man Quelldateien aufbaut und miteinander über Include-Befehle verlinkt? Denkbar ist hier auch, dass das jeder macht, wie er gerade denkt.

    Was gibt es für Programme, mit denen man eine Firmware auf einen AVR oder ESP lädt? Welche Dateien brauchen diese als Input?

    Freundlichen Gruß
    Moppi

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    25.12.2018
    Beiträge
    459
    Hinter der IDE von Arduino steckt letztlich auch nur ein Compiler und ein Commandline-Tool (avrdude) zum flaschen der Datei. Abe rdann braucht man auch einen geeigneten Programmer, den man mit den richtigen Pins an den Controller anschließen muss. Letztlich für den Laien/Endanwender nicht unbedingt ein passables Vorgehen.

    Für viele Microcontroller gibt es die Möglichkeit eines "Over The Air"-Updates (OTA) - also flashen eines neuen Programms über WLAN. Der ESP kann das. Für AVR braucht man dafür erst mal irgendeine Art der Verbindung. Ich hab bisher nur darüber gelesen, also es selbst noch nicht probiert. Ich denke aber, dass man das prinzipiell nicht nur mit dem integrierten WLAN des ESP machen kann, sondern bei AVR auch per SRD-Funk bzw. über den seriellen Anschluss (dann müsste man dem Enduser einen entsprechenden Adapter mitgeben, um das Gerät mit USB/LAN/WLAN was auch immer zu verbinden).
    Der µC holt sich die neue Programmdatei von der Quelle (z. B. aus dem Web), und programmiert sich damit sozusagen selbst.

  3. #3
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.803
    Zitat Zitat von Moppi Beitrag anzeigen

    Punkt 2 tue ich mich gerade etwas schwerer, weil ich - nach dem Kompilieren - keine Binärdateien im Verzeichnis finde.
    Dies hat womöglich damit zu tun, dass ich zurzeit hier nur Arduini-IDE-Dateien (*.ino) verwende und die Binär-Files dann irgendwo temporär gespeichert werden.

    Moppi
    zu 2.)
    Bild hier  
    https://www.instructables.com/HOW-TO...FROM-ARDUINO-/


    Arduino
    https://www.hobbytronics.co.uk/arduino-xloader


    ESP
    https://www.az-delivery.de/blogs/azd...mcu-flash-tool

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    31.10.2009
    Ort
    köln
    Beiträge
    38
    eine Firmware für einen AVR oder ESP -- interessant, ob es eine Art "Standard" gibt
    Beide auf arduinoIDE verbreitet. Da muss die Internetrecherche viel Ergebnisse bringen. Was hast Du bei Deiner Recherche festgestellt ?

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Hallo,

    mit Updates über WLAN habe ich mich schon beschäftigt. Das Problem daran ist, dass man dafür auf den ESP (oder AVR, der an ein LAN-Modul angebunden ist) die Software aufspielen muss. So ganz von selbst geht das nicht. Ich habe das auch bis jetzt nicht gemacht, weil man darüber das Teil hacken könnte, wenn das nicht ordentlich gesichert ist.

    Ich habe gestern Abend bei Merlin-Firmware geschaut, die es für 3D-Drucker gibt. Und dann kam auch die Erinnerung langsam zurück, wie ich bei meinem CR20-Pro ein Update gemacht habe. Da gibt es nur die HEX-Dateien. Cura z.B. spielt die dann per USB-Verbindung auf den Drucker. "avrdude" taucht in dem Zusammenhang aber immer wieder auf. AVRDUDE kann wohl schon so einiges, wenn ich mal hier schaue und lese: https://www.mikrocontroller.net/articles/AVRDUDE

    Interessanter Weise habe ich jetzt gerade, beim Suchen, wie man mit AVRDUDE HEX-Files aufspielt, hier auf dieser Seite, was Interessantes gefunden.

    Ich Suche jetzt mal hier im Forum:

    Da habe ich leider nicht zu viel mit den Stichworten "avrdude hex" gefunden. Nur: "uC´s lassen sich nicht flashen ( AVRdude fehlermeldung )"
    Aber gut. Prinzip ist hier klar: HEX-File mitgeben und die Konfiguration in einer Datei hinterlegen (Pin-Nummern z.B.).
    Eventuell müssten die Quelltexte noch dazu gepackt werden. Das muss ich mir genau ansehen.

    Wenn es keine Notwendigkeit für ein Hexfile gibt, dann nur Quelltexte. Z.B., wenn die Quelltexte ohnehin angepasst werden müssten oder wenn die angepasst/erweitert werden können/sollen.
    Das muss ich mir dann Schluss ansehen, was, wie, wo und warum.

    Ich denke, jetzt habe ich eine Orientierung.

    Danke!

    MfG

    - - - Aktualisiert - - -

    Danke nochmal, für die Tipps die eintrafen, während ich meinen Beitrag schrieb!

    - - - Aktualisiert - - -

    @Andree-HB

    "kompilierte Binärdatei exportieren" erzeugt eine Datei *.BIN.
    In meinem Fall sieht der Dateiname dann z.B. so aus: "nodeMCU.ino.nodemcu.bin"

  6. #6
    Erfahrener Benutzer Robotik Einstein Avatar von Andree-HB
    Registriert seit
    10.12.2004
    Ort
    Bremen
    Alter
    53
    Beiträge
    2.803
    Zitat Zitat von Moppi Beitrag anzeigen
    @Andree-HB

    "kompilierte Binärdatei exportieren" erzeugt eine Datei *.BIN.
    In meinem Fall sieht der Dateiname dann z.B. so aus: "nodeMCU.ino.nodemcu.bin"
    ...und das ist...tadaaa...eine kompilierte Binärdatei, nach der Du oben ja gefragt hast !
    (Diese kann dann sehr einfach über Bootloaderfunktion übertragen werden - es braucht dazu keine IDE, keine Librarys, usw.)

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    Ja, ich beschäftige mich heute neu damit. Zum zweiten Mal. Habe das vor Monaten schon mal gemacht.
    Ich habe auch im Netz gesucht und: nodeMCU = *.bin , AVR = *.hex

    Zitat Zitat von Andree-HB Beitrag anzeigen
    Diese kann dann sehr einfach über Bootloaderfunktion übertragen werden - es braucht dazu keine IDE, keine Librarys, usw.
    Hoffentlich funktioniert das dann für ein nodeMCU. Nicht dass sich irgendwann mal jemand fragt, wo das HEX-File für sein nodeMCU / ESP ist.

    MfG

  8. #8
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.643
    PS: @Andree-HB habe mir die Links mal angeschaut: super! Danke!




    Stichworte:
    AVR nodemcu hex bin firmware arduino arduino-ide avrdude controller microcontroller esp
    Geändert von Moppi (07.11.2020 um 09:20 Uhr)

Ähnliche Themen

  1. Wir würden unseren Roboter zur Programmierung über Internet zur Verfügung stellen
    Von James im Forum Allgemeines zum Thema Roboter / Modellbau
    Antworten: 0
    Letzter Beitrag: 26.01.2015, 14:38
  2. Antworten: 2
    Letzter Beitrag: 02.11.2006, 17:18
  3. rnkeylcd firmware
    Von eddy8472 im Forum Bauanleitungen, Schaltungen & Software nach RoboterNetz-Standard
    Antworten: 2
    Letzter Beitrag: 28.03.2006, 09:04
  4. AVR-USB Firmware
    Von Forlix im Forum Software, Algorithmen und KI
    Antworten: 1
    Letzter Beitrag: 22.04.2005, 22:57
  5. usb-firmware für ATtiny26
    Von icecreamman im Forum AVR Hardwarethemen
    Antworten: 15
    Letzter Beitrag: 20.04.2005, 18:11

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiTime Speicher und Akkus