Forum: Mikrocontroller und Digitale Elektronik Keine Verbindung in AVR Studio


von Alex W. (meinnick)


Lesenswert?

Hallo Leute
schon vorab "Ich bin ein blutiger anfänger"
Ich hab mir vor kurzem das Atmel Evulationboard Ver 2.01 gekauft und 
darauf einen "ATmega644 20PU 1020" verbaut.
Nun versuche ich verzeifelt ein einfaches Testprogramm auf den 
Microcontroller zu Flashen.
Leider scheitere ich schon beim aufbauen einer verbindung.
So bin ich vorgegangen:
Evulationboard mittels rs323 kabel an ISP mit PC verbunden (ohne usb 
adapter da seriele schnittstelle vorhanden)

1.Versuch mit AVR Studio 4.12
Tools->Programm AVR->Connect:
Plattform:
STK500 or AVRISP
Port:
COM1
->Connect...

nach ca.2sek kommt das Fenster wieder mit der überschrift"Connect 
Failed"

2.Versuch mit PonyProg 1.17h
Options->Setup:
*Serial
Versuchte alle möglichen einstellungen

beim Flaschversuch "device missing or unknown device"

benutze Win7 64bit

Kann mir bitte jemand genau erklären was ich machen muss
hab mich schon durch mehrere seiten gewühlt, hab aber nie etwas gefunden 
was mir weiterhelfen kann

von Helfer (Gast)


Angehängte Dateien:

Lesenswert?

> 1.Versuch mit AVR Studio

Zum Scheitern verurteilt, weil der einfache ISP Programmer auf dem 
Pollin Board nicht direkt aus AVR Studio heraus verwendet werden kann.

> AVR Studio 4.12

Nebensache: Warum setzt du ein so altes AVR Studio ein? Ich bin schon 
nicht der modernste, aber ein 4.16 gönne ich mir doch.

> 2.Versuch mit PonyProg 1.17h

Ebenfalls eine uralte Version. Aktuell ist PronyProg2000 in der Version 
2.07c.

Allgemein:

* Zwischen PC und Pollinboard sollte eine echte RS232 Verbindung 
bestehen. Keine über einen USB-Adapter

* Am Pollinboard muss das RS232 Kabel an die richtige Buchse 
angeschlossen werden (ISP).

* Das RS232 Kabel muss 1:1 verschaltet sein. Kein Nullmodemkabel mit 
gekreuzten Leitungen!

* Interface Setup vgl. Anhang

von Helfer (Gast)


Lesenswert?

> benutze Win7 64bit

Das macht die Sache mit dem Einfachstprogrammer und der 32-Bit-Software 
PonyProg bestimmt nicht einfacher. Hast du keinen älteren PC mit einem 
elektronikbastlerfreundlicheren OS?

von Helfer (Gast)


Lesenswert?

Vielleicht hilft es dir:
http://fynns-programming.de/index.php?option=com_content&view=article&id=15:ponyprog-unter-windows-7-64-bit&catid=3:allgemein&Itemid=15

Wenn du PonyProg nicht ins Laufen bekommst, nimm AVRDUDE. Als 
Progammer ist dann ponyser einzustellen.

von Alex W. (meinnick)


Lesenswert?

Danke für die antworten

zur alten PonyProg
-> das war die einzige version die sich installieren lies, bei allesn 
anderen kam die fehlermeldung "This programm can only be installed on 
version of Windows designed for the following processor architectures:
x86"

bei AVRDUDE bekomme ich beim download nur einen ordener mit haufen 
datein die ich nicht verwenden kann

von Helfer (Gast)


Lesenswert?

Vermutlich hast du eine Downloadseite für die Source im Angriff. Avrdude 
brauchst du nicht downloaden. Es ist bei WinAVR dabei!

von Helfer (Gast)


Lesenswert?

Wenn du kein WinAVR installiert hast, gibt es ein nacktes AVRDUDE in 
Beitrag "Re: AVRDUDE für Windows kompilieren - Anleitung !"

Nackt heisst ohne Lizenztext, ohne Manual und ohne Hilfstool zur 
Freigabe von Hardwareports. Deswegen würde ich das keinem Anfänger 
zumuten wollen.

von Alex W. (meinnick)


Lesenswert?

also ich hab mit das WinAVR komplett installiert
ist das jetzt einen eigene programieroberfläche?
ich weiß jetzt leider nicht wie ich bei deisen programm vorgehen soll
kann mir jemand sagen was ich da machen muss oder einen guten link als 
anleitung posten?

von Helfer (Gast)


Lesenswert?

> also ich hab mit das WinAVR komplett installiert
> ist das jetzt einen eigene programieroberfläche?

Kann man so sagen. Es ist alles was man braucht, um AVRs mit C zu 
programmieren. Plus ein paar Tools u.a. Avrdude, um das Programm auf den 
AVR zu übertragen.

> ich weiß jetzt leider nicht wie ich bei deisen programm vorgehen soll
> kann mir jemand sagen was ich da machen muss oder einen guten link als
> anleitung posten?

Warst du schon im Artikel Avrdude? Da sind die gesuchten Links zum 
handbuch und Erklärungen zu GUI-Programmen, die Avrdude mit grafischer 
Bedienoberfläche ausstatten.

Und in den beiden Artikeln zu den Pollin-Boards? Da ist die 
Programmierung mit Hilfe von Avrdude und Batchfiles für die 
Kommandozeile beschrieben.

von Helfer (Gast)


Lesenswert?

Schnellkontrolle:

Starte die Kommandozeile von Windows ("START -> Ausführen... -> cmd")
Gehe in WinAVR ins Verzeichnis bin (cd Kommando)
Tippe ein:
avrdude -P COM1 -c m644 -p ponyser

Wenn alles funktioniert, kannst du die Device Signature deines Atmega644 
auslesen. Dann kannst du dich daran wagen eine Hexdatei zu übertragen...

Wenn ein Fehler auftritt, schau dir den Text " Textausgabe in Datei 
umleiten?" im Artikel Avrdude an, erzeuge eine Protokolldatei und 
frage damit weiter.

von Alex W. (meinnick)


Lesenswert?

Um die Fuses zu laden hab ich mir jetzt das Programm "AVR Burn-O-Mat" 
installiert
und mit den Einstellungen

Programmer: ponyser
Port: com1

scheint es auf den ersten Blick zu funktionieren.
Wenn ich ATmega644 auswähle, dann das Fenster "Fuses" öffne und 
schlieslich auf "write fuses" klicke scheint sich was zu tun und ich 
bekomme die meldung
"Fuses succesfully written"
wenn ich den mein "TESTTOOL" Programm über die option Flash draufspielen 
will bekomme ich auch die meldung das alles vollständig geschrieben 
wurde, dennoch passiert nichts wenn ich die die Funktionen des Boards 
testen will.

gibst noch etwas was ich vorher machen muss oder hab ich eine 
einstellung vergessen?

von Alex W. (meinnick)


Angehängte Dateien:

Lesenswert?

Hier hab ich im Anhang noch Screenshots von meinen Einstellungnen usw.

von Helfer (Gast)


Lesenswert?

Möglicherweise lässt Avrdude/"AVR Burn-O-Mat" den Atmega644 nicht aus 
dem Programmiermodus. Zieh mal den ISP-Adapter ab und schau ob das AVR 
Programm dann läuft. Du kannst auch die Spannung am RESET-Pin 
nachmessen: Im Programmiermodus ist die LOW (nahe 0V) und im Laufmodus 
HIGH (nahe 5V).

von Helfer (Gast)


Lesenswert?

Hast du das TESTTOOL Programm für den Atmega644 übersetzt?

von Alex W. (meinnick)


Angehängte Dateien:

Lesenswert?

Der Reset-Pin ist nur bei 0V wenn ich die Reset-Taste auf dem Board 
drücke

Ist mir heute auch aufgefallen, dass das Programm für den ATmega32 und 
nicht für den 644 geschrieben ist. In der anleitung steht zwar es liese 
sich einfach umschreiben aber wenn ich die HEX-Datei in WinAVR oder in 
AVR Studio öffne, bekomme ich entweder die meldung das keine Debugger 
informationen enthalten sind oder so ähnlich bzw. Data or unknown 
optocode

Jetzt habe ich mir BASCOM-AVR installiert mit dem ich das TESTTOOL 
öffnen kann und hab die Chipdefinition auf "m644def" 
umgeschrieben(Anhang), reicht das?

auf jeden fall geht es auch nicht wenn ich es jetzt hochlade

von Helfer (Gast)


Lesenswert?

> Der Reset-Pin ist nur bei 0V wenn ich die Reset-Taste auf dem Board
> drücke

Also gibt die ISP-Programmiersoftware den sauber frei und behindert 
nicht das Laufenlassen des Testtool-Programms. Gut.

> Ist mir heute auch aufgefallen, dass das Programm für den ATmega32 und
> nicht für den 644 geschrieben ist. In der anleitung steht zwar es liese
> sich einfach umschreiben

In dem gezeigten Quellcode (gibt es den auch als Text statt als 
Screenshot?) sehe ich keine kritischen Stellen.

> aber wenn ich die HEX-Datei in WinAVR oder in
> AVR Studio öffne, bekomme ich entweder die meldung das keine Debugger
> informationen enthalten sind oder so ähnlich bzw. Data or unknown
> optocode

Normal. In HEX-Files sind i.d.R. keine Debuggersymbole enthalten.

> Jetzt habe ich mir BASCOM-AVR installiert mit dem ich das TESTTOOL
> öffnen kann und hab die Chipdefinition auf "m644def"
> umgeschrieben(Anhang), reicht das?

Müsste reichen.

> auf jeden fall geht es auch nicht wenn ich es jetzt hochlade

Taster und LEDs

Hast du bei den Tastern und LEDs beachtet, dass die Jumper zu diesen 
Teilen auf dem Pollinboard gesetzt sein müssen? Die Taster und LEDs 
sollten dann auch ohne Korrektur des folgendes Problems funktionieren.

Textausgabe

Im Beitrag "Re: Keine Verbindung in AVR Studio" sind im 
Screenshot Fuses_upload.PNG die Fuses lfuse 0x62, hfuse 0x99 und efuse 
0xff zu sehen. Das sind die Werkseinstellungen für den Atmega644, d.h. 1 
MHz interner RC-Oszillator.

Damit wird das Testtoolprogramm (programmiert für 8 MHz) bei der 
Textausgabe über UART/RS232 scheitern, weil die Baudrate 9600 nicht 
eingehalten werden kann. Du könntest versuchen, ob du mit viel Glück auf 
der PC Seite mit 1200 Baud Kontakt bekommst.

Sicherer ist es die Fuses auf den verwendeten externen Quarz umzustellen 
und die 8 MHz im Programm anzupassen.

von Alex W. (meinnick)


Lesenswert?

Juhu es funktionier jetzt
ich habe nur vergessen den Bascom-avr zu schliesen bevor ich ich das 
Program hochgeladen habe

1000 DANK FÜR JEDE HILFE

nur noch eine Frage, wie stelle ich die Fuses auf den externen Quarz um?

von Helfer (Gast)


Lesenswert?

> nur noch eine Frage, wie stelle ich die Fuses auf den externen Quarz um?

Vorsichtig^^

1. Istwerte auslesen mit Datenblatt vergleichen
2. Datenblatt lesen, welche Werte du für deinen Quarz brauchst.
3. Zielwerte ausdenken
4. Zielwerte und MHz-Wert deines Quarzes hier zur Begutachtung zeigen
5. Bestätigte/korrigierte Zielwerte einstellen und fusen

Du musst fürs erste die Fuses nicht umstellen. Du kannst bei Taster&LED 
Programmen gut mit der Werkseinstellung ($crystal=1000000) arbeiten. Den 
genaueren Takt brauchst du wenn das Thema UART/RS232 akut ist.

von Alex W. (meinnick)


Lesenswert?

naja ich werd mich dann erstam an das programmieren der Taster und LEDs 
machen und von den RS232 die finger lassen
darüm kümmere ich mich dann wenn ich es einmal brauche

Also DANKE für alles

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.