AVR-Studio, Ponyprog und Hex-File

M

Michael Rübig

Guest
Hi Leute,
ich habe mir gerade das aktuelle AVR-Studio und das aktuelle Ponyprog
installiert.
Früher auf meinem alten PC habe ich damit immer problemlos gearbeitet.

Nun habe ich ein kleines Programm für den tiny15 geschrieben und wollte
es mit Ponyprog auf den Controller laden -> Fehler 21

Auslesen kann ich den Controller, da ist noch ne alte Software von mir
drauf. Speichere ich das Ausgelesene in ein Hex-File und schreibe ich
das wieder, kommt es zu keinem Fehler. Ich habe auch schon verschiedene
anderen Hex-Files, die ich noch hatte, in den Tiny15 programmiert, es
funktioniert.
Nur mein neues Hex-File vom AVR-Studio will sich einfach nicht in den
ACR flashen lassen -> Fehler 21

Hier der Inhalt des Files, das sich nicht flashen lässt:
:020000020000FC
:020000000FC02F
:1000200023E027BB25E720BF2AEA2EBD22EA27B915
:1000300024E826B9369A40E034E6349BFECF25B159
:10004000321B12F441E031958894331F28F0331F9E
:1000500018F0331F08F002C03FEF00C040FD08C099
:1000600026E3231718F068EC630F07C06EEF05C096
:0E00700068EC631B08F001C060E03EBDDBCF12
:00000001FF


Und hier ein File, welches keine Probleme bereitet:
:1000000008C069C068C0FFFFFFFF49C0FFFFFFFFD6
:10001000FFFFB99AC19AC29AC39AC49AC59AA0E03E
:1000200000EC01BF2ED0F2E0E0E461D0789480FFD4
:10003000FECFA03019F4F2E0E6E497E0A13019F425
:10004000F2E0E8E592E3A23009F49AE0A3955AD0F1
:10005000A33029F04CD002E009BF8827E8CFB29B3B
:10006000FECFF8949AE04ED000E60ABFA0E000E28E
:100070000BBF88279AE046D000E305BF78948895A7
:10008000D6CF00E20BBF02E105BF06EF0EBD02E8CE
:1000900000BF3AE002E003BF02E009BF089502E9B1
:1000A00032BF40BF3013C19A07FE02C042E901C00F
:1000B00042E8000C639508E060131895E39560E052
:1000C0007395C8950FEF0012189500E009BF02E87C
:1000D00000BF8FEF1895F89400E00BBF00E60ABF51
:1000E00002E009BFF2E0E0E402D07894189561E004
:1000F00070E0C89507FE03C042E9000C089542E88D
:10010000000C089500E0902E992E10E025EF239525
:100110002911FDCF13951911F9CF0A950911F5CFC2
:100120000895FFFFFFFFFFFFFFFFFFFFFFFFFFFF40
:10020000FFFF00A2AAA2888888A28A8A28A2288042
:10024000AD554B40FFFFB5554B40FFFFAD54D2C0FD
:10025000FFFFB554D2C0FFFFB554AD40FFFFFE0015
:100260007FFF887E01FFAA01FFFFFFFFFFFFFFFF67
:00000001FF


Auffällig ist, dass bei ersterem File die Zeilen nicht voll sind.
An was liegt das? Muss ich an AVR-Studio was umstellen, damit es mir
gültige Hex-Files erzeugt?

.... ein ratloser Michael
 
Michael Rübig <michaely@bigfoot.de> wrote:

Moin!

Auffällig ist, dass bei ersterem File die Zeilen nicht voll sind.
An was liegt das? Muss ich an AVR-Studio was umstellen, damit es mir
gültige Hex-Files erzeugt?
Es gibt verschiedene Varianten von hex, auch avrdude hat sich da bei
mir schonmal verschluckt. Kannst Du aus AVR-Studio zB mal in bin
speichern und in PonyProg mit der hex vergleichen?

Gruß,
Michael.
 
Michael Rübig schrieb:

Auffällig ist, dass bei ersterem File die Zeilen nicht voll sind.
An was liegt das?
Daran, dass der AVR Assembler keinen Output für nicht zu beschreibende
Adressen produziert.

Muss ich an AVR-Studio was umstellen, damit es mir
gültige Hex-Files erzeugt?
Das Hex-File ist gültig. Wenn PonyProg damit nicht klar kommt, ist es
ein Fehler in PonyProg. "Fehler 21" ist ja leider nicht sehr aussagekräftig.

Allerdings kann ich mir bei der Verbreitung dieses Programms nicht
vorstellen, dass es vom AVR-Studio erzeugte Dateien nicht lesen könnte
und das bisher noch niemandem aufgefallen wäre.

Vielleicht solltest Du mal eine besserer Programmiersoftware
ausprobieren, avrdude zum Beispiel.

CU Christian
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: http://www.chzsoft.com.ar/
PGP-Key-ID: 0x6DA025CA
 
Christian Zietz schrieb:
Michael Rübig schrieb:

Auffällig ist, dass bei ersterem File die Zeilen nicht voll sind.
An was liegt das?

Daran, dass der AVR Assembler keinen Output für nicht zu beschreibende
Adressen produziert.

Muss ich an AVR-Studio was umstellen, damit es mir
gültige Hex-Files erzeugt?

Das Hex-File ist gültig. Wenn PonyProg damit nicht klar kommt, ist es
ein Fehler in PonyProg. "Fehler 21" ist ja leider nicht sehr aussagekräftig.

Allerdings kann ich mir bei der Verbreitung dieses Programms nicht
vorstellen, dass es vom AVR-Studio erzeugte Dateien nicht lesen könnte
und das bisher noch niemandem aufgefallen wäre.
Eben, schon komisch

Vielleicht solltest Du mal eine besserer Programmiersoftware
ausprobieren, avrdude zum Beispiel.
Kannst Du mir ne passende Syntax sagen?
Ich benutze:
Attiny15
Einfachstprogrammer mit mit 74HCT244 an LPT1

ich habe folgendes probiert:
avrdude -pt15 -cstk200 -e LED_Treiber.hex

Ausgabe:
--------------------------------------------
avr\bin\avrdude -pt15 -cstk200 -e LED_Treiber.hex

avrdude: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000102
avrdude: current erase-rewrite cycle count is -122045191 (if being tracked)
avrdude: erasing chip

avrdude: safemode: fuse changed! Was 80, and is now 50
Would you like this fuse to be changed back? [y/n] y
avrdude: safemode: and is now rescued
avrdude: safemode: Fuses OK

avrdude done. Thank you.

----------------------------------------------------------------
Die Frage nach den fuses habe ich mir y beantwortet.
Aber irgendwie ist die Ausgabe komisch. Tip?


Grüße
Michael
 
Michael Eggert schrieb:

Es gibt verschiedene Varianten von hex, auch avrdude hat sich da bei
mir schonmal verschluckt. Kannst Du aus AVR-Studio zB mal in bin
speichern und in PonyProg mit der hex vergleichen?
Man kann im AVR-Studio Intel-Hex, Motorola und Generic Files erzeugen
Mit Intel-Hex und Motorola bekomme ich bei Ponyprog die gleiche
Fehlermeldung.
Mit .gen kann Ponyprog nichts anfangen

Michael
 
Hi,

Hier der Inhalt des Files, das sich nicht flashen lässt:
:020000020000FC
:020000000FC02F
diese beiden Zeilen sind doch verdächtig, oder?
Wenn ich das richtig verstehe, stehen dort riesige Zieladressen drin.
:1000200023E027BB25E720BF2AEA2EBD22EA27B915
:1000300024E826B9369A40E034E6349BFECF25B159
:10004000321B12F441E031958894331F28F0331F9E
:1000500018F0331F08F002C03FEF00C040FD08C099
:1000600026E3231718F068EC630F07C06EEF05C096
:0E00700068EC631B08F001C060E03EBDDBCF12
:00000001FF

Michael
 
Michael Rübig wrote:
Hier der Inhalt des Files, das sich nicht flashen lässt:
:020000020000FC
2 Byte auf Offset 0 als 'extended segment address record'
mit Inhalt 0 und (richtiger) Pruefsumme...

:020000000FC02F
2 Byte auf Offset 0 mit Datum '0fc0' und (wieder richtiger)
Pruefsumme...

diese beiden Zeilen sind doch verdächtig, oder?
Ja.

Wenn ich das richtig verstehe, stehen dort riesige Zieladressen drin.
Nein.

Aber wozu braucht das Ding 'nen "extended segment address
record"?

Aus der 'ponyprog2000'-Doc (findet man z.B. via Google):

| Q: I can't program ATmega, I always got "Write failed message".
| Q: I can't program AVR AT90Sxxx, I receive error -21 and the program
| fails. What is the problem?
|
| A: Increase the following parameters in the ponyprog.ini file (all
| times are in milliseconds)

| AVRByteWriteDelay=30 'Delay to complete the write of a single
| word
| AVREraseDelay=100 'Delay to complete the erase of all the
| memory
|
| In case of ATmega increase also the following parameter:
| ATMegaPageWriteDelay=50 'Delay to complete the write of a page of
| flash memory

Offensichtlich kann also irgendwo nicht geschrieben werden (error 21).

Falls es eine 8051-Architektur ist: Selber wundern (sowas tue ich mir
nicht an...).

Grüße, Bodo
 
Michael Rübig schrieb:

Einfachstprogrammer mit mit 74HCT244 an LPT1
Und der hat eine STK200-kompatible Pinbelegung am Parallelport?

ich habe folgendes probiert:
avrdude -pt15 -cstk200 -e LED_Treiber.hex
Wenn Du LED_Treiber.hex in den Flash schreiben möchtest, wäre die
korrekte Option -U flash:w:LED_Treiber.hex

avrdude: Device signature = 0x000102
Die Signatur ist nicht korrekt. Das deutet - vorausgesetzt der richtige
Programmer ist ausgewählt - auf ein Hardware- oder Timingproblem hin,
wie übrigens auch der "Fehler -21" lt. Bodos Posting bei PonyProg. Kabel
zu lang?

Etwas seltsam ist es dann aber schon, dass sich andere Files problemlos
flashen lassen.

CU Christian
--
Christian Zietz - CHZ-Soft - czietz (at) gmx.net
WWW: http://www.chzsoft.com.ar/
PGP-Key-ID: 0x6DA025CA
 
Hi,
Etwas seltsam ist es dann aber schon, dass sich andere Files problemlos
flashen lassen.
Scheint wohl doch nicht so zu sein. Wenn ich genau das gleiche File
drüberflashe, klappts. Hab leider nur ein weiteres Hex-File von damals.
Das geht einwandfrei weil wahrscheinlich schon genau dieses Hex-File
drauf war.
Wenn ich ein anderes File nehme, klappts nicht.

Michael
 
Michael Rübig schrieb:
Hi Leute,
ich habe mir gerade das aktuelle AVR-Studio und das aktuelle Ponyprog
installiert.
Früher auf meinem alten PC habe ich damit immer problemlos gearbeitet.

Nun habe ich ein kleines Programm für den tiny15 geschrieben und wollte
es mit Ponyprog auf den Controller laden -> Fehler 21
Argh,
ich hatte Ponyprog 2.06f installiert, zusätzlich die deutsche Version
runtergeladen, die nur aus einer EXE bestand. Also die EXE ersetzt und
los gings.
Die EXE war allerdings 2.05.

Ich habe nun die EXEs zurückgetauscht und nun gehts.

Einen von den beiden Tinys habe ich allerdings mit AVRDude durch falsche
Bedienung gehimmelt, die Fuses stehen wohl jetzt auf irgendwelchen
Werten, dass man per ISP nicht mehr rankommt :-(
Eigentlich ist Ponyprog für solche Aktionen berüchtigt :)

Michael
 
Michael Eggert <m.eggert.nul@web.de> schrieb:

Es gibt verschiedene Varianten von hex, auch avrdude hat sich da bei
mir schonmal verschluckt.
Bitte schreib' nen Bugreport.

--
cheers, J"org .-.-. --... ...-- -.. . DL8DTL

http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
 
Christian Zietz <newsgroup@chzsoft.com.ar> schrieb:

avrdude: Device signature = 0x000102

Die Signatur ist nicht korrekt. Das deutet - vorausgesetzt der
richtige Programmer ist ausgewählt - auf ein Hardware- oder
Timingproblem hin, ...
Oder auch auf gesetzte Lockbits, aber diese wiederum sollten sich mit
dem chip erase beseitigen lassen.

--
cheers, J"org .-.-. --... ...-- -.. . DL8DTL

http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
 
j@uriah.heep.sax.de (Joerg Wunsch) wrote:

Hi!

Bitte schreib' nen Bugreport.
Oh, das ist lange her... Wollte ein .hex in den Mega8 schreiben und
plötzlich waren die Fuses platt. Hats glaub ich zweimal gemacht, dann
hab ichs mit .bin probiert und da gings einwandfrei, drum hatte ichs
auf avrdude geschoben da sonst nix geändert. Ich glaub, die .hex hatte
Zeilen zu 32 Byte, also irgendwie wars schon ein wenig ungewöhnlich.
Fürn Report wohl zu vage, wenns mal wieder passiert dokumentier ichs
genauer.

Gruß,
Michael.
 
On Sun, 26 Mar 2006 21:25:58 +0200, Michael Rübig <michaely@bigfoot.de>
wrote:

Einen von den beiden Tinys habe ich allerdings mit AVRDude durch falsche
Bedienung gehimmelt, die Fuses stehen wohl jetzt auf irgendwelchen
Werten, dass man per ISP nicht mehr rankommt :-(
Eigentlich ist Ponyprog für solche Aktionen berüchtigt :)
Da darf man eben nicht sparen, und deswegen empfehle ich jedem das STK500.
Damit ist das noch nie jemandem in meiner Umgebung passiert. Im Ernstfall
kann das STK500 auch High Voltage Programmierung, das geht immer, egal was
die Fuses sagen. 12V auf /RESET sind halt für einen AVR ein ziemlich starkes
Argument, um in den Programmiermodus zu gehen.

Ein GUTER EPrommer (wie z.B. mein XELTEK SP280U, der etwa 14000 Bausteine
programmieren kann) hilft auch.

Mit freundlichen Grüßen

Frank-Christian Krügel
 
Hi,

Einen von den beiden Tinys habe ich allerdings mit AVRDude durch falsche
Bedienung gehimmelt.

Da darf man eben nicht sparen, und deswegen empfehle ich jedem das STK500.
Damit ist das noch nie jemandem in meiner Umgebung passiert. Im Ernstfall
kann das STK500 auch High Voltage Programmierung, das geht immer, egal was
die Fuses sagen. 12V auf /RESET sind halt für einen AVR ein ziemlich starkes
Argument, um in den Programmiermodus zu gehen.
Da kann ich einige Tinys himmeln, bis sich das lohnt. Für die 3
Projekte, die ich im Jahr mache brauche ich sowas nicht.

Ein GUTER EPrommer (wie z.B. mein XELTEK SP280U, der etwa 14000 Bausteine
programmieren kann) hilft auch.
Hast Du einen zu verschenken?

Grüße
Michael
 
Hi,
Einen von den beiden Tinys habe ich allerdings mit AVRDude durch
falsche Bedienung gehimmelt, die Fuses stehen wohl jetzt auf
irgendwelchen Werten, dass man per ISP nicht mehr rankommt :-(

Hast du jemanden mit einem STK500 in Reichweite?
Nö, ist aber nicht so wild, wegen den paar Cent für einen neuen Tiny
mache ich jetzt keinen Aufstand.

Michael
 
Michael Rübig <michaely@bigfoot.de> schrieb:

Einen von den beiden Tinys habe ich allerdings mit AVRDude durch
falsche Bedienung gehimmelt, die Fuses stehen wohl jetzt auf
irgendwelchen Werten, dass man per ISP nicht mehr rankommt :-(
Hast du jemanden mit einem STK500 in Reichweite?

--
cheers, J"org .-.-. --... ...-- -.. . DL8DTL

http://www.sax.de/~joerg/ NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)
 
On Mon, 27 Mar 2006 08:55:02 +0200, Michael Rübig <michaely@bigfoot.de>
wrote:

Ein GUTER EPrommer (wie z.B. mein XELTEK SP280U, der etwa 14000 Bausteine
programmieren kann) hilft auch.

Hast Du einen zu verschenken?
Nö. Vor allem keine Zeit. Für gute Arbeit braucht man vernünftiges Werkzeug,
vor allem wenn man damit Geld verdient.

Mit freundlichen Grüßen

Frank-Christian Krügel
 
Hallo Michael,

Michael Rübig schrieb:
Hi Leute,
ich habe mir gerade das aktuelle AVR-Studio und das aktuelle Ponyprog
installiert.
Früher auf meinem alten PC habe ich damit immer problemlos gearbeitet.
sorry für die vielleicht naive Frage (me:AVR-Neuling), aber warum installiert
man sich ein "externes" Brennprogramm, wenn dem AVR-Studio doch schon
eins beiliegt? Welche Vorteile bringt PonyProg?

Gruß Markus
 
On Wed, 29 Mar 2006 22:36:30 +0200, Markus Haacke <onlyspam@arcor.de> wrote:

Hallo Michael,

Michael Rübig schrieb:
Hi Leute,
ich habe mir gerade das aktuelle AVR-Studio und das aktuelle Ponyprog
installiert.
Früher auf meinem alten PC habe ich damit immer problemlos gearbeitet.

sorry für die vielleicht naive Frage (me:AVR-Neuling), aber warum installiert
man sich ein "externes" Brennprogramm, wenn dem AVR-Studio doch schon
eins beiliegt? Welche Vorteile bringt PonyProg?
Weil das beiliegende nur mit den ISP- und JTAG-Interfaces von Atmel
arbeitet, die vielen Hobbybastlern zu teuer sind.

Außerdem kann Ponyprog auch mehr Bausteine als nur die AVRs programmieren.

Mit freundlichen Grüßen

Frank-Christian Krügel
 

Welcome to EDABoard.com

Sponsor

Back
Top