PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Fehler beim beschreiben des µC



Haveaniceday
10.09.2007, 16:57
Hi,
ich hab gerade mal versucht mein erstes Program auf meinen Microcontroller (Atmega32 auf nem von Pollin) mit WinAVR zu schreiben.

Leider bekomme ich allerdings folgenden Fehler:



> "make.exe" program

Creating load file for EEPROM: Terrarium.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex Terrarium.elf Terrarium.eep || exit 0
e:\Programme\winAVR\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega32 -P com1 -c stk200 -U flash:w:Terrarium.hex
avrdude: can't open device "com1"

avrdude: failed to open parallel port "com1"

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:00

Was könnte der fehler sein?

Vorher hatte ich noch nen Fehler mit libusb0.dll, hab ihn aber weg bekommen, indem ich ein libusb "packet" installiert hab. (Weiß nicht ob oder inwiefern das mit dem Fehler zusammen hängen könnte, darum schreibe ich es einfach mal dazu).

"install_giveio.bat" hab ich auchschon ausgefügt, der fehler bleibt aber.


Danke,
ciao Hannes

Gock
10.09.2007, 17:16
Offenbar wird das Board nicht an COM1 erkannt. ZB, weil es nicht an Com1 hängt?
Kenne das Board nicht, glaube aber dass es per RS232 geproggt wird.
Vielleicht ist auch der µC im Eimer oder Dein Comport hat eine NichtStandard Adresse (Bios nachsehen).
Versuche doch mal, den AVR auszulesen. Dann wirst Du wahrscheinlich auch eine Fehlermeldung bekommen. Dann ändere mal die ComPort Einstellungen.
Gruß

MartinFunk
10.09.2007, 17:23
Hi,
avrdude: failed to open parallel port "com1"

seit wann ist com1 ein parallel port?

MfG Martin

Haveaniceday
10.09.2007, 18:12
Offenbar wird das Board nicht an COM1 erkannt. ZB, weil es nicht an Com1 hängt?
Ich hab nur einen COM und im Geräte-Manager steht er als COM1 drin.


Kenne das Board nicht, glaube aber dass es per RS232 geproggt wird.
Ja, habe den COM1 an den COM - ISP vom Board angeschlossen, so steht es auch in der Anleitung.


Versuche doch mal, den AVR auszulesen.
Wie mache ich das mit WinAVR? Sorry, aber ich kenne mich noch nich so gut aus. Bin froh das ich entlich weiß wie ich ihn beschreibe :)


seit wann ist com1 ein parallel port?
Hast recht, ist mir garnicht aufgefallen. Aber wie kommt dieser Fehler zu stande?

Soll ich es mal am LTP1 port versuchen? Habe nur angst, das ich den Port dann zerschieße, weil ich das Board noch nicht Testen konnte (erster Versuch)

fluchtpunkt
10.09.2007, 18:20
Hast recht, ist mir garnicht aufgefallen. Aber wie kommt dieser Fehler zu stande?
typisches PEBKAC Proglem..


Da der STK200 Programmer ein Parallelportprogrammer ist muss man ihn nunmal an einen Parallelport anschliessen.

Haveaniceday
10.09.2007, 18:27
Ok, verständlich. Welchen Programmer soll/kann ich den statdessen nehmen?
Hab nur mal den STK200 genommen, weil er von den meisten Anleitungen empfohlen wurde

fluchtpunkt
10.09.2007, 18:36
AEHEM

welchen Programmer hast du denn? Ich glaube du hast noch garkeinen, also musst du dir einen bauen/kaufen.

Haveaniceday
10.09.2007, 18:41
Wie?!? Das ist jetzt ihrgendwie was ganz neues für mich^^ :-/
Ich dachte immer, der µC wird einfach über die Com Schnittstelle beschrieben?!?
Zumindest habe ich das so in der Anleitung von meinen Board gelesen...


Programmierung
Die Programmierung der Microcontroller kann direkt auf dem Atmel-Evaluations-Board erfolgen. Dazu bietet dieses Board drei verschiedene
Möglichkeiten: Die Microcontroller ATmega8535, ATmega16, ATmega32, Atmega8, Attiny 2313, Attiny12 und Attiny15 können über
die ISP-Schnittstelle programmiert werden, indem sie über die serielle Schnittstelle mit dem PC verbunden werden, oder über einen ISPSchnittstellenadapter,
der über die 10-poligen Pfostenleisten mit dem Atmel-Evaluations-Board verbunden wird. Für die Programmierung
der Microcontroller über die serielle ISP-Schnitstelle eignet sich das Programm PonyProg von Claudio Lanconelli, das als Freeware von der
Website www.lancos.com heruntergeladen werden kann. Der Microcontroller ATmega16 und ATmega32 kann zusätzlich noch über eine
JTAG-Schnittstelle, welche ein Debuggen der entwickelten Software ermöglicht, programmiert werden. Für den JTAG-Schnittstellenadapter
ist die 10-polige Pfostenleiste mit der Bezeichnung JTAG vorgesehen.

Hab mal auf "avrisp" umstellen?
Dann gehts soweit, bekomme nur folgenden fehler:


> "make.exe" program

Creating load file for EEPROM: Terrarium.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
--change-section-lma .eeprom=0 --no-change-warnings -O ihex Terrarium.elf Terrarium.eep || exit 0
e:\Programme\winAVR\bin\avr-objcopy.exe: there are no sections to be copied!
avrdude -p atmega32 -P com1 -c avrisp -U flash:w:Terrarium.hex
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

avrdude done. Thank you.

make.exe: *** [program] Error 1

> Process Exit Code: 2
> Time Taken: 00:22