Hallo, Ich hänge mal wieder. Ich versuch einen Bootloader zu instellieren und stell mich wohl ziemlich dämlich an. Ich habe versucht die Bootloader von Peter oder den Megaload zu instellieren und zum laufen zu bringen. Ich habe einen Mega128 mit 18,324 MHz und den UART1 am Laufen. Kann mir vielleicht jemand von euch einen Bootloader empfehlen, der läuft und seine eigenen Einstellungen verraten? Muss man bei dem normalen Programm, welches später ausgeführt werden soll etwas beachten? Aus den Anleitungen bin ich nicht sehr schlau geworden. Hoffentlich kann mir jemand von euch helfen Euer moin
1) Hast du die Fuses richtig gesetzt? Es gibt da welche, die speziell für den Bootbereich zuständig sind. 2) 18,324MHz ist zu viel für den ATmega128 3) Bei dem normalen Programm muß nichts beachtet werden.
Hallo moin, hast Du die Fusebits richtig gesetzt? Der "Boot Reset vector Enabled" an, und die "Boot Flash section size" auf die richtige Größe (Einstellungen über AVR Studio 4). In Deinem Programm mußt Du (eigentlich) nichts beachten. Den Programmer auf der PC Seite startest Du vor dem Reset des AVR. Gruß Gerd
Wie sage ich dem Bootloader, welchen Seriellen Port der Mega128 verwendet und mit welchem Quarz er bestückt ist?? Ich kann auch einen Standartquarz verwenden (12 oder 16 MHz) Ich bräuchte ein bischen Anschub-Hilfe. Danke moin
@ Gerd Laschinski In einem anderen Beitrag habe ich gelesen, dass du den Bootloader von Peter Dannegger verwendest. Kannst du mir die Einstellungen der fuses , den Bootloader selbst und dessen Einstellungen mailen? Welchen Quarz verwendest du? Danke moin
Hallo moin, anbei die Fuses für den Bootloader von Peter bei Verwendung eines Mega128. Den Bootloader selbst findest Du hier: http://www.mikrocontroller.net/forum/read-4-53146.html (Datum 22.06.2005). Einfach nur boot128.hex in den Mega128 laden und die Fuses setzen. Ich verwende den internen RC-Oszillator (8 MHz). Dank der Baudratenerkennung von Peter kein Problem. Nur die voreingestellte Baudrate 115kBaud klappt nicht. Daher rufe ich "PBOOT /B38400 /PPROG.HEX" auf. "PROGR.HEX" ist die Hex-Datei. PBOOT versteht übrigens nur Dateinamen im 8.3-Format. Gruß Gerd
Welchen Uart verwendest du? Uart0 oder UART1? Muss ich mich festlegen oder macht dies der Bootloader automatisch? moin
Hallo moin, es wird UART0 verwendet. Die Register werden in bootload128.h festgelegt: .equ URXCaddr = URXC0addr .equ UBRRL = UBRR0L .equ UBRRH = UBRR0H .equ UCSRA = UCSR0A .equ UCSRB = UCSR0B .equ UCSRC = UCSR0C .equ RXEN = RXEN0 .equ UDR = UDR0 .equ UDRE = UDRE0 .equ UCSZ1 = UCSZ01 .equ UCSZ0 = UCSZ00 .equ TXEN = TXEN0 .equ RXCIE = RXCIE0 .equ UART_IN = PINE .equ RXD = PORTE0 Wenn Du (fast) alle 0 durch 1 ersetzt und den Port änderst, dann läuft der Bootloader auch auf UART1. Gruß Gerd
Beim Megaload von Microsyl mußt du den gewünschten UART in den Sourcen einstellen und neu compilieren, Standard ist UART0.
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.