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


von Daniel S. (enton)


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

von Stefan B. (stefan) Benutzerseite


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!)?

von Daniel S. (enton)


Angehängte Dateien:

Lesenswert?

Makefile ist im Anhang. Meine Datei heißt main.c.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Das Makefile ist korrekt. Wenn ich es mit dem einfachsten main.c aufrufe 
(make program >& error.txt), kommt folgende Ausgabe:
1
Creating load file for EEPROM: main.eep
2
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
3
  --change-section-lma .eeprom=0 --no-change-warnings -O ihex main.elf main.eep || exit 0
4
d:\winavr\bin\avr-objcopy.exe: there are no sections to be copied!
5
avrdude -p atmega32 -P lpt1 -c stk200    -U flash:w:main.hex
6
7
avrdude: AVR device not responding
8
avrdude: initialization failed, rc=-1
9
         Double check connections and try again, or use -F to override
10
         this check.
11
12
13
avrdude done.  Thank you.
14
15
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).
1
AVRDUDE.EXE: Version 5.3.1, compiled on May 15 2007 at 17:05:10
2
             Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
3
4
             System wide configuration file is "D:\WINAVR\BIN\avrdude.conf"
5
6
7
AVRDUDE.EXE: no programmer has been specified on the command line or the config file
8
             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:
1
#
2
# Overall avrdude defaults
3
#
4
default_parallel   = "lpt1";
5
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.
1
programmer
2
  id    = "stk200";
3
  desc  = "STK200";
4
  type  = par;
5
  buff  = 4, 5;
6
  sck   = 6;
7
  mosi  = 7;
8
  reset = 9;
9
  miso  = 10;
10
;

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

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Klassiker: Anhang vergessen ;-)

von Daniel S. (enton)


Angehängte Dateien:

Lesenswert?

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

von Daniel S. (enton)


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

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.