-         

Ergebnis 1 bis 5 von 5

Thema: ne ganz dumme Frage zum Arduino!

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2006
    Beiträge
    17

    ne ganz dumme Frage zum Arduino!

    Anzeige

    Hallo Forum,

    ... habe anscheinend massive Verständnisschwierigkeiten:

    wie stelle ich es an, ein Programm, das der Arduino nach Einschalten sofort ausführen soll, so abzulegen, dass es auch nach dem Abschalten erhalten bleibt?
    Nach meinem Verständnis müßte es ins EPROM, aber dann auch nach dem Einschalten von dort automatisch zur Ausführung ins SRAM geladen werden.
    Kann aber nichts finden, was mir da weiterhilft ...

    Bitte um Hinweise.

    Vielen Dank. Peter

  2. #2
    Erfahrener Benutzer Begeisterter Techniker Avatar von Torrentula
    Registriert seit
    10.10.2009
    Ort
    Procyon A
    Alter
    21
    Beiträge
    355
    Das Programm, dass du schreibst, wird erstmal kompiliert und als HEX-File abgespeichert. Dieses wird dann per USB zum AVR geschickt und auf dem AVR wiederum ist der Arduino Bootloader, der dann den AVR programmiert mit dem HEX-File das du ihm geschickt hast. Über die Speicherzugriffe musst du dich eigentlich erstmal nicht kümmern.

    Dein Programm wird im Flash-Speicher abgelegt, das ist ein nicht-flüchtiger Speicher, sprich nach dem Ausschalten der Betriebsspannung bleibt das Programm gespeichert. Der EEPROM ist ein weiterer nicht-flüchtiger Speicher, der allerdings nicht für das Hauptprogramm verwendet wird, sondern man legt dort eher Daten ab, die sich selten oder gar nicht ändern, z.B. Kalibrierdaten.

    Die benötigten Variablen und Daten werden dann beim Programmstart in den SRAM geladen. Daten und Programmspeicher sind bei dem AVR getrennt, da er auf der Harvard-Architektur basiert.

    EDIT: Wenn du per ISP programmieren würdest, würde der Programmer sich auch wieder um das Abspeichern an den korrekten Stellen im Flash kümmern.
    MfG Torrentula

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    18.08.2006
    Beiträge
    17
    Danke Torrentula,
    peinlich, peinlich: auf Deine Antwort hin habe ich erstmal festgestellt, dass der Arduino nach dem Einschalten schon genau das macht, was ich ihm eigentlich beibringen wollte - nämlich das zuletzt ausgeführte Programm wieder aufzunehmen. Aber man sollte nicht nur vorausdenken, sondern auch mal testen!!!
    Dank Dir nun ein Problem weniger
    Beste Grüße ... Peter

  4. #4
    Neuer Benutzer Öfters hier
    Registriert seit
    25.09.2012
    Ort
    Schönkirchen
    Alter
    37
    Beiträge
    5
    Hallo, auch wenn dieser Thread schon als gelöst markiert war, würde ich die dumme Fragerunde gerne ein wenig weiter führen.

    Kurz zu meinem Background:
    Ich hab nen Asuro gelötet und Programmiert und ich hab diverse Spielchen mit meinem Arduino hinter mir. Ausserdem fange ich, dank Christian Schifferles Tutorial, so langsam an zu begreifen, wie die ganze Geschichte mit den Registern denn funktioniert.

    Da ich selbst Softwareentwickler (allerdings eher spezialisiert auf Webanwendungen) und begeisterter Linuxer bin, sind mir C sowie der Umgang mit dem GCC geläufig (wenn ich mich auf dem Gebiet auch lange nicht als Spezialist betiteln würde).

    Mein Kopf ist nun voller Ideen, die definitiv eines tieferen Einstiegs in die ganze microC Materie bedürfen, speciell um das Wissen um Bootloader und Libraries.

    Wenn ich den Arduino richtig verstanden habe, dann handelt es sich dabei um vier Dinge:
    eine experimentier Platine mit USB-Seriell Wandler
    eine IDE, die mir als wrapper um die ganzen AVR tools dient
    eine Library mit jeder Menge Funtionen zur vereinfachten Entwicklung (wrapper um das ganze Port Register gehassel + vieles mehr)
    (analog dem Asuro kann die Library auch direkt in ein avr-gcc projekt eingebunden, kompiliert und dann per Programmer auf den mC geladen werden?)
    ein spezieller Bootloader, der in der Lage ist, mit der Arduino IDE zu kommunizieren oder einfach mein Programm abzuackern

    Liege ich da weitestgehends richtig? Wenn nicht, würde ich mich freuen, wenn man mein Weltbild ergänzen oder korrigieren könnte.

  5. #5
    Erfahrener Benutzer Robotik Visionär Avatar von Hubert.G
    Registriert seit
    14.10.2006
    Ort
    Pasching OÖ
    Beiträge
    6.186
    Weitgehend liegst du richtig. Der Teufel steckt allerdings im Detail.
    Wenn man außerhalb der Arduino IDE mehrere Librarys verwenden will kann es schnell mal zu Konflikten kommen.
    Innerhalb der IDE wird so etwas anscheinend vom Precompiler gehandelt. Aber ein reines Copy und Paste ist ja ohnehin nicht gefragt.
    Grüsse Hubert
    ____________

    Meine Projekte findet ihr auf schorsch.at

Ähnliche Themen

  1. Dumme Frage - Thyristor
    Von runner02 im Forum Elektronik
    Antworten: 8
    Letzter Beitrag: 07.02.2012, 14:40
  2. ganz dumme Frage zur Bügeltechnik
    Von ba4_philipp im Forum Konstruktion/CAD/Sketchup und Platinenlayout Eagle & Fritzing u.a.
    Antworten: 4
    Letzter Beitrag: 29.10.2006, 12:57
  3. Dumme Frage??? 20mH, 50 Ohm Spule
    Von Dan89 im Forum Elektronik
    Antworten: 6
    Letzter Beitrag: 11.01.2006, 16:17
  4. Dumme Frage zur Odometrie
    Von REB im Forum Sensoren / Sensorik
    Antworten: 21
    Letzter Beitrag: 28.01.2005, 20:28
  5. dumme frage
    Von gast004 im Forum Controller- und Roboterboards von Conrad.de
    Antworten: 8
    Letzter Beitrag: 31.05.2004, 13:48

Stichworte

Berechtigungen

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