Forum: Mikrocontroller und Digitale Elektronik DIAMEX USB ISP Programmer Problem unter Ubuntu


von Philipp S. (xphilx)


Lesenswert?

Hallo liebe Mikrocontroller Community!

Ich habe mir einen Diamex ISP Programmer
(http://www.amazon.de/Diamex-DIAMEX-USB-ISP-STICK-A...)
bei Amazon.de gekauft. Ich möchte mit diesem gerne den ATMega328p unter
Linux / Ubuntu programmieren.

Ich besitze leider noch nicht viel Erfahrung rund um das Thema, da ich
erst 15 Jahre alt bin.

Ich habe in Code Blocks einen Test Code geschrieben;

#include <avr/io.h>
#define F_CPU 1000000UL
#include <util/delay.h>

int main( void )
{
    DDRD |= (1 << PD2);

    while(1) {
        PORTD ^= (1 << PD2);
        _delay_ms(1000);
    }
    return 0;
}

und hab nun eine Test2.hex Datei.
Dann habe ich im Terminal zum Ordner hinnavigiert.
Da hab ich mit dem bereits installierten Programm AVRDUDE versucht, die
HEX Datei mit folgendem Command auf den µC zu schieben:

avrdude -c avrisp2 -B 4 -p m328p -P /dev/ttyACM0 -U flash:w:Test2.hex

Ich habe keine externe Hardware ausser einer LED (mit 220 Ohm
Vorwiderstand) an Port D 2 (wie aus dem Code hervorgeht) angeschlossen.

Da tritt nun das Problem auf, das Terminal gibt mir folgendes aus:

avrdude: stk500v2_command(): command failed
avrdude: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.


avrdude done.  Thank you.


Ich konnte keinen Treiber installieren, da ich keinen für Linux gefunden
habe.

Was habe ich für einen Fehler gemacht?

Danke für Eure Antworten und einen schönen Abend noch,

Philipp

von Walter S. (avatar)


Lesenswert?

bist du sicher dass -c avrisp2 richtig ist,
ich verwende -c stk500v2

von Philipp S. (xphilx)


Lesenswert?

Leider gibt auch -c stk500v2 die gleiche Fehlermeldung...

von Walter S. (avatar)


Lesenswert?

so eine Meldung kommt z.B.  wenn der mikrocontroller nicht richtig mit 
dem Programmer verbunden ist oder keine Spannung hat ...

von Bernd K. (prof7bit)


Lesenswert?

Bist Du sicher dass

-P /dev/ttyACM0

nötig ist? Der Diamex ist doch ein vollständiger Avrisp MkII Clone, der 
erscheint doch nicht als serielle Schnittstelle, probier mal das obige 
ganz wegzulassen oder stattdessen:

-P usb

: Bearbeitet durch User
von Philipp S. (xphilx)


Lesenswert?

Er gibt mir ohne das -P dev/ttyACM0 folgendes aus:

avrdude: ser_open(): can't set attributes for device "/dev/ttyS0": 
Inappropriate ioctl for device

avrdude done.  Thank you.

Mit -P usb:

avrdude: usbdev_open(): did not find any USB device "usb"


Ich hab auch die Kabel einmal allesamt getauscht, da aus "meinen" 3.3 
Volt des Isp's keine rauskamen, aus dem gegenüber schon.
Ich hab eine externe Stromversorgung noch nicht angeschlossen. Dies werd 
ich morgen einmal versuchen und Euch berichten.

von Walter S. (avatar)


Lesenswert?

gib mal in der Konsole
ls -al /dev/ttyACM0
ein ob der Programmer da erscheint

von Philipp S. (xphilx)


Lesenswert?

Er gibt unter dem Befehl

ls -al /dev/ttyACM0

crw-rw---- 1 root dialout 166, 0 Okt 20 10:05 /dev/ttyACM0

aus, also denke ich die Verbindung besteht zum Programmer.

Nach

avrdude -c stk500v2 -B 1 -p m328p -P /dev/ttyACM0 -U flash:w:Test2.hex

leuchtet die grüne LED des Programmers durchgehend und nach kurzer Zeit 
kommt immer wieder:

avrdude: stk500v2_ReceiveMessage(): timeout

von Bernd K. (prof7bit)


Lesenswert?

Philipp Saul schrieb:
> Nach
>
> avrdude -c stk500v2 -B 1 -p m328p -P /dev/ttyACM0 -U flash:w:Test2.hex
>
> leuchtet die grüne LED des Programmers durchgehend und nach kurzer Zeit
> kommt immer wieder:
>
> avrdude: stk500v2_ReceiveMessage(): timeout

Probier mal ein paar andere Baudraten mit der -b option

von Philipp S. (xphilx)


Lesenswert?

Danke danke danke!!!!! Durch die -b 9600 als Baudrate funktioniert es 
nun!!!:)

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.