Flash ein Paar Bytes lesen

Gast #3687425
Lesenswert?
• ▲
▼
Hallo,
ich programmiere gerade für ein AVR einen Bootloader.
Jetzt gibt es halt das Problem mit den ersten starten nach der 
Programmierung, wo halt noch kein Programm da ist.
Ich würde jetzt gerne Testen ob ein Programm bei der Adresse 0000 
vorhanden ist oder nicht.
Dazu habe ich mir gedacht ich lese ein Paar Bytes ab der Adresse 0x0000,
und prüfe ob diese alle 0xFF sind. Wenn alle FF sind, dann ist kein 
Programm da.

Meine Frage dazu ist, wie lese ich ein Paar Bytes aus dem Flash ab der 
Adreese 0x000?
Gast #3687487
Lesenswert?
• ▲
▼
@Amateur
Im Bootloader zur Laufzeit.
Da der AVR beim Starten via Spannung aus/an immer erst im Bootloader 
startet.
Benötige ich das um zu bestimmen, ob sofort zum eigendlichen Programm 
gesprungen werden soll oder ob im Bootloader Modus verblieben werden 
soll.


Ich hatte auch noch vergessen zu schreiben ich Programmiere in C.
Und ich habe mich bei meinem Bootloader an folgenden Artikel Orientiert
http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Gast #3687516
Lesenswert?
• ▲
▼
@nga
Ich habe zusätzlich noch im EEPROM ein Flag, welches angibt ob im 
Bootloder Modus verblieben werden soll. Dieses wird im normalen Programm 
gesetzt. Nur beim ersten Programmieren ist halt noch nichts im EEPROM 
drin.

Ich habe also Folgende Bedinnung um im Bootloader Modus zu verbleinen

Wenn
kein Programm bei der Adresse 0000 vorhanden ist
oder
das Bootloader Flag (EEPROM) gesetzt ist

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 12 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.