Forum: Mikrocontroller und Digitale Elektronik ATMEGA128 über RS232 programmieren?


von Michael_ (Gast)


Lesenswert?

Ich habe hier eine Baugruppe mit ATMEGA128 mit Normalen RS232 und einer 
JTAG-Schnittstelle.
JTAG Programmer ist nicht (noch nicht) da.
Angeblich soll nur über das Kabel ohne Programmer programmiert worden 
sein.
Das Projekt mit .hex und .eep sind im Studio vorhanden.
Für eine ISP-Programmierung komme ich an die Pin schlecht ran. Es sind 
auch mehrere zu programmieren.
Geht das wirklich nur über die serielle Schnittstelle und wie würde das 
aussehen?
Kann man das aus dem Studio heraus machen?

von Georg G. (df2au)


Lesenswert?

Wenn auf dem ATMega nicht schon ein Bootlader drauf ist, wirst du warten 
müssen, bis der JTAG Programmer kommt.
Über RS232 barfuß geht es nicht.

von NurEinGast (Gast)


Lesenswert?

> Angeblich soll nur über das Kabel ohne Programmer programmiert
> worden sein.

Frag doch mal denjenigen, der diese Aussage gemacht hat, mit was es 
progrmmiert wurde. Wenn dem so ist, dann muss der Chip ja einen 
Bootloader drauf haben. Jetzt müsstest Du nur noch wissen welcher das 
ist.

von Michael_ (Gast)


Lesenswert?

Und wie würde das gehen, wenn ein Bootlader drauf ist?
Ich vermute da mal, da ist einer drauf.
Es ist auch ein Verzeichnis "SPI-Varianten" mit drei kleinen 
C-Programmen vorhanden.
Von C habe ich leider fast keine Ahnung.

NurEinGast schrieb:
> Frag doch mal denjenigen, der diese Aussage gemacht hat, mit was es
> progrmmiert wurde.

Ist nicht mit fragen, es gibt nur welche, die von weiten zugeguckt 
haben.

von Karl H. (kbuchegg)


Lesenswert?

Michael_ schrieb:
> Und wie würde das gehen, wenn ein Bootlader drauf ist?

Dann gibt es ein PC-Programm dafür.
Da die Sache nicht einheitlich ist, muss das PC-Programm zum Bootloader 
im µC passen. Wenn du also nicht weißt, welcher das ist, dann hast du 
schlechte Karten.

> Ist nicht mit fragen, es gibt nur welche, die von weiten zugeguckt
> haben.

Dann geh erst mal davon aus, dass da kein Bootloader drauf ist, bis du 
deinen Programmer hast und in den µC hineinsehen kannst.

von Georg G. (df2au)


Lesenswert?

Michael_ schrieb:
> Und wie würde das gehen, wenn ein Bootlader drauf ist?

Nimm dir ein Terminal Programm und schließe deinen PC an die RS232 des 
ATNega an. Jeder normale Bootlader meldet sich beim Start. Du musst mit 
der Baudrate etwa spielen, falls nur dummes Zeug angezeigt wird. Unter 
9600Bd wird sie nicht liegen. Und 8 Bit, no Parity, 2 Stopbits sind auch 
gängig.

Manchmal gibt es auf der Platine auch einen Jumper mit der Beschriftung 
"prog/norm" oder ähnlich. Der müsste dann natürlich passend gesetzt 
werden.

Bleibt die RS232 im Kaltstart tot, ist mit hoher Wahrscheinlichkeit kein 
Bootlader drauf.

Meldet er sich, kann man weiter machen. Wenn man den Namen hat, findet 
sich auch das passende Protokoll.

Ich möchte dir nicht zu nahe treten. Dies scheint deine erste Berührung 
mit einem Mikro-Protz zu sein. Vielleicht solltest du jemanden suchen, 
der dir dabei Anleitung gibt - nicht im Forum sondern von Auge zu Auge.

von Michael_ (Gast)


Lesenswert?

Georg G. schrieb:
> Nimm dir ein Terminal Programm und schließe deinen PC an die RS232 des
> ATNega an. Jeder normale Bootlader meldet sich beim Start. Du musst mit
> der Baudrate etwa spielen, falls nur dummes Zeug angezeigt wird. Unter
> 9600Bd wird sie nicht liegen. Und 8 Bit, no Parity, 2 Stopbits sind auch
> gängig.

Danke! Es sind einige Hyper-Terminal vorhanden. Das probiere ich mal.

Georg G. schrieb:
> Ich möchte dir nicht zu nahe treten. Dies scheint deine erste Berührung
> mit einem Mikro-Protz zu sein. Vielleicht solltest du jemanden suchen,
> der dir dabei Anleitung gibt - nicht im Forum sondern von Auge zu Auge.

Nein, ich hab genug mit AVR gemacht, aber in Assembler und die Kleinen. 
Außerdem Z80 in- und auswendig.

von Karl H. (kbuchegg)


Lesenswert?

> Bleibt die RS232 im Kaltstart tot, ist mit hoher Wahrscheinlichkeit
> kein Bootlader drauf.

Das kann man so nicht unterschreiben.
Der alte PeDa Bootloader meldete sich zb nicht. Der wartete darauf, dass 
er vom PC angepingt wurde und wenn er was kriegte, dann musste das auch 
noch stimmen, damit er sich meldete.
Macht auch Sinn, wenn man sich mal überlegt, dass ein PC-Programm, 
welches Werte vom µC erhält und speichert/anzeigt nicht unbedingt 
abstürzen soll, wenn der µC rebootet wird und seine Ready Meldung in die 
Welt hinausbläst.

Aber viele Bootloader probieren eine Ausgabe, das stimmt schon.
Da gibts also viele Varianten. Was die Sache nicht einfacher macht.

von Michael_ (Gast)


Lesenswert?

Ich habe mir gerade das hier reingezogen:
http://www.mikrocontroller.net/articles/AVR_Bootloader_in_C_-_eine_einfache_Anleitung
Den Begriff "einfach" sieht da sicher jeder etwas anders.
In der Richtung mache ich weiter, denn ein BL muß auf der Platine für 
spätere Nachprogrammierung vorhanden sein.

von Georg G. (df2au)


Lesenswert?

Es gibt erprobte Konzepte. Du muss das Rad nicht neu erfinden.

von Michael_ (Gast)


Lesenswert?

Hallo, ich komme nochmal zurück.
Mit Mühe hab ich auf dem Basisboard die Anschlüsse zur 
ISP-Programmierung gefunden. Den Prozessor kann ich jetzt über das 
STK500 ansprechen.

Das ..hex   ---> ist klar.
Das ..eep   ---> ist klar.
Aber nun meine Frage. In dem fertigen Projekt ist das ...ELF - File 
vorhanden und es ist damit schon programmiert worden.
Sind dort die FUSE, LOOKBit usw. alle schon enthalten oder muß ich da 
noch etwas manuell einstellen?

Danke!

von Karl H. (kbuchegg)


Lesenswert?

Michael_ schrieb:

> Sind dort die FUSE, LOOKBit usw. alle schon enthalten oder muß ich da
> noch etwas manuell einstellen?

Gegenfrage.
Hast du beim Programmieren irgendwo die Fuse-Bits bzw. Lock-Bits angeben 
müssen?
Wenn nein, dann werden die wohl da nicht drinnen stehen.

von Michael_ (Gast)


Lesenswert?

In der Beschreibung des STK500 wird das angegeben.
Da ich das Ergebnis der Programmierung nicht direkt testen kann, wollte 
ich sicher gehen.
Man kann die Fuses definieren und mit SAVE theoretisch in dieses File 
einspielen.
Das Problem hat sich aber soweit erledigt, weil es beim Programmieren 
gemeldet hat, das diese Werte nicht im ...ELF vorhanden sind.
Wie gesagt, von dem C-Projekt habe ich (noch) keine Kenntnisse.
Ich habe erst mal die von einem ähnlichen Projekt zurückgelesen, die mit 
anderer Funktion auf der gleichen Hardware läuft.
Warum ich so frage, in der alten Version der Programmersoft für den 
STK500 ist das mit dem ...ELF nicht drin und ich habe da hauptsächlich 
mit einem EQUINOX-Programmer gebrannt.

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.