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.
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.
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.
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
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
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.
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?
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
Beitrag #6688434 wurde von einem Moderator gelöscht.
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
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?
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.
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...
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
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.
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
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.
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
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.
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
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.
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.
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.
Wobei ich mich frage, wo hier der Unterschied ist, beide Typen haben die Signatur 1E 93 07.
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.
> ... 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).
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.