Forum: Compiler & IDEs Avrdude mit seriellen isp lädt testprog nicht auf device


von Amir B. (sticky)


Lesenswert?

Hallo.
Ich versuche einen Atmega48 mittels einen serielllen isp zu proggen.
Das Testprog habe ich im avrstudio gestestet. Wenn ich es nun mit
avrdude runterladen will kommt folgende Fehlermeldung

----------------------------------------------------------------------
> "make.exe" program

Creating load file for EEPROM: test.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
  --change-section-lma .eeprom=0 --no-change-warnings -O ihex test.elf 
test.eep || exit 0
c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be 
copied!
avrdude -p atmega48 -P com1 -c avrisp    -U flash:w:test.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:23
-----------------------------------------------------------------------

wenn ich es mit ponyprog versuche, sagt es mir folgendes:

"Device missing or unkown device (-24)"

Habe alle ports im Bios mal duchprobiert (habe nur ein com-port)

Was mach ich falsch?

Ich bitte um Hilfe, komm nicht mehr weiter.

von Stefan B. (stefan) Benutzerseite


Lesenswert?

Es gab ca. 2005 Probleme mit neuer STK500-Firmware in AVRISPs und 
damaligen AVRDUDE... Versionen, die den gleichen Fehler (avrdude: 
stk500_getsync(): not in sync: resp=0x00) produzierten.

Kannst du näheres zu deinem AVRISP (Selbstbau?, Gekauft?) und den 
verwendeten Programmen (Versionen? Downloadquelle?) schreiben?

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Probier doch mal "stk500v2" als Programmer (-c), "avrispv2" wäre
ein Alias dafür.

von Amir B. (sticky)


Lesenswert?

Ich nutze einen selbstgebauten 10-poligen seriellen isp, denn ich von 
meinen prof habe, der dem ähnlich sieht (die Ausgänge sind identisch):

http://elmicro.com/files/olimex/avr-pg1b.pdf

Nutze folgende WinAvr Version: WinAVR-20070525
Quelle:     http://sourceforge.net/projects/winavr/.


Ich habe einfach die befürchtung, dass der Atmega48 nicht kompatibel mit 
einem seriellen isp ist.


Jörg Wunsch wrote:
> Probier doch mal "stk500v2" als Programmer (-c), "avrispv2" wäre
> ein Alias dafür.

Hab schon alle möglischen Programmer versucht. Ging alles nicht

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Ach Schreck, das ist das dumme alte Ponyprog-Interface.  Im avrdude
heißt es ponyser.  Das ist so ziemlich die mickrigste Option, die
man sich vorstellen kann, in Bezug sowohl auf Datenrate als auch
Zuverlässigkeit.

Mit einem AVRISP hat das alles absolut nichts zu tun.  Das ist ein
von Atmel gebautes Teil mit eigenem Controller.

> Ich habe einfach die befürchtung, dass der Atmega48 nicht kompatibel mit
> einem seriellen isp ist.

Selbstverfreilich kann man einen ATmega48 mit ISP programmieren.
"Seriell" ist an deinem ISP-Adapter nur der Name der Schnittstelle,
bzw. genau genommen ist ISP immer seriell.  Die RS-232-Schnittstelle
wird aber gruselig als Bit-Bang-Maschine missbraucht.

von Amir B. (sticky)


Lesenswert?

Und wat mack ick jetzte

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Amir B-a wrote:

> Und wat mack ick jetzte

Koof d'r 'n ordendlich'n brogrammer. :-)

Hast du denn mal -c ponyser ausprobiert?

Hast du noch 'nen Parallelport frei?  Die Parallelport-ISP-Bitwackler
sind meiner Erfahrung nach ein Stück stabiler als das Teil hier.

Ansonsten gibt's Infos zu solchen Programmiergeräten wie Sand am
Meer.  Ich kann dir aus eigener Erfahrung zum Beispiel noch sagen,
dass Matthias Weißers USBisp ganz gut funktioniert, siehe
http://www.matwei.de/ .

von Amir B. (sticky)


Lesenswert?

Komisch mit dem ponyser krig ich nun eine andere Meldung und zwar :
--------------------------------------------------------------------
> "make.exe" program

Creating load file for EEPROM: test.eep
avr-objcopy -j .eeprom --set-section-flags=.eeprom="alloc,load" \
  --change-section-lma .eeprom=0 --no-change-warnings -O ihex test.elf 
test.eep || exit 0
c:\WinAVR-20070525\bin\avr-objcopy.exe: there are no sections to be 
copied!
avrdude -p atmega48 -P com1 -c ponyser    -U flash:w:test.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.
--------------------------------------------------------------------

wird woll alles darauf hinaus laufen meinen prof zu boxen und mir einen
anständigen progger zu besorgen.

Danke aber für deine Muhe

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Um zu gucken, ob das Teil überhaupt irgendwas redet, kannst du
noch MOSI und MISO am ISP-Stecker brücken (Pin 1 und 9, wenn du
den 10-poligen Stecker hast) und avrdude mit -vvvv aufrufen.
Du solltest dann das Echo der "programming enable"-Sequenz sehen.

von Amir B-a (Sticky) (Gast)


Lesenswert?

wie ruf ich den avrdude denn mit der option -vvvv auf? nehm 
normalerweise die makefile (programmers notebook -> make program)

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Nun, du hast doch den Kommandoaufruf oben selbst zitiert:
1
avrdude -p atmega48 -P com1 -c avrisp    -U flash:w:test.hex

Mach stattdessen:
1
avrdude -p atmega48 -P com1 -c ponyser -vvvv

Das -U <file> kannste weglassen, da wir uns ja sicher sind, dass
er sowieso nicht programmieren können wird.  Ohne weitere Anweisungen,
was avrdude denn tun soll, wird es nur einmal die Verbindung zum
AVR mittels ISP aufbauen und sich danach beenden.  Genug, um auf die
Weise die Kommunikation zu testen.

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.