Forum: Mikrocontroller und Digitale Elektronik ATMEGA2560 Bootloader


von Manfred B. (fredl0511)


Lesenswert?

Hallo,

Um nicht dauernd mit ISP meinen ATMEGA2560 programmieren zu müssen, 
möchte ich gernen einen Bootloader reinflashen mit dem man eventuell 
gleich von Hypterterminal sein *.hex File reinspielen kann. Hatte sowas 
mal auf meinen ATMEGA128 , aber leider bekomm ich den Code am 2560er 
nicht zum laufen :-(. HAt zufällig wer von euch ein wenig 
Codeschnipsel(in C) den ich mir für meinen ATMEGA2560 zurecht schnipsel 
kann?

Den von www.chip45.com hab ich schon probiert aber leider krieg i den 
nicht zum laufen.


mfg
Fredl

von Peter D. (peda)


Lesenswert?

Z.B.:

Beitrag "UART Bootloader ATtiny13 - ATmega644"

Bzw. wenn man sich das Scrollen ersparen will:

http://www.avrfreaks.net/index.php?module=Freaks%20Academy&func=viewItem&item_id=1008&item_type=project


Peter

P.S.:
Daß jemand Hyperterminal mag, habe ich bisher noch von keinem gehört.

von Manfred B. (fredl0511)


Lesenswert?

Hallo Peter,

deinen code hab ich schon gesehen. Das main ist zwar in C aber der rest 
in assembler, davon hab ich leider keine ahnung. Welche Veränderungen 
müsste ich vornehmen um es auf meinen ATMEGA2560 laufen zu lassen?? Ich 
muss z.B. die UART2 verwenden.

Programmieren und Compilieren tu ich unter AVR Studio4.

Wie genau funkt. dann der Upload meiner *.hex files in den AVR?

mfg fredl


PS:Über Hyperterminal flashen war nur deshalb fein, weil es eben 
überall(Windows OS)und  ohne zusätzlicher SW funktioniert hat.

von Peter D. (peda)


Lesenswert?

Manfred Brunni wrote:

> deinen code hab ich schon gesehen. Das main ist zwar in C aber der rest
> in assembler, davon hab ich leider keine ahnung. Welche Veränderungen
> müsste ich vornehmen um es auf meinen ATMEGA2560 laufen zu lassen?? Ich
> muss z.B. die UART2 verwenden.

In C ist nur das PC-Programm und das ist als EXE mit dabei.

Das AVR-Programm ist das "bootload.asm"
Da muß man dann das entsprechende Include eintragen (m2560def.inc) und 
die Pinbelegung für RXD und TXD anpassen.
Mußt also im Datenblatt schauen, welche Pins die UART2 benutzt.


Peter

von Kirsch (Gast)


Lesenswert?

Hi,

ich versuch zur Zeit auch auf den ATmega2560 ein Bootloader 
aufzuspielen.
Das Programm wird zwar erfolgreich compiliert, allerdings ist es dann 
nicht möglich mit dem Board zu connecten, wenn der Bootloader drauf ist.


So bin ich vorgegangen:
Hab mir die Dannegger Bootloader Version 21 geladen.
In der Datei Bootload.asm:

.include "m2560def.inc"
.equ    STX_PORT        = PORTE           //Usart0
.equ    STX             = PE1
.equ    SRX_PORT        = PORTE
.equ    SRX             = PE0

angepasst und in der Datei fastload.h:

.equ  XTAL    = 16000000  ; 8MHz, not critical
.equ  BootDelay  = XTAL / 6  ; 0.33s

Den Bootloader auf das Board geflasht und mit dem Befehl "fboot /C1 
/b9600 /Ptest.hex" versuch mein Programm aufs Baord zu spielen. Doch die 
Connection wird nie aufgebaut.

Zur Hardware noch:
Es handelt sich um das rnmega2560 Board von Robotikhardware.de mit 16Mhz 
quarz.

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.