Keine Verbindung zum STK500 unter Linux mit avrdude

OP #3654419
Lesenswert?

Hallo zusammen,

ich weiß es gibt schon einige Beiträge, doch leider finde ich die Lösung 
nicht für mein Problem. Also hier meine aktuelle Konfiguration:

- Xubuntu 14.04
- binutils-avr 2.23
- avr-libc 1.8
- simulavr 0.1.2
- gdb-avr 7.6
- gcc-avr 4.8
- usip 20050207-4.2
- avrdude 6.01
- Eclipse Kepler SR2
- AVR Eclipse 2.4.1

Das STK500 ist mit einem Atmega8-16PU bestückt und über einen Digitus 
USB-RS232-Wandler an den Laptop angeschlossen. Das Kompilieren ist 
fehlerfrei und es wird eine Test_AVR.elf erstelt. Anschließend erscheint 
im Meldefenster:
1
Invoking: AVRDude
2
/usr/bin/avrdude -pm16 -cstk500v1 -P/dev/ttyUSB0 -b19200 -Uflash:w:Test_AVR.hex:a
3
avrdude: stk500_recv(): programmer is not responding

Ich nehme an der Fehler liegt irgendwo an meinen Einstellungen. Hat 
jemand einen Hinweis? Desweiteren scheint der Schalter "Generate HEX 
file for Flash ROM" keine Auswirkung zu haben!?

Gruß
Dennis
OP #3654502
Lesenswert?

Okay, ich bin ein Stück weiter! Mein Aufruf ist jetzt:
1
/usr/bin/avrdude -pm16 -cstk500 -P/dev/ttyUSB0 -Uflash:w:Test_AVR.hex:a

Das führt dazu, dass die LED kurz aufblitzen und dann wieder ausgehen. 
Die Ausgabe der Konsole ist folgende:
1
Launching /usr/bin/avrdude -pm16 -cstk500 -P/dev/ttyUSB0 -Uflash:w:Test_AVR.hex:a 
2
Output:
3

4
avrdude: AVR device initialized and ready to accept instructions
5

6
Reading | ################################################## | 100% 0.01s
7

8
avrdude: Device signature = 0x1e9307
9
avrdude: Expected signature for ATmega16 is 1E 94 03
10
         Double check chip, or use -F to override this check.
11

12
avrdude done.  Thank you.

Mein Testprogramm sieht wie folgt aus:
1
#include <avr/io.h>
2

3
int main()
4
{
5
    DDRB = 0xFF;
6
    PORTB = 0xAA;
7

8
    while (1);
9
}

Offensichtlich stimmen die Signaturen nicht überein, aber was kann ich 
dagegen tun?
Gast #3654546
Lesenswert?

Hier hast du ein Atmega8 oder??

Dennis S. schrieb:
> Das STK500 ist mit einem Atmega8-16PU bestückt und über einen Digitus
> USB-RS232-Wandler an den Laptop angeschlossen.

Hier willst du aber ein Atmega 16 flashen

Dennis S. schrieb:
> Okay, ich bin ein Stück weiter! Mein Aufruf ist jetzt:/usr/bin/avrdude
> -pm16 -cstk500 -P/dev/ttyUSB0 -Uflash:w:Test_AVR.hex:a

Nicht um sonst sagt dir AVRDUDE:

Dennis S. schrieb:
>
> avrdude: Device signature = 0x1e9307
> avrdude: Expected signature for ATmega16 is 1E 94 03
>          Double check chip, or use -F to override this check.
OP #3654572
Lesenswert?

Ja, du hast Recht. Das Problem habe ich ja schon gelöst.

Eigentlich jetzt ein bisschen offtopic, aber da es noch im weitesten 
Sinne zur "Einrichtung" gehört:
Ich habe das Beispielprojekt geflasht:
1
#include <avr/io.h>
2
#ifndef F_CPU
3
#warning "F_CPU war noch nicht definiert, wird nun mit 3686400 definiert"
4
#define F_CPU 3686400UL     /* Quarz mit 3.6864 Mhz */
5
#endif
6
#include <util/delay.h>
7

8
int main( void )
9
{
10
    DDRB = ( 1 << PB0 );
11
    while( 1 ) {
12
        PORTB ^= ( 1 << PB0 );
13
        _delay_ms(1000);
14
    }
15
    return 0;
16
}

Das Blinken ist jedoch viel zu langsam. An welcher Stelle kann ich den 
µC-Takt einstellen?

Gruß
Dennis

P.S.: Das define mit der CPU ist in Eclipse ausgegraut, wird also 
anscheinend nicht genutzt!

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren