Hallo zusammen, ich habe vor kurzem den Flash-Speicher und den EEPROM eines Atmega16 16AU ausgelesen. Der Mikrokontroller ist in einer einfachen Magnetventil-Ansteuerung verbaut (Analog-Input über ein Poti, zwei drei Digitaleingänge und eine Ansteuerschaltung um das Magnetventil proportional zu steuern). Die Steuerung hat vor dem Auslesen noch funktioniert (wenn auch nicht ganz ordnungsgemäss). Als ich mir die Daten des BIN-Files ansah, war ich etwas verblüfft. Sowohl im Flashspeicher, als auch im EEPROM waren nur aufsteigende Zahlenwerte. Im Flash: 00 00 01 01 02 02 03 03 ... FF FF Im EEPROM: 00 01 02 03 ... FF Files im Anhang Zum Auslesen habe ich das myAVR_ProgTool mit dem mySmartUSB MK2 verwendet. Fuse/ LockBits waren korrekt gesetzt Nach dem Auslesen hat die Schaltung gar nicht mehr funktioniert. Hat irgendjemand eine Erklärung wie es dazu kommen kann? Ich kann sowohl den Flash als auch den EEPROM ohne Fehler neu beschreiben und wieder korrekt auslesen. Für eure Inputs wäre ich sehr dankbar, da ich soetwas noch nie gesehen habe und mir das nicht erklären kann. Beste Grüsse Enrico
Enrico schrieb: > Sowohl im > Flashspeicher, als auch im EEPROM waren nur aufsteigende Zahlenwerte. Typisch für einen gegen Auslesen geschützten Prozessor.
Enrico schrieb: > Sowohl im > Flashspeicher, als auch im EEPROM waren nur aufsteigende Zahlenwerte. Genau das erwarten man, wenn die Lockbits gesetzt (= 0) sind. Das SPI-Register wird nicht überschrieben und enthält noch das vorher empfangene Byte (= low Adresse). Enrico schrieb: > Nach dem Auslesen hat die Schaltung gar nicht mehr funktioniert. Das ist in der Tat merkwürdig, Lesen sollte immer zerstörungsfrei sein. Nur Erase oder Program zerstört den vorherigen Inhalt.
Hat er bestimmt gemacht, er sagt ja, daß er Flash und EEPROM nun fehlerfrei beschreiben kann...
Enrico schrieb: > Im Flash: 00 00 01 01 02 02 03 03 ... FF FF > Im EEPROM: 00 01 02 03 ... FF > Fuse/ LockBits waren korrekt gesetzt Was nennst du "korrekt"? Offensichtlich waren zumindest die Lockbits gesetzt, deswegen liest du nur Müll aus dem Flash/EEPROM. > Nach dem Auslesen hat die Schaltung gar nicht mehr funktioniert. > Hat irgendjemand eine Erklärung wie es dazu kommen kann? Offensichtlich hast du weit mehr als "Auslesen" gemacht, nämlich ein Chip-Erase. Und ja, danach ist das Programm nicht mehr im µC, sondern im Nirwana. Und der µC tut nichts mehr. > Ich kann sowohl den Flash als auch den EEPROM ohne Fehler neu > beschreiben und wieder korrekt auslesen. Damit ist klar, daß du ein Chip-Erase gemacht haben mußt. Denn mit gesetzten Lockbits läßt sich der Flash weder auslesen noch beschreiben.
:
Bearbeitet durch User
Enrico schrieb: > Für eure Inputs wäre ich sehr dankbar, da ich soetwas noch nie gesehen > habe und mir das nicht erklären kann. Ich hätte da einen Input an deinen Chef: Lass keine unwissenden Dödel an solche Steuerungen. Was machst du denn da rum wenn du keine Ahnung hast? Das Ding war einfach Auslesegeschützt. Du hast das durch ein Chip Erase aufgehoben und der Inhalt ist nun futsch.
Gute Gelegenheit zum Einstieg in die Mikrocontrollerprogrammierung. C oder Assembler? Edit, der TE hat Glück, es ginge sogar mit Ardummino, den ISP-Adapter zum Schreiben des Bootloaders hat er ja.
:
Bearbeitet durch User
Enrico schrieb: > Für eure Inputs wäre ich sehr dankbar, da ich soetwas noch nie gesehen > habe und mir das nicht erklären kann. Der Fachbegriff lautet "Bricked", die Tätigkeit dazu "bricken". Oliver
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.