PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Bootloader Atmega128 ( D062x )



iswestija
21.06.2006, 11:45
Hi AVR Fans,

Ich habe mir kürzlich bei www.display3000.com ein D062x Modul gekauft.
Drauf ist ein Mega128 , Display,Tasten und nen RS232 Chip.
Und jetzt würde ich mir gerne ein passenden Bootloader drauf spielen.
Habe hier etliche Themen gelesen aber so richtig das passende nicht gefunden.
Ich habe mich jetzt für das bekannte Megaload entschieden.
Dazu gibs auch schon ne fertige .hex Datei die man nur an den Mega128
anpassen und neu compilieren muss.
Damit hatte ich zunächst grosse Schwierigkeiten da das ICCAVR mir neu war.
Somit habe ich erstmal dieses Forum durchforstet und im Downloadbereich
fertig compilierte .hex Datein für den Mega128 gefunden.
Die Freude war leider zu früh denn diese Datein waren defaultmässig alle auf UART0 gesetzt.
Das D062x bzw. die RS232 Schnittstelle liegen jedoch an
UART1 was auch Sinn macht weil die UART0 Pins gleichzeitig für den ISP-
Programmer verwendet werden.
Dann habe ich mir mal die hier geposteten fertigen BootLoad.hex Datein mir in PonyProg näher angesehen und da ist mir eine Ungereimtheit aufgefallen:
Bei der ersten Datei namens BootLoad_m128.hex fängt der Bootloader an der Adresse FC00 an.Das wäre laut Datasheet des Mega128 für eine
Boot Size von 1024 Words gültig.
Die BootLoad_m128e.hex fängt bei F800 an und laut Datasheet wären das
2048 Words.
Es war aber eigentlich in der readme.txt nur die Rede von 512 und 1024
Words.
Habe ich da irgendwas übersehen ?Oder hat der Compiler falsch
compiliert?
Ich würde mich freuen wenn mich jemand aufklären würde.
Als quasi Belohnung werde ich dann auch eine funktionierende Bootloader.hex für das D062x (vieleicht hat ja noch jemand so ein Teil)
posten.

MfG
-iswestija-

NetPirate
23.06.2006, 14:06
Hallo,
genau an diesem Thema bastele ich zur Zeit auch rum. Habe die Boards D061 und D062 ohne "x".
Gestern erst habe ich ein Bascom (Basic-Compiler für AVR) update erhalten in dem nun ein Bootloaderbeispiel für COM2 enthalten ist. - Nur habe ich es nicht auf Anhieb hinbekommen. - Wenn es funktioniert würde ich gern den Loader (PC->AVR) in Delphi schreiben. Also wäre ich an einem funktionierendem Bootloader sehr interessiert und könnte dann das PC-Programm zur Verfügung stellen.

Gruß

Ralf

iswestija
29.06.2006, 12:24
Also ich habs irgendwie hinbekommen.
Der Bootloader funzt in Verbindung mit MegaLoad.NET
von www.microsyl.com
Folgende Randbedingungen :

1. für Atmega128
2. Quarzfrequenz 14.7456 MHz (Divisor 23)
2. Baudrate 38400bps in MegaLoad.NET
4. UART 1 wird benutzt (es gibt 0 und 1)

Viel Erfolg damit

-iswestija-

NetPirate
29.06.2006, 17:55
ich habe es auch mittlerweile hinbekommen.
Der Bootloader funktioniert zum einen bei einem Hardware-Reset (Bootloader startet und sendet einen Code und startet die Adresse 0 bei ausbleiben einer Antwort an COM1: nach 100ms) oder springt durch einen Code aus dem Programm (z.B. Sekunden-Interupt) in den Boadloader.
Funktioniert tadellos. O:) - Nur mein PC-Programm ist leider noch eine Baustelle. So bald es fertig ist, melde ich mich an dieser Stelle wieder.

Gruß

Ralf