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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren