644P Bootloader für 7,3728MHz

Guten Abend(Morgen?)

ich stecke gerade beim modifizieren des Bootloaders fest.
Problem ist die Abweichung von 3,5% bei der Seriellen Kommunikation mit 115200baud.
Laut Datenblatt habe ich damit alle Baudraten bis 230,4K sauber mit 0,0% Error

Ich habe mir die nötigen Dateien (.elf, .o) von hier besorgt:

Diese Files möchte der avr-gcc haben zum erzeugen des Hex-Files

Habe das Makefile editiert auf "AVR_FREQ = 7372800L" und mit make die Hex-Datei erstellt.
Es kommt eine ~6KB Hex-Datei raus.
Diese habe ich auf den 644P geflasht und die Fuses gesetzt.
Abweichend von den Sanguino-Fuses habe ich den Takt auf 3-8Mhz 16K 65ms gesetzt.

Ich hatte gedacht damit wäre die Geschichte erledigt, aber ich bekomme jetzt keine Verbindung mehr über die serielle Schnittstelle. Der AVR ISP funktioniert nicht mehr ab 2Mhz, was ja dafür spricht das der Atmega auch wirklich mit 7,xx Mhz läuft.

Habe ich was wichtiges übersehen? :cold_sweat:

Ich sag mal was ohne nachzusehen: Bekommst Du bei 7,3728 MHz mit den möglichen Teilern überhaupt die richtige Frequenz für die Baudrate 115200 heraus?
Wieso nimmst Du eigentlich diesen Quarz und nicht einen 8MHz?
Grüße Uwe

7,3728 MHz deutet auf einen speziellen Baudratenquarz hin:

http://www.mikrocontroller.net/articles/Baudratenquarz

So gesehen dürfte der bestens für die hohe Übertragungsrate geeignet sein - zumindest besser als einer mit 8 oder 16 MHz. Hast du mal ein Quartz zum wechseln da? Die Bürde-Kapazitäten drin?

Laut dem Atmega-Datenblatt ist der Quarz optimal bis 230,4K.
Ich habe nicht die Wahl, da das Projekt den jetzt so vorgibt. Die doppelte Frequenz wäre noch möglich. Als Kapazitäten sind 22pF Kondis drin.
Mich wundert nur das ich kein Projekt geladen bekomme.
Gibt es eine möglichkeit die von mir erzeuge Hex-Datei zu überprüfen?
Ich habe leider nur welche mit 4, 16 oder 20Mhz im Netz gefunden.