Forum: Mikrocontroller und Digitale Elektronik Atmelstudio setzt lock bits nach Flashen!


von Markus (Gast)


Lesenswert?

Guten Tag,
habe siet längerem keinen AVR mehr Programmiert.
Nach Fräsen der Platine und Löten komm ich mit dem Programmiertool von 
ATMEL Studio auf den Controller und kann die Clock hochsetzen, fuses 
lesen.... etc.....
Nach dem ersten Flashen(.hex) unter der Rubrik Memories von meinem 
C-Code, werden schon zum 2. mal die alle Lockbits gesetzt. Ich kann zwar 
noch vom Controller lesen, aber nichts mehr schreiben.
Ich verwende einen Atmega8-16AU im TQFP32 Gehäse.
Jemand ein Tipp woran das liegen könnte, bevor ich nochmals einen neuen 
Controller auflöte?

Vielen Dank.

LG

: Verschoben durch Moderator
von Max D. (max_d)


Lesenswert?

Markus schrieb:
> Guten Tag,
> habe siet längerem keinen AVR mehr Programmiert.
> Nach Fräsen der Platine und Löten komm ich mit dem Programmiertool von
> ATMEL Studio auf den Controller und kann die Clock hochsetzen, fuses
> lesen.... etc.....
> Nach dem ersten Flashen(.hex) unter der Rubrik Memories von meinem
> C-Code, werden schon zum 2. mal die alle Lockbits gesetzt. Ich kann zwar
> noch vom Controller lesen, aber nichts mehr schreiben.
> Ich verwende einen Atmega8-16AU im TQFP32 Gehäse.
> Jemand ein Tipp woran das liegen könnte, bevor ich nochmals einen neuen
> Controller auflöte?
>
> Vielen Dank.
>
> LG

Ähm, dir ist schon klar, dass du lock-bits wieder zurücksetzen kannst 
indem du ein erase machst ?

von Thomas E. (thomase)


Lesenswert?

Markus schrieb:
> Nach dem ersten Flashen(.hex) unter der Rubrik Memories von meinem
> C-Code, werden schon zum 2. mal die alle Lockbits gesetzt. Ich kann zwar
> noch vom Controller lesen, aber nichts mehr schreiben.

Der Sinn der Lockbits ist vor allem, dass du nicht mehr lesen kannst.

Wenn du nicht mehr programmieren kannst, d.h. ein Verify fehlschlägt, 
kann es daran liegen, dass das Häkchen bei "Erase flash before 
programming" nicht gesetzt ist. Das ist jetzt zwar Studio 4, aber das 
wird es beim 6er auch geben.

mfg.

von Markus (Gast)


Lesenswert?

Hallo,
ja eigentlich durch den device erase in der memory sektion. Trotz 
löschen kann ich keine fuse- oder lockbits ändern, oder den programmcode 
ändern....

von Markus (Gast)


Lesenswert?

zur info: ich nutze den usbprog v3 mit avr mkII software darauf.

von makulus (Gast)


Lesenswert?

Markus schrieb:
> ... Trotz
> löschen kann ich keine fuse- oder lockbits ändern, oder den programmcode
> ändern....

Kommt denn da auch eine Fehlermeldung bzw -meldungen je nach Aktion? Wie 
stehen denn da die Fuses? Fakten bitte.

von Thomas E. (thomase)


Lesenswert?

Markus schrieb:
> Hallo,
> ja eigentlich durch den device erase in der memory sektion. Trotz
> löschen kann ich keine fuse- oder lockbits ändern, oder den programmcode
> ändern....

1. Die Lockbits werden beim Flashen eines Hex-Files nicht verändert.
2. Die Fusebits werden beim Flashen eines Hex-Files nicht verändert.
3. Wenn der Controller gelöscht werden kann, sind die Fusebits
   grundsätzlich richtig eingestellt. Ob die Lockbits dabei gesetzt
   sind, ist unerheblich, da sie gelöscht werden.
4. Die Signatur ist immer auslesbar. Lässt diese sich nicht auslesen,
   sind die Fusebits falsch eingestellt oder die Schaltung ist Murks
   bzw. der Programmer hat eine Macke.

Das alles setzt natürlich voraus, dass der richtige Controller 
eingestellt ist und die ISP-Verbindung sowie die Spannungsversorgung 
einwandfrei sind. Sonst kann man böse Überraschungen erleben.


mfg.

: Bearbeitet durch User
von Henry (Gast)


Lesenswert?

Hallo zusammen,

ich habe ein sehr ähnliches Problem.

- Entwicklungsumgebung: Atmel Studio 7.0
- Programmer: mySmartUSB light mit STK500 Firmware
- Controller: ATmega8 -16PU
- Taktquelle: externer Quarz mit 16 MHz

Chip-Signatur, Fuse- & Lock Bits lassen sich einwandfrei lesen. Chip 
Erase läuft fehlerfrei durch. Direkt nach dem Erase auf die Lock Bits 
ausgelesen: Alle gesetzt. Der Flash lässt sich nicht mehr beschreiben.

Seit mehreren Jahren funktionierte das Flashen über ISP mit derselben 
Platine und demselben Programmer einwandfrei. Nach Installation von 
Windows 10 habe ich die USB-Treiber des Programmers (Silicon Labs CP210x 
VCP) aktualisiert und Atmel Studio von 6.0 auf 7.0 aktualisiert, weil 
die 6.0 den Programmer nicht mehr erkannt hatte. Seitdem habe ich das 
Problem. Deshalb würde es mich eigentlich wundern, wenn es mit dem ISP- 
oder Systemtakt zusammenhinge.

Gibt es denn eine Empfehlung, wie der ISP-Takt idealerweise einzustellen 
ist?
Hat jemand dahingehen Erfahrungen mit dem mySmartUSB light Programmer?

von Henry (Gast)


Lesenswert?

PS: Ich habe es auch schon mit allen möglichen ISP-Takteinstellungen im 
Atmel Studio versucht.

Für Lösungsideen bin ich sehr dankbar.

Gruß
Henry

von Knut B. (Firma: TravelRec.) (travelrec) Benutzerseite


Lesenswert?

Sparprogrammer halt - was will man erwarten...

von 3162534373 .. (3162534373)


Lesenswert?

Henry schrieb:
> Gibt es denn eine Empfehlung, wie der ISP-Takt idealerweise einzustellen
> ist?

maximal 1/4 AVR Takt.
besser 1/8 oder weniger.

von spess53 (Gast)


Lesenswert?

Hi

>maximal 1/4 AVR Takt.
>besser 1/8 oder weniger.

'maximal' ist schon mal falsch. Der ISP-Takt muss kleiner als 1/4 des 
Controllertakts sein.

MfG Spess

von Alexander D. (Firma: keine) (silasnt)


Lesenswert?

Hallöchen,
ich habe seit heute morgen exakt das gleiche Problem!
Die ganze Woche den selben ATMEGA 8 16PU über den billig Programmer 
MySmartUSB light in AtmelStudio 7 programmiert vielfach ohne Problem! 
Seit heute sind die Lockbits gesetzt und lassen sich nicht 
zurücksetzten, auch nach Löschen des Speichers!

Hat inzwischen jemand eine Lösung gefunden! Liegt es wirklich am 
Programmer?!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander D. schrieb:
> Seit heute sind die Lockbits gesetzt und lassen sich nicht
> zurücksetzten, auch nach Löschen des Speichers!

Dann ist irgendwas grundlegend foul.  Das ist kein normaler
Betriebszustand.  Nach erfolgreichem chip erase müssen die
Lockbits immer weg sein.

Vielleicht liest der Programmer ja einfach konsequent nur noch
Nullen aus, und der Lockbit-Test ist das erste, was er dann macht?
Da würde er die falschen Nullen als Lockbits fehlinterpretieren.

von Alexander D. (Firma: keine) (silasnt)


Lesenswert?

@Jörg,
ja, ich glaube auch, dass etwas grundlegend schief läuft. Ein frischer 
Controller kann noch beschrieben werden, danach sind die Lockbit gesetzt 
und lassen sich nicht mehr zurücksetzen.

D.h. Erase funzt, nach kann man auch die Lockbits vermeintlich 
zurücksetzen, doch wenn man sie einliest, werden sie immer noch als 
gelockt angezeigt. Entweder wird nicht richtig geschrieben oder gelesen!

Auch mir AVR Dude kann ich z.Z. nicht auf den Chip zugreifen. Dude sieht 
den Com Port nicht mehr.

Auch über AtmetStudio ist mittlerweile keine Verbindung mehr möglich!

Ich habe den Programmer in Verdacht!

Ich werde mir mal von einem Kollegen einen anderen besorgen und testen! 
Wird aber erst Montag was!

Ich berichte, wenn ich eine Lösung gefunden habe !

Welchen Programmer ist den allgemein empfehlenswert?!

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Alexander D. schrieb:
> Dude sieht den Com Port nicht mehr.

Dann hat der aber ein Problem mit dem OS.  Dann isses auch kein
Wunder, dass das Studio damit nur noch Unfug macht.  Nur die Meldung
mit den Lockbits verwirrt natürlich, vermutlich ist das ein ein Plugin,
welches den eigentlichen Fehler (Port ist nicht mehr da) nicht sauber
abfängt und berichtet, sodass beim Weiterlaufen nur noch Quatsch
passiert (wie eben die vorgeblichen Lockbits).

von BlaBla (Gast)


Lesenswert?

Kauft euch doch endlich mal einen anständigen Atmel-Programmer. Die 
myAVR werden doch gar nicht weiterentwickelt. Ich hatte nur noch Ärger 
mit dem "light". Insbesondere mit den Fuse. Einen Tipp noch: myAvr hat 
ein eigenes ProgTool. Vielleicht damit probieren, ob nicht das Studio 
den Fehler macht.

von Alexander D. (Firma: keine) (silasnt)


Lesenswert?

BlaBla schrieb:
> Kauft euch doch endlich mal einen anständigen Atmel-Programmer.

"Danke für den qualifizierten Beitrag!" Welchen würde Du denn 
empfehlen?!

> Die myAVR werden doch gar nicht weiterentwickelt.

von Kaj (Gast)


Lesenswert?

Alexander D. schrieb:
> Welchen würde Du denn
> empfehlen?!
Den Atmel-ICE.
http://www.atmel.com/tools/atatmel-ice.aspx

von BlaBla (Gast)


Lesenswert?

Kaj schrieb:
> Den Atmel-ICE.
^^^^^^^^^^^^^^^^
Feines Geräte!

Wenn eine Nummer preiswerter sein soll, dann geht auch der hier:
http://www.atmel.com/tools/avrispmkii.aspx

von BlaBla (Gast)


Lesenswert?

Upps: Nicht mehr lieferbar :-O

von Erwin D. (Gast)


Lesenswert?

BlaBla schrieb:
> Kaj schrieb:
>> Den Atmel-ICE.
> ^^^^^^^^^^^^^^^^
> Feines Geräte!
>
> Wenn eine Nummer preiswerter sein soll, dann geht auch der hier:
> http://www.atmel.com/tools/avrispmkii.aspx

Wo kann man den mkII noch kaufen?
In jedem Shop steht nur "nicht mehr lieferbar"

Wenn du eine Quelle hast, dann raus damit! :-)

von BlaBla (Gast)


Lesenswert?

Kein Original, aber bestimmt ein guter Nachbau, der bestimmt mit dem 
Studio upgedatet werden kann. Vielleicht beim Lieferanten erfragen. 
Hatte dort schon bestellt. Ist zuverlässig.
https://eckstein-shop.de/USB-AVRISP-XPII

Ansonsten der dreimal so teure ICE. Den habe ich auch und der ist 
klasse!

von Erwin D. (Gast)


Lesenswert?

BlaBla schrieb:
> Kein Original, aber bestimmt ein guter Nachbau, der bestimmt mit
> dem
> Studio upgedatet werden kann. Vielleicht beim Lieferanten erfragen.
> Hatte dort schon bestellt. Ist zuverlässig.
> https://eckstein-shop.de/USB-AVRISP-XPII
>
Danke, den kannte ich noch nicht. Preis ist auch in Ordnung.

> Ansonsten der dreimal so teure ICE. Den habe ich auch und der ist
> klasse!
Hab ich auch, aber für unterwegs, wo ich keinen Debugger brauche, ist 
mir der mkII lieber.

Danke für den Link!

von Alexander D. (Firma: keine) (silasnt)


Lesenswert?

@BlaBla,

danke für die Info's!

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.