www.mikrocontroller.net

Forum: Compiler & IDEs WinAVR möchte über die falsche Schnittstelle programmiern


Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute

Ich hab ein Problem.

Wollte nach ner XP neuinstallation wieder meinen Atmega per WinAVR 
programmieren. Hab im makefile( hab mfile von WinAVR benutzt) ltp1 
eingestellt.
 AVRDUDE_PROGRAMMER = stk200

# com1 = serial port. Use lpt1 to connect to parallel port.
AVRDUDE_PORT = lpt1

Doch wenn ich flashen möchte, beschwert er sich, dass er den Com 1 nicht 
öffnen kann:

avrdude: failed to open parallel port "com1"

Weiß jemand, wie er auf die Idee kommt, dass der com1 der parallel Port 
ist?

Könnte was in XP falsch eingestellt sein?
hab die libusb0 istalliert und install_giveio ausgeführt. Könnte da ein 
Fehler aufgetreten sein?

Währe für Anregungen aller Art sehr dankbar, da ich keine Ahnung hab, 
was da gerade falsch läuft.

Gruß Enton

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das kann an einem falschen Makefile liegen ggf. in Verbindung der 
Defaults in der Avrdude.conf Datei. Vielleicht wird die Variable 
AVRDUDE_PORT im Makefile nicht oder nicht korrekt an Avrdude übergeben. 
Wie sieht dein Makefile aus (Datei anhängen!)?

Autor: Daniel Schillinger (enton)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Makefile ist im Anhang. Meine Datei heißt main.c.

Autor: Stefan B. (stefan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Makefile ist korrekt. Wenn ich es mit dem einfachsten main.c aufrufe 
(make program >& error.txt), kommt folgende Ausgabe:

Creating load file for EEPROM: main.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
  --change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
d:\winavr\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega32 -P lpt1 -c stk200    -U flash:w:main.hex

avrdude: AVR device not responding
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.

MAKE.EXE: *** [program] Error 1

das lpt1 ist wie erwünscht in der Kommandozeile. Da ich keinen stk200 
an der lpt1 angeschlossen habe, kommt logischerweise der Fehler /AVR 
device not responding/

Ich habe zum Testen Avrdude aus dem WinAVR-20070525 Paket benutzt
(avrdude -v >& version.txt).

AVRDUDE.EXE: Version 5.3.1, compiled on May 15 2007 at 17:05:10
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

             System wide configuration file is "D:\WINAVR\BIN\avrdude.conf"


AVRDUDE.EXE: no programmer has been specified on the command line or the config file
             Specify a programmer using the -c option and try again

Dessen Konfigurationsdatei avrdude.conf ist auch im Anhang. com1 kommt 
darin nur an einer Stelle vor:

#
# Overall avrdude defaults
#
default_parallel   = "lpt1";
default_serial     = "com1";

Und die käme zum Zug, wenn auf der Kommandozeile kein Programmer erkannt 
wird. Wobei aber der unter default_parallel eingestellte Anschluss 
benutzt würde, weil später beim Programmerid stk200 der Typ par (für 
parallel) angegeben ist.
programmer
  id    = "stk200";
  desc  = "STK200";
  type  = par;
  buff  = 4, 5;
  sck   = 6;
  mosi  = 7;
  reset = 9;
  miso  = 10;
;

Vielleicht versuchst du diesen Gedankengang mit deiner Konfiguration 
nachzuvollziehen und vergleichst die entsprechenden Positionen. Ich 
drücke dir die Daumen!

Autor: Stefan B. (stefan) Benutzerseite
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Klassiker: Anhang vergessen ;-)

Autor: Daniel Schillinger (enton)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Die avrdude.conf hat bei mir die gleichen Einstellungen. Daran kanns 
dann wohl nicht liegen, oder? hab sie mal in den Anhang gepakt.

Autor: Daniel Schillinger (enton)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hab die avrdude.config ausgetauscht. nach dem 3 Versuch hat es dann 
geklappt.
Anfangs hat er die falschen Parameter Übergeben:
avrdude -p atmega32 -P com1 -c stk200    -U flash:w:main.hex

Nachdem ich die Datei dann mal direkt von C:\ aufgerufen habe, hats 
geklappt:
avrdude -p atmega32 -P lpt1 -c stk200    -U flash:w:main.hex

Warum, weiß ich aber auch nicht. Aber hauptsache es funktioniert.

Danke schön noch mal.

Gruß enton

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.