Hallo, ich bastle gerade an einem Interface für Modelle, das modular aufgebaut ist und den I²C-Bus für die Kommunikation verwendet. Als ich von den Bootloader-Möglichkeiten des Mega-8 gelesen habe, konnte ich es natürlich nicht lassen - ein sehr nützliches Feature, um die Devices upzudaten. Vielleicht kanns ja noch jemand brauchen. Es wird übrigens die ominöse Hardware-I²C-Schnittstelle benutzt. Über Verbesserungsvorschläge freue ich mich natürlich. Gruß Thomas Kaiser thomas"AT"ft-fanpage.de
Argh - ich seh grad, daß ich noch ein paar Überreste der Versuchsphase drin habe. Im Unterprogramm "get_i2c" müssen natürlich die Port-Befehle raus. Sofern nix angeschlossen ist, störts aber nicht. Wer weitere Fehler findet, darf sie behalten.
hi, ich habe im internet ein ähnliches projekt gefunden: http://www.maths.lth.se/matematiklth/personal/ardo/dm/i2cboot-0.1.tgz mfg stefan noll
C:\Bootloader\i2c_mega8\M8_boot2.asm(133): error: jmp k: Unsupported instruction on ATmega8 Ich bin durch die Suchfunktion auf diesen Thread aufmerksam geworden und habe mal die Source durchs AVR Studio "geschickt".
1 | ;* General Call = Adresse 0. Das I²C-Device geht nach dem Reset sofort in den Boot-Modus, |
2 | ;* ein senden des General Call startet das Anwenderprogramm. Dadurch können mit einem |
3 | ;* General Call alle Devices auf dem Bus mit einem Befehl gezielt gestartet werden. |
4 | |
5 | gencw: |
6 | rcall get_i2c ;übertragenes Datenbyte lesen |
7 | brcc gencw ;wiederholen, bis ein Stop-Bit empfangen wird |
8 | clr temp |
9 | out TWCR,temp ;Die I²C-Schnittstelle abschalten |
10 | jmp $0000 ;reset, Sprung ins Benutzer-Programm |
Gut, ich "muss" das auf einen Mega168 umstricken, der kann das ja. Aber ist jemand anders schonmal auf diese Fehlermeldung gestossen? Oder anders gefragt: Funktioniert denn der Bootloader bei einem von euch? Wie kann man denn die Sache umschiffen (angenommen, man müsste einen Mega8 nehmen)? Einfach das Z-Register löschen und einen IJMP? Schönen Gruß AxelR. Ja - ich weiss, dass der Thread schon älter ist ;-))
ich versteh nicht ganz was du nun fragst. Geht jmp denn auch anstatt rjmp?
im Quellcode ist ein JMP nach $0000 angegeben und AVR-Studio sagt, das der Mega8 das garnicht kann... Mir ist aufgefallen, das ja etvl. etwas falsch ist. Das wollte ich kund tun. Andererseits wunderts mich, das ich der erste sein sollte, dem das auffällt.
also ich kenne den assemblerbefehl jmp garnicht... habe auch noch nie gesehen, dass der irgendwo aufgeführt wird. probiers doch einfach mal mit einem rjmp
Hier gibts sowas in C: http://www.zerties.org/tiki-index.php?page=BootLoader&PHPSESSID=6337d8764e13b1cbf547abfe51a2400b Gruß Florian
Hallo! Ich möchte danach erkundigen, ob jemand sich mit I2c Bootloader Mega 128 beschäftigt hat? Auf Bascom Sprach. Vielen Dank für ihre Antwort! Norbert
Hallo! Ich möchte danach erkundigen, ob jemand sich mit I2c Bootloader Mega 128 beschäftigt hat? Auf Bascom Sprach. Vielen Dank für ihre Antwort! Norbert
Wen das Thema Bootloader interessiert, schaut euch mal den Artikel AVR Bootloader in C - eine einfache Anleitung an!
Ich habe hierzu mal eine Frage, wenn ich einen I2C Bootloader auf meinen Mega8 Brenne. Wie kann ich dann meinen Code über I2C aufspielen? Ich Möchte mir eine kleine Software in VB.net erstellen. Für die PC -> µC Verbindung nutze ich den ELV I2C Adapter. Ich hänge da voll. Ich habe mittels dieses Adapters bereits eine Software geschrieben um meinen µC zu Steueren etc. Aber beim Bootloader hörts auf. Gruß snatch
Snatch schrieb: > Ich habe hierzu mal eine Frage, > > wenn ich einen I2C Bootloader auf meinen Mega8 Brenne. > Wie kann ich dann meinen Code über I2C aufspielen? > Ich Möchte mir eine kleine Software in VB.net erstellen. > Für die PC -> µC Verbindung nutze ich den ELV I2C Adapter. > > Ich hänge da voll. > > Ich habe mittels dieses Adapters bereits eine Software geschrieben > um meinen µC zu Steueren etc. Aber beim Bootloader hörts auf. > > Gruß > snatch Ich weiss es ist schon alt, aber nicht dass sich jemand Hoffnungen macht, das ELV USB Board unterstützt kein Master-zu-Master Verbindung
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.