Forum: Mikrocontroller und Digitale Elektronik Problem mit Bootloader - Mega128


von moin (Gast)


Lesenswert?

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

von Jens (Gast)


Lesenswert?

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.

von Gerd Laschinski (Gast)


Lesenswert?

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

von moin (Gast)


Lesenswert?

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

von moin (Gast)


Lesenswert?

@ 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

von moin (Gast)


Angehängte Dateien:

Lesenswert?

Hier noch meine fuses (mit Ponyprog2000)

moin

von Gerd Laschinski (Gast)


Angehängte Dateien:

Lesenswert?

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

von moin (Gast)


Lesenswert?

Welchen Uart verwendest du? Uart0 oder UART1? Muss ich mich festlegen
oder macht dies der Bootloader automatisch?
moin

von Gerd Laschinski (Gast)


Lesenswert?

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

von Jens (Gast)


Lesenswert?

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
Noch kein Account? Hier anmelden.