Forum: Mikrocontroller und Digitale Elektronik AVR i2c Bootloader - Datenleitungen


von Samuel S. (samuel)


Lesenswert?

Hallo zusammen,

ich brauche für ein paar Attiny24 einen Bootloader.
Allerdings ist der nur per TWI / I2C angebunden.

Ich habe von Atmel unten stehendes Dokument gefunden, da wird allerdings 
zusätzlich zu SDA / SCL noch zwei weitere Leitungen für Reset und Boot 
Enable. Braucht man diese Leitungen wirklich?

Ich habe bisher leider noch keinen Bootloader selbst programmiert, aber 
es müsste doch auch so funktionieren, nur mit TWI?

Zum Starten des Programmiermodus einen Befehl über I2C senden und wenn 
es fertig programmiert ist, an die Startadresse des Programms springen.
Geht das oder übersehe ich da etwas?

Hier das Dokument:
http://www.atmel.com/images/doc8079.pdf


LG
Samuel

von Timmo H. (masterfx)


Lesenswert?

Naja der reset ist eben der Hardware reset pin der den controller dazu 
veranlasst an den reset Vektor zu springen. Das erreichst du natürlich 
auch wenn du vcc kurzzeitig trennst.
Der Boot pin wird vom bootloader abgefragt und sollte er gesetzt sein 
wird eben auf Daten per i2c gewartet. Du kannst den bootloader natürlich 
auch so programmieren dass er nach dem reset ein paar Sekunden wartet 
und sollte nichts per i2c kommen (z.b. eine magic number) springt er 
halt direkt in die applikation. Dann wäre der pin auch überflüssig. Hat 
natürlich dann den Nachteil das du immer eine Startverzögerung hast

von Samuel S. (samuel)


Lesenswert?

Hallo,

danke, so habe ich das auch verstanden.
Kann ich nicht aus dem Program heraus sogar per "Jump" in den Bootloader 
oder an die Startstelle des Programms springen um einen Reset ohne 
Stromtrennung / Reset zu simulieren?

Gruß,
Samuel

von Timmo H. (masterfx)


Lesenswert?

Ja
Aber 2k für APP und bootloader.... Kann ggf auch knapp werden. Aber nur 
du weißt wieviel Speicher du brauchst

: Bearbeitet durch User
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.