Forum: Mikrocontroller und Digitale Elektronik Hilfe bei upload von hexfile mit polulu programmer auf Atmega8


von Max N. (maxn)


Lesenswert?

Hallo zusammen,

ich bin AVR Anfänger und mein erstelltes Hexfile lässt sich nicht auf 
den Microcontroller hochladen:

Code:           Basic, bzw. ein mit BascomAVR erstelltes Hexfile.
AVR:            Atmega8
Programmer:     Polulu USB AVR Programmer (ISP)
Board:          Eigenentwicklung (Lochraster)
Betriebsystem:  Lubuntu / (VR: Windows 7)

Folgendes habe ich über die Komandozeile eingetippt:
1
/usr/bin/avrdude -F -B3 -i10 -c avrispv2 -p m8 -P /dev/ttyACM0 -U flash:w:home/mnichte/Dokumente/BlinkLED/BlinkLed.hex

Fehlermeldung:
1
avrdude: stk500v2_command(): command failed
2
avrdude: initialization failed, rc=-1
3
avrdude: AVR device initialized and ready to accept instructions
4
avrdude: Device signature = 0x687c75  – ändert sich je nach Taktfrequenz (-Bxx)
5
avrdude: Expected signature for ATmega8 is 1E 93 07
6
avrdude: NOTE: "flash" memory has been specified, an erase cycle will be performed
7
         To disable this feature, specify the -D option.
8
avrdude done.  Thank you.

Freue mich auf Rückmeldung. Jetzt – ich habe diverse Nächte mich durch 
Foren, Beiträge und Datenblätter gegraben – hoffe ich auf einen neuen 
Denkanstoß…

: Bearbeitet durch User
von tommy (Gast)


Lesenswert?

Bei falscher device signature trotz Nutzung von -B
tippe ich als erstes immer auf fehlende Abblockkondensatoren.

Zeig doch mal ein Foto vom Aufbau.

von Gerald B. (gerald_b)


Lesenswert?

Wie ist der Controller beschaltet? Hat er einen externen Quarz? Im 
Auslieferungszustand arbeitet er zwar mit internem Oszilator, aber wenn 
man sich bei den Fuses verhaut, dann stellt er sich hinterher halt tot.
Außerdem, solange die Fuses noch nicht gesetzt sind, kommuniziert er 
über ISP schnarchlangsam. Kann sein, das er auf zu hohen Takt dann 
garnicht antwortet.
Beim USBasp gibt es dafür einen Jumper, um die Kommunikation per ISP 
langsamer laufen zu lassen. Keine Ahnung, welche Optionen der Polulu da 
bietet.
Übrigens, guck dir mal eXtremeburner an. Da muß man sich nicht auf der 
Kommandozeile rumquälen und hat noch einen Hex-Editor mit drin.

von Max N. (maxn)


Angehängte Dateien:

Lesenswert?

Ich habe es exakt nach folgendem Schaltplan Aufgebau.

von Max N. (maxn)


Lesenswert?

Was ich schon gemacht habe.

(Ich hab es geschafft meinen Microcontroller in Minimalbeschaltung  auf 
dem Steckboard unter Linux nach durchgehen des User Guids meines 
Programmers mit einem Makefile ein C Testprogramm (Blinkende LED an Port 
xy) zu füttern, allerdings nur einmal. Da es sich bei meinem code um 
Basic handelt habe ich daraus ein Hexfile erzeugt und als nächstes 
probiert es so anzupassen das es nur das file hochläd.

Um die Fehlerquellen einzugrenzen stieg ich von dem Breadboard auf meine 
Platine um. Von den fuses hab ich die Finger gelassen – fürs erste, 
obwohl meine Schaltung einen externen 8Mhz Quarz beinhaltet –  und 
anhand des Stromverbrauches festgestellt das der interne 1Mhz Takt aktiv 
ist. Chip funktioniert also. Auch die Vereinfachung direkt über die 
Komandozeile zu gehen war vergebens.)

eXtremeburner schaut interessant aus. Werde ich mich jetzt mal mit 
beschäftigen...

von tommy (Gast)


Lesenswert?

Den Schaltplan kann ich nicht öffnen.
Mit welchem Programm ist der erstellt?

von Frank L. (hermastersvoice)


Lesenswert?

kann man mit Paint öffnen den Schaltplan. Eine sinnvolle Dateiendung 
wäre aber schöner

von tommy (Gast)


Lesenswert?

@ Frank L.
Danke, geht mit Paint ;-)

@ Max Nichte:

Die Controller-Pins MISO, MOSI und SCK haben über die Emitter-
Basis-Strecke der Transistoren und die 1k Basiswiderstände
einen recht niederohmigen Pullup.
Wahrscheinlich kann der Programmer diese Pins nicht richtig
auf LOW ziehen.

Abhilfe:
Entweder die 3 Leitungen an Port D anschliessen oder die
Basiswiderstände hochohmiger machen.

An Port D aber nicht TX und RX nehmen, die könntest Du noch
zum Debugging brauchen ;-)

HTH

von Max N. (maxn)


Angehängte Dateien:

Lesenswert?

@ tommy:

Beides ausprobiert musste aber wieder auf das Breadboard umsteigen, da 
ich ungern auf der Platine rumbraten will.
Hab den Aufbau mal angehängt.

Des weiteren hab ich also die Pullup-Widerstände auf 10K erhöht – grade 
keine anderen parat – aber keine Wirkung. (Sind sie immer noch zu 
klein?)

Welchen Wert sollte man den so nehmen?

Ausserdem testweise MISO, MOSI, und SCK auf Port PD2 gelegt. Scheint es 
aber auch nicht zu sein.

von Dietrich L. (dietrichl)


Lesenswert?

Max N. schrieb:
> Ausserdem testweise MISO, MOSI, und SCK auf Port PD2 gelegt. Scheint es
> aber auch nicht zu sein.

Das ist ja auch Unsinn, denn die Signale liegen auf PB4 (MISO), PB3 
(MOSI)  und PB5 (SCK).  Deine Schaltung war schon richtig.

Aber:
- Sind die Stifte richtig belegt?
  => richtige Zählweise der Pins mit Blick auf die richtige Seite (Top 
oder Bottom)?
- Ist das Flachbandkabel richtig angeschlossen?
- Kontaktprobleme im Stecker oder Leitungsbruch im Flachbandkabel?

von Max N. (maxn)


Lesenswert?

@ Dietrich L.

Kabel sind brandneu.
Alle Leitungen wurden durchgeklingelt.
Und die ISP Verbindungen hab ich so oft geprüft bzw. gesteckt das ich 
das mittlerweile im blindflug schaffe.

Vermute das Problem mittlerweile ehr in Richtung Software.

Melde mich wenn ich des Rätsels Lösung habe.

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.