Forum: Mikrocontroller und Digitale Elektronik Flashen mit dem Pollin Board und avrdude


von Keks (Gast)


Lesenswert?

Hi,

ich habe ein Problem dem Flashen eines Atmgega8´ts. Testweise habe ich 
von der Pollin Website die Datei testtool.hex heruntergeladen und mit 
avrdude auf den atmega 8 geflasht:

avrdude -p m8 -c ponyser -P com3 -v -U flash:w:testtool.hex

Das hat auch wunderbar geklappt. Dann habe ich mit Bascom dieses 
Programm erstellt:
1
$regfile = "m8def.dat"        
2
  $crystal = 1000000            
3
 $baud = 9600           
4
 Config Pind.5 = Output        
5
do     
6
Portd.5 = 1                                        
7
     Waitms 100
8
     Portd.5 = 0                                    
9
     Waitms 100
10
loop

Anschliesend habe ich es kompiliert und die .hex File erhalten. Einen 
Fehler o.ä. gab Bascom nicht aus. Dann habe ich wieder versucht zu 
flashen, allerdings zeigte avrdude diesmal das hier:

" Error opening helloworld.hex no such file or directory. input file 
autodedectet as invalid format"

Wenn ich sie im Editor öffne, sehe ich das sie nicht leer ist. Was läuft 
da falsch?

von eProfi (Gast)


Lesenswert?

Du musst den Dateinamen mit Pfad angeben, also
avrdude -p m8 -c ponyser -P com3 -v -U 
flash:w:_hier_Bascom_Verzeichnis_angeben/helloworld.hex

Außerdem die Quarzfrequenz anpassen, oder hast Du einen 1 MHz Quarz?

von Keks (Gast)


Lesenswert?

Hallo,
danke für deine Antwort. testtool.hex, welches ich erfolgreich flashen 
konnte, liegt genauso wie helloworld.hex direkt in "C:", also muss ich 
doch keinen Dateipfad angeben, somal es mit testttol.hex ja auch 
geklappt hat, oder?

Bei der Quarzfrequenz bin ich mir nicht sicher, ich habe nämlich gar 
keinen externen Quarz, bzw. den Atmega8 nicht so eingestellt das er 
einen externen Quarz benutzen soll. Und die Taktfrequenz des internen 
Oszilators, liegt doch bei einem Mhz, oder? Oder kann es sein, das sich 
der Atmega durch das Flashen von testtool.hex sozusagen auf einen 
exterene Quarz eingestellt hat?

von Erba57 B. (orfix) Benutzerseite


Lesenswert?

hall Keks,

nimm mal ponyprog,avr burnomat,myavr_prog....

mfg

orfix

von Helfer (Gast)


Lesenswert?

Vielleicht produziert BASCOM ein für die Autotdetection von AVRDUDE 
unlesbares Format.

Man könnte

a) den Inhalt von helloworld.hex analysieren.

b) ein anderes Flashprogramm als AVRDUDE ausprobieren. Oder nachsehen, 
ob es eine neuere Version von AVRDUDE gibt.

c) Autodetect von AVRDUDE abschalten, wenn a) ein gültiges HEX File 
bestätigt. Mit dem Risiko Unfug in den AVR zu flashen.
avrdude -p m8 -c ponyser -P com3 -v -U flash:w:helloworld.hex:i

von Keks (Gast)


Lesenswert?

:1000000012C0189518951895189518951895189563
:100010001895189518951895189518951895189578
:100020001895189518958FE58DBFC8E3E0E24E2E20
:1000300084E08EBFD4E0F4E05F2EA89584B7082E4C
:10004000877F84BF88E1992781BD91BDEEEFF3E002
:10005000A0E6B0E088278D933197E9F786E089B96B
:1000600080E080BD88E18AB966248D9A959A84E6FD
:1000700090E00ED0959884E690E00AD0F7CF3197C3
:10008000F1F70895689462F80895E89462F8089585
:10009000EF93FF93EE27E82BE92B31F0EAEFF0E046
:0E00A0003197F1F70197D1F7FF91EF91089595
:00000001FF


Hallo, danke für eure Antworten. Das ist die Hex-File, ich weis nicht ob 
das hilft. Meine Version von AVRDude dürfte eigentlich aktuell sein, 
habe sie erst vor kurzem heruntergeladen. Ponyprog läuft uner meinen 
64bit System leider nicht und avr burnomat ist doch eigentlich nur eine 
gui für avrdude oder?

von Helfer (Gast)


Lesenswert?

An dem Inhalt der Hexdatei selbst liegt es nicht.

Ich habe den Inhalt aus 
Beitrag "Re: Flashen mit dem Pollin Board und avrdude" mit Copy&Paste in 
eine Textdatei gespeichert und dann mit AVRDUDE 5.10 in einen ATmega8 
auf dem Pollin AVR Funkboard übertragen. Funktionierte problemlos.

Hattest du vielleicht noch BASCOM offen als du AVRDUDE angeworfen hast? 
Vielleicht klappte der Dateizugriff deshalb nicht.

> " Error opening helloworld.hex no such file or directory. input file
> autodedectet as invalid format"

Vorschlag an mitlesende AVRDUDE Entwickler: Fehlermeldung eindeutiger 
machen. Es sind in der Meldung zwei unterschiedliche Fehlermöglichkeiten 
angegeben, die sich in der Programmlogik wahrscheinlich unterscheiden 
lassen und spezifische Meldungen ermöglichen.

von Keks (Gast)


Lesenswert?

Hallo,
vielen Dank für die Mühe! Ich habe jetzt das slebe wie du auch probiert: 
Den Inhalt der .ex in eine Textdatei gespeichert und versucht diese zu 
flashen. Bei mir ging es leider nicht :(

Bascom ist auch nicht offen. Aus völliger verzweiflung habe ich 
nocheinmal versucht das mitgelieferte testtool.hex zu flashen. Das 
klappt weiterhin problemlos!

Der User Gast schrieb:
Autodetect von AVRDUDE abschalten, wenn a) ein gültiges HEX File
bestätigt. Mit dem Risiko Unfug in den AVR zu flashen.
avrdude -p m8 -c ponyser -P com3 -v -U flash:w:helloworld.hex:i

Da du mir das bestätigt hast, habe ich es versucht. Und siehe da, ich 
erhalte zumindest eine "andere" Fehlermeldung:

" Error opening helloworld.hex no such file or directory."

Ohne dem invalid fail format problem. Aber die Datei ist doch da und 
liegt im selben Ordner wie die testool.hex mit der es problemlos 
funktioniert.

Langsam glaube ich da sind Geister am Werk :(

von Helfer (Gast)


Angehängte Dateien:

Lesenswert?

> Den Inhalt der .hex in eine Textdatei gespeichert und versucht diese zu
> flashen.

S. Anhang.

Du hast mehrmals Schreibfehler in deinen Beiträgen. Kontrolliere alle 
Dateinamen und die Befehlszeilen für AVRDUDE auf richtige Schreibweise; 
der PC verzeiht Schreibfheler nicht.

Du kannst auch den Inhalt des Ordners mal mit dir /T auflisten. 
Vielleicht sieht man etwas Komisches an den Dateiattributen.

Die Ausgabe der Kommandos kannst du mit > bzw. >& in Dateien umleiten 
z.B.
dir /T >& test.txt

Die Ausgabedateien kannst du an Beiträge hier anhängen.

von Keks (Gast)


Lesenswert?

O Gott, danke, jetzt weis ich warum es nicht ging -.-
Ein typisches Noob Problem. Ich dachte die ganze Zeit die Dateien die 
ich flashen möchte müssen in C liegen, jetzt liste ich das Verzeichnis 
auf und merke, das testool.hex nur deshalb geflashed wurde weil es in 
C:/Users:/ich/ lag -.-

Also vielen Dank an alle! :)

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.