Forum: PC-Programmierung myAVR, AVRDUDE und Programmierung ATMEGA8


von Maik O. (tenner21)


Lesenswert?

Guten Tag, Freunde des Programmierens.

Bevor ich gleich an die SuFu verwiesen werde Bitte ich euch erst einmal 
meine Probleme anzuhören. Gesucht habe ich nämlich schon ohne Ende - nur 
gefunden habe ich nichts.

Folgendes:

Ich bin absoluter Neuling in Sachen Programmierung mit C. Hatte vor gut 
einem Jahrzehnt eine gute praktische Erfahrung mit Basic, aber das auch 
nur zur Textausgabe.

Nun habe ich mir vor 2 Wochen ein myAVR-Evaluations-Board mit 
USB-Compiler gekauft. Nachdem ich die aktuelle Software aufgespielt 
hatte, wurde das Board danna uch vom myAVR ProgTool und myAVR 
USB-Terminal erkannt. Ich kann nun Dateien auf den Flash des ATMega8 
brennen und auch auslesen. Auch auf den EEPROM habe ich so Zugriff.

Nun das Problem: Ich nutze ja Win 7 64-Bit Ultimate und kann lediglich 
mit dem myAVR-Programm auf das Board zugreifen. Hatte schon die 
verschiedensten Programme ausprobiert - alle waren fehlerhaft oder 
konnten nicht zugreifen.

Wollte mit BASCOM programmieren, aber BASCOM konnte das Board nicht 
finden - diese blöde Demo-Version.
Mit PonyProg gings gar nicht - das hat sich stur geweigert mein Board zu 
erkennen.
Wie ich mit WinAVR 2010 dieses Board ansteuern soll ist mir auch noch 
ein Rätsel. 50.000 Programme die man alle einzeln aufrufen muss - ist ja 
mehr als umständlich. Außerdem - wie zum Teufel kann ich den COM-Port 
einstellen? Ist emuliert als COM4, nur einstellen kann ich den nirgends. 
Macht man das im Programmers Notepad oder wo?

AVR-Studio 4 ist ein mächtiges und komfortables Programm. Damit würde 
ich gern arbeiten - ehrlich. Nur fordert mich dieses dämliche Programm 
vor dem Compilieren ständig zum Festlegen eines Debuggers auf. Nur kann 
ich keinen Debugger einstellen - da fehlen u.A. in der Baudrate und noch 
etlichen anderen Einstellungen. Zwar kann ich das Board unter "Tools" 
mit AVR Prog ansprechen, nur wenn ich auf "Erase Chip" klicke, blinken 
zwar die LED, nur löschen tut der nix. Und was noch seltsamer ist: Ich 
habe versucht, mein Board anzusprechen - also einzustellen. Das geht 
schon gar nicht. Habe schon mehrere Einstellungen versucht, aber nix.
Unter "Tools/Program AVR/Auto Connect" wird mir immer wieder ausgegeben, 
dass die verbindung nicht hergestellt werden konnt und ich doch einen 
Programmer auswählen soll. Habe ich getan - nur erkennt der keine 
Einstellung. Weder automatische COM-Wahl noch manuelle. Und USB schon 
gar nicht.

Letzter Punkt: Beim Auslesen des Flash ist immer noch eine fehlerhafte 
Datei auf dem Chip zu sehen. Da möchte ich auch noch einmal anfragen, 
wie ich den Flash-Speicher gelöscht bekomme. Dort steht beim Auslesen 
nämlich folgendes:

0000 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0008 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0010 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0018 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0020 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0028 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0030 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0038 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0040 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0048 FF FF FF FF 26 FF FF FF  ÿÿÿÿ&ÿÿÿ
0050 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0058 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0060 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0068 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0070 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0078 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0080 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0088 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0090 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0098 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00A0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00A8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00B0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00B8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00C0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00C8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00D0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00D8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00E0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00E8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00F0 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
00F8 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0100 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0108 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0110 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0118 FF 8C FF FF FF FF FF FF  ÿŒÿÿÿÿÿÿ
0120 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0128 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
0130 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ

Und das geht dann über ca. weitere 100 Zeilen so. Wie kann ich das 
löschen? Mit dem myAVR progTool geht das nicht.

Ich würde wie gesagt gern mit AVR-Studio 4 arbeiten und habe auch schon 
ein Tutorial für das Programm gefunden. Nur hat sich dieser dämliche 
Autor des Tutorials nur darauf beschränkt, was bei welchen Einstellungen 
idealerweise passieren muss - nicht aber was man machen muss, wenn etwas 
nicht so klappt wie der das möchte...

Eine echte Step-By-Step-Anleitung wäre da schon hilfreicher.

Bin da echt verzweifelt - Bitte helft mir!!!


LG Mak

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Maik Schulze schrieb:

> Nun habe ich mir vor 2 Wochen ein myAVR-Evaluations-Board mit
> USB-Compiler gekauft.

Das sind keine exakten Angaben. Wenn ich das nachvollziehen möchte, 
müsste ich jetzt bei dir rückfragen. Oder eine Suchorgie auf der myAVR 
Seite machen. Beides erfordert Zeit und Nerven.

> Nun das Problem: Ich nutze ja Win 7 64-Bit Ultimate und kann lediglich
> mit dem myAVR-Programm auf das Board zugreifen.

Das ist nicht ungewöhnlich. Manche Hersteller (ohne Kontrolle hier in 
diesem Fall) achten nicht auf Kompatibilität mit anderen Programmen. 
Hauptsache es gibt ihr Tool.

Win 7 64-Bit Ultimate erleichtert die Situation nicht. Es ist quasi zu 
modern - technisch anspruchsvoller als ältere Windows Versionen und eine 
geringe Verbreitung unter den µC-Kaufwilligen. Die Anpassung der Tools 
hat eine schlechte Kosten-Nutzen Bilanz.

Wenn du auf Kompatibilität von Hardware X mit Programm Y Wert legst, 
frag vor dem Kauf die Hersteller X und Y, informiere dich auf deren 
Seiten oder in Foren.

> Wollte mit BASCOM programmieren, aber BASCOM konnte das Board nicht
> finden - diese blöde Demo-Version.

S.o. Es muss nicht an der Demoversion liegen. Bascom kann aber Dateien 
erzeugen, die du mit dem myAVR Tool in den µC schaffen kannst. Damit 
kannst du in Bascom arbeiten, wenn auch umständlich.

> Mit PonyProg gings gar nicht - das hat sich stur geweigert mein Board zu
> erkennen.

S.o. Ponyprog benötigt passende Hardware (s. Ponyprog Manual)

> Wie ich mit WinAVR 2010 dieses Board ansteuern soll ist mir auch noch
> ein Rätsel. 50.000 Programme die man alle einzeln aufrufen muss - ist ja
> mehr als umständlich.

Da waren wir alle schon. Wir sind inzwischen weiter ;-)

> Außerdem - wie zum Teufel kann ich den COM-Port
> einstellen? Ist emuliert als COM4, nur einstellen kann ich den nirgends.
> Macht man das im Programmers Notepad oder wo?

Im Makefile in der Aufrufzeile der dort eingestellten 
ISP-Programmiersoftware. I.d.R. ist das Avrdude.

> AVR-Studio 4 ist ein mächtiges und komfortables Programm. Damit würde
> ich gern arbeiten - ehrlich. Nur fordert mich dieses dämliche Programm
> vor dem Compilieren ständig zum Festlegen eines Debuggers auf.

Stell den Simulator ein. Beim Atmega8 ist designbedingt eh nix mit 
Debuggen in HW drin.

> Zwar kann ich das Board unter "Tools"
> mit AVR Prog ansprechen, nur wenn ich auf "Erase Chip" klicke, blinken
> zwar die LED, nur löschen tut der nix.

Du hast vermutlich falsche Vorstellungen was Löschen auf einem µC 
bedeutet. bei AVRs heisst Löschen, dass der Inhalt des µC auf 0xFF 
gesetzt wird.

> Und was noch seltsamer ist: Ich
> habe versucht, mein Board anzusprechen - also einzustellen. Das geht
> schon gar nicht. Habe schon mehrere Einstellungen versucht, aber nix.
> Unter "Tools/Program AVR/Auto Connect" wird mir immer wieder ausgegeben,
> dass die verbindung nicht hergestellt werden konnt und ich doch einen
> Programmer auswählen soll.
> Habe ich getan - nur erkennt der keine
> Einstellung. Weder automatische COM-Wahl noch manuelle. Und USB schon
> gar nicht.

Riesenabschnitt mit wenig Info. Was genau hast du eingestellt und was 
ist passiert. Ein Experiment nach dem anderen. myAVR sollte doch dieses 
Vorgehen exakt in der Doku zum Board oder Programmer angegeben haben. 
Ist da nix oder hast du nicht nachgesehen?

> Letzter Punkt: Beim Auslesen des Flash ist immer noch eine fehlerhafte
> Datei auf dem Chip zu sehen. Da möchte ich auch noch einmal anfragen,
> wie ich den Flash-Speicher gelöscht bekomme. Dort steht beim Auslesen
> nämlich folgendes:
>
> 0000 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ
> 0008 FF FF FF FF FF FF FF FF  ÿÿÿÿÿÿÿÿ

s.o.

> 0048 FF FF FF FF 26 FF FF FF  ÿÿÿÿ&ÿÿÿ
> 0118 FF 8C FF FF FF FF FF FF  ÿŒÿÿÿÿÿÿ

Die machen mir Sorgen. Scheinbar sind Störungen beim Auslesen vorhanden. 
das sollte man beobachten.

> Ich würde wie gesagt gern mit AVR-Studio 4 arbeiten und habe auch schon
> ein Tutorial für das Programm gefunden. Nur hat sich dieser *dämliche*
> Autor des Tutorials nur darauf beschränkt, was bei welchen Einstellungen

Tipp: Pass auf deinen Ton auf, selbst wenn du auf 180 bist und aus Frust 
alles aus dem Fenster schmeissen möchtest. Sonst passiert es, dass die 
Leute ganz schnell zu dämlich werden, dir Antworten zu geben.

von Maik O. (tenner21)


Lesenswert?

Ja, du hast ja Recht. Aber ich bin so dermaßen aufgebracht, weil einfach 
zu viel Wissen schon vorausgesetzt wird. Das ist doch verständlich, 
oder?

Schön, dass Ihr schon so weit seid - ich stehe erst am Anfang. Sicher 
hattet Ihr aber auch die richtige Anleitung bzw. einen Lehrer, den ICH 
NICHT habe. Leider.

Was meinst du mit "Störungen beim Auslesen"? Habe ich den Controller 
kaputt gemacht? Ich meine - ich hab noch 3 Stück, falls der hinüber sein 
sollte.

Wie kann ich das denn "beobachten"? Kann ich denn die Daten auf dem 
Controller irgendwie wieder löschen? Wenn ja - Wie...

Also: Wenn ich unter AVR-Studio 4 Auto-Connect auswähle, erscheint nach 
2-3 Sekunden ein Fenster, in welchem steht, dass die Verbindung nicht 
hergestellt werden konnte. Dort habe ich folgende 
Board-Auswahlmöglichkeiten:

AVR ONE!
STK600
QT600
AVRISP mkII (wird zwar vorgeschlagen, hat aber nur "USB" als 
Auswahlmöglichkeit)
STK500
JTAGICE mkII
AVR Dragon
AVRISP

Habe schon alle ausprobiert - aber keines funktioniert, egal welchen 
port ich einstelle.

Habe übrigens das Board: myMultiProg V1.06 angeschlossen an den Compiler 
mySmartUSB V2.5

In der Systemsteuerung unter Syytem/Gerätemanager ist unter "Anschlüsse 
(COM & LPT) folgendes Programm installiert:
Silicon Labs CP210x USB to UART Bridge (COM4).

Hoffe, dass das ausreicht. Wenn nicht - noch mal posten.


LG Maik

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Das myAVR MK2 USB funktioniert nicht mit AVR Studio!
Ich mach es immer so, dass ich das Projekt mit dem AVR Studio 
kompiliere, mir das HEX-File hole und es dann mit dem myAVR progtool 
brenne!

Mit freundlichen Grüßen,
Valentin Buck

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Maik Schulze schrieb:

> Ja, du hast ja Recht. Aber ich bin so dermaßen aufgebracht, weil einfach
> zu viel Wissen schon vorausgesetzt wird. Das ist doch verständlich,
> oder?

Dann rege dich ab, bevor du hierher kommst. Hier sind Tausende von Usern 
unterwegs. Da stellt man sich nicht hin und freakt aus.

> Schön, dass Ihr schon so weit seid - ich stehe erst am Anfang. Sicher
> hattet Ihr aber auch die richtige Anleitung bzw. einen Lehrer, den ICH
> NICHT habe. Leider.

Viele hier haben als Autodidakt angefangen. Und ihr Wissen in der 
Artikelsammlung und im Forum weitergegeben. Die Tutorials sind nicht 
perfekt, aber wir arbeiten daran.

> Was meinst du mit "Störungen beim Auslesen"? Habe ich den Controller
> kaputt gemacht? Ich meine - ich hab noch 3 Stück, falls der hinüber sein
> sollte.

Nach einem Löschen sollten alle Speicherzellen FF enthalten. In deinem 
Dump ist das nicht so. Ich weiss nicht wieso und wie reproduzierbar das 
ist.

> Wie kann ich das denn "beobachten"? Kann ich denn die Daten auf dem
> Controller irgendwie wieder löschen? Wenn ja - Wie...

Neues Erase und Dump auslesen und nachsehen, ob Abweichungen von FF 
vorhanden sind. Gleiche Stelle? Nehmen die Stellen zu/ab? Zusammenhang 
mit Kabellänge, Screensaver, Mondphase? Bei neuem Atmega8 auch 
vorhanden? usw.

> Also: Wenn ich unter AVR-Studio 4 Auto-Connect auswähle, erscheint nach
> 2-3 Sekunden ein Fenster, in welchem steht, dass die Verbindung nicht
> hergestellt werden konnte. Dort habe ich folgende
> Board-Auswahlmöglichkeiten:
>
> AVR ONE!
> STK600
> QT600
> AVRISP mkII (wird zwar vorgeschlagen, hat aber nur "USB" als
> Auswahlmöglichkeit)
> STK500
> JTAGICE mkII
> AVR Dragon
> AVRISP
>
> Habe schon alle ausprobiert - aber keines funktioniert, egal welchen
> port ich einstelle.
>
> Habe übrigens das Board: myMultiProg V1.06 angeschlossen an den Compiler
> mySmartUSB V2.5
>
> In der Systemsteuerung unter Syytem/Gerätemanager ist unter "Anschlüsse
> (COM & LPT) folgendes Programm installiert:
> Silicon Labs CP210x USB to UART Bridge (COM4).

DAS sind exakte Angaben, gut!

Auf Auto-Connect würde ich mich nicht verlassen. Lieber selbst 
einstellen.

Der richtige Programmer für mySmartUSB V2.1 (Achtung 2.1! Für 2.5 
vermutlich auch) wäre AVR Prog... unter dem Menüpunkt Tools. Den hast du 
aber nicht.

Spekulation: Zu neues AVR Studio. Ich würde einen Downgrade versuchen. 
Ältere Versionen sind im Artikel AVR Studio genannt.

@ all

Hat Atmel den AVR Prog aus AVR Studio rausgeschmissen und stattdessen 
den USB-basierten AVR ONE! aufgenommen? Ab welcher Version?

von Maik O. (tenner21)


Lesenswert?

Vielen Dank.

Das hat mir wirklich sehr viel weiter geholfen. So sollte es sein ;)

Aber eine Frage bleibt noch: Wenn ich die Dateien mit AVR-Studio 
kompiliere, werden diese dann automatisch in Hex umgewandelt oder muss 
ich das noch einstellen? Wenn ich mich nicht irre, werde ich immer 
danach gefragt, ob die Datein in main.c gespeichert werden soll. Ist das 
schon der Hex-File? Oder wird der anderswo abgelegt?
Welche Endung haben die Hex-Files dann?


LG Maik

von Valentin B. (nitnelav) Benutzerseite


Lesenswert?

Normalerweise legt AVR Studio die .hex Dateien in einem Ordner namens 
default ab. Man muss ihn noch nicht einmal dazu überreden, IntelHEX 
auszuspucken, das macht er schon!

Mit freundlichen Grüßen,
Valentin Buck

von Maik O. (tenner21)


Lesenswert?

OK, vielen Dank. Muss ich mal schauen, wenn ich morgen wieder schreibe 
(bin heute zu kaputt dazu - nix Aufnahmefähigkeit mehr da ;))

LG Maik

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.