Forum: Mikrocontroller und Digitale Elektronik Atmega8A Fuses auslesen


von AtmegaNutzer (Gast)


Lesenswert?

Hallo,
Ich versuche bei einem neuen ATMEG8A die Fuses auszulesen bzw zu 
schreiben.
Zum Brennen benutze ich ein "mySmartUSB light".
Der Chip läuft mit 3.3V, Flash umd EEPROM sind programmierbar und 
auslesbar
(Gaanz langsam mit 6400 Bd.  Aber, ich kann die Fuses weder lesen noch 
schreiben.
Auf einem zweiten identischen Board mit einem ATMEGA8 funktioniert dies 
wie üblich einwandfrei.  Die HW ist natürlich jeweils auf ATMEGA8 bzw 
ATMEGA8A gesetzt.
Kennt jemand das Problem?  In den Datenblättern habe ich nichts dazu 
gefunden.

von Fern Schätzer (Gast)


Lesenswert?

AtmegaNutzer schrieb:
> Kennt jemand das Problem?

Das wird wohl eine neue Architektur sein in der das Programmieren,
also der Algorithmus, anders funktioniert. Liesse sich heraus-
bringen indem man die Programmiervorschrift des einen und anderen
Controllers miteinander vergleicht.

Also vermutlich wird dein "mySmartUSB light" nicht die neue
Architektur unterstützen.

Einfach mal einen original Programmer von Atmel/Microchip kaufen
und schon ist man glücklich.

von TMegaNutzer (Gast)


Lesenswert?

Fern Schätzer schrieb:
> Also vermutlich wird dein "mySmartUSB light" nicht die neue
> Architektur unterstützen.

Sollte er eigentlich tun, da der ATMEGA8A in der Hardware Auswahlliste 
des Controllers ist.  Aber ok, ich habe bislang noch nie einen ATMEGA8A 
verbaut, sondern immer nur ATMEGA8.
Jetzt habe ich den A-Typ erst mal wieder ausgelötet und durch einen 
normalen ATMEGA8 ersetzt.  Nun läuft das Ding.
Ich werde mal den Hersteller des "mySmartUSB light" kontaktieren.

Schönen Tag noch.

von Spess53 (Gast)


Lesenswert?

Hi

> Also vermutlich wird dein "mySmartUSB light" nicht die neue
> Architektur unterstützen.

Der ATMega8 ist einer der ältesten ATMegas und der ATMega8A ist auch 
schon über 13 Jahre alt. Da sind noch keine 'neueren' Architekturen im 
Spiel.

MfG Spess

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Im Datenblatt steht als "Errata", dass die Signature- und Calibration 
Bytes gelöscht werden können, wenn man ein bestimmtes Timing nicht 
einhält.
http://ww1.microchip.com/downloads/en/DeviceDoc/en590320.pdf
Seite 291 stehen die je drei Byte, S.394 der Errata-Text.
Aber ob das das Fuse-Auslesen behindert?

Ich habe auch den mySmartUSB light von Conrad, hat <20€ gekostet. Der 
hat soweit ich noch weiß keine eigene Software sondern verhält sich wie 
einer der Atmel-Programmer, die das AVR-Studio kennt.

: Bearbeitet durch User
von AtmegaNutzer (Gast)


Lesenswert?

Ich habe mir jetztmal die neueste Version der mySmartUSB light Software 
heruntergeladen. Allerdings muss ich dann morgen mal schnell ein 
Platinchen ätzen um die Software zu testen.  Da ich mehrere Atmega8 hier 
liegen habe lohnt sich der Aufwand.  Ich melde mich dann wieder.

von Axel S. (a-za-z0-9)


Lesenswert?

AtmegaNutzer schrieb:
> Ich versuche bei einem neuen ATMEG8A die Fuses auszulesen bzw zu
> schreiben.

> Aber, ich kann die Fuses weder lesen noch schreiben.

Ja. Ganz tolle Fehlerbeschreibung. Jeder Support-Mitarbeiter würde 
diesbezüglich Mord-Phantasien entwickeln.

Ist es echt so schwer zu beschreiben:

Was du gemacht hast?
Was du erwartet hast das passiert?
Was anstatt dessen passiert ist?

von AtmegaNutzer (Gast)


Lesenswert?

Axel S. schrieb:
> Was du gemacht hast?
> Was du erwartet hast das passiert?
> Was anstatt dessen passiert ist?

1. Man tut das was man normalerweise tut, wenn man Fuses auslesen will.
2. Man erwartet, daß die Fuses ausgelesen werden
3. Die Fuses wurden nicht ausgelesen.

Verstanden?  Wahrscheinlich hast Du das noch nie gemacht

von Axel S. (a-za-z0-9)


Lesenswert?

AtmegaNutzer schrieb:

[Bullshit]

War ja klar

Beitrag #6688434 wurde von einem Moderator gelöscht.
von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

Hmmm,
"...Firmware
Auslieferung mit STK500 kompatibler Firmware
Firmware im Auslieferzustand verfügt über einen automatischen 
Step-Down-Modus; geeignet für Controller, die auf langsamere Taktquellen 
unter 1 MHz umgeschaltet wurden und sich bisher nicht mehr mit der 
Standard ISP-Geschwindigkeit ansprechen ließen alternative Möglichkeit: 
Firmware AVR911/910/109 aktualisierbar für neue Protokolle oder 
Controllertypen durch vorinstallierten Bootloader..."
Quelle:
https://shop.myavr.de/index.php?sp=article.sp.php&artID=200006

Bitte mal Step für Step zeigen, wie Vorgehensweise:
Also, an PC USB-Port den Adapter reinstecken und dann?
Wie sieht das EVA-Board aus, es ist nicht das STK500?
Irgendeine IC-Fassung, IC drin, und dann?
Da gibt es IMHO Lücken in der Beschreibung der tatsächlichen Vor-Ort 
Situation.
Aber für die Problematik, dass EVA-Board mit RS232 nicht an nicht 
vorhandene RS232-Schnittstelle angeschlossen werden soll.
Dafür gibt es passende RS232/USB-Adapter. Benutze selber einen.
Damit kann ich auch die Fuses auslesen.
Nur als "COM" muss was Passendes ausgesucht werden bei connection to 
board.
Entweder auto oder COM9
Und natürlich in "Auto" auch was auswählen.

ciao
gustav

von flip (Gast)


Lesenswert?

Könnte es sein, dass der Atmega8 verfused ist? Also die Fuses so gesetzt 
sind, dass es nicht funktioniert sie auszulesen? Ist so ein Zustand 
möglich?

von Einer K. (Gast)


Lesenswert?

flip schrieb:
> Ist so ein Zustand
> möglich?

Kenne den AVR nicht.
Aber grundsätzlich ja.
Dann geht allerdings auch nicht mehr das Flash zu beschreiben.

von flip (Gast)


Lesenswert?

ich erinnere mich dunkel, das Problem nämlich auch mal gehabt zu haben. 
Ich glaube aber es lag damals an den Fuses. Meine AVR-Zeit liegt nun 
aber schon eine Weile zurück. Daher habe ich die Details nicht mehr in 
Erinnerung...

von flip (Gast)


Lesenswert?

Als Behelf könnte man den Clock von Extern zuführen mittels 
Signalgenerator oder Oszillator. Nur um sicherzugehen, dass das Problem 
nicht am fehlenden Clock liegt, weil die Fuses auf externen Clk gestellt 
sind oder so

von flip (Gast)


Lesenswert?

Nachtrag: das Auslesen von EEPROM und flash funktioniert ja auch nicht 
vernünftig. Das könnte schon ein Clk-Problem sein. Ev. schwingt da was 
nicht gescheit.

von Einer K. (Gast)


Lesenswert?

flip schrieb:
> das Auslesen von EEPROM und flash funktioniert ja auch nicht
> vernünftig.
Ja?

Da hört sich dieses aber ganz anders an:

AtmegaNutzer schrieb:
> Flash umd EEPROM sind programmierbar und
> auslesbar

von AtmegaNutzer (Gast)


Lesenswert?

Hallo,
Also, das ist kein EVA-Board (STK200 oder 500), sondern eine komplette
Projektplatine mit ATMEGA, LCD, BMP280 Sensor, 5 V/3 V Pegelwandler, 
Spannungsreglern etc. Der ATMEGA ist im MLF Gehäuse, alles andere ist 
natürlich auch SMD. Also so ein paar mal den ATMEGA wechseln ist nicht.
Ich habe jetzt den ATMEGA8A ausgewechselt und einen ATMEGA8 eingesetzt, 
und das Gerätchen läuft schön.

Wie man die ATMELs in ASM und in C programmiert und flasht etc. habe ich 
in den letzten 20 Jahren und mit einigen hundert Prozessoren in vielen 
Projekten verinnerlicht.

Ich mache jetzt mal eine kleine Platine für einen ATMEGA8A mit 
vernünftigen Meßpunkten und teste dann weiter, da ich eine ganze Ladung 
ATMEG8A hier liegen habe und natürlich verbauen möchte.

Das Problem ist:
Die Fuses lassen sich nicht auslesen, d.h. der Programmer meldet sich 
mit der Fehlermeldung "Fuses konnten nicht ausgelesen werden". 
Schreiben der Fuses geht natürlich auch nicht.
Aber, ich kann den Flash beschreiben und auch wieder auslesen.  Aufgrund 
der Fuses im Originalzustand geht das natürlich sehr langsam.
Das heisst, ein Takt ist da. Vielleicht ist es auch ein Problem mit dem 
Exemplar des ATMEGA8A.

von Christoph db1uq K. (christoph_kessler)


Lesenswert?

Anscheinend gibt es von myAVR auch eine eigene Windows-Software zum 
Programmieren:
https://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112
kostenloses "myAVR ProgTool Version 1.50"

aber es geht auch über AVR-Studio und andere, z.B. avrdude
"Unterstützte Protokolle: AVR910/911, STK500"

die beiden Appnotes sind hier verlinkt:
https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#Application_Notes

https://www.roboternetz.de/community/threads/44192-mySmartUSB-%28MK2%29-AVR910-911
"ich verwende den mySmartUSB in Verbindung mit AVRDude unter Linux zum 
flashen. Dabei kann ich in Eclipse den Modus angeben, mit welchem der 
Programmer angesprochen werden soll. Bis jetzt habe ich stets den 
AVR910-kompatiblen Modus verwendet."

Microchip hat eine Appnote zum Unterschied der 8 / 8A:
https://ww1.microchip.com/downloads/en/AppNotes/AVR523.pdf
aber da gibt es keine wesentlichen Unterschiede

: Bearbeitet durch User
von AtmegaNutzer (Gast)


Lesenswert?

Christoph db1uq K. schrieb:
> Anscheinend gibt es von myAVR auch eine eigene Windows-Software zum
> Programmieren:
> https://shop.myavr.de/index.php?sp=download.sp.php&suchwort=dl112
> kostenloses "myAVR ProgTool Version 1.50"

Ja, diese Software benutze ich zum Programmieren, und bislang ging das 
immer sehr gut mit allen möglichen Prozessortypen. Die Software 
unterstützt den STK500 und den AVR911 mode.

Die Appnote "ATmega8 zu ATmega8A" kenne ich.  Auch das 
ATmega8A-Errata-sheet gibt nichts zu meiner Problematik her.

von Karl B. (gustav)


Angehängte Dateien:

Lesenswert?

AtmegaNutzer schrieb:
> Also so ein paar mal den ATMEGA wechseln ist nicht.

Hi,
braucht man nicht. Nur die ISP-Konnektoren entsprechend designen und 
dann verbinden.
Muss natürlich sicherstellen, dass nicht die default-ISP-Ports von 
anderen Anwendungen auch zur Datenübertragung gleichzeitig ausgenutzt 
werden, sobald power up erfolgt ist. Die stören sich evtl. dann 
gegenseitig.

ciao
gustav

von AtmegaNutzer (Gast)


Lesenswert?

Karl B. schrieb:
> braucht man nicht. Nur die ISP-Konnektoren entsprechend designen und
> dann verbinden.

Ja, auf einem EVA Board geht das schon, wenn die Prozessoren gesteckt 
sind.
Bei gelöteten SMD Gehäusen wird das schwieriger. Einmal tauschen geht 
schon, aber beim zweiten Mal sind die Pads in Gefahr.

von c-hater (Gast)


Lesenswert?

AtmegaNutzer schrieb:

> Das Problem ist:
> Die Fuses lassen sich nicht auslesen, d.h. der Programmer meldet sich
> mit der Fehlermeldung "Fuses konnten nicht ausgelesen werden".
> Schreiben der Fuses geht natürlich auch nicht.

Das wäre doch recht ungewöhnliches Verhalten. Muss dann eine Sonderlocke 
des verwendeten Programmers sein. Also Firmware desselben updaten oder 
gleich was Brauchbares nehmen.

> Aber, ich kann den Flash beschreiben und auch wieder auslesen.  Aufgrund
> der Fuses im Originalzustand geht das natürlich sehr langsam.

Du musst das mal mit Ponyprog über einen USB-Serial-Adapter versuchen. 
DAS ist wirklich langsam. Dagegen ist dein Fall (der ja immerhin fast 
250kbps erlauben sollte) rasend schnell.

> Das heisst, ein Takt ist da. Vielleicht ist es auch ein Problem mit dem
> Exemplar des ATMEGA8A.

Nö. Wie schon gesagt: Das Problem dürfte der Programmer sein.

von AtmegaNutzer (Gast)


Lesenswert?

c-hater schrieb:
> Nö. Wie schon gesagt: Das Problem dürfte der Programmer sein.

Ja, ich glaube du hast recht.  Ich habe jetzt mal schnell eine 
einfachste Platine geätzt, d.h. ohne irgendwelchen Schnickschnack.  Das 
Auslesen der Fuses geht weiterhin nicht, aber Flashen und Auslesen 
funktioniert mit high speed, wenn der Prozessortyp auf Atmega8A gesetzt 
ist. Wenn der Prozessortyp hingegen auf Atmega8 gesetzt ist, 
funktioniert das Auslesen und Schreiben der Fuses.  Ich werde morgen mal 
den Hersteller kontaktieren.

von S. Landolt (Gast)


Lesenswert?

Wobei ich mich frage, wo hier der Unterschied ist, beide Typen haben die 
Signatur 1E 93 07.

von AtmegaNutzer (Gast)


Lesenswert?

S. Landolt schrieb:
> Wobei ich mich frage, wo hier der Unterschied ist, beide Typen haben die
> Signatur 1E 93 07.

Ja, Problem gelöst.  Der Fehler liegt im ProgTool und ist bekannt.  Eine 
neue Version ist laut Hersteller in Arbeit.  Also, bis auf weiteres muß 
der ATMEG8A als ATMEGA8 behandelt werden.  Ich wollte schon 
HW-Änderungen (Serienwiderstände) etc. machen.

von S. Landolt (Gast)


Lesenswert?

> ... ATMEG8A als ATMEGA8 behandelt ...

Mein Selbstbau-Programmiergerät liest vom Controller die Signatur ein 
und orientiert sich ausschließlich daran, d.h. ohne weitere Eingabe 
eines 'Prozessortyps' - ich habe lange&viel mit ATmega16 bzw. ATmega16A 
gearbeitet, beide haben dieselbe Signatur (1E 94 03).

von AtmegaNutzer (Gast)


Lesenswert?

S. Landolt schrieb:
> Mein Selbstbau-Programmiergerät liest vom Controller die Signatur ein
> und orientiert sich ausschließlich daran, d.h. ohne weitere Eingabe
> eines 'Prozessortyps'

Ja, das kann das ProgTool auch, und wenn man die Automatik benutzt, 
setzt er den Prozessortyp auch auf ATMEGA8, obwohl ein ATMEGA8A 
angeschlossen ist.  Nur wenn man explizit den Prozessortyp aus der 
Drop-down Liste setzt, geht das schief.  Na ja, ich hab das eben immer 
so gemacht seit ich Ponyprog nicht mehr nutzen konnte.

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.